🌐 Re: #216 - Adds Spanish lang, thanks @lu4t

This commit is contained in:
Alicia Sykes 2021-09-10 22:25:32 +01:00
parent 3e6e1dc86c
commit 3df9f7e105
3 changed files with 194 additions and 7 deletions

View File

@ -418,7 +418,7 @@ All data is encrypted before being sent to the backend. In Dashy, this is done i
## Language Switching 🌎
> For full internationalization documentation, see: [**Multi-Language Support**](./docs/multi-language-support.md)
Dashy has the ability to support multiple languages and locales. When available, you're language should be automatically detected and applied on load, based on your browser or systems settings. But you can also select a language through the UI, under Config --> Switch Language, or set `appConfig.language` to your language (specified as a 2-digit [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)).
Dashy supports multiple languages and locales. When available, you're language should be automatically detected and applied on load, based on your browser or systems settings. But you can also select a language through the UI (under Config --> Switch Language), or set `appConfig.language` to your language (specified as a 2-digit [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)).
#### Supported Languages
- 🇬🇧 **English**: `en` - _Default_
@ -426,6 +426,7 @@ Dashy has the ability to support multiple languages and locales. When available,
- 🇳🇱 **Dutch**: `nl` - Contributed by **[@evroon](https://github.com/evroon)**
- 🇲🇫 **French**: `fr` - Contributed by **[@EVOTk](https://github.com/EVOTk)**
- 🇩🇪 **German**: `de` - Contributed by **[@Niklashere](https://github.com/Niklashere)**
- 🇪🇸 **Spanish**: `es` - Contributed by **[@lu4t](https://github.com/lu4t)**
- 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)**
#### Add your Language

172
src/assets/locales/es.json Normal file
View File

@ -0,0 +1,172 @@
{
"home": {
"no-results": "Tu búsqueda no ha obtenido resultados",
"no-data": "Faltan datos en la configuración"
},
"search": {
"search-label": "Buscar",
"search-placeholder": "Empieza a escribir para filtrar",
"clear-search-tooltip": "Borrar búsqueda",
"enter-to-search-web": "Pulsa Enter para buscar"
},
"login": {
"title": "Dashy",
"username-label": "Usuario",
"password-label": "Contraseña",
"login-button": "Acceder",
"remember-me-label": "Recuérdame durante",
"remember-me-never": "Nunca",
"remember-me-hour": "4 Horas",
"remember-me-day": "1 Día",
"remember-me-week": "1 Semana",
"error-missing-username": "Falta Usuario",
"error-missing-password": "Falta Contraseña",
"error-incorrect-username": "El usuario no existe",
"error-incorrect-password": "La Contraseña es incorrecta",
"success-message": "Accediendo...",
"logout-message": "Desconectado",
"already-logged-in-title": "Estás conectado",
"already-logged-in-text": "Estás conectado como",
"proceed-to-dashboard": "Ir al Dashboard",
"log-out-button": "Desconectarte",
"proceed-guest-button": "Acceder como Invitado"
},
"config": {
"main-tab": "Menu Principal",
"view-config-tab": "Ver Configuración",
"edit-config-tab": "Editar Configuración",
"custom-css-tab": "Personalizar apariencia",
"heading": "Opciones de Configuración",
"download-config-button": "Descargar Configuración",
"edit-config-button": "Editar Configuración",
"edit-css-button": "Personalizar aspecto - CSS",
"cloud-sync-button": "Activar Sincronización Cloud",
"edit-cloud-sync-button": "Editar Sincronización Cloud",
"rebuild-app-button": "Rebuild de la App",
"change-language-button": "Cambiar el Idioma",
"reset-settings-button": "Restaurar los Ajustes",
"app-info-button": "Info de la App",
"backup-note": "Se recomienda hacer una copia de seguridad de la configuración antes de realizar los cambios.",
"reset-config-msg-l1": "Esto borrará la configuración local del usuario, pero no tendrá ningún efecto en el fichero 'conf.yml'.",
"reset-config-msg-l2": "Es recomedable realizar primero una copia de seguridad de los cambios hecho en su configuración local, por si los necesitas usar en el futuro.",
"reset-config-msg-l3": "¿Estás seguro de que quieres continuar?",
"data-cleared-msg": "Datos eliminados correctamente",
"actions-label": "Acciones",
"copy-config-label": "Copiar la Configuración",
"data-copied-msg": "La Configuración ha sido copiada al portapapeles",
"reset-config-label": "Resetear la Configuración",
"css-save-btn": "Guardar Cambios",
"css-note-label": "Nota",
"css-note-l1": "Necesitarás refrescar tu navegador para que los cambios realizados tengan efecto.",
"css-note-l2": "La modificación de la apariencia sólo se almacena localmente, es recomendable realizar una copia de seguridad de tu CSS.",
"css-note-l3": "Para borrar las apariencias personalizadas, borra los contenidos y pulsa 'Guardar Cambios'"
},
"alternate-views": {
"alternate-view-heading": "Cambiar Vista",
"default": "Por defecto",
"workspace": "Espacio de trabajo",
"minimal": "Minimalista"
},
"settings": {
"theme-label": "Tema",
"layout-label": "Diseño",
"layout-auto": "Auto",
"layout-horizontal": "Horizontal",
"layout-vertical": "Vertical",
"item-size-label": "Tamaño de los Items",
"item-size-small": "Pequeño",
"item-size-medium": "Mediano",
"item-size-large": "Grande",
"config-launcher-label": "Configuración",
"config-launcher-tooltip": "Actualizar Configuración",
"sign-out-tooltip": "Desconectar",
"sign-in-tooltip": "Acceder",
"sign-in-welcome": "Hola {username}!"
},
"updates": {
"app-version-note": "Versión de Dashy",
"up-to-date": "Actualizada",
"out-of-date": "Actualización disponible",
"unsupported-version-l1": "Estás usando una versión de Dashy no soportada",
"unsupported-version-l2": "Si quieres una mejor experiencia de usuario, y aplicar los parches de seguridad disponibles, por favor actualiza a"
},
"language-switcher": {
"title": "Cambiar el idioma de la App",
"dropdown-label": "Selecciona un idioma",
"save-button": "Guardar",
"success-msg": "Idioma actualizado a"
},
"theme-maker": {
"title": "Configurar el Tema",
"export-button": "Exportar las Variables",
"reset-button": "Restaurar Estilo para",
"show-all-button": "Mostrar todas las Variables",
"save-button": "Guardar",
"cancel-button": "Cancelar",
"saved-toast": "{theme} Actualizado correctamente",
"copied-toast": "Datos del Tema {theme} copiados al portapapeles",
"reset-toast": "Colores personalizados de {theme} borrados"
},
"config-editor": {
"save-location-label": "Guardar Ubicación",
"location-local-label": "Aplicar localmente",
"location-disk-label": "Guardar cambion en el fichero de configuración",
"save-button": "Guardar Cambios",
"valid-label": "La configuración es válida",
"status-success-msg": "Tarea Completada",
"status-fail-msg": "La Tarea ha fallado",
"success-msg-disk": "Fichero de configuración guardado en disco correctamente",
"success-msg-local": "Los cambios locales se han guardado correctamente",
"success-note-l1": "La App se recompilará automáticamente.",
"success-note-l2": "Esto puede llevar algo más de un minuto.",
"success-note-l3": "Es necesario refrescar la página para que los cambios tengan efecto.",
"error-msg-save-mode": "Por favor selecciona un modo de Guardar: Local o Fichero",
"error-msg-cannot-save": "Se ha producido un error al guardar la configuración",
"error-msg-bad-json": "Error en el JSON, probablemente esté mal construído",
"warning-msg-validation": "Advertencia de validación",
"not-admin-note": "No puedes guardar los cambios en el disco, porque no estás conectado como un Administrador"
},
"app-rebuild": {
"title": "Rebuild la App",
"rebuild-note-l1": "Se requiere recompilar, para que los cambios realizados en el 'conf.yml' tengan efecto.",
"rebuild-note-l2": "Esto debería de suceder automáticamente, pero si no sucede, puedes forzarlo manualmente aquí.",
"rebuild-note-l3": "No es necesario para modificaciones guardadas localmente.",
"rebuild-button": "Iniciar Build",
"rebuilding-status-1": "Building...",
"rebuilding-status-2": "Esto puede llevar unos minutos",
"error-permission": "No tienes privilegios para ejecutar esta acción",
"success-msg": "Build completado correctamente",
"fail-msg": "el Build ha fallado",
"reload-note": "Se requiere refrescar la página para que los cambios tengan efecto",
"reload-button": "Refrescar la página"
},
"cloud-sync": {
"title": "Copia de seguridad y Restauración en la Nube",
"intro-l1": "La copia de seguridad y restaurar en la Nube es una funcionalidad opcional, que permite subir tu configuración a Internet, y restaurarle en cualquier dispositivo u otras instancias de Dashy.",
"intro-l2": "Todos los datos están cifrados de extremo a extremo con AES, la Contraseña elegida es la clave de cifrado.",
"intro-l3": "Para más información, por favor consulta",
"backup-title-setup": "Hacer una copia de seguridad",
"backup-title-update": "Restaurar copia de seguridad",
"password-label-setup": "Selecciona una Contraseña",
"password-label-update": "Escribe tu Contraseña",
"backup-button-setup": "Copia de Seguridad",
"backup-button-update": "Actualizar la copia de seguridad",
"backup-id-label": "El identificador (ID) de tu copia de seguridad",
"backup-id-note": "Esto es necesario para restaurar copias de seguridad posteriormente. No lo pierdas, guardalo junto a la contraseña que usaste en un lugar seguro.",
"restore-title": "Restaurar una copia de seguridad",
"restore-id-label": "ID (identificador) de la copia de seguridad",
"restore-password-label": "Contraseña",
"restore-button": "Restaurar",
"backup-missing-password": "Falta la Contraseña",
"backup-error-unknown": "No se puede procesar la solicitud",
"backup-error-password": "Contraseña incorrecta. Por favor introduce la contraseña.",
"backup-success-msg": "Completado con éxito",
"restore-success-msg": "Configuración restaurada con éxito"
},
"menu": {
"sametab": "Abrir en la pestaña actual",
"newtab": "Abrir en una nueva pestaña",
"modal": "Abrir en un Pop-Up",
"workspace": "Abrir en el espacio de trabajo"
}
}

View File

@ -4,9 +4,10 @@ import de from '@/assets/locales/de.json';
import nl from '@/assets/locales/nl.json';
import fr from '@/assets/locales/fr.json';
import sl from '@/assets/locales/sl.json';
import es from '@/assets/locales/es.json';
import zhCN from '@/assets/locales/zh-CN.json';
// Language data - Add your country name, locale code and imported file here
// Language data - Next register your language by adding it to this list
export const languages = [
{
name: 'English',
@ -38,19 +39,32 @@ export const languages = [
locale: sl,
flag: '🇸🇮',
},
{
name: 'Spanish',
code: 'es',
locale: es,
flag: '🇪🇸',
},
{
name: '简体中文',
code: 'cn',
locale: zhCN,
flag: '🇨🇳',
},
// Including:
// name - Human readable name for your language (e.g German)
// code - ISO language code (e.g. de)
// locale - The file that you imported above
// flag - A nice emoji flag (optional, e.g. 🇩🇪)
];
/**
* Include the following info:
* name - Human readable name for your language (e.g German)
* code - ISO language code (e.g. de)
* locale - The file that you imported above
* flag - A nice emoji flag (optional, e.g. 🇩🇪)
*/
// All done :)
// You can also add your language to /README.md and credit yourself if you like
// Prepare each language for export
const i18nMessages = {};
languages.forEach((lang) => {
i18nMessages[lang.code] = lang.locale;