From ee13b0108c403dbd4dc40dda0f560e7ae3123393 Mon Sep 17 00:00:00 2001 From: FedelloKirfed Date: Wed, 6 Dec 2023 22:01:59 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90=20Add=20language=20(Galician)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + src/assets/locales/gl.json | 446 +++++++++++++++++++++++++++++++++++++ src/utils/languages.js | 7 + 3 files changed, 454 insertions(+) create mode 100644 src/assets/locales/gl.json diff --git a/README.md b/README.md index 424808b1..e3800197 100644 --- a/README.md +++ b/README.md @@ -422,6 +422,7 @@ Dashy supports multiple languages and locales. When available, your language sho - 🇳🇴 **Norwegian Bokmål**: `nb` - Contributed by **[@rubjo](https://github.com/rubjo)** - 🇵🇱 **Polish**: `pl` - Contributed by **[@skaarj1989](https://github.com/skaarj1989)** - 🇵🇹 **Portuguese**: `pt` - Contributed by **[@LeoColman](https://github.com/LeoColman)** +- 🛰️ **Galician**: `gl` - Contributed by **[@pvillaverde](https://github.com/pvillaverde)** - 🇷🇺 **Russian**: `ru` - _Auto-generated_ - 🇸🇰 **Slovak**: `sk` - Contributed by **[@Smexhy](https://github.com/Smexhy)** - 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)** diff --git a/src/assets/locales/gl.json b/src/assets/locales/gl.json new file mode 100644 index 00000000..3a5ebb65 --- /dev/null +++ b/src/assets/locales/gl.json @@ -0,0 +1,446 @@ +{ + "home": { + "no-results": "Sen resultados de busca", + "no-data": "Sen datos configurados", + "no-items-section": "Aínda non hai elementos para mostrar" + }, + "search": { + "search-label": "Buscar", + "search-placeholder": "Comeza a escribir para filtrar", + "clear-search-tooltip": "Limpar busca", + "enter-to-search-web": "Preme Enter para buscar na web" + }, + "splash-screen": { + "loading": "Cargando" + }, + "login": { + "title": "Dashy", + "guest-label": "Acceso de convidado", + "username-label": "Nome de usuario", + "password-label": "Contrasinal", + "login-button": "Iniciar sesión", + "remember-me-label": "Lembrar durante", + "remember-me-never": "Nunca", + "remember-me-hour": "4 horas", + "remember-me-day": "1 día", + "remember-me-week": "1 semana", + "remember-me-long-time": "Moito tempo", + "error-missing-username": "Falta o nome de usuario", + "error-missing-password": "Falta o contrasinal", + "error-incorrect-username": "Usuario non encontrado", + "error-incorrect-password": "Contrasinal incorrecto", + "success-message": "Iniciando sesión...", + "logout-message": "Sesión pechada", + "already-logged-in-title": "Sesión xa iniciada", + "already-logged-in-text": "Estás identificado como", + "proceed-to-dashboard": "Ir ao panel", + "log-out-button": "Pechar sesión", + "proceed-guest-button": "Continuar como convidado", + "guest-intro-1": "Esta instancia ten o acceso de convidado habilitado.", + "guest-intro-2": "Os convidados só teñen acceso de visualización aos paneis e non poden facer cambios no disco.", + "error": "Erro", + "error-no-user-configured": "A autenticación non está habilitada ou non se configuraron usuarios", + "error-go-home-button": "Ir á páxina principal", + "logged-in-guest": "Identificado como convidado, redirixindo...", + "error-guest-access": "Acceso de convidado non permitido" + }, + "app-info": { + "title": "Información da aplicación", + "error-log": "Rexistro de erros", + "no-errors": "Non se detectaron erros recentes", + "help-support": "Axuda e soporte", + "help-support-description": "Para obter axuda sobre a execución ou configuración de Dashy, consulta as", + "help-support-discussions": "Discusións", + "support-dashy": "Apoia Dashy", + "support-dashy-description": "Para saber como participar, consulta a páxina de", + "support-dashy-link": "Contribucións", + "report-bug": "Informar dun erro", + "report-bug-description": "Se atopaches un erro, por favor", + "report-bug-link": "abre unha incidencia", + "more-info": "Máis información", + "source": "Código fonte", + "documentation": "Documentación", + "privacy-and-security": "Privacidade e seguridade", + "privacy-and-security-l1": "Para obter detalles sobre como os teus datos son xestionados por Dashy, consulta a", + "privacy-and-security-privacy-policy": "Política de privacidade", + "app-info.privacy-and-security-advice": "Para consellos sobre como asegurar o teu panel de control, consulta os", + "app-info.privacy-and-security-advice-link": "Documentos de xestión", + "privacy-and-security-security-issue": "Se atopaches un problema de seguridade potencial, informa seguindo a nosa", + "privacy-and-security-security-policy": "Política de seguridade", + "license": "Licenza", + "license-under": "Licenciado baixo", + "licence-third-party": "Para licenzas de módulos de terceiros, consulta", + "licence-third-party-link": "Legal", + "list-contributors": "Para a lista completa de contribuíntes e agradecementos, consulta", + "list-contributors-link": "Créditos", + "version": "Versión" + }, + "config": { + "main-tab": "Menú principal", + "view-config-tab": "Ver configuración", + "edit-config-tab": "Editar configuración", + "custom-css-tab": "Estilos personalizados", + "heading": "Opcións de configuración", + "download-config-button": "Ver / Exportar configuración", + "edit-config-button": "Editar configuración", + "edit-css-button": "Editar CSS personalizado", + "cloud-sync-button": "Habilitar sincronización en nube", + "edit-cloud-sync-button": "Editar sincronización en nube", + "rebuild-app-button": "Reconstruír aplicación", + "change-language-button": "Cambiar idioma da aplicación", + "reset-settings-button": "Restablecer configuración local", + "disabled-note": "Algúns recursos de configuración foron desactivados polo administrador", + "small-screen-note": "Estás a usar unha pantalla moi pequena e algúns elementos deste menú poden non ser óptimos", + "app-info-button": "Información da aplicación", + "backup-note": "Recoméndase facer unha copia de seguridade da túa configuración antes de facer cambios.", + "reset-config-msg-l1": "Isto eliminará todas as configuracións de usuario do almacenamento local, pero non afectará ao ficheiro 'conf.yml'.", + "reset-config-msg-l2": "Deberías facer unha copia de seguridade de calquera cambio que fixeches localmente, se queres usalos no futuro.", + "reset-config-msg-l3": "Seguro que queres continuar?", + "data-cleared-msg": "Datos eliminados correctamente", + "actions-label": "Accións", + "copy-config-label": "Copiar configuración", + "data-copied-msg": "A configuración foi copiada ao portapapeis", + "reset-config-label": "Restablecer configuración", + "css-save-btn": "Gardar cambios", + "css-note-label": "Nota", + "css-note-l1": "Terás que actualizar a páxina para que se apliquen os cambios.", + "css-note-l2": "As substitucións de estilos só se almacenan localmente, así que é recomendable facer unha copia do teu CSS.", + "css-note-l3": "Para eliminar todos os estilos personalizados, borra o contido e preme Gardar cambios", + "custom-css": { + "title": "CSS personalizado", + "base-theme": "Tema base" + } + }, + "alternate-views": { + "alternate-view-heading": "Cambiar vista", + "default": "Predeterminado", + "workspace": "Área de traballo", + "minimal": "Minimalista" + }, + "settings": { + "theme-label": "Tema", + "layout-label": "Deseño", + "layout-auto": "Automático", + "layout-horizontal": "Horizontal", + "layout-vertical": "Vertical", + "item-size-label": "Tamaño do elemento", + "item-size-small": "Pequeno", + "item-size-medium": "Mediano", + "item-size-large": "Grande", + "config-launcher-label": "Configuración", + "config-launcher-tooltip": "Actualizar configuración", + "sign-out-tooltip": "Pechar sesión", + "sign-in-tooltip": "Iniciar sesión", + "sign-in-welcome": "Ola {username}!", + "hide": "Ocultar", + "open": "Abrir" + }, + "updates": { + "app-version-note": "Versión de Dashy", + "up-to-date": "Actualizado", + "out-of-date": "Actualización dispoñible", + "unsupported-version-l1": "Estás a usar unha versión non soportada de Dashy", + "unsupported-version-l2": "Para a mellor experiencia e actualizacións de seguridade recentes, por favor, actualiza a" + }, + "language-switcher": { + "title": "Cambiar idioma da aplicación", + "dropdown-label": "Selecciona un idioma", + "save-button": "Gardar", + "success-msg": "Idioma actualizado a" + }, + "theme-maker": { + "title": "Configurador de tema", + "export-button": "Exportar variables personalizadas", + "reset-button": "Restablecer estilos para", + "show-all-button": "Amosar todas as variables", + "change-fonts-button": "Cambiar fontes", + "save-button": "Gardar", + "cancel-button": "Cancelar", + "saved-toast": "{theme} actualizado correctamente", + "copied-toast": "Datos do tema para {theme} copiados ao portapapeis", + "reset-toast": "Eliminadas as cores personalizadas de {theme}" + }, + "config-editor": { + "save-location-label": "Localización de gardado", + "location-local-label": "Aplicar localmente", + "location-disk-label": "Gardar cambios no ficheiro de configuración", + "save-button": "Gardar cambios", + "preview-button": "Previsualizar cambios", + "valid-label": "A configuración é válida", + "status-success-msg": "Tarefa completada", + "status-fail-msg": "Fallou a tarefa", + "success-msg-disk": "Ficheiro de configuración gardado no disco correctamente", + "success-msg-local": "Cambios locais gardados correctamente", + "success-note-l1": "A aplicación debe reconstruírse automaticamente.", + "success-note-l2": "Isto pode levar ata un minuto.", + "success-note-l3": "Terás que actualizar a páxina para que se apliquen os cambios.", + "error-msg-save-mode": "Selecciona un modo de gardado: Local ou Ficheiro", + "error-msg-cannot-save": "Produciuse un erro ao gardar a configuración", + "error-msg-bad-json": "Erro en JSON, posiblemente malformado", + "warning-msg-validation": "Aviso de validación", + "not-admin-note": "Non podes gardar cambios no disco porque non iniciaches sesión como administrador" + }, + "app-rebuild": { + "title": "Reconstruír aplicación", + "rebuild-note-l1": "É necesaria unha reconstrución para que se apliquen os cambios escritos no ficheiro 'conf.yml'.", + "rebuild-note-l2": "Isto debería ocorrer automaticamente, pero se non ocorre, podes activar manualmente aquí.", + "rebuild-note-l3": "Esto non é necesario para as modificacións almacenadas localmente.", + "rebuild-button": "Iniciar construción", + "rebuilding-status-1": "Construíndo...", + "rebuilding-status-2": "Isto pode levar uns minutos", + "error-permission": "Non tes permisos para iniciar esta acción", + "success-msg": "Construción completada con éxito", + "fail-msg": "A operación de construción fallou", + "reload-note": "Agora é necesario recargar a páxina para que se apliquen os cambios", + "reload-button": "Recargar páxina" + }, + "cloud-sync": { + "title": "Copia de seguridade e restauración en nube", + "intro-l1": "A copia de seguridade e restauración en nube é unha característica opcional que che permite cargar a túa configuración á internet e restaurala en calquera outro dispositivo ou instancia de Dashy.", + "intro-l2": "Todos os datos están totalmente cifrados de extremo a extremo con AES, usando o teu contrasinal como clave.", + "intro-l3": "Para obter máis información, consulta a", + "intro-docs": "documentación", + "backup-title-setup": "Facer unha copia de seguridade", + "backup-title-update": "Actualizar copia de seguridade", + "password-label-setup": "Escolle un contrasinal", + "password-label-update": "Introduce o teu contrasinal", + "backup-button-setup": "Copia de seguridade", + "backup-button-update": "Actualizar copia de seguridade", + "backup-id-label": "ID da túa copia de seguridade", + "backup-id-note": "Esto úsase para restaurar desde copias de seguridade máis tarde. Así que guárdao, xunto co teu contrasinal, nun lugar seguro.", + "restore-title": "Restaurar unha copia de seguridade", + "restore-id-label": "ID de restauración", + "restore-password-label": "Contrasinal", + "restore-button": "Restaurar", + "backup-missing-password": "Falta o contrasinal", + "backup-error-unknown": "Non se puido procesar a solicitude", + "backup-error-password": "Contrasinal incorrecto. Introduce o teu contrasinal actual.", + "backup-success-msg": "Completado con éxito", + "restore-success-msg": "Configuración restaurada con éxito" + }, + "menu": { + "open-section-title": "Abrir en", + "sametab": "Lapela actual", + "newtab": "Nova lapela", + "modal": "Diálogo emerxente", + "workspace": "Vista do espazo de traballo", + "options-section-title": "Opcións", + "edit-item": "Editar", + "move-item": "Copiar ou mover", + "remove-item": "Eliminar" + }, + "context-menus": { + "item": { + "open-section-title": "Abrir en", + "sametab": "Lapela actual", + "newtab": "Nova lapela", + "modal": "Diálogo emerxente", + "workspace": "Vista do espazo de traballo", + "clipboard": "Copiar ao portapapeis", + "options-section-title": "Opcións", + "edit-item": "Editar", + "move-item": "Copiar ou mover", + "remove-item": "Eliminar", + "copied-toast": "A URL foi copiada ao portapapeis" + }, + "section": { + "open-section": "Abrir sección", + "edit-section": "Editar", + "expand-collapse": "Expandir / Colapsar", + "move-section": "Mover a", + "remove-section": "Eliminar" + } + }, + "footer": { + "dev-by": "Desenvolto por", + "licensed-under": "Licenciado baixo", + "get-the": "Obter o", + "source-code": "Código fonte" + }, + "interactive-editor": { + "menu": { + "start-editing-tooltip": "Entrar no Editor Interactivo", + "edit-site-data-subheading": "Editar datos do sitio", + "edit-page-info-btn": "Editar información da páxina", + "edit-page-info-tooltip": "Título da aplicación, descrición, ligazóns de navegación, texto do pé de páxina, etc.", + "edit-app-config-btn": "Editar configuración da aplicación", + "edit-app-config-tooltip": "Todas as outras opcións de configuración da aplicación", + "edit-pages-btn": "Editar páxinas", + "edit-pages-tooltip": "Engadir ou eliminar vistas adicionais", + "config-save-methods-subheading": "Opcións de gardado de configuración", + "save-locally-btn": "Gardar localmente", + "save-locally-tooltip": "Gardar a configuración localmente, no almacenamento do navegador. Iso non afectará ao ficheiro de configuración, pero os cambios só se gardarán neste dispositivo", + "save-disk-btn": "Gardar no disco", + "save-disk-tooltip": "Gardar a configuración no ficheiro conf.yml no disco. Isto fará unha copia de seguridade e despois sobrescribirá a túa configuración existente", + "export-config-btn": "Exportar configuración", + "export-config-tooltip": "Ver e exportar a nova configuración, ben a un ficheiro ou ao portapapeis", + "cloud-backup-btn": "Copia de seguridade na nube", + "cloud-backup-tooltip": "Gardar unha copia de seguridade cifrada da configuración na nube", + "edit-raw-config-btn": "Editar configuración en bruto", + "edit-raw-config-tooltip": "Ver e modificar a configuración en bruto a través do editor JSON", + "cancel-changes-btn": "Cancelar edición", + "cancel-changes-tooltip": "Restablecer as modificacións actuais e saír do modo de edición. Iso non afectará á túa configuración gardada", + "edit-mode-name": "Modo de edición", + "edit-mode-subtitle": "Estás no modo de edición", + "edit-mode-description": "Isto significa que podes facer modificacións á túa configuración e prever os resultados, pero ata que non a gardes, ningunha das túas modificacións será preservada.", + "save-stage-btn": "Gardar", + "cancel-stage-btn": "Cancelar", + "save-locally-warning": "Se continúas, os cambios só se gardarán no teu navegador. Deberías exportar unha copia da túa configuración para usar noutros equipos. Queres continuar?" + }, + "edit-item": { + "missing-title-err": "É necesario un título para o elemento" + }, + "edit-section": { + "edit-section-title": "Editar sección", + "add-section-title": "Engadir nova sección", + "edit-tooltip": "Fai clic para editar ou fai clic co botón dereito para obter máis opcións", + "remove-confirm": "Estás seguro de querer eliminar esta sección? Esta acción pódese desfacer máis tarde." + }, + "edit-app-config": { + "warning-msg-title": "Procede con cautela", + "warning-msg-l1": "As seguintes opcións son para a configuración avanzada da aplicación.", + "warning-msg-l2": "Se non estás seguro de ningún dos campos, consulta a", + "warning-msg-docs": "documentación", + "warning-msg-l3": "para evitar consecuencias non desexadas." + }, + "export": { + "export-title": "Exportar configuración", + "copy-clipboard-btn": "Copiar ao portapapeis", + "copy-clipboard-tooltip": "Copiar toda a configuración da aplicación ao portapapeis do sistema, en formato YAML", + "download-file-btn": "Descargar como ficheiro", + "download-file-tooltip": "Descargar toda a configuración da aplicación no teu dispositivo, nun ficheiro YAML", + "view-title": "Ver configuración" + } + }, + "widgets": { + "general": { + "loading": "Cargando...", + "show-more": "Expandir detalles", + "show-less": "Amosar menos", + "open-link": "Continuar lendo" + }, + "pi-hole": { + "status-heading": "Estado" + }, + "stat-ping": { + "up": "En liña", + "down": "Fóra de liña" + }, + "net-data": { + "cpu-chart-title": "Historial da CPU", + "mem-chart-title": "Uso da memoria", + "mem-breakdown-title": "Desglose da memoria", + "load-chart-title": "Carga do sistema" + }, + "glances": { + "disk-space-free": "Libre", + "disk-space-used": "Usado", + "disk-mount-point": "Punto de montaxe", + "disk-file-system": "Sistema de ficheiros", + "disk-io-read": "Ler", + "disk-io-write": "Escribir", + "system-load-desc": "Número de procesos á espera na cola de execución, promediado entre todos os núcleos" + }, + "system-info": { + "uptime": "Tempo de actividade" + }, + "flight-data": { + "arrivals": "Chegadas", + "departures": "Saídas" + }, + "tfl-status": { + "good-service-all": "Bos servizos en todas as liñas", + "good-service-rest": "Bos servizos en todas as outras liñas" + }, + "synology-download": { + "download": "Descargar", + "upload": "Subir", + "downloaded": "Descargado", + "uploaded": "Subido", + "remaining": "Restante", + "up": "Arriba", + "down": "Abaixo" + }, + "gluetun-status": { + "vpn-ip": "IP da VPN", + "country": "País", + "region": "Rexión", + "city": "Cidade", + "post-code": "Código postal", + "location": "Localización", + "timezone": "Fuso horario", + "organization": "Organización" + }, + "nextcloud": { + "active": "activo", + "and": "e", + "applications": "aplicacións", + "available": "dispoñible", + "away": "Ausente", + "cache-full": "CACHE CHEO", + "chat-room": "sala de chat", + "delete-all": "Eliminar todo", + "delete-notification": "Eliminar notificación", + "disabled": "desactivado", + "disk-quota": "Cota de disco", + "disk-space": "Espazo en disco", + "dnd": "Non molestar", + "email": "correo electrónico", + "enabled": "activado", + "federated-shares-ucfirst": "Comparticións federadas", + "federated-shares": "comparticións federadas", + "files": "ficheiro{plural}", + "free": "libre", + "groups": "grupos", + "hit-rate": "taxa de acerto", + "hits": "acertos", + "home": "inicio", + "in": "en", + "keys": "chaves", + "last-24-hours": "últimas 24 horas", + "last-5-minutes": "nos últimas 5 minutos", + "last-hour": "na última hora", + "last-login": "Último acceso", + "last-restart": "Último reinicio", + "load-averages": "Cargas medias en todos os núcleos da CPU", + "local-shares": "Comparticións locais", + "local": "local", + "max-keys": "máximas chaves", + "memory-used": "memoria usada", + "memory-utilisation": "utilización de memoria", + "memory": "memoria", + "misses": "faltas", + "no-notifications": "Sen notificacións", + "no-pending-updates": "sen actualizacións pendentes", + "nothing-to-show": "Nada que amosar neste momento", + "of-which": "dos cales", + "of": "de", + "offline": "Fóra de liña", + "online": "En liña", + "other": "outro", + "overall": "Resumo", + "private-link": "ligazón privada", + "public-link": "ligazón pública", + "quota-enabled": "A cota de disco está {not}activada para este usuario", + "received": "recibido", + "scripts": "scripts", + "sent": "enviado", + "started": "Iniciado", + "storages-by-type": "Almacenamentos por tipo", + "storages": "almacenamento{plural}", + "strings-use": "cadenas usadas", + "tasks": "Tarefas", + "total-files": "total de ficheiros", + "total-users": "total de usuarios", + "total": "total", + "until": "Ata", + "updates-available-for": "Hai actualizacións dispoñibles para", + "updates-available": "actualización{plural} dispoñible", + "used": "usado", + "user": "usuario", + "using": "usando", + "version": "versión", + "wasted": "desperdiciado" + } + } +} \ No newline at end of file diff --git a/src/utils/languages.js b/src/utils/languages.js index 8fac5bbd..09b5ff70 100644 --- a/src/utils/languages.js +++ b/src/utils/languages.js @@ -17,6 +17,7 @@ import nb from '@/assets/locales/nb.json'; import nl from '@/assets/locales/nl.json'; import pl from '@/assets/locales/pl.json'; import pt from '@/assets/locales/pt.json'; +import gl from '@/assets/locales/gl.json'; import ru from '@/assets/locales/ru.json'; import sk from '@/assets/locales/sk.json'; import sl from '@/assets/locales/sl.json'; @@ -138,6 +139,12 @@ export const languages = [ locale: pt, flag: '🇵🇹', }, + { // Galician + name: 'Galego', + code: 'gl', + locale: gl, + flag: '🛰️', + }, { // Russian name: 'Русский', code: 'ru',