浏览代码

Spanish language (#1631)

Based on the informal style spoken in Spain
Ramón Cutanda 8 年之前
父节点
当前提交
cb5d6997a3
共有 7 个文件被更改,包括 892 次插入0 次删除
  1. 181 0
      app/i18n/es/admin.php
  2. 174 0
      app/i18n/es/conf.php
  3. 109 0
      app/i18n/es/feedback.php
  4. 186 0
      app/i18n/es/gen.php
  5. 61 0
      app/i18n/es/index.php
  6. 119 0
      app/i18n/es/install.php
  7. 62 0
      app/i18n/es/sub.php

+ 181 - 0
app/i18n/es/admin.php

@@ -0,0 +1,181 @@
+<?php
+
+return array(
+	'auth' => array(
+		'allow_anonymous' => 'Permitir la lectura anónima de los artículos del usuario por defecto (%s)',
+		'allow_anonymous_refresh' => 'Permitir la actualización anónima de los artículos',
+		'api_enabled' => 'Concederle acceso a la <abbr>API</abbr> <small>(necesario para apps de móvil)</small>',
+		'form' => 'Formulario Web (el más habitual, requiere JavaScript)',
+		'http' => 'HTTP (para usuarios avanzados con HTTPS)',
+		'none' => 'Ninguno (peligroso)',
+		'title' => 'Identificación',
+		'title_reset' => 'Reinicio de la identificación',
+		'token' => 'Clave de identificación',
+		'token_help' => 'Permite el acceso a la salida RSS del usuario por defecto sin necesidad de identificación:',
+		'type' => 'Método de identificación',
+		'unsafe_autologin' => 'Permite la identificación automática insegura usando el formato: ',
+	),
+	'check_install' => array(
+		'cache' => array(
+			'nok' => 'Comprueba los permisos en el directorio <em>./data/cache</em> . El servidor HTTP debe contar con permiso de escritura',
+			'ok' => 'Los permisos en el cache son correctos.',
+		),
+		'categories' => array(
+			'nok' => 'La tabla Categorías está configurada de forma incorrecta.',
+			'ok' => 'La tabla Categorías está correcta.',
+		),
+		'connection' => array(
+			'nok' => 'No se pudo establecer una conexión con la base de datos.',
+			'ok' => 'La conexión con la base de datos es correcta.',
+		),
+		'ctype' => array(
+			'nok' => 'No se puedo encontrar la librería necesaria para compropbar el tipo de caracteres (php-ctype).',
+			'ok' => 'Dispones de la librería necesaria para la verificación del tipo de caracteres (ctype).',
+		),
+		'curl' => array(
+			'nok' => 'No se pudo encontrar la librería cURL (paquete php-curl).',
+			'ok' => 'Dispones de la librería cURL.',
+		),
+		'data' => array(
+			'nok' => 'Comprueba los permisos en el directorio <em>./data</em>. El servidor HTTP debe contar con permisos de escritura.',
+			'ok' => 'Los permisos en el directorio data son correctos.',
+		),
+		'database' => 'Instalación de la base de datos',
+		'dom' => array(
+			'nok' => 'No se ha podido localizar la librería necesaria para explorar el DOM (paquete php-xml).',
+			'ok' => 'Dispones de la librería necesaria para explorar el DOM.',
+		),
+		'entries' => array(
+			'nok' => 'La tabla de entrada no está configurada correctamente.',
+			'ok' => 'La tabla de entrada está correcta.',
+		),
+		'favicons' => array(
+			'nok' => 'Comprueba los permisos en el directorio <em>./data/favicons</em>. El servidor HTTP debe contar con permisos de escritura.',
+			'ok' => 'Los permisos en el directorio favicons son correctos.',
+		),
+		'feeds' => array(
+			'nok' => 'La tabla Feed está configurada de forma incorrecta.',
+			'ok' => 'La tabla Feed está correcta.',
+		),
+		'fileinfo' => array(
+			'nok' => 'No se ha podido localizar la librería PHP fileinfo (paquete fileinfo).',
+			'ok' => 'Dispones de la librería fileinfo.',
+		),
+		'files' => 'Instalación de Archivos',
+		'json' => array(
+			'nok' => 'No se ha podido localizar JSON (paquete php5-json).',
+			'ok' => 'Dispones de la extensión JSON.',
+		),
+		'minz' => array(
+			'nok' => 'No se ha podido localizar el entorno Minz.',
+			'ok' => 'Dispones del entorno Minz.',
+		),
+		'pcre' => array(
+			'nok' => 'No se ha podido localizar la librería para las expresiones regulares (php-pcre).',
+			'ok' => 'Dispones de la librería necesaria para expresiones regulares (PCRE).',
+		),
+		'pdo' => array(
+			'nok' => 'No se ha podido localiar PDO o uno de los controladores compatibles (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+			'ok' => 'Dispones de PDO y, al menos, de uno de los controladores compatibles (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+		),
+		'php' => array(
+			'_' => 'Instalación PHP',
+			'nok' => 'Dispones de la versión PHP %s pero FreshRSS requiere de, al menos, la versión %s.',
+			'ok' => 'Dispones de la versión PHP %s, que es compatible con FreshRSS.',
+		),
+		'tables' => array(
+			'nok' => 'Falta al menos una tabla en la base de datos.',
+			'ok' => 'Todas las tablas necesarias están disponibles en la base de datos.',
+		),
+		'title' => 'Verificación de instalación',
+		'tokens' => array(
+			'nok' => 'Comprueba los permisos en el directorio <em>./data/tokens</em>. El servidor HTTP debe contar con permisos de escritura.',
+			'ok' => 'Los permisos en el directorio de tokens de identificación son correctos.',
+		),
+		'users' => array(
+			'nok' => 'Comprueba los permisos en el directorio <em>./data/users</em>. El servidor HTTP debe contar con permisos de escritura.',
+			'ok' => 'Los permisos en el directorio users son correctos.',
+		),
+		'zip' => array(
+			'nok' => 'No se ha podido localizar la extensión ZIP (paquete php-zip).',
+			'ok' => 'Dispones de la extensión ZIP.',
+		),
+	),
+	'extensions' => array(
+		'disabled' => 'Desactivado',
+		'empty_list' => 'No hay extensiones instaladas',
+		'enabled' => 'Activado',
+		'no_configure_view' => 'Esta extensión no puede ser configurada.',
+		'system' => array(
+			'_' => 'Sistema de extensiones',
+			'no_rights' => 'Sistema de extensiones (careces de los permisos necesarios)',
+		),
+		'title' => 'Extensiones',
+		'user' => 'Extensiones de usuario',
+	),
+	'stats' => array(
+		'_' => 'Estadísticas',
+		'all_feeds' => 'Todas las fuentes',
+		'category' => 'Categoría',
+		'entry_count' => 'Cómputo total',
+		'entry_per_category' => 'Entradas por categoría',
+		'entry_per_day' => 'Entradas por día (últimos 30 días)',
+		'entry_per_day_of_week' => 'Por día de la semana (mnedia: %.2f mensajes)',
+		'entry_per_hour' => 'Por hora (media: %.2f mensajes)',
+		'entry_per_month' => 'Por mes (media: %.2f mensajes)',
+		'entry_repartition' => 'Reparto de entradas',
+		'feed' => 'Fuente',
+		'feed_per_category' => 'Fuentes por categoría',
+		'idle' => 'Fuentes inactivas',
+		'main' => 'Estadísticas principales',
+		'main_stream' => 'Salida principal',
+		'menu' => array(
+			'idle' => 'Fuentes inactivas',
+			'main' => 'Estadísticas principañes',
+			'repartition' => 'Reparto de artículos',
+		),
+		'no_idle' => 'No hay fuentes inactivas',
+		'number_entries' => '%d artículos',
+		'percent_of_total' => '%% del total',
+		'repartition' => 'Reprto de artículos',
+		'status_favorites' => 'Favoritos',
+		'status_read' => 'Leídos',
+		'status_total' => 'Total',
+		'status_unread' => 'Pendientes',
+		'title' => 'Estadísticas',
+		'top_feed' => 'Las 10 fuentes más activas',
+	),
+	'system' => array(
+		'_' => 'Configuración del sistema',
+		'auto-update-url' => 'URL de auto-actualización',
+		'instance-name' => 'Nombre de la fuente',
+		'max-categories' => 'Límite de categorías por usuario',
+		'max-feeds' => 'Límite de fuentes por usuario',
+		'registration' => array(
+			'help' => '0 significa que no hay límite en la cuenta',
+			'number' => 'Número máximo de cuentas',
+		),
+	),
+	'update' => array(
+		'_' => 'Actualizar sistema',
+		'apply' => 'Aplicar',
+		'check' => 'Buscar actualizaciones',
+		'current_version' => 'Dispones de la versión %s de FreshRSS.',
+		'last' => 'Última comprobación: %s',
+		'none' => 'No hay actualizaciones disponibles',
+		'title' => 'Actualizar sistema',
+	),
+	'user' => array(
+		'articles_and_size' => '%s articles (%s)',
+		'create' => 'Crear nuevo usuario',
+		'language' => 'Idioma',
+		'number' => 'Hay %d cuenta creada',
+		'numbers' => 'Hay %d cuentas creadas',
+		'password_form' => 'Contraseña<br /><small>(para el método de identificación por formulario web)</small>',
+		'password_format' => 'Mínimo de 7 caracteres',
+		'title' => 'Administrar usuarios',
+		'user_list' => 'Lista de usuarios',
+		'username' => 'Nombre de usuario',
+		'users' => 'Usuarios',
+	),
+);

+ 174 - 0
app/i18n/es/conf.php

@@ -0,0 +1,174 @@
+<?php
+
+return array(
+	'archiving' => array(
+		'_' => 'Archivo',
+		'advanced' => 'Avanzado',
+		'delete_after' => 'Eliminar artículos tras',
+		'help' => 'Hay más opciones disponibles en los ajustes de la fuente',
+		'keep_history_by_feed' => 'Número mínimo de artículos a conservar por fuente',
+		'optimize' => 'Optimizar la base de datos',
+		'optimize_help' => 'Ejecuta la optimización de vez en cuando para reducir el tamaño de la base de datos',
+		'purge_now' => 'Limpiar ahora',
+		'title' => 'Archivo',
+		'ttl' => 'No actualizar automáticamente más de',
+	),
+	'display' => array(
+		'_' => 'Visualización',
+		'icon' => array(
+			'bottom_line' => 'Línea inferior',
+			'entry' => 'Iconos de artículos',
+			'publication_date' => 'Fecha de publicación',
+			'related_tags' => 'Etiquetas relacionadas',
+			'sharing' => 'Compartir',
+			'top_line' => 'Línea superior',
+		),
+		'language' => 'Idioma',
+		'notif_html5' => array(
+			'seconds' => 'segundos (0 significa sin límite de espera)',
+			'timeout' => 'Notificación de fin de espera HTML5',
+		),
+		'theme' => 'Tema',
+		'title' => 'Visualización',
+		'width' => array(
+			'content' => 'Ancho de contenido',
+			'large' => 'Grande',
+			'medium' => 'Mediano',
+			'no_limit' => 'Sin límite',
+			'thin' => 'Estrecho',
+		),
+	),
+	'query' => array(
+		'_' => 'Consultas de usuario',
+		'deprecated' => 'Esta consulta ya no es válida. La categoría referenciada o fuente ha sido eliminada.',
+		'filter' => 'Filtro aplicado:',
+		'get_all' => 'Mostrar todos los artículos',
+		'get_category' => 'Mostrar la categoría "%s"',
+		'get_favorite' => 'Mostrar artículos favoritos',
+		'get_feed' => 'Mostrar fuente "%s"',
+		'no_filter' => 'Sin filtro',
+		'none' => 'Todavía no has creado ninguna consulta de usuario.',
+		'number' => 'Consulta n° %d',
+		'order_asc' => 'Mostrar primero los artículos más antiguos',
+		'order_desc' => 'Mostrar primero los artículos más recientes',
+		'search' => 'Buscar "%s"',
+		'state_0' => 'Mostrar todos los artículos',
+		'state_1' => 'Mostrar artículos leídos',
+		'state_2' => 'Mostrar artículos pendientes',
+		'state_3' => 'Mostrar todos los artículos',
+		'state_4' => 'Mostrar artículos favoritos',
+		'state_5' => 'Mostrar artículos favoritos leídos',
+		'state_6' => 'Mostrar artículos favoritos pendientes',
+		'state_7' => 'Mostrar artículos favoritos',
+		'state_8' => 'Mostrar artículos no favoritos',
+		'state_9' => 'Mostrar artículos no favoritos leídos',
+		'state_10' => 'Mostrar artículos no favoritos pendientes',
+		'state_11' => 'Mostrar artículos no favoritos',
+		'state_12' => 'Mostrar todos los artículos',
+		'state_13' => 'Mostrar artículos leídos',
+		'state_14' => 'Mostrar artículos sin leer',
+		'state_15' => 'Mostrar todos los artículos',
+		'title' => 'Consultas de usuario',
+	),
+	'profile' => array(
+		'_' => 'Administración de perfiles',
+		'delete' => array(
+			'_' => 'Borrar cuenta',
+			'warn' => 'Tu cuenta y todos los datos asociados serán eliminados.',
+		),
+		'password_api' => 'Contraseña API <br /><small>(para apps móviles, por ej.)</small>',
+		'password_form' => 'Contraseña<br /><small>(para el método de identificación por formulario web)</small>',
+		'password_format' => 'Mínimo de 7 caracteres',
+		'title' => 'Perfil',
+	),
+	'reading' => array(
+		'_' => 'Lectura',
+		'after_onread' => 'Tras “marcar todo como leído”,',
+		'articles_per_page' => 'Número de artículos por página',
+		'auto_load_more' => 'Cargar más artículos al final de la página',
+		'auto_remove_article' => 'Ocultar artículos tras la lectura',
+		'mark_updated_article_unread' => 'Marcar artículos actualizados como no leídos',
+		'confirm_enabled' => 'Mostrar ventana de confirmación al usar la función “marcar todos como leídos”',
+		'display_articles_unfolded' => 'Mostrar los artículos sin expandir por defecto',
+		'display_categories_unfolded' => 'Mostrar categorías expandidas por defecto',
+		'hide_read_feeds' => 'Ocultar categorías & fuentes sin artículos no leídos (no funciona con la configuración "Mostrar todos los artículos")',
+		'img_with_lazyload' => 'Usar el modo de "carga perezosa" para las imágenes',
+		'sides_close_article' => 'Pinchar fuera del área de texto del artículo lo cerrará',
+		'jump_next' => 'saltar al siguiente archivo sin leer emparentado (fuente o categoría)',
+		'number_divided_when_reader' => 'Dividido en 2 en la vista de lectura.',
+		'read' => array(
+			'article_open_on_website' => 'cuando el artículo se abra en su web original',
+			'article_viewed' => 'cuando se muestre el artículo',
+			'scroll' => 'durante el desplazamiento',
+			'upon_reception' => 'al recibir el artículo',
+			'when' => 'Marcar el artículo como leído…',
+		),
+		'show' => array(
+			'_' => 	'Artículos a mostrar',
+			'adaptive' => 'Ajustar la visualización',
+			'all_articles' => 'Mostrar todos los artículos',
+			'unread' => 'Mostrar solo pendientes',
+		),
+		'sort' => array(
+			'_' => 'Orden',
+			'newer_first' => 'Nuevos primero',
+			'older_first' => 'Antiguos primero',
+		),
+		'sticky_post' => 'Pegar el artículo a la parte superior al abrirlo',
+		'title' => 'Lectura',
+		'view' => array(
+			'default' => 'Vista por defecto',
+			'global' => 'Vista Global',
+			'normal' => 'Vista Normal',
+			'reader' => 'Vista de Lectura',
+		),
+	),
+	'sharing' => array(
+		'_' => 'Compartir',
+		'blogotext' => 'Blogotext',
+		'diaspora' => 'Diaspora*',
+		'email' => 'Email',
+		'facebook' => 'Facebook',
+		'g+' => 'Google+',
+		'more_information' => 'Más información',
+		'print' => 'Print',
+		'shaarli' => 'Shaarli',
+		'share_name' => 'Compartir nombre a mostrar',
+		'share_url' => 'Compatir URL a usar',
+		'title' => 'Compartir',
+		'twitter' => 'Twitter',
+		'wallabag' => 'wallabag',
+	),
+	'shortcut' => array(
+		'_' => 'Atajos de teclado',
+		'article_action' => 'Acciones de artículo',
+		'auto_share' => 'Compartir',
+		'auto_share_help' => 'Si solo hay un modo para compartir, ese será el que se use. En caso contrario los modos quedarán accesibles por su numeración.',
+		'close_dropdown' => 'Cerrar menús',
+		'collapse_article' => 'Contraer',
+		'first_article' => 'Saltar al primer artículo',
+		'focus_search' => 'Acceso a la casilla de búsqueda',
+		'help' => 'Mostrar documentación',
+		'javascript' => 'JavaScript debe estar activado para poder usar atajos de teclado',
+		'last_article' => 'Saltar al último artículo',
+		'load_more' => 'Cargar más artículos',
+		'mark_read' => 'Marcar como leído',
+		'mark_favorite' => 'Marcar como favorito',
+		'navigation' => 'Navegación',
+		'navigation_help' => 'Con el modificador "Mayúsculas" es posible usar los atajos de teclado en las fuentes.<br/>Con el modificador "Alt" es posible aplicar los atajos de teclado en las categorías.',
+		'next_article' => 'Saltar al siguiente artículo',
+		'other_action' => 'Otras acciones',
+		'previous_article' => 'Saltar al artículo anterior',
+		'see_on_website' => 'Ver en la web original',
+		'shift_for_all_read' => '+ <code>mayúsculas</code> para marcar todos los artículos como leídos',
+		'title' => 'Atajos de teclado',
+		'user_filter' => 'Acceso a filtros de usuario',
+		'user_filter_help' => 'Si solo hay un filtro de usuario, ese será el que se use. En caso contrario, los filtros están accesibles por su númeración.',
+	),
+	'user' => array(
+		'articles_and_size' => '%s artículos (%s)',
+		'current' => 'Usuario actual',
+		'is_admin' => 'es administrador',
+		'users' => 'Usuarios',
+	),
+);

+ 109 - 0
app/i18n/es/feedback.php

@@ -0,0 +1,109 @@
+<?php
+
+return array(
+	'admin' => array(
+		'optimization_complete' => 'Optimimización completada',
+	),
+	'access' => array(
+		'denied' => 'No dispones de permiso para acceder a esta página',
+		'not_found' => 'La página que buscas no existe',
+	),
+	'auth' => array(
+		'form' => array(
+			'not_set' => 'Hubo un problema durante la configuración del sistema de idenfificación. Por favor, inténtalo más tarde.',
+			'set' => 'El formulario será desde ahora tu sistema de identificación por defecto.',
+		),
+		'login' => array(
+			'invalid' => 'Identificación incorrecta',
+			'success' => 'Conexión',
+		),
+		'logout' => array(
+			'success' => 'Desconexión',
+		),
+		'no_password_set' => 'Esta opción no está disponible porque no se ha definido una contraseña de administrador.',
+	),
+	'conf' => array(
+		'error' => 'Hubo un error durante el guardado de la configuración.',
+		'query_created' => 'Se ha creado la petición "%s".',
+		'shortcuts_updated' => 'Se han actualizado los atajos de teclado',
+		'updated' => 'Se ha actualizado la configuración',
+	),
+	'extensions' => array(
+		'already_enabled' => '%s ya está activado',
+		'disable' => array(
+			'ko' => '%s no se puede desactivar. <a href="%s">Revisa el registro de FressRSS</a> para más información.',
+			'ok' => '%s ha quedado desactivado',
+		),
+		'enable' => array(
+			'ko' => '%s no se puede activar. <a href="%s">Revisa el registro de FressRSS</a> para más información.',
+			'ok' => '%s ha quedado activado',
+		),
+		'no_access' => 'No tienes acceso a %s',
+		'not_enabled' => '%s no está activado',
+		'not_found' => '%s no existe',
+	),
+	'import_export' => array(
+		'export_no_zip_extension' => 'La extensión ZIP no está disponible en tu servidor. Por favor, exporta estos archivos uno a uno.',
+		'feeds_imported' => 'Se han importado tus fuentes y quedarán actualizadas',
+		'feeds_imported_with_errors' => 'Se importaron tus fuentes; pero hubo algunos errores',
+		'file_cannot_be_uploaded' => 'No es posible enviar el archivo',
+		'no_zip_extension' => 'La extensión ZIP no está disponible en tu servidor.',
+		'zip_error' => 'Hubo un error durante la importación ZIP.',
+	),
+	'sub' => array(
+		'actualize' => 'Actualización',
+		'category' => array(
+			'created' => 'Se ha creado la categoría %s.',
+			'deleted' => 'Se ha eliminado la categoría.',
+			'emptied' => 'Se ha vaciado la categoría',
+			'error' => 'No es posible actualizar la categoría',
+			'name_exists' => 'Ya existe una categoría con ese nombre.',
+			'no_id' => 'Debes especificar la id de la categoría.',
+			'no_name' => '¡El nombre de la categoría no puede dejarse en blanco!.',
+			'not_delete_default' => '¡No puedes borrar la categoría por defecto!',
+			'not_exist' => 'La categoría no existe',
+			'over_max' => 'Has alcanzado el límite de categorías (%d)',
+			'updated' => 'La categoría se ha actualizado.',
+		),
+		'feed' => array(
+			'actualized' => '<em>%s</em> ha sido actualizada',
+			'actualizeds' => 'Las fuentes RSS se han actualizado',
+			'added' => 'Fuente RSS agregada <em>%s</em>',
+			'already_subscribed' => 'Ya estás suscrito a <em>%s</em>',
+			'deleted' => 'Fuente eliminada',
+			'error' => 'No es posible actualizar la fuente',
+			'internal_problem' => 'No ha sido posible agregar la fuente RSS. <a href="%s">Revisa el registro de FressRSS </a> para más información.',
+			'invalid_url' => 'La URL <em>%s</em> es inválida',
+			'marked_read' => 'Fuentes marcadas como leídas',
+			'n_actualized' => 'Se han actualiado %d fuentes',
+			'n_entries_deleted' => 'Se han eliminado %d artículos',
+			'no_refresh' => 'No hay fuente a actualizar…',
+			'not_added' => '<em>%s</em> no ha podido se añadida',
+			'over_max' => 'Has alcanzado tu límite de fuentes (%d)',
+			'updated' => 'Fuente actualizada',
+		),
+		'purge_completed' => 'Limpieza completada (se han eliminado %d artículos)',
+	),
+	'update' => array(
+		'can_apply' => 'FreshRSS se va a actualizar a la <strong>versión %s</strong>.',
+		'error' => 'Hubo un error durante el proceso de actualización: %s',
+		'file_is_nok' => 'Disponible la nueva <strong>versión %s</strong>. Sin embargo, debes revisar los permisos en el directorio <em>%s</em>. El servidor HTTP debe contar con permisos de escritura',
+		'finished' => '¡Actualización completada!',
+		'none' => 'No hay actualizaciones para procesar',
+		'server_not_found' => 'No se ha podido conectar con el servidor de actualizaciones. [%s]',
+	),
+	'user' => array(
+		'created' => array(
+			'_' => 'Se ha creado el usuario %s',
+			'error' => 'No se ha podido crear al usuario %s',
+		),
+		'deleted' => array(
+			'_' => 'El usuario %s ha sido eliminado',
+			'error' => 'El usuario %s no ha podido ser eliminado',
+		),
+	),
+	'profile' => array(
+		'error' => 'Tu perfil no puede ser modificado',
+		'updated' => 'Tu perfil ha sido modificado',
+	),
+);

+ 186 - 0
app/i18n/es/gen.php

@@ -0,0 +1,186 @@
+<?php
+
+return array(
+	'action' => array(
+		'actualize' => 'Actualizar',
+		'back_to_rss_feeds' => '← regresar a tus fuentes RSS',
+		'cancel' => 'Cancelar',
+		'create' => 'Crear',
+		'disable' => 'Desactivar',
+		'empty' => 'Vaciar',
+		'enable' => 'Activar',
+		'export' => 'Exportar',
+		'filter' => 'Filtrar',
+		'import' => 'Importar',
+		'manage' => 'Administrar',
+		'mark_read' => 'Marcar como leído',
+		'mark_favorite' => 'Marcar como favorita',
+		'remove' => 'Borrar',
+		'see_website' => 'Ver web',
+		'submit' => 'Enviar',
+		'truncate' => 'Borrar todos los artículos',
+	),
+	'auth' => array(
+		'email' => 'Correo electrónico',
+		'keep_logged_in' => 'Mantenerme identificado <small>(%s días)</small>',
+		'login' => 'Conectar',
+		'logout' => 'Desconectar',
+		'password' => array(
+			'_' => 'Contraseña',
+			'format' => '<small>Mínimo de 7 caracteres</small>',
+		),
+		'registration' => array(
+			'_' => 'Nueva cuenta',
+			'ask' => '¿Crear una cuenta?',
+			'title' => 'Creación de cuenta',
+		),
+		'reset' => 'Reinicar identificación',
+		'username' => array(
+			'_' => 'Nombre de usuario',
+			'admin' => 'Nombre de usuario del Administrador',
+			'format' => '<small>máximo 16 caracteres alfanuméricos</small>',
+		),
+	),
+	'date' => array(
+		'Apr' => '\\A\\b\\r\\i\\l',
+		'Aug' => '\\A\\g\\o\\s\\t\\o',
+		'Dec' => '\\D\\i\\c\\i\\e\\m\\b\\r\\e',
+		'Feb' => '\\F\\e\\b\\r\\e\\r\\o',
+		'Jan' => '\\E\\n\\e\\r\\o',
+		'Jul' => '\\J\\u\\l\\i\\o',
+		'Jun' => '\\J\\u\\n\\i\\o',
+		'Mar' => '\\M\\a\\r\\z\\o',
+		'May' => '\\M\\a\\y\\o',
+		'Nov' => '\\N\\o\\v\\i\\e\\m\\b\\r\\e',
+		'Oct' => '\\O\\c\\t\\u\\b\\r\\e',
+		'Sep' => '\\S\\e\\p\\t\\i\\e\\m\\b\\r\\e',
+		'apr' => 'abr',
+		'april' => 'Abr',
+		'aug' => 'ago',
+		'august' => 'Ago',
+		'before_yesterday' => 'Anteayer',
+		'dec' => 'dic',
+		'december' => 'Dic',
+		'feb' => 'feb',
+		'february' => 'Feb',
+		'format_date' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y',
+		'format_date_hour' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y \\a\\t H\\:i',
+		'fri' => 'Vie',
+		'jan' => 'ene',
+		'january' => 'Ene',
+		'jul' => 'jul',
+		'july' => 'Jul',
+		'jun' => 'jun',
+		'june' => 'Jun',
+		'last_3_month' => 'Últimos tres meses',
+		'last_6_month' => 'Últimos seis meses',
+		'last_month' => 'Mes pasado',
+		'last_week' => 'Semana pasada',
+		'last_year' => 'Año pasado',
+		'mar' => 'mar',
+		'march' => 'Mar',
+		'may' => 'May',
+		'mon' => 'Lun',
+		'month' => 'meses',
+		'nov' => 'nov',
+		'november' => 'Nov',
+		'oct' => 'oct',
+		'october' => 'Oct',
+		'sat' => 'Sab',
+		'sep' => 'sep',
+		'september' => 'Sep',
+		'sun' => 'Dom',
+		'thu' => 'Jue',
+		'today' => 'Hoy',
+		'tue' => 'Mar',
+		'wed' => 'Mie',
+		'yesterday' => 'Ayer',
+	),
+	'freshrss' => array(
+		'_' => 'FreshRSS',
+		'about' => 'Acerca de FreshRSS',
+	),
+	'js' => array(
+		'category_empty' => 'Vaciar categoría',
+		'confirm_action' => '¿Seguyro que quieres hacerlo? No hay marcha atrás...',
+		'confirm_action_feed_cat' => '¿Seguro que quieres hacerlo? Perderás todos los favoritos relacionados y las peticiones de usuario. ¡Y no hay marcha atrás!',
+		'feedback' => array(
+			'body_new_articles' => 'Hay %%d nuevos artículos para leer en FreshRSS.',
+			'request_failed' => 'La petición ha fallado. Puede ser debido a problemas de conexión a internet.',
+			'title_new_articles' => 'FreshRSS: ¡Nuevos artículos!',
+		),
+		'new_article' => 'Hay nuevos artículos disponibles. Pincha para refrescar la página.',
+		'should_be_activated' => 'JavaScript debe estar activado',
+	),
+	'lang' => array(
+		'cz' => 'Čeština',
+		'de' => 'Deutsch',
+		'en' => 'English',
+		'fr' => 'Français',
+		'it' => 'Italiano',
+		'nl' => 'Nederlands',
+		'ru' => 'Русский',
+		'tr' => 'Türkçe',
+		'zh-cn' => '简体中文'
+		'es' => 'Español'
+	),
+	'menu' => array(
+		'about' => 'Acerca de',
+		'admin' => 'Administración',
+		'archiving' => 'Archivo',
+		'authentication' => 'Identificación',
+		'check_install' => 'Verificación de instalación',
+		'configuration' => 'Configuración',
+		'display' => 'Visualización',
+		'extensions' => 'Extensiones',
+		'logs' => 'Registros',
+		'queries' => 'Peticiones de usuario',
+		'reading' => 'Lectura',
+		'search' => 'Buscar palabras o #etiquetas',
+		'sharing' => 'Compartir',
+		'shortcuts' => 'Atajos',
+		'stats' => 'Estadísticas',
+		'system' => 'Configuración del sistema',
+		'update' => 'Actualización',
+		'user_management' => 'Administrar usuarios',
+		'user_profile' => 'Perfil',
+	),
+	'pagination' => array(
+		'first' => 'Primero',
+		'last' => 'Último',
+		'load_more' => 'Cargar más artículos',
+		'mark_all_read' => 'Marcar todo como leído',
+		'next' => 'Siguiente',
+		'nothing_to_load' => 'No hay más artículos',
+		'previous' => 'Anterior',
+	),
+	'share' => array(
+		'blogotext' => 'Blogotext',
+		'diaspora' => 'Diaspora*',
+		'email' => 'Email',
+		'facebook' => 'Facebook',
+		'g+' => 'Google+',
+		'movim' => 'Movim',
+		'print' => 'Print',
+		'shaarli' => 'Shaarli',
+		'twitter' => 'Twitter',
+		'wallabag' => 'wallabag v1',
+		'wallabagv2' => 'wallabag v2',
+		'jdh' => 'Journal du hacker',
+		'Known' => 'Known based sites',
+		'gnusocial' => 'GNU social',
+	),
+	'short' => array(
+		'attention' => '¡Aviso!',
+		'blank_to_disable' => 'Deja en blanco para desactivar',
+		'by_author' => 'Por <em>%s</em>',
+		'by_default' => 'Por defecto',
+		'damn' => '¡Córcholis!',
+		'default_category' => 'Sin categorizar',
+		'no' => 'No',
+		'not_applicable' => 'No disponible',
+		'ok' => '¡Vale!',
+		'or' => 'o',
+		'yes' => 'Sí',
+	),
+);

+ 61 - 0
app/i18n/es/index.php

@@ -0,0 +1,61 @@
+<?php
+
+return array(
+	'about' => array(
+		'_' => 'Acerca de',
+		'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>',
+		'bugs_reports' => 'Informe de fallos',
+		'credits' => 'Créditos',
+		'credits_content' => 'Aunque FreshRSS no usa ese entorno, algunos elementos del diseño están obtenidos de <a href="http://twitter.github.io/bootstrap/">Bootstrap</a>. Los <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Iconos</a> han sido obtenidos del <a href="https://www.gnome.org/">proyecto GNOME</a>. La fuente <em>Open Sans</em> es una creación de <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS usa el entorno PHP <a href="https://github.com/marienfressinaud/MINZ">Minz</a>.',
+		'freshrss_description' => 'FreshRSS es un agregador de fuentes RSS de alojamiento privado al estilo de <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> o <a href="http://projet.idleman.fr/leed/">Leed</a>. Es una herramienta potente, pero ligera y fácil de usar y configurar.',
+		'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">en Github</a>',
+		'license' => 'Licencia',
+		'project_website' => 'Web del proyecto',
+		'title' => 'Acerca de',
+		'version' => 'Versión',
+		'website' => 'Web',
+	),
+	'feed' => array(
+		'add' => 'Puedes añadir fuentes.',
+		'empty' => 'No hay artículos a mostrar.',
+		'rss_of' => 'Fuente RSS de %s',
+		'title' => 'Tus fuentes RSS',
+		'title_global' => 'Vista global',
+		'title_fav' => 'Tus favoritos',
+	),
+	'log' => array(
+		'_' => 'Registros',
+		'clear' => 'Limpiar registros',
+		'empty' => 'El archivo de registro está vacío',
+		'title' => 'Registros',
+	),
+	'menu' => array(
+		'about' => 'Acerca de FreshRSS',
+		'add_query' => 'Añadir petición',
+		'before_one_day' => 'Con más de 1 día',
+		'before_one_week' => 'Con más de una semana',
+		'favorites' => 'Favoritos (%s)',
+		'global_view' => 'Vista Global',
+		'main_stream' => 'Salida Principal',
+		'mark_all_read' => 'Marcar todo como leído',
+		'mark_cat_read' => 'Marcar categoría como leída',
+		'mark_feed_read' => 'Marcar fuente como leída',
+		'newer_first' => 'Nuevos primero',
+		'non-starred' => 'Mostrar todos menos los favoritos',
+		'normal_view' => 'Vista normal',
+		'older_first' => 'Más antiguos primero',
+		'queries' => 'Peticiones de usuario',
+		'read' => 'Mostrar solo los leídos',
+		'reader_view' => 'Vista de lectura',
+		'rss_view' => 'Fuente RSS',
+		'search_short' => 'Buscar',
+		'starred' => 'Mostrar solo los favoritos',
+		'stats' => 'Estadísticas',
+		'subscription' => 'Administración de suscripciones',
+		'unread' => 'Mostar solo no leídos',
+	),
+	'share' => 'Compartir',
+	'tag' => array(
+		'related' => 'Etiquetas relacionadas',
+	),
+);

+ 119 - 0
app/i18n/es/install.php

@@ -0,0 +1,119 @@
+<?php
+
+return array(
+	'action' => array(
+		'finish' => 'Completar instalación',
+		'fix_errors_before' => 'Por favor, soluciona los errores detectados antes de continuar con el siguiente paso.',
+		'keep_install' => 'Conservar la configuración anterior',
+		'next_step' => 'Ir al siguiente paso',
+		'reinstall' => 'Reinstalar FreshRSS',
+	),
+	'auth' => array(
+		'form' => 'Formulario Web (método más habitual, requiere JavaScript)',
+		'http' => 'HTTP (para usuarios avanzados con HTTPS)',
+		'none' => 'Ninguna (peligroso)',
+		'password_form' => 'Contraseña<br /><small>(para el método de acceso mediante formulario web)</small>',
+		'password_format' => 'Al menos 7 caracteres',
+		'type' => 'Método de identificación',
+	),
+	'bdd' => array(
+		'_' => 'Base de datos',
+		'conf' => array(
+			'_' => 'Configuración de la base de datos',
+			'ko' => 'Verificar la información de tu base de datos.',
+			'ok' => 'La configuración de la base de datos ha sido guardada.',
+		),
+		'host' => 'Servidor',
+		'prefix' => 'Prefijo de la tabla',
+		'password' => 'Contraseña de la base de datos',
+		'type' => 'Tipo de base de datos',
+		'username' => 'Nombre de usuario de la base de datos',
+	),
+	'check' => array(
+		'_' => 'Verificaciones',
+		'already_installed' => '¡FreshRSS ya está instalado!',
+		'cache' => array(
+			'nok' => 'Comprueba los permisos en el directorio <em>./data/cache</em>. El servidor HTTP debe contar con permisos de escritura.',
+			'ok' => 'Los permisos del directorio cache son correctos.',
+		),
+		'ctype' => array(
+			'nok' => 'No se ha podido localizar la librería para la verificación del tipo de caracteres (php-ctype).',
+			'ok' => 'Cuentas con la librería necesaria para la verificación del tipo de caracteres (ctype).',
+		),
+		'curl' => array(
+			'nok' => 'No se ha podido localizar la librería cURL (paquete php-curl).',
+			'ok' => 'Dispones de la librería cURL.',
+		),
+		'data' => array(
+			'nok' => 'Comprueba los permisos del directorio <em>./data</em>. El servidor HTTP debe contar con permisos de escritura.',
+			'ok' => 'Los permisos del directorio data son correctos.',
+		),
+		'dom' => array(
+			'nok' => 'No se ha podido localizar la librería necesaria para explorar la DOM.',
+			'ok' => 'Dispones de la librería necesaria para explorar la DOM.',
+		),
+		'favicons' => array(
+			'nok' => 'Verifica los permisos en el directorio <em>./data/favicons</em>. El servidor HTTP debe contar con permisos de escritura.',
+			'ok' => 'Los permisos del directorio favicons son correctos.',
+		),
+		'fileinfo' => array(
+			'nok' => 'No se ha podido localizar la librería PHP fileinfo (paquete fileinfo).',
+			'ok' => 'Dispones de la librería fileinfo.',
+		),
+		'http_referer' => array(
+			'nok' => 'Por favor, comprueba que no estás alterando tu configuración HTTP REFERER.',
+			'ok' => 'La configuración HTTP REFERER es conocida y se corresponde con la de tu servidor.',
+		),
+		'json' => array(
+			'nok' => 'No se ha podido localizar la librería para procesar JSON.',
+			'ok' => 'Dispones de la librería recomendada para procesar JSON.',
+		),
+		'minz' => array(
+			'nok' => 'No se ha podido localizar el entorno Minz.',
+			'ok' => 'Dispones del entorno Minz.',
+		),
+		'pcre' => array(
+			'nok' => 'No se ha podido encontrar la librería necesaria para las expresiones regulares (php-pcre).',
+			'ok' => 'Dispones de la librería necesaria para las expresiones regulares (PCRE).',
+		),
+		'pdo' => array(
+			'nok' => 'No se ha podido localizar PDO o uno de los controladores compatibles (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+			'ok' => 'Dispones de PDO y al menos uno de los controladores compatibles (pdo_mysql, pdo_sqlite, pdo_pgsql).',
+		),
+		'php' => array(
+			'nok' => 'Dispones de la versión PHP %s, pero FreshRSS necesita de, al menos, la versión %s.',
+			'ok' => 'Dispones de la versión PHP %s, que es compatible con FreshRSS.',
+		),
+		'users' => array(
+			'nok' => 'Revisa los permisos en el directorio <em>./data/users</em>. El servidor HTTP debe contar con permisos de escritura.',
+			'ok' => 'Los permisos en el directorio users son correctos.',
+		),
+		'xml' => array(
+			'nok' => 'No se ha podido localizar la librería necesaria para procesar XML.',
+			'ok' => 'Dispones de la librería necesaria para procesar XML.',
+		),
+	),
+	'conf' => array(
+		'_' => 'Configuración general',
+		'ok' => 'La configuración general se ha guardado.',
+	),
+	'congratulations' => '¡Enhorabuena!',
+	'default_user' => 'Nombre de usuario para el usuario por defecto <small>(máximo de 16 caracteres alfanuméricos)</small>',
+	'delete_articles_after' => 'Eliminar los artículos tras',
+	'fix_errors_before' => 'Por favor, soluciona los errores detectados antes de proceder con el siguiente paso.',
+	'javascript_is_better' => 'FreshRSS funciona mejor con JavaScript activado',
+	'js' => array(
+		'confirm_reinstall' => 'Al reinstalar FreshRSS perderás cualquier configuración anterior. ¿Seguro que quieres continuar?',
+	),
+	'language' => array(
+		'_' => 'Idioma',
+		'choose' => 'Selecciona el idioma para FreshRSS',
+		'defined' => 'Idioma seleccionado.',
+	),
+	'not_deleted' => 'Parece que ha habido un error. Debes eliminar el archivo <em>%s</em> de forma manual.',
+	'ok' => 'La instalación se ha completado correctamente.',
+	'step' => 'paso %d',
+	'steps' => 'Pasos',
+	'title' => 'Instalación · FreshRSS',
+	'this_is_the_end' => '¡Terminamos!',
+);

+ 62 - 0
app/i18n/es/sub.php

@@ -0,0 +1,62 @@
+<?php
+
+return array(
+	'category' => array(
+		'_' => 'Categoría',
+		'add' => 'Añadir a la categoría',
+		'empty' => 'Vaciar categoría',
+		'new' => 'Nueva categoría',
+	),
+	'feed' => array(
+		'add' => 'Añadir fuente RSS',
+		'advanced' => 'Avanzado',
+		'archiving' => 'Archivo',
+		'auth' => array(
+			'configuration' => 'Identificación',
+			'help' => 'Permitir acceso a fuentes RSS protegidas con HTTP',
+			'http' => 'Identificación HTTP',
+			'password' => 'Contraseña HTTP',
+			'username' => 'Nombre de usuario HTTP',
+		),
+		'css_help' => 'Recibir fuentes RSS truncadas (aviso, ¡necesita más tiempo!)',
+		'css_path' => 'Ruta a la CSS de los artículos en la web original',
+		'description' => 'Descripción',
+		'empty' => 'La fuente está vacía. Por favor, verifica que siga activa.',
+		'error' => 'Hay un problema con esta fuente. Por favor, veritica que esté disponible y prueba de nuevo.',
+		'in_main_stream' => 'Mostrar en salida principal',
+		'informations' => 'Información',
+		'keep_history' => 'Número mínimo de artículos a conservar',
+		'moved_category_deleted' => 'Al borrar una categoría todas sus fuentes pasan automáticamente a la categoría <em>%s</em>.',
+		'no_selected' => 'No hay funentes seleccionadas.',
+		'number_entries' => '%d artículos',
+		'stats' => 'Estadísticas',
+		'think_to_add' => 'Puedes añadir fuentes.',
+		'title' => 'Título',
+		'title_add' => 'Añadir fuente RSS',
+		'ttl' => 'No actualizar de forma automática con una frecuencia mayor a',
+		'url' => 'URL de la fuente',
+		'validator' => 'Verifica la validez de la fuente',
+		'website' => 'Web de la URL',
+		'pubsubhubbub' => 'Notificación inmedaiata con PubSubHubbub',
+	),
+	'import_export' => array(
+		'export' => 'Exportar',
+		'export_opml' => 'Exportar la lista de fuentes (OPML)',
+		'export_starred' => 'Exportar tus favoritos',
+		'feed_list' => 'Lista de %s artículos',
+		'file_to_import' => 'Archivo a importar<br />(OPML, JSON o ZIP)',
+		'file_to_import_no_zip' => 'Archivo a importar<br />(OPML o JSON)',
+		'import' => 'Importar',
+		'starred_list' => 'Lista de artículos favoritos',
+		'title' => 'Importar / exportar',
+	),
+	'menu' => array(
+		'bookmark' => 'Suscribirse (favorito FreshRSS)',
+		'import_export' => 'Importar / exportar',
+		'subscription_management' => 'Administración de suscripciones',
+	),
+	'title' => array(
+		'_' => 'Administración de suscripciones',
+		'feed_management' => 'Administración de fuentes RSS',
+	),
+);