Skip to content

Commit

Permalink
feat(i18n): add Spanish language support (#400)
Browse files Browse the repository at this point in the history
* feat(i18n): add Spanish language support

Added Spanish translations to the application, including localization for app content, common phrases, external resources, language settings, and shortcuts.

* fix(localization): add missing 'langs.es' field in lang/*.json files

Fixed the issue of missing 'langs.es' field in all language files, ensuring that Spanish is included in the language options.

---------

Co-authored-by: Innei <i@innei.in>
  • Loading branch information
upupnoah and Innei authored Sep 16, 2024
1 parent de5fe88 commit 6b7823d
Show file tree
Hide file tree
Showing 11 changed files with 441 additions and 0 deletions.
137 changes: 137 additions & 0 deletions locales/app/es.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
{
"ai_daily.title": "Titular - {{title}}",
"ai_daily.tooltip.content": "Aquí están las noticias principales seleccionadas por IA de su línea de tiempo (<From /> - <To />), que pueden ser importantes para usted.",
"ai_daily.tooltip.update_schedule": "Actualizado todos los días a las 8 AM y 8 PM.",
"app.app_name": "APP_NAME",
"app.copy_logo_svg": "Copiar Logo SVG",
"app.toggle_sidebar": "Alternar barra lateral",
"discover.any_url_or_keyword": "Cualquier URL o palabra clave",
"discover.default_option": " (predeterminado)",
"discover.feed_description": "La descripción de este Feed es la siguiente, puede completar la información relevante.",
"discover.feed_maintainers": "Este Feed es proporcionado por RSSHub, gracias a <maintainers />",
"discover.import.click_to_upload": "Haga clic para subir un archivo OPML para importar",
"discover.popular": "Popular",
"discover.preview": "Vista previa",
"discover.rss_hub_route": "Ruta RSSHub",
"discover.rss_url": "RSS URL",
"discover.select_placeholder": "Seleccionar",
"early_access": "Versión de acceso anticipado",
"entry_actions.copy_link": "Copiar enlace",
"entry_actions.mark_as_read": "Marcar como leído",
"entry_actions.mark_as_unread": "Marcar como no leído",
"entry_actions.open_in_browser": "Abrir en el navegador",
"entry_actions.save_media_to_eagle": "Guardar medios en Eagle",
"entry_actions.save_to_instapaper": "Guardar en Instapaper",
"entry_actions.save_to_readwise": "Guardar en Readwise",
"entry_actions.share": "Compartir",
"entry_actions.star": "Agregar a favoritos",
"entry_actions.tip": "Dar propina",
"entry_actions.unstar": "Quitar de favoritos",
"entry_column.refreshing": "Actualizando",
"entry_content.ai_summary": "Resumen de IA",
"entry_content.fetching_content": "Obteniendo contenido original y procesando...",
"entry_content.no_content": "Sin contenido",
"entry_content.readability_notice": "Este contenido es proporcionado por Readability.\nSi nota problemas de formato, por favor visite el sitio de origen para ver el contenido original.",
"entry_content.render_error": "Error de renderizado:",
"entry_content.report_issue": "Reportar problema",
"entry_content.web_app_notice": "La aplicación web puede no soportar este tipo de contenido. Pero puede descargar la aplicación de escritorio.",
"entry_list_header.daily_report": "Informe diario",
"entry_list_header.items": "Contenido",
"entry_list_header.new_entries_available": "Nuevo contenido disponible",
"entry_list_header.refetch": "Actualizar",
"entry_list_header.refresh": "Actualizar",
"entry_list_header.show_all": "Mostrar todo",
"entry_list_header.show_unread_only": "Mostrar solo no leídos",
"entry_list_header.switch_to_grid": "Cambiar a cuadrícula",
"entry_list_header.switch_to_masonry": "Cambiar a diseño de mampostería",
"entry_list_header.unread": "No leído",
"feed_form.add_follow": "Agregar seguimiento",
"feed_form.category": "Categoría",
"feed_form.category_description": "De forma predeterminada, sus seguimientos se agruparán por sitio web.",
"feed_form.error_fetching_feed": "Error al obtener el Feed.",
"feed_form.feed_not_found": "Feed no encontrado.",
"feed_form.feedback": "Comentarios",
"feed_form.follow": "Seguir",
"feed_form.followed": "🎉 Seguido.",
"feed_form.private_follow": "Seguir en privado",
"feed_form.private_follow_description": "Si este seguimiento es visible públicamente en su página de perfil.",
"feed_form.retry": "Reintentar",
"feed_form.title": "Título",
"feed_form.title_description": "Título personalizado para este Feed. Deje vacío para usar el título predeterminado.",
"feed_form.unfollow": "Dejar de seguir",
"feed_form.update": "Actualizar",
"feed_form.update_follow": "Actualizar seguimiento",
"feed_form.updated": "🎉 Actualizado.",
"feed_form.view": "Vista",
"feed_view_type.articles": "Artículos",
"feed_view_type.audios": "Audios",
"feed_view_type.notifications": "Notificaciones",
"feed_view_type.pictures": "Imágenes",
"feed_view_type.social_media": "Redes Sociales",
"feed_view_type.videos": "Videos",
"mark_all_read_button.auto_confirm_info": "Confirmación automática después de 3 segundos.",
"mark_all_read_button.confirm": "Confirmar",
"mark_all_read_button.confirm_mark_all": "¿Marcar {{which}} como leído?",
"mark_all_read_button.confirm_mark_all_info": "¿Confirmar marcar todo como leído?",
"mark_all_read_button.mark_all_as_read": "Marcar todo como leído",
"mark_all_read_button.mark_as_read": "Marcar {{which}} como leído",
"mark_all_read_button.undo": "Deshacer",
"search.empty.no_results": "No se encontraron resultados.",
"search.group.entries": "Entradas",
"search.group.feeds": "Feeds",
"search.options.all": "Todo",
"search.options.entries": "Entradas",
"search.options.feeds": "Feeds",
"search.options.search_type": "Tipo de búsqueda",
"search.placeholder": "Buscar...",
"search.result_count_local_mode": "(Modo local)",
"search.tooltip.local_search": "Esta búsqueda solo cubre los datos disponibles localmente. Intente actualizar para incluir los datos más recientes.",
"sidebar.category_remove_dialog.cancel": "Cancelar",
"sidebar.category_remove_dialog.continue": "Continuar",
"sidebar.category_remove_dialog.description": "Esta acción eliminará su categoría, pero las fuentes dentro de ella permanecerán y se agruparán por sitio web.",
"sidebar.category_remove_dialog.title": "Eliminar categoría",
"sidebar.feed_actions.claim": "Reclamar",
"sidebar.feed_actions.claim_feed": "Reclamar Feed",
"sidebar.feed_actions.copy_feed_id": "Copiar ID del Feed",
"sidebar.feed_actions.copy_feed_url": "Copiar URL del Feed",
"sidebar.feed_actions.edit": "Editar",
"sidebar.feed_actions.edit_feed": "Editar Feed",
"sidebar.feed_actions.feed_owned_by_you": "Este Feed es propiedad suya",
"sidebar.feed_actions.mark_all_as_read": "Marcar todo como leído",
"sidebar.feed_actions.navigate_to_feed": "Ir al Feed",
"sidebar.feed_actions.open_feed_in_browser": "Abrir Feed en el navegador",
"sidebar.feed_actions.open_site_in_browser": "Abrir sitio en el navegador",
"sidebar.feed_actions.unfollow": "Dejar de seguir",
"sidebar.feed_actions.unfollow_feed": "Dejar de seguir el Feed",
"sidebar.feed_column.context_menu.change_to_other_view": "Cambiar a otra vista",
"sidebar.feed_column.context_menu.delete_category": "Eliminar categoría",
"sidebar.feed_column.context_menu.delete_category_confirmation": "¿Eliminar categoría {{folderName}}?",
"sidebar.feed_column.context_menu.mark_as_read": "Marcar como leído",
"sidebar.feed_column.context_menu.rename_category": "Renombrar categoría",
"sidebar.select_sort_method": "Seleccionar método de ordenamiento",
"signin.continue_with_github": "Iniciar sesión con GitHub",
"signin.continue_with_google": "Iniciar sesión con Google",
"signin.sign_in_to": "Iniciar sesión en",
"sync_indicator.offline": "Sin conexión",
"sync_indicator.synced": "Sincronizado con el servidor",
"user_profile.close": "Cerrar",
"user_profile.edit": "Editar",
"user_profile.loading": "Cargando",
"user_profile.share": "Compartir",
"user_profile.toggle_item_style": "Cambiar estilo de lista",
"words.add": "Añadir",
"words.confirm": "Confirmar",
"words.discover": "Descubrir",
"words.email": "Correo electrónico",
"words.import": "Importar",
"words.items": "Contenido",
"words.language": "Idioma",
"words.load_archived_entries": "Cargar entradas archivadas",
"words.login": "Iniciar sesión",
"words.search": "Buscar",
"words.starred": "Favoritos",
"words.unread": "No leído",
"words.user": "Usuario",
"words.which.all": "Todo",
"words.zero_items": "Sin contenido"
}
28 changes: 28 additions & 0 deletions locales/common/es.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"app.copied_to_clipboard": "Copiado al portapapeles",
"cancel": "Cancelar",
"confirm": "Confirmar",
"ok": "OK",
"quantifier.piece": "",
"time.last_night": "Anoche",
"time.the_night_before_last": "Anteanoche",
"time.today": "Hoy",
"time.yesterday": "Ayer",
"tips.load-lng-error": "Error al cargar el paquete de idioma",
"words.back": "Atrás",
"words.copy": "Copiar",
"words.edit": "Editar",
"words.entry": "Entrada",
"words.id": "ID",
"words.items_one": "Artículo",
"words.items_other": "Artículos",
"words.local": "local",
"words.record": "registro",
"words.record_one": "registro",
"words.record_other": "registros",
"words.result": "resultado",
"words.result_one": "resultado",
"words.result_other": "resultados",
"words.space": " ",
"words.which.all": "Todo"
}
42 changes: 42 additions & 0 deletions locales/external/es.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"feed": {
"follow_one": "seguir",
"follow_other": "seguidores",
"followsAndReads": "{{subscriptionCount}} {{subscriptionNoun}} con {{readCount}} {{readNoun}} en {{appName}}",
"read_one": "leer",
"read_other": "lecturas"
},
"header": {
"app": "Aplicación",
"download": "Descargar"
},
"invitation": {
"activate": "Activar",
"codeOptions": {
"1": "Buscando a algún usuario de prueba alfa que te invite.",
"2": "Únete a nuestro servidor de Discord para sorteos ocasionales.",
"3": "Sigue nuestra cuenta de X para sorteos ocasionales."
},
"earlyAccess": "Follow está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
"earlyAccessMessage": "😰 Lo sentimos, Follow está actualmente en acceso anticipado y requiere un código de invitación para usarlo.",
"generateButton": "Generar nuevo código",
"generateCost": "Puedes gastar {{INVITATION_PRICE}} Power para generar un código de invitación para tus amigos.",
"getCodeMessage": "Puedes obtener un código de invitación de las siguientes maneras:",
"title": "Código de Invitación"
},
"login": {
"backToWebApp": "Volver a la aplicación web",
"continueWithGitHub": "Continuar con GitHub",
"continueWithGoogle": "Continuar con Google",
"logInTo": "Iniciar sesión en ",
"openApp": "Abrir aplicación",
"redirecting": "Redirigiendo",
"welcomeTo": "Bienvenido a "
},
"redirect": {
"continueInBrowser": "Continuar en el navegador",
"instruction": "Es hora de abrir {{APP_NAME}} y cerrar esta página de forma segura.",
"openApp": "Abrir {{APP_NAME}}",
"successMessage": "Te has conectado exitosamente a la cuenta de {{APP_NAME}}."
}
}
1 change: 1 addition & 0 deletions locales/lang/en.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"langs.en": "English",
"langs.es": "Español",
"langs.fr": "Français",
"langs.ja": "日本語",
"langs.pt": "Português",
Expand Down
7 changes: 7 additions & 0 deletions locales/lang/es.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"langs.en": "English",
"langs.es": "Español",
"langs.ja": "日本語",
"langs.zh-CN": "简体中文",
"name": "Español"
}
1 change: 1 addition & 0 deletions locales/lang/ja.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"langs.en": "English",
"langs.es": "Español",
"langs.fr": "Français",
"langs.ja": "日本語",
"langs.pt": "Português",
Expand Down
1 change: 1 addition & 0 deletions locales/lang/zh-CN.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"langs.en": "English",
"langs.es": "Español",
"langs.fr": "Français",
"langs.ja": "日本語",
"langs.pt": "Português",
Expand Down
Loading

0 comments on commit 6b7823d

Please sign in to comment.