Merge pull request #342 from SamR1/enable-translations

Enable Spanish, Galician and Norwegian Bokmål translations
This commit is contained in:
Sam 2023-04-05 21:36:31 +02:00 committed by GitHub
commit 201397b12d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 425 additions and 426 deletions

View File

@ -62,10 +62,10 @@ class BaseConfig:
'fr',
'de',
'it',
# 'nb', # disabled for now
'nb',
'nl',
# 'es', # disabled for now
# 'gl', # disabled for now
'es',
'gl',
]
OAUTH2_TOKEN_EXPIRES_IN = {
'authorization_code': 864000, # 10 days

View File

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.504d6d07.js"></script><script defer="defer" src="/static/js/app.101c16d4.js"></script><link href="/static/css/app.e504ceb2.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.f7305cd3.js"></script><script defer="defer" src="/static/js/app.6df97be4.js"></script><link href="/static/css/app.38b148d9.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -198,8 +198,9 @@
padding: 0 10px;
::v-deep(.dropdown-list) {
margin-left: -95px !important;
width: 115px !important;
z-index: 1000;
margin-left: -110px !important;
width: 131px !important;
}
}

View File

@ -6,18 +6,13 @@ import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'
* The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.
* See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation
*/
const disabledLanguages = ['nb', 'es', 'gl'] // to update after translations release
function loadLocaleMessages(): Record<string, LocaleMessages<VueMessageType>> {
const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.ts$/i)
const messages: Record<string, LocaleMessages<VueMessageType>> = {}
locales.keys().forEach((key) => {
const matched = key.match(/([A-Za-z0-9-_]+)\./i)
if (
matched &&
matched.length > 1 &&
!disabledLanguages.includes(matched[1])
) {
if (matched && matched.length > 1) {
const locale = matched[1]
messages[locale] = locales(key).default
}

View File

@ -1,8 +1,8 @@
{
"ABOUT_THIS_INSTANCE": "Sobre esta instancia",
"SOURCE_CODE": "Código fuente",
"WEATHER_DATA_FROM": "Datos meteorología:",
"CONTACT_ADMIN": "Contacta con la administración",
"FITTRACKEE_DESCRIPTION": "<strong>FitTrackee</strong> es un gestor de actividades en exterior autohospedado.",
"FITTRACKEE_LICENSE": "con licencia {0} "
"FITTRACKEE_LICENSE": "con licencia {0} ",
"SOURCE_CODE": "Código fuente",
"WEATHER_DATA_FROM": "Datos meteorología:"
}

View File

@ -3,12 +3,12 @@
"DESCRIPTION": "Cualquier tipo de información adicional que pueda ser útil para tus usuarios. Puedes usar Markdown.",
"TEXT": "Información detallada sobre la instancia"
},
"ACTION": "Acción",
"ACTIVATE_USER_ACCOUNT": "Activar cuenta",
"ACTIVE": "Activa",
"ADMIN": "Admin",
"ADMINISTRATION": "Administración",
"ADMIN_RIGHTS_DELETE_USER_ACCOUNT": "Añadir/Retirar derechos de aministración, eliminar cuenta de usuario.",
"ACTION": "Acción",
"APPLICATION": "Aplicación",
"APP_CONFIG": {
"ADMIN_CONTACT": "Contacto por email con la administración",
@ -20,22 +20,6 @@
"TITLE": "Configuración de la aplicación",
"ZIP_UPLOAD_MAX_SIZE_LABEL": "Tamaño máx. del fichero zip (en Mb)"
},
"USERS": {
"SELECTS": {
"ORDER_BY": {
"IS_ACTIVE": "tipo de cuenta",
"USERNAME": "identificador",
"WORKOUTS_COUNT": "número de entramientos",
"ADMIN": "estatus de admin",
"CREATED_AT": "data de registro"
}
},
"TABLE": {
"ADD_ADMIN_RIGHTS": "Otorgar permiso de admin",
"REMOVE_ADMIN_RIGHTS": "Retirar permiso de admin"
}
},
"USER_EMAIL_UPDATE_SUCCESSFUL": "La dirección de email ha sido actualizada.",
"BACK_TO_ADMIN": "Volver a admin",
"CONFIRM_USER_ACCOUNT_DELETION": "¿Seguro que quieres eliminar la cuenta {0}? Se borrarán todos los datos y no será reversible.",
"CONFIRM_USER_PASSWORD_RESET": "¿Seguro que quieres restablecer la contraseña de {0}?",
@ -61,5 +45,21 @@
},
"UPDATE_APPLICATION_DESCRIPTION": "Actualizar la configuración de la aplicación.",
"UPDATE_USER_EMAIL": "Actualizar email",
"USER": "usuario | usuarios"
"USER": "usuario | usuarios",
"USERS": {
"SELECTS": {
"ORDER_BY": {
"ADMIN": "estatus de admin",
"CREATED_AT": "data de registro",
"IS_ACTIVE": "tipo de cuenta",
"USERNAME": "identificador",
"WORKOUTS_COUNT": "número de entramientos"
}
},
"TABLE": {
"ADD_ADMIN_RIGHTS": "Otorgar permiso de admin",
"REMOVE_ADMIN_RIGHTS": "Retirar permiso de admin"
}
},
"USER_EMAIL_UPDATE_SUCCESSFUL": "La dirección de email ha sido actualizada."
}

View File

@ -2,6 +2,20 @@
"ERROR": {
"Network Error": "Error en la red.",
"UNKNOWN": "Error. Inténtalo de nuevo o contacta con la administración.",
"at least one file in zip archive exceeds size limit, please check the archive": "Por lo menos uno de los ficheros dentro del archivo zip excede el límite de tamaño, comprueba el archivo.",
"completed request already exists": "Ya existe una solicitud de exportación completa.",
"email: valid email must be provided": "Email: debes proporcionar un email válido.",
"error during gpx file parsing": "Error al procesar el fichero gpx.",
"error during gpx processing": "Error en el procesado del gpx.",
"error on getting configuration": "Error al obtener la configuración.",
"error when saving workout": "Error al guardar el entrenamiento.",
"error when updating configuration": "Error al actualizar la configuración",
"error, please try again or contact the administrator": "Error, inténtalo de nuevo más tarde o contacta con la administración.",
"error, registration is disabled": "Error, no se permiten nuevos registros.",
"file extension not allowed": "Extensión de fichero no permitida.",
"file size is greater than the allowed size": "El tamaño del fichero es mayor del permitido.",
"invalid credentials": "Credenciales no válidas.",
"invalid payload": "Los datos proporcionados no son válidos.",
"invalid token, please log in again": "Token no válido, por favor vuelve a iniciar sesión.",
"invalid token, please request a new token": "Token no válido, inicia sesión de nuevo.",
"new email must be different than curent email": "El nuevo email tiene que ser diferente al email actual",
@ -13,26 +27,12 @@
"signature expired, please log in again": "Firma caducada. Inicia sesión de nuevo.",
"sorry, that username is already taken": "Lo sentimos, pero el nombre de usuario ya está en uso.",
"sport does not exist": "No existe este deporte.",
"at least one file in zip archive exceeds size limit, please check the archive": "Por lo menos uno de los ficheros dentro del archivo zip excede el límite de tamaño, comprueba el archivo.",
"completed request already exists": "Ya existe una solicitud de exportación completa.",
"email: valid email must be provided": "Email: debes proporcionar un email válido.",
"error during gpx file parsing": "Error al procesar el fichero gpx.",
"error during gpx processing": "Error en el procesado del gpx.",
"error on getting configuration": "Error al obtener la configuración.",
"error when saving workout": "Error al guardar el entrenamiento.",
"error, please try again or contact the administrator": "Error, inténtalo de nuevo más tarde o contacta con la administración.",
"error, registration is disabled": "Error, no se permiten nuevos registros.",
"file extension not allowed": "Extensión de fichero no permitida.",
"file size is greater than the allowed size": "El tamaño del fichero es mayor del permitido.",
"invalid credentials": "Credenciales no válidas.",
"invalid payload": "Los datos proporcionados no son válidos.",
"successfully registered": "Cuenta creada correctamente.",
"the number of files in the archive exceeds the limit": "El número de ficheros en el archivo excede el límite.",
"user does not exist": "No existe el usuario.",
"valid email must be provided for admin contact": "Debes proporcionar un email válido para el contacto de administración",
"you can not delete your account, no other user has admin rights": "No puedes eliminar tu cuenta, ninguna otra tiene permisos de administración.",
"you do not have permissions": "No tienes permiso.",
"error when updating configuration": "Error al actualizar la configuración"
"you do not have permissions": "No tienes permiso."
},
"PAGINATION": {
"NEXT": "siguiente",

View File

@ -4,6 +4,7 @@
"CLIENT_ID": "Id",
"CLIENT_SECRET": "Clave secreta",
"DESCRIPTION": "Descripción de la aplicación",
"ISSUE_AT": "Edición en",
"NAME": "Nombre de la aplicación",
"REDIRECT_URL": "URL de redirección",
"SCOPE": {
@ -16,21 +17,20 @@
"workouts:read_DESCRIPTION": "concede permiso de lectura a los puntos de acceso <code>workouts</code>.",
"workouts:write_DESCRIPTION": "concede permiso de escritura a los puntos de acceso <code>workouts</code>."
},
"URL": "URL de la aplicación",
"ISSUE_AT": "Edición en"
"URL": "URL de la aplicación"
},
"APPS_LIST": "Aplicaciones OAuth2",
"APP_CREATED_SUCCESSFULLY": "Aplicación creada correctamente. Asegúrate de que copias la clave secreta, no volverá a ser mostrada.",
"APP_DELETION_CONFIRMATION": "¿Estás seguro de que quieres eliminar esta app?",
"APP_REQUESTING_ACCESS": "La aplicación {0} solicita:",
"AUTHORIZE_APP": "¿Autorizar a {0} a usar tu cuenta?",
"COPY_TO_CLIPBOARD": "copiar al portapapeles",
"DELETE_APP": "Eliminar aplicación",
"NEW_APP": "Añadir una aplicación",
"NO_APP": "No se encuentra la aplicación!",
"NO_APPS": "sin aplicaciones",
"NO_DESCRIPTION": "sin descripción",
"REVOKE_ALL_TOKENS": "Revocar todas las claves",
"TOKENS_REVOCATION_CONFIRMATION": "¿Estás seguro de revocar todas las claves?",
"TOKENS_REVOKED": "Todas las claves asociadas han sido revocadas.",
"APP_DELETION_CONFIRMATION": "¿Estás seguro de que quieres eliminar esta app?",
"APP_REQUESTING_ACCESS": "La aplicación {0} solicita:",
"AUTHORIZE_APP": "¿Autorizar a {0} a usar tu cuenta?",
"DELETE_APP": "Eliminar aplicación"
"TOKENS_REVOKED": "Todas las claves asociadas han sido revocadas."
}

View File

@ -5,8 +5,8 @@
"TITLE": "Eliminación de la cuenta"
},
"CHANGES_TO_OUR_PRIVACY_POLICY": {
"TITLE": "Cambios en la Política de Privacidad",
"CONTENT": "Si decidimos cambiar nuestra política de privacidad, anunciaremos los cambios en esta página.\n\nEste documento está bajo licencia [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/). Adaptado de la política de privacidad original de [Discourse](https://github.com/discourse/discourse)."
"CONTENT": "Si decidimos cambiar nuestra política de privacidad, anunciaremos los cambios en esta página.\n\nEste documento está bajo licencia [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/). Adaptado de la política de privacidad original de [Discourse](https://github.com/discourse/discourse).",
"TITLE": "Cambios en la Política de Privacidad"
},
"DATA_COLLECTED": {
"CONTENT": "Recogemos la siguiente información:\n- Información de la cuenta (nombre de usuario, dirección de correo electrónico y contraseña). También información opcional de tu perfil como podría ser el nombre, apellido, fecha de nacimiento, localización, biografía y la imagen de perfil subida. \n- Ficheros [GPX](https://en.wikipedia.org/wiki/GPS_Exchange_Format). Estos ficheros contienen datos relacionados con tus actividades (coordenadas geográficas, fecha, distancia, duración, velocidades máxima y media, altitud, ritmo cardíaco...). Si non quieres exponer estos datos, bórralos antes de subirlos o bien añade los entrenamientos sin fichero GPX. \n- Datos de entrenamiento (deporte, título, fecha, duranción, distancia, ascenso, descenso, notas). \n- Información técnica (navegador y sistema operativo).",
@ -21,12 +21,12 @@
"TITLE": "¿De qué modo protegemos tu información?"
},
"INFORMATION_USAGE": {
"TITLE": "¿Para qué utilizamos tus datos?",
"CONTENT": "Toda la información que recogemos de ti podría usarse para proporcionar las funciones básicas de **FitTrackee**: \n- Los ficheros GPX se usan para crear los entrenamientos, mostrar rutas en el mapa (con [OpenStreetMap](https://www.openstreetmap.org) y el servidor de imágenes de mapa configurado) y gráficos, crear miniaturas de mapa, calcular records e obtener datos de meteorología (si se configura el servicio). \n- Los entrenamientos e información de perfil no se muestran públicamente. Un usuario registrado sólo puede ver sus propios entrenamientos. \n- La dirección de correo electrónico proporcionada podría utilizarse para enviarte información o para confirmar las modificaciones en tu cuenta."
"CONTENT": "Toda la información que recogemos de ti podría usarse para proporcionar las funciones básicas de **FitTrackee**: \n- Los ficheros GPX se usan para crear los entrenamientos, mostrar rutas en el mapa (con [OpenStreetMap](https://www.openstreetmap.org) y el servidor de imágenes de mapa configurado) y gráficos, crear miniaturas de mapa, calcular records e obtener datos de meteorología (si se configura el servicio). \n- Los entrenamientos e información de perfil no se muestran públicamente. Un usuario registrado sólo puede ver sus propios entrenamientos. \n- La dirección de correo electrónico proporcionada podría utilizarse para enviarte información o para confirmar las modificaciones en tu cuenta.",
"TITLE": "¿Para qué utilizamos tus datos?"
},
"SITE_USAGE_BY_CHILDREN": {
"TITLE": "Uso de esta web por menores",
"CONTENT": "Si este servidor está en la UE o el AEE: nuestra web y servicios están dirigidos a personas de al menos 16 años de edad. Si no tienes 16 años cumplidos, por requerimiento de la [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) (General Data Protection Regulation) no uses este sitio web.\n\nSi este servidor está en EEUU de América: nuestra web, productos y servicios están orientados a personas de al menos 13 años de edad. Si no tienes 13 cumplidos, por requerimiento de la [COPPA](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act) (Children's Online Privacy Protection Act) no uses esta web.\n\nLos requerimientos legales pueden ser diferentes si este servidor se encuentra en otros lugares."
"CONTENT": "Si este servidor está en la UE o el AEE: nuestra web y servicios están dirigidos a personas de al menos 16 años de edad. Si no tienes 16 años cumplidos, por requerimiento de la [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) (General Data Protection Regulation) no uses este sitio web.\n\nSi este servidor está en EEUU de América: nuestra web, productos y servicios están orientados a personas de al menos 13 años de edad. Si no tienes 13 cumplidos, por requerimiento de la [COPPA](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act) (Children's Online Privacy Protection Act) no uses esta web.\n\nLos requerimientos legales pueden ser diferentes si este servidor se encuentra en otros lugares.",
"TITLE": "Uso de esta web por menores"
},
"YOUR_CONSENT": {
"CONTENT": "Al utilizar nuestra web, aceptas la política de privacidad de nuestra web.",

View File

@ -5,73 +5,6 @@
"ALREADY_HAVE_ACCOUNT": "¿Ya tienes una cuenta?",
"CONFIRM_ACCOUNT_DELETION": "¿Seguro que quieres eliminar tu cuenta? Se borrarán todos los datos, la decisión no es reversible.",
"CURRENT_PASSWORD": "Contraseña actual",
"PROFILE": {
"SUCCESSFUL_REGISTRATION": "Se ha creado correctamente tu cuenta.",
"SUCCESSFUL_REGISTRATION_WITH_EMAIL": "Se ha enviado un enlace en un email a tu correo electrónico para activar la cuenta.",
"SUCCESSFUL_UPDATE": "Tu cuenta ha sido actualizada correctamente.",
"SUNDAY": "Domingo",
"TABS": {
"ACCOUNT": "cuenta",
"APPS": "aplicaciones",
"PICTURE": "fotografía",
"PREFERENCES": "preferencias",
"PRIVACY-POLICY": "política de privacidad",
"PROFILE": "perfil",
"SPORTS": "deportes"
},
"TIMEZONE": "Zona horaria",
"UNITS": {
"IMPERIAL": "Sistema Imperial (ft, mi, mph, ºF)",
"LABEL": "Unidades de distancia",
"METRIC": "Sistema Métrico (m, km, m/s, ºC)"
},
"ACCOUNT_EDITION": "Edición de la cuenta",
"ASCENT_DATA": "Datos de ascensión (récords, total)",
"BACK_TO_PROFILE": "Volver al perfil",
"BIO": "Biografía",
"BIRTH_DATE": "Fecha de nacimiento",
"DATE_FORMAT": "Formato de la fecha",
"EDIT": "Editar perfil",
"EDIT_PREFERENCES": "Editar preferencias",
"EDIT_SPORTS_PREFERENCES": "Editar preferencias de los deportes",
"ERRORED_EMAIL_UPDATE": "Por favor, {0} para cambiar su dirección de correo electrónico de nuevo o póngase en contacto con el administrador",
"FIRST_DAY_OF_WEEK": "Primer día de la semana",
"FIRST_NAME": "Nombre",
"LANGUAGE": "Idioma",
"LAST_NAME": "Apellido",
"LOCATION": "Localización",
"MONDAY": "Lunes",
"PICTURE": "Fotografía",
"PICTURE_EDITION": "Editar la foto",
"PICTURE_REMOVE": "Eliminar la foto",
"PICTURE_UPDATE": "Actualizar la foto",
"PREFERENCES_EDITION": "Editar preferencias",
"PRIVACY-POLICY_EDITION": "Política de privacidad",
"PROFILE_EDITION": "Editar perfil",
"REGISTRATION_DATE": "Fecha de registro",
"SPORT": {
"ACTION": "acción",
"COLOR": "color",
"DISABLED_BY_ADMIN": "desactivada por admin",
"IS_ACTIVE": "activa",
"LABEL": "etiqueta",
"STOPPED_SPEED_THRESHOLD": "límite para detectar detención"
},
"SPORTS_EDITION": "Editar preferencias de los deportes",
"SUCCESSFUL_EMAIL_UPDATE": "Se ha actualizado correctamente tu cuenta. Comprueba tu email para confirmar tu nueva dirección de correo electrónico."
},
"READ_AND_ACCEPT_PRIVACY_POLICY": "He leído y aceptado la {0}.",
"REGISTER": "Crear cuenta",
"REGISTER_DISABLED": "Lo sentimos, no se admiten nuevas cuentas.",
"RESENT_ACCOUNT_CONFIRMATION": "Reenviar email de confirmación de cuenta",
"RESET_PASSWORD": "Restablecer contraseña",
"REVIEW": "revisar",
"SHOW_PASSWORD": "mostrar contraseña",
"THIS_USER_ACCOUNT_IS_INACTIVE": "Esta cuenta de usuario no está activa.",
"USERNAME": "Nombre de usuario",
"USERNAME_INFO": "Se requieren entre 3 y 30 caracteres, sólo se permiten alfanuméricos y guión bajo \"_\".",
"USER_PICTURE": "foto del usuario",
"YOU_HAVE_ACCEPTED_PRIVACY_POLICY": "Has aceptado la {0}.",
"EMAIL": "Correo electrónico",
"EMAIL_INFO": "Escribe una dirección válida de correo.",
"ENTER_PASSWORD": "Escribe una contraseña",
@ -124,5 +57,72 @@
},
"WEAK": "débil"
},
"PASSWORD_UPDATED": "Se ha actualizado tu contraseña. Pulsa {0} para iniciar sesión."
"PASSWORD_UPDATED": "Se ha actualizado tu contraseña. Pulsa {0} para iniciar sesión.",
"PROFILE": {
"ACCOUNT_EDITION": "Edición de la cuenta",
"ASCENT_DATA": "Datos de ascensión (récords, total)",
"BACK_TO_PROFILE": "Volver al perfil",
"BIO": "Biografía",
"BIRTH_DATE": "Fecha de nacimiento",
"DATE_FORMAT": "Formato de la fecha",
"EDIT": "Editar perfil",
"EDIT_PREFERENCES": "Editar preferencias",
"EDIT_SPORTS_PREFERENCES": "Editar preferencias de los deportes",
"ERRORED_EMAIL_UPDATE": "Por favor, {0} para cambiar su dirección de correo electrónico de nuevo o póngase en contacto con el administrador",
"FIRST_DAY_OF_WEEK": "Primer día de la semana",
"FIRST_NAME": "Nombre",
"LANGUAGE": "Idioma",
"LAST_NAME": "Apellido",
"LOCATION": "Localización",
"MONDAY": "Lunes",
"PICTURE": "Fotografía",
"PICTURE_EDITION": "Editar la foto",
"PICTURE_REMOVE": "Eliminar la foto",
"PICTURE_UPDATE": "Actualizar la foto",
"PREFERENCES_EDITION": "Editar preferencias",
"PRIVACY-POLICY_EDITION": "Política de privacidad",
"PROFILE_EDITION": "Editar perfil",
"REGISTRATION_DATE": "Fecha de registro",
"SPORT": {
"ACTION": "acción",
"COLOR": "color",
"DISABLED_BY_ADMIN": "desactivada por admin",
"IS_ACTIVE": "activa",
"LABEL": "etiqueta",
"STOPPED_SPEED_THRESHOLD": "límite para detectar detención"
},
"SPORTS_EDITION": "Editar preferencias de los deportes",
"SUCCESSFUL_EMAIL_UPDATE": "Se ha actualizado correctamente tu cuenta. Comprueba tu email para confirmar tu nueva dirección de correo electrónico.",
"SUCCESSFUL_REGISTRATION": "Se ha creado correctamente tu cuenta.",
"SUCCESSFUL_REGISTRATION_WITH_EMAIL": "Se ha enviado un enlace en un email a tu correo electrónico para activar la cuenta.",
"SUCCESSFUL_UPDATE": "Tu cuenta ha sido actualizada correctamente.",
"SUNDAY": "Domingo",
"TABS": {
"ACCOUNT": "cuenta",
"APPS": "aplicaciones",
"PICTURE": "fotografía",
"PREFERENCES": "preferencias",
"PRIVACY-POLICY": "política de privacidad",
"PROFILE": "perfil",
"SPORTS": "deportes"
},
"TIMEZONE": "Zona horaria",
"UNITS": {
"IMPERIAL": "Sistema Imperial (ft, mi, mph, ºF)",
"LABEL": "Unidades de distancia",
"METRIC": "Sistema Métrico (m, km, m/s, ºC)"
}
},
"READ_AND_ACCEPT_PRIVACY_POLICY": "He leído y aceptado la {0}.",
"REGISTER": "Crear cuenta",
"REGISTER_DISABLED": "Lo sentimos, no se admiten nuevas cuentas.",
"RESENT_ACCOUNT_CONFIRMATION": "Reenviar email de confirmación de cuenta",
"RESET_PASSWORD": "Restablecer contraseña",
"REVIEW": "revisar",
"SHOW_PASSWORD": "mostrar contraseña",
"THIS_USER_ACCOUNT_IS_INACTIVE": "Esta cuenta de usuario no está activa.",
"USERNAME": "Nombre de usuario",
"USERNAME_INFO": "Se requieren entre 3 y 30 caracteres, sólo se permiten alfanuméricos y guión bajo \"_\".",
"USER_PICTURE": "foto del usuario",
"YOU_HAVE_ACCEPTED_PRIVACY_POLICY": "Has aceptado la {0}."
}

View File

@ -4,49 +4,14 @@
"ASCENT": "ascenso",
"AVERAGE_SPEED": "velocidad media",
"AVE_SPEED": "vel. media",
"DATE": "fecha",
"ELEVATION": "altitud",
"WEATHER": {
"DARK_SKY": {
"clear-night": "noche despejada",
"cloudy": "nublado",
"fog": "niebla",
"partly-cloudy-day": "día parcialmente nublado",
"partly-cloudy-night": "noche parcialmente nublada",
"rain": "lluvia",
"sleet": "granizo",
"snow": "nieve",
"wind": "viento",
"clear-day": "día despejado"
},
"HUMIDITY": "humedad",
"TEMPERATURE": "temperatura",
"WIND": "viento",
"WIND_DIRECTIONS": {
"E": "E",
"ENE": "ENE",
"ESE": "ESE",
"N": "N",
"NE": "NE",
"NNE": "NNE",
"NNW": "NNO",
"NW": "NO",
"S": "S",
"SE": "SE",
"SSE": "SSE",
"SSW": "SSO",
"SW": "SO",
"W": "O",
"WNW": "ONO",
"WSW": "OSO"
}
},
"BACK_TO_WORKOUT": "volver al entrenamiento",
"DATE": "fecha",
"DESCENT": "descenso",
"DISPLAY_FILTERS": "mostrar filtros",
"DISTANCE": "distancia",
"DURATION": "tiempo",
"EDIT_WORKOUT": "Editar el entranamiento",
"ELEVATION": "altitud",
"END": "fin",
"FROM": "desde",
"GPX_FILE": "fichero .gpx",
@ -90,16 +55,51 @@
"SPORT": "deporte | deportes",
"START": "inicio",
"START_AND_FINISH": "Inicio y final",
"START_ELEVATION_AT_ZERO": "poner la altitud de inicio en el cero del gráfico",
"TITLE": "título",
"TO": "para",
"TOTAL_DURATION": "duración total",
"UPLOAD_FIRST_WORKOUT": "Una subida!",
"WEATHER": {
"DARK_SKY": {
"clear-day": "día despejado",
"clear-night": "noche despejada",
"cloudy": "nublado",
"fog": "niebla",
"partly-cloudy-day": "día parcialmente nublado",
"partly-cloudy-night": "noche parcialmente nublada",
"rain": "lluvia",
"sleet": "granizo",
"snow": "nieve",
"wind": "viento"
},
"HUMIDITY": "humedad",
"TEMPERATURE": "temperatura",
"WIND": "viento",
"WIND_DIRECTIONS": {
"E": "E",
"ENE": "ENE",
"ESE": "ESE",
"N": "N",
"NE": "NE",
"NNE": "NNE",
"NNW": "NNO",
"NW": "NO",
"S": "S",
"SE": "SE",
"SSE": "SSE",
"SSW": "SSO",
"SW": "SO",
"W": "O",
"WNW": "ONO",
"WSW": "OSO"
}
},
"WITHOUT_GPX": "sin fichero .gpx",
"WITH_GPX": "con fichero .gpx",
"WORKOUT": "entrenamiento | entrenamientos",
"WORKOUT_DATE": "fecha del entrenamiento",
"WORKOUT_DELETION_CONFIRMATION": "¿Seguro que quieres eliminar este entrenamiento?",
"ZIP_ARCHIVE": "fichero .zip",
"ZIP_ARCHIVE_DESCRIPTION": "o fichero .zip que contiene ficheros .gpx",
"START_ELEVATION_AT_ZERO": "poner la altitud de inicio en el cero del gráfico"
"ZIP_ARCHIVE_DESCRIPTION": "o fichero .zip que contiene ficheros .gpx"
}

View File

@ -4,6 +4,7 @@
"TEXT": "Información detallada sobre a instancia"
},
"ACTION": "Acción",
"ACTIVATE_USER_ACCOUNT": "Activar conta",
"ACTIVE": "Activa",
"ADMIN": "Admin",
"ADMINISTRATION": "Administración",
@ -13,20 +14,23 @@
"ADMIN_CONTACT": "Email de contacto da administración",
"MAX_FILES_IN_ZIP_LABEL": "Num. máximo ficheiros arquivo zip",
"MAX_USERS_HELP": "Se 0, non hai límite de rexistros.",
"MAX_USERS_LABEL": "Número máx. de usuarias activas",
"NO_CONTACT_EMAIL": "sen correo de contacto",
"SINGLE_UPLOAD_MAX_SIZE_LABEL": "Tamaño Máx. dos ficheiros subidos (en MB)",
"TITLE": "Configuración da aplicación",
"ZIP_UPLOAD_MAX_SIZE_LABEL": "Tamaño Máx. do arquivo zip (en MB)",
"MAX_USERS_LABEL": "Número máx. de usuarias activas"
"ZIP_UPLOAD_MAX_SIZE_LABEL": "Tamaño Máx. do arquivo zip (en MB)"
},
"BACK_TO_ADMIN": "Volver a admin",
"CONFIRM_USER_ACCOUNT_DELETION": "Tes a certeza de querer eliminar a conta {0}? Borraranse todos os datos, non hai volta atrás.",
"CONFIRM_USER_PASSWORD_RESET": "Tes certeza de querer restablecer o contrasinal de {0}?",
"CURRENT_EMAIL": "Email actual",
"DELETE_USER": "Eliminar usuaria",
"EMAIL_SENDING_DISABLED": "O envío de correos está desactivado.",
"ENABLE_DISABLE_SPORTS": "Activar/desactivar deportes.",
"NEW_EMAIL": "Novo email",
"NO_TEXT_ENTERED": "Non escribiches texto",
"PASSWORD_RESET_SUCCESSFUL": "Restableceuse o contrasinal.",
"PRIVACY_POLICY_DESCRIPTION": "Engade a túa propia política de privacidade ou déixaa baleira para usar unha por defecto. Podes usar Markdown.",
"REGISTRATION_DISABLED": "Actualmente non se poden crear máis contas.",
"REGISTRATION_ENABLED": "Actualmente pódense crear novas contas.",
"RESET_USER_PASSWORD": "Restablecer contrasinal",
@ -57,9 +61,5 @@
"REMOVE_ADMIN_RIGHTS": "Retirar permisos admin"
}
},
"USER_EMAIL_UPDATE_SUCCESSFUL": "Actualizouse o enderezo de email.",
"ACTIVATE_USER_ACCOUNT": "Activar conta",
"CONFIRM_USER_ACCOUNT_DELETION": "Tes a certeza de querer eliminar a conta {0}? Borraranse todos os datos, non hai volta atrás.",
"ENABLE_DISABLE_SPORTS": "Activar/desactivar deportes.",
"PRIVACY_POLICY_DESCRIPTION": "Engade a túa propia política de privacidade ou déixaa baleira para usar unha por defecto. Podes usar Markdown."
"USER_EMAIL_UPDATE_SUCCESSFUL": "Actualizouse o enderezo de email."
}

View File

@ -1,6 +1,11 @@
{
"ACCOUNT-CONFIRMATION-RESEND": "Volver a enviar un correo de confirmación",
"AUTHORIZE": "Autorizar",
"BACK": "Volver",
"CANCEL": "Cancelar",
"CLEAR_FILTER": "Limpar filtros",
"DELETE_MY_ACCOUNT": "Eliminar a miña conta",
"DISABLE": "Desactivar",
"EDIT": "Editar",
"ENABLE": "Activar",
"FILTER": "Filtro",
@ -10,10 +15,5 @@
"REQUEST_DATA_EXPORT": "Solicitar exportación dos datos",
"RESET": "Restablecer",
"SUBMIT": "Enviar",
"ACCOUNT-CONFIRMATION-RESEND": "Volver a enviar un correo de confirmación",
"BACK": "Volver",
"AUTHORIZE": "Autorizar",
"CLEAR_FILTER": "Limpar filtros",
"DISABLE": "Desactivar",
"YES": "Si"
}

View File

@ -1,4 +1,4 @@
{
"THIS_MONTH": "Este mes",
"DASHBOARD": "Taboleiro"
"DASHBOARD": "Taboleiro",
"THIS_MONTH": "Este mes"
}

View File

@ -1,17 +1,5 @@
{
"CONTENT": {
"INFORMATION_USAGE": {
"CONTENT": "Toda a información que recollemos de ti pode ser usada para proporcionar o servizo básico de **FitTrackee**:\n- Os ficheiros GPX úsanse para crear adestramentos, mostrar rutas nun mapa (con OpenStreetMap](https://www.openstreetmap.org) e o servidor de teselas configurado) e gráficos, crear miniaturas do mapa, calcular records e obter datos meteorolóxicos (se está así establecido).\n- A información de perfil e adestramentos non se mostran publicamente. Unha usuaria rexistrada só pode ver os seus propios adestramentos.\n- O enderezo de correo electrónico que nos proporcionas podería ser usado para mandarche información ou confirmar as modificacións na conta.",
"TITLE": "Para que usamos a túa información?"
},
"SITE_USAGE_BY_CHILDREN": {
"CONTENT": "Se este servidor está na UE ou no EEA: a nosa web e servizos están dirixidos a persoas a partir dos 16 anos. Non uses esta web se non tes 16 anos, por requerimento da [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) (General Data Protection Regulation).\n\nSe este servidor está en EEUU de América: A nosa web, produtos e servizos están dirixidos a persoas a partir dos 13 anos. Se non tes 13 anos, por requerimento da [COPPA](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act) (Children's Online Privacy Protection Act), non uses esta web.\n\nOs requerimentos legais poderían ser diferentes se este servidor está baixo outra xurisdición.",
"TITLE": "Uso da web por menores"
},
"YOUR_CONSENT": {
"CONTENT": "Ao usar esta web, aceptas a política de privacidade desta web.",
"TITLE": "O teu consentimento"
},
"ACCOUNT_DELETION": {
"CONTENT": "Podes solicitar en todo momento a eliminación da túa conta indo a este enderezo (con sesión iniciada) e premendo no botón \"Eliminar a miña conta\" nos axustes da túa conta.",
"TITLE": "Eliminación da conta"
@ -31,6 +19,18 @@
"INFORMATION_PROTECTION": {
"CONTENT": "Tomamos varias medidas de seguridade para gardar a túa información persoal cando inicias sesión, envías ou accedes á túa información persoal.",
"TITLE": "Como protexemos a túa información?"
},
"INFORMATION_USAGE": {
"CONTENT": "Toda a información que recollemos de ti pode ser usada para proporcionar o servizo básico de **FitTrackee**:\n- Os ficheiros GPX úsanse para crear adestramentos, mostrar rutas nun mapa (con OpenStreetMap](https://www.openstreetmap.org) e o servidor de teselas configurado) e gráficos, crear miniaturas do mapa, calcular records e obter datos meteorolóxicos (se está así establecido).\n- A información de perfil e adestramentos non se mostran publicamente. Unha usuaria rexistrada só pode ver os seus propios adestramentos.\n- O enderezo de correo electrónico que nos proporcionas podería ser usado para mandarche información ou confirmar as modificacións na conta.",
"TITLE": "Para que usamos a túa información?"
},
"SITE_USAGE_BY_CHILDREN": {
"CONTENT": "Se este servidor está na UE ou no EEA: a nosa web e servizos están dirixidos a persoas a partir dos 16 anos. Non uses esta web se non tes 16 anos, por requerimento da [GDPR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) (General Data Protection Regulation).\n\nSe este servidor está en EEUU de América: A nosa web, produtos e servizos están dirixidos a persoas a partir dos 13 anos. Se non tes 13 anos, por requerimento da [COPPA](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act) (Children's Online Privacy Protection Act), non uses esta web.\n\nOs requerimentos legais poderían ser diferentes se este servidor está baixo outra xurisdición.",
"TITLE": "Uso da web por menores"
},
"YOUR_CONSENT": {
"CONTENT": "Ao usar esta web, aceptas a política de privacidade desta web.",
"TITLE": "O teu consentimento"
}
},
"LAST_UPDATE": "Última actualización",

View File

@ -5,6 +5,9 @@
"Cycling (Transport)": {
"LABEL": "Ciclismo (Transporte)"
},
"Cycling (Virtual)": {
"LABEL": "Ciclismo (Virtual)"
},
"Hiking": {
"LABEL": "Sendeirismo"
},
@ -26,6 +29,9 @@
"Skiing (Alpine)": {
"LABEL": "Esquí (Alpino)"
},
"Skiing (Cross Country)": {
"LABEL": "Esquí (de travesía)"
},
"Snowshoes": {
"LABEL": "Raquetas de neve"
},
@ -34,11 +40,5 @@
},
"Walking": {
"LABEL": "Camiñar"
},
"Cycling (Virtual)": {
"LABEL": "Ciclismo (Virtual)"
},
"Skiing (Cross Country)": {
"LABEL": "Esquí (de travesía)"
}
}

View File

@ -1,6 +1,31 @@
{
"ACCOUNT_CONFIRMATION_NOT_RECEIVED": "Non recibiches instrucións?",
"ACCOUNT_CONFIRMATION_SENT": "Comproba o correo. Enviouse un correo de confirmación ao enderezo proporcionado.",
"ADMIN": "Admin",
"ALREADY_HAVE_ACCOUNT": "Xa tes unha conta?",
"CONFIRM_ACCOUNT_DELETION": "Tes a certeza de querer eliminar a conta? Todos os datos serán borrados, e non poderás restablecelos.",
"CURRENT_PASSWORD": "Contrasinal actual",
"EMAIL": "Email",
"EMAIL_INFO": "Escribe un enderezo válido.",
"ENTER_PASSWORD": "Escribe un contrasinal",
"EXPORT_REQUEST": {
"DATA_EXPORT": "Exportar datos",
"DOWNLOAD_ARCHIVE": "Descargar arquivo",
"GENERATING_LINK": "creando ligazón...",
"ONLY_ONE_EXPORT_PER_DAY": "Podes solicitar un arquivo cada 24 horas",
"STATUS": {
"errored": "fallou (solicita outra exportación)",
"in_progress": "en progreso..."
}
},
"FILTER_ON_USERNAME": "Filtrar por identificador",
"HIDE_PASSWORD": "agochar contrasinal",
"INVALID_TOKEN": "Token non válido, solicita un novo restablecemento de contrasinal.",
"I_WANT_TO_DELETE_MY_ACCOUNT": "Quero eliminar a miña conta",
"LANGUAGE": "Idioma",
"LAST_PRIVACY_POLICY_TO_VALIDATE": "Actualizouse a política de privacidade, podes {0} antes de continuar.",
"LOGIN": "Acceso",
"LOGOUT": "Pechar sesión",
"LOG_IN": "acceder",
"NEW_PASSWORD": "Novo contrasinal",
"NO_USERS_FOUND": "Non hai usuarias.",
@ -15,7 +40,6 @@
"LABEL": "forza do contrasinal",
"STRONG": "forte",
"SUGGESTIONS": {
"recentYears": "Evita anos recentes.",
"allUppercase": "Inclúe algunha letra maiúscula, non todas.",
"anotherWord": "Engade máis palabras pouco comúns.",
"associatedYears": "Evita os anos que teñan relación contigo.",
@ -25,6 +49,7 @@
"longerKeyboardPattern": "Usa patróns longos no teclado e cambia de dirección de escritura varias veces.",
"noNeed": "Podes crear contrasinais fortes sen usar símbolos, números ou letras maiúsculas.",
"pwned": "Se usas este contrasinal noutros lugares entón deberías cambialo.",
"recentYears": "Evita anos recentes.",
"repeated": "Evita palabras e caracteres repetidos.",
"reverseWords": "Evita palabras comúns escritas ao revés.",
"sequences": "Evita secuencias comúns de caracteres.",
@ -32,9 +57,8 @@
},
"WEAK": "feble"
},
"PASSWORD_UPDATED": "Actualizouse o teu contrasinal. Preme en {0} para acceder.",
"PROFILE": {
"EDIT_SPORTS_PREFERENCES": "Editar preferencias dos deportes",
"FIRST_DAY_OF_WEEK": "Primeiro día da semana",
"ACCOUNT_EDITION": "Edición da conta",
"ASCENT_DATA": "Datos de ascensión (gravacións, total)",
"BACK_TO_PROFILE": "Volver ao perfil",
@ -43,7 +67,9 @@
"DATE_FORMAT": "Formato para as datas",
"EDIT": "Editar perfil",
"EDIT_PREFERENCES": "Editar preferencias",
"EDIT_SPORTS_PREFERENCES": "Editar preferencias dos deportes",
"ERRORED_EMAIL_UPDATE": "{0} para cambiar o enderezo de correo electrónico ou contacta coa administración",
"FIRST_DAY_OF_WEEK": "Primeiro día da semana",
"FIRST_NAME": "Nome",
"LANGUAGE": "Idioma",
"LAST_NAME": "Apelido",
@ -87,6 +113,10 @@
"METRIC": "Sistema Métrico (m, km, m/s, ºC)"
}
},
"READ_AND_ACCEPT_PRIVACY_POLICY": "Lin e acepto a {0}.",
"REGISTER": "Crear conta",
"REGISTER_DISABLED": "Lamentámolo, pero non se permiten novas contas.",
"RESENT_ACCOUNT_CONFIRMATION": "Reenviar o correo de confirmación de conta",
"RESET_PASSWORD": "Restablece o contrasinal",
"REVIEW": "revisar",
"SHOW_PASSWORD": "mostrar contrasinal",
@ -94,35 +124,5 @@
"USERNAME": "Identificador",
"USERNAME_INFO": "Require entre 3 e 30 caracteres, só se permiten alfanuméricos e o trazo baixo \"_\".",
"USER_PICTURE": "foto da usuaria",
"YOU_HAVE_ACCEPTED_PRIVACY_POLICY": "Aceptaches a {0}.",
"ACCOUNT_CONFIRMATION_SENT": "Comproba o correo. Enviouse un correo de confirmación ao enderezo proporcionado.",
"ALREADY_HAVE_ACCOUNT": "Xa tes unha conta?",
"CONFIRM_ACCOUNT_DELETION": "Tes a certeza de querer eliminar a conta? Todos os datos serán borrados, e non poderás restablecelos.",
"CURRENT_PASSWORD": "Contrasinal actual",
"EMAIL": "Email",
"ENTER_PASSWORD": "Escribe un contrasinal",
"EXPORT_REQUEST": {
"DATA_EXPORT": "Exportar datos",
"DOWNLOAD_ARCHIVE": "Descargar arquivo",
"GENERATING_LINK": "creando ligazón...",
"ONLY_ONE_EXPORT_PER_DAY": "Podes solicitar un arquivo cada 24 horas",
"STATUS": {
"errored": "fallou (solicita outra exportación)",
"in_progress": "en progreso..."
}
},
"FILTER_ON_USERNAME": "Filtrar por identificador",
"HIDE_PASSWORD": "agochar contrasinal",
"INVALID_TOKEN": "Token non válido, solicita un novo restablecemento de contrasinal.",
"I_WANT_TO_DELETE_MY_ACCOUNT": "Quero eliminar a miña conta",
"EMAIL_INFO": "Escribe un enderezo válido.",
"LANGUAGE": "Idioma",
"LAST_PRIVACY_POLICY_TO_VALIDATE": "Actualizouse a política de privacidade, podes {0} antes de continuar.",
"LOGIN": "Acceso",
"LOGOUT": "Pechar sesión",
"PASSWORD_UPDATED": "Actualizouse o teu contrasinal. Preme en {0} para acceder.",
"READ_AND_ACCEPT_PRIVACY_POLICY": "Lin e acepto a {0}.",
"REGISTER": "Crear conta",
"REGISTER_DISABLED": "Lamentámolo, pero non se permiten novas contas.",
"RESENT_ACCOUNT_CONFIRMATION": "Reenviar o correo de confirmación de conta"
"YOU_HAVE_ACCEPTED_PRIVACY_POLICY": "Aceptaches a {0}."
}

View File

@ -1,48 +1,6 @@
{
"ADD_WORKOUT": "Engadir adestramento",
"ANALYSIS": "análise",
"LOAD_MORE_WORKOUT": "Cargar máis adestramentos",
"MAX_ALTITUDE": "Altitude máx.",
"MAX_FILES": "máx. de ficheiros",
"MAX_SIZE": "Tamaño máx.",
"MAX_SPEED": "Vel. máxima",
"MIN_ALTITUDE": "Altitude min.",
"NOTES": "notas",
"WEATHER": {
"DARK_SKY": {
"fog": "néboa",
"partly-cloudy-day": "día algo nubrado",
"clear-day": "día despexado",
"clear-night": "noite despexada",
"cloudy": "nubrado",
"partly-cloudy-night": "noite algo nubrada",
"rain": "chuvia",
"sleet": "sarabia",
"snow": "neve",
"wind": "vento"
},
"HUMIDITY": "humidade",
"TEMPERATURE": "temperatura",
"WIND": "vento",
"WIND_DIRECTIONS": {
"E": "L",
"ENE": "XAN",
"ESE": "LSL",
"N": "N",
"NE": "NL",
"NNE": "NNL",
"NNW": "NNO",
"NW": "NO",
"S": "S",
"SE": "SL",
"SSE": "SSL",
"SSW": "SSO",
"SW": "SO",
"W": "O",
"WNW": "ONO",
"WSW": "OSO"
}
},
"ASCENT": "ascenso",
"AVERAGE_SPEED": "velocidade media",
"AVE_SPEED": "vel. media",
@ -62,8 +20,15 @@
"INVALID_DISTANCE": "A distancia debe ser superior a 0",
"INVALID_DURATION": "A duración debe superar os 0 segundos",
"LATEST_WORKOUTS": "Últimos adestramentos",
"LOAD_MORE_WORKOUT": "Cargar máis adestramentos",
"MAX_ALTITUDE": "Altitude máx.",
"MAX_FILES": "máx. de ficheiros",
"MAX_SIZE": "Tamaño máx.",
"MAX_SPEED": "Vel. máxima",
"MIN_ALTITUDE": "Altitude min.",
"NEXT_SEGMENT": "Non hai tramo seguinte",
"NEXT_WORKOUT": "Seguinte adestramento",
"NOTES": "notas",
"NO_DATA_CLEANING": "datos do gpx, sen adecentar",
"NO_FILE_PROVIDED": "Non hai ficheiro",
"NO_FOLDER": "sen cartafoles dentro",
@ -95,6 +60,41 @@
"TO": "a",
"TOTAL_DURATION": "duración total",
"UPLOAD_FIRST_WORKOUT": "Subiches un!",
"WEATHER": {
"DARK_SKY": {
"clear-day": "día despexado",
"clear-night": "noite despexada",
"cloudy": "nubrado",
"fog": "néboa",
"partly-cloudy-day": "día algo nubrado",
"partly-cloudy-night": "noite algo nubrada",
"rain": "chuvia",
"sleet": "sarabia",
"snow": "neve",
"wind": "vento"
},
"HUMIDITY": "humidade",
"TEMPERATURE": "temperatura",
"WIND": "vento",
"WIND_DIRECTIONS": {
"E": "L",
"ENE": "XAN",
"ESE": "LSL",
"N": "N",
"NE": "NL",
"NNE": "NNL",
"NNW": "NNO",
"NW": "NO",
"S": "S",
"SE": "SL",
"SSE": "SSL",
"SSW": "SSO",
"SW": "SO",
"W": "O",
"WNW": "ONO",
"WSW": "OSO"
}
},
"WITHOUT_GPX": "sen ficheiro .gpx",
"WITH_GPX": "con ficheiro .gpx",
"WORKOUT": "adestramento | adestramentos",

View File

@ -16,6 +16,7 @@
"FROM": "da",
"GPX_FILE": "file .gpx",
"HIDE_FILTERS": "nascondi filtri",
"INVALID_ASCENT_OR_DESCENT": "Entrambi i valori di elevazione devono essere forniti ed essere maggiori o uguali a 0.",
"INVALID_DISTANCE": "La distanza dev'essere maggiore di 0",
"INVALID_DURATION": "La durata dev'essere maggiore di 0",
"LATEST_WORKOUTS": "Ultimi workout",
@ -100,6 +101,5 @@
"WORKOUT_DATE": "data workout",
"WORKOUT_DELETION_CONFIRMATION": "Sei sicuro di voler eliminare questo workout?",
"ZIP_ARCHIVE": "file .zip",
"ZIP_ARCHIVE_DESCRIPTION": "o file .zip contenente files .gpx",
"INVALID_ASCENT_OR_DESCENT": "Entrambi i valori di elevazione devono essere forniti ed essere maggiori o uguali a 0."
"ZIP_ARCHIVE_DESCRIPTION": "o file .zip contenente files .gpx"
}

View File

@ -1,6 +1,6 @@
{
"ABOUT_THIS_INSTANCE": "Om denne instansen",
"CONTACT_ADMIN": "Kontakt administratoren",
"SOURCE_CODE": "Kildekode",
"ABOUT_THIS_INSTANCE": "Om denne instansen",
"WEATHER_DATA_FROM": "Værdata fra:"
}

View File

@ -1,31 +1,31 @@
{
"USERS": {
"SELECTS": {
"ORDER_BY": {
"CREATED_AT": "registreringsdato",
"ADMIN": "administratorstatus",
"IS_ACTIVE": "kontostatus"
}
}
"ABOUT": {
"TEXT": "Detaljert info om instansen"
},
"ACTION": "Handling",
"ACTIVE": "Aktiv",
"ADMINISTRATION": "Administrasjon",
"APPLICATION": "Program",
"CONFIRM_USER_PASSWORD_RESET": "Vil du tilbakestille {0} passord?",
"CURRENT_EMAIL": "Nåværende e-postadresse",
"DELETE_USER": "Slett bruker",
"NO_TEXT_ENTERED": "Ingen tekst innskrevet",
"PASSWORD_RESET_SUCCESSFUL": "Passordet har blitt tilbakestilt.",
"RESET_USER_PASSWORD": "Tilbakestill passord",
"SPORTS": {
"TABLE": {
"IMAGE": "Bilde",
"LABEL": "Etikett"
}
},
"ADMINISTRATION": "Administrasjon",
"ABOUT": {
"TEXT": "Detaljert info om instansen"
},
"ACTIVE": "Aktiv",
"RESET_USER_PASSWORD": "Tilbakestill passord",
"ACTION": "Handling",
"APPLICATION": "Program",
"CONFIRM_USER_PASSWORD_RESET": "Vil du tilbakestille {0} passord?",
"CURRENT_EMAIL": "Nåværende e-postadresse",
"DELETE_USER": "Slett bruker",
"PASSWORD_RESET_SUCCESSFUL": "Passordet har blitt tilbakestilt.",
"NO_TEXT_ENTERED": "Ingen tekst innskrevet",
"USER": "bruker | brukere"
"USER": "bruker | brukere",
"USERS": {
"SELECTS": {
"ORDER_BY": {
"ADMIN": "administratorstatus",
"CREATED_AT": "registreringsdato",
"IS_ACTIVE": "kontostatus"
}
}
}
}

View File

@ -1,8 +1,8 @@
{
"ERROR": {
"Network Error": "Nettverksfeil.",
"file extension not allowed": "Filendelsen tillates ikke.",
"error when saving workout": "Kunne ikke lagre arbeidsøkt.",
"file extension not allowed": "Filendelsen tillates ikke.",
"no file part": "Ingen fil angitt.",
"no selected file": "Ingen valgt fil.",
"sport does not exist": "Sporten finnes ikke.",

View File

@ -1,9 +1,4 @@
{
"SELECTS": {
"ORDER_BY": {
"LABEL": "sorter etter"
}
},
"ABOUT": "om",
"CONFIRMATION": "Bekreftelse",
"CONTACT": "kontakt",
@ -12,5 +7,10 @@
"DOCUMENTATION": "dokumentasjon",
"HERE": "her",
"HIDDEN": "Skjult",
"HOME": "Hjem"
"HOME": "Hjem",
"SELECTS": {
"ORDER_BY": {
"LABEL": "sorter etter"
}
}
}

View File

@ -1,6 +1,6 @@
{
"NOT_FOUND": {
"WORKOUT": "Fant ikke arbeidsøkten",
"PAGE": "Fant ikke siden"
"PAGE": "Fant ikke siden",
"WORKOUT": "Fant ikke arbeidsøkten"
}
}

View File

@ -1,10 +1,10 @@
{
"APP": {
"URL": "Programnettadresse",
"CLIENT_ID": "ID",
"CLIENT_SECRET": "Hemmelinghet",
"DESCRIPTION": "Programbeskrivelse",
"NAME": "Programnavn"
"NAME": "Programnavn",
"URL": "Programnettadresse"
},
"COPY_TO_CLIPBOARD": "kopier til utklippstavlen",
"NO_APPS": "ingen programmer",

View File

@ -1,16 +1,4 @@
{
"Rowing": {
"LABEL": "Roing"
},
"Running": {
"LABEL": "Løping"
},
"Snowshoes": {
"LABEL": "Truger"
},
"Mountain Biking (Electric)": {
"LABEL": "Fjellsykling (elektrisk)"
},
"Cycling (Sport)": {
"LABEL": "Sykling (sport)"
},
@ -22,5 +10,17 @@
},
"Mountain Biking": {
"LABEL": "Fjellsykling"
},
"Mountain Biking (Electric)": {
"LABEL": "Fjellsykling (elektrisk)"
},
"Rowing": {
"LABEL": "Roing"
},
"Running": {
"LABEL": "Løping"
},
"Snowshoes": {
"LABEL": "Truger"
}
}

View File

@ -1,7 +1,7 @@
{
"STATISTICS": "Statistikk",
"TIME_FRAMES": {
"week": "uke",
"month": "måned"
},
"STATISTICS": "Statistikk"
"month": "måned",
"week": "uke"
}
}

View File

@ -1,43 +1,4 @@
{
"EXPORT_REQUEST": {
"STATUS": {
"in_progress": "underveis …"
},
"GENERATING_LINK": "genererer lenke …",
"DATA_EXPORT": "Dataeksport",
"DOWNLOAD_ARCHIVE": "Last ned arkiv"
},
"I_WANT_TO_DELETE_MY_ACCOUNT": "Jeg vil slette kontoen min",
"LOG_IN": "logg inn",
"PASSWORD_FORGOTTEN": "Glemt passordet?",
"PASSWORD_STRENGTH": {
"AVERAGE": "gjen.",
"GOOD": "bra",
"LABEL": "passordstyrke",
"WEAK": "svakt",
"STRONG": "sterkt"
},
"PROFILE": {
"FIRST_NAME": "Fornavn",
"PICTURE_REMOVE": "Fjern bilde",
"PICTURE_UPDATE": "Oppdater bilde",
"TABS": {
"PROFILE": "profil"
},
"ACCOUNT_EDITION": "Kontoredigering",
"BACK_TO_PROFILE": "Tilbake til profil",
"BIRTH_DATE": "Fødselsdag",
"EDIT": "Rediger profil",
"EDIT_PREFERENCES": "Rediger innstillinger",
"LANGUAGE": "Språk",
"LAST_NAME": "Etternavn",
"MONDAY": "Mandag",
"PICTURE": "Bilde",
"TIMEZONE": "Tidssone"
},
"USER_PICTURE": "brukerbilde",
"LOGIN": "Logg inn",
"USERNAME": "Brukernavn",
"ACCOUNT_CONFIRMATION_NOT_RECEIVED": "Mottok du ikke noen instruks?",
"ADMIN": "Administrator",
"ALREADY_HAVE_ACCOUNT": "Har du allerede en konto?",
@ -45,14 +6,53 @@
"EMAIL": "E-post",
"EMAIL_INFO": "Skriv inn en gyldig e-postadresse.",
"ENTER_PASSWORD": "Skriv inn et passord",
"EXPORT_REQUEST": {
"DATA_EXPORT": "Dataeksport",
"DOWNLOAD_ARCHIVE": "Last ned arkiv",
"GENERATING_LINK": "genererer lenke …",
"STATUS": {
"in_progress": "underveis …"
}
},
"FILTER_ON_USERNAME": "Filtrer på brukernavn",
"HIDE_PASSWORD": "skjul passord",
"I_WANT_TO_DELETE_MY_ACCOUNT": "Jeg vil slette kontoen min",
"LANGUAGE": "Språk",
"LOGIN": "Logg inn",
"LOG_IN": "logg inn",
"NEW_PASSWORD": "Nytt passord",
"NO_USERS_FOUND": "Fant ingen brukere.",
"PASSWORD": "Passord",
"PASSWORD_FORGOTTEN": "Glemt passordet?",
"PASSWORD_STRENGTH": {
"AVERAGE": "gjen.",
"GOOD": "bra",
"LABEL": "passordstyrke",
"STRONG": "sterkt",
"WEAK": "svakt"
},
"PROFILE": {
"ACCOUNT_EDITION": "Kontoredigering",
"BACK_TO_PROFILE": "Tilbake til profil",
"BIRTH_DATE": "Fødselsdag",
"EDIT": "Rediger profil",
"EDIT_PREFERENCES": "Rediger innstillinger",
"FIRST_NAME": "Fornavn",
"LANGUAGE": "Språk",
"LAST_NAME": "Etternavn",
"MONDAY": "Mandag",
"PICTURE": "Bilde",
"PICTURE_REMOVE": "Fjern bilde",
"PICTURE_UPDATE": "Oppdater bilde",
"TABS": {
"PROFILE": "profil"
},
"TIMEZONE": "Tidssone"
},
"RESET_PASSWORD": "Tilbakestill passordet ditt",
"SHOW_PASSWORD": "vis passord",
"THIS_USER_ACCOUNT_IS_INACTIVE": "Denne brukerkontoen er inaktiv.",
"USERNAME": "Brukernavn",
"USER_PICTURE": "brukerbilde",
"YOU_HAVE_ACCEPTED_PRIVACY_POLICY": "Du har samtykket til {0}."
}

View File

@ -1,7 +1,29 @@
{
"ADD_WORKOUT": "Legg til en arbeidsøkt",
"ANALYSIS": "analyse",
"BACK_TO_WORKOUT": "tilbake til arbeidsøkt",
"DATE": "dato",
"DISTANCE": "avstand",
"EDIT_WORKOUT": "Rediger arbeidsøkten",
"FROM": "fra",
"INVALID_DISTANCE": "Avstanden må være større enn 0",
"MAX_SIZE": "maks. størrelse",
"MAX_SPEED": "maks. hastighet",
"NEXT_WORKOUT": "Neste arbeidsøkt",
"NOTES": "notater",
"NO_FILE_PROVIDED": "Ingen fil angitt",
"NO_WORKOUTS": "Ingen arbeidsøkter.",
"PREVIOUS_SEGMENT": "Forrige segment",
"RECORD_LD": "Lengste varighet",
"RECORD_MS": "Maks. hastighet",
"REMAINING_CHARS": "gjenstående tegn",
"SEGMENT": "segment | segmenter",
"SPEED": "hastighet",
"SPORT": "sport | sporter",
"START": "start",
"START_AND_FINISH": "Start og slutt",
"TO": "til",
"TOTAL_DURATION": "total varighet",
"WEATHER": {
"DARK_SKY": {
"clear-day": "tøm dag",
@ -9,30 +31,8 @@
"snow": "snø",
"wind": "vind"
},
"WIND": "vind",
"TEMPERATURE": "temperatur"
"TEMPERATURE": "temperatur",
"WIND": "vind"
},
"TO": "til",
"MAX_SIZE": "maks. størrelse",
"MAX_SPEED": "maks. hastighet",
"NEXT_WORKOUT": "Neste arbeidsøkt",
"RECORD_LD": "Lengste varighet",
"RECORD_MS": "Maks. hastighet",
"REMAINING_CHARS": "gjenstående tegn",
"SPEED": "hastighet",
"SPORT": "sport | sporter",
"START": "start",
"START_AND_FINISH": "Start og slutt",
"TOTAL_DURATION": "total varighet",
"ZIP_ARCHIVE": ".zip-fil",
"INVALID_DISTANCE": "Avstanden må være større enn 0",
"PREVIOUS_SEGMENT": "Forrige segment",
"SEGMENT": "segment | segmenter",
"ADD_WORKOUT": "Legg til en arbeidsøkt",
"ANALYSIS": "analyse",
"BACK_TO_WORKOUT": "tilbake til arbeidsøkt",
"DATE": "dato",
"DISTANCE": "avstand",
"EDIT_WORKOUT": "Rediger arbeidsøkten",
"FROM": "fra"
"ZIP_ARCHIVE": ".zip-fil"
}

View File

@ -96,11 +96,11 @@ const availableDateFormats = [
export const dateStringFormats: Record<string, string> = {
de: 'do MMM yyyy',
en: 'MMM. do, yyyy',
// es: 'd MMM yyyy',
es: 'd MMM yyyy',
fr: 'd MMM yyyy',
// gl: 'd MMM yyyy',
gl: 'd MMM yyyy',
it: 'd MMM yyyy',
// nb: 'do MMM yyyy',
nb: 'do MMM yyyy',
nl: 'd MMM yyyy',
}

View File

@ -1,28 +1,28 @@
/* eslint-disable import/no-duplicates */
import { Locale } from 'date-fns'
import { de, enUS, fr, it, nl } from 'date-fns/locale'
import { de, enUS, es, fr, gl, it, nb, nl } from 'date-fns/locale'
import createI18n from '@/i18n'
export const localeFromLanguage: Record<string, Locale> = {
de: de,
en: enUS,
// es: es, // disabled for now
es: es,
fr: fr,
// gl: gl, // disabled for now
gl: gl,
it: it,
// nb: nb, // disabled for now
nb: nb,
nl: nl,
}
export const languageLabels: Record<string, string> = {
de: 'Deutsch',
en: 'English',
// es: 'Español', // disabled for now
es: 'Español',
fr: 'Français',
// gl: 'Galego', // disabled for now
gl: 'Galego',
it: 'Italiano',
// nb: 'Norsk bokmål', // disabled for now
nb: 'Norsk bokmål',
nl: 'Nederlands',
}

View File

@ -19,10 +19,10 @@ export const loadLanguagePackage = async (language: string) => {
return await import(
/* webpackChunkName: "password.it" */ '@zxcvbn-ts/language-it'
)
// case 'es':
// return await import(
// /* webpackChunkName: "password.es" */ '@zxcvbn-ts/language-es-es'
// )
case 'es':
return await import(
/* webpackChunkName: "password.es" */ '@zxcvbn-ts/language-es-es'
)
default:
return await import(
/* webpackChunkName: "password.en" */ '@zxcvbn-ts/language-en'