Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions firebase.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,18 @@
"source": "/en{,/**}",
"destination": "/en/index.html"
},
{
"source": "/es{,/**}",
"destination": "/es/index.html"
},
{
"source": "/fr{,/**}",
"destination": "/fr/index.html"
},
{
"source": "/pt{,/**}",
"destination": "/pt/index.html"
},
{
"source": "/vi{,/**}",
"destination": "/vi/index.html"
Expand Down
18 changes: 18 additions & 0 deletions web/angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,15 @@
"i18n": {
"sourceLocale": "en",
"locales": {
"es": {
"translation": "src/locale/messages.es.json"
},
"fr": {
"translation": "src/locale/messages.fr.json"
},
"pt": {
"translation": "src/locale/messages.pt.json"
},
"vi": {
"translation": "src/locale/messages.vi.json"
}
Expand Down Expand Up @@ -102,9 +108,15 @@
"en": {
"localize": ["en"]
},
"es": {
"localize": ["es"]
},
"fr": {
"localize": ["fr"]
},
"pt": {
"localize": ["pt"]
},
"vi": {
"localize": ["vi"]
}
Expand All @@ -125,9 +137,15 @@
"prod": {
"buildTarget": "web:build:prod,en"
},
"es": {
"buildTarget": "web:build:dev,es"
},
"fr": {
"buildTarget": "web:build:dev,fr"
},
"pt": {
"buildTarget": "web:build:dev,pt"
},
"vi": {
"buildTarget": "web:build:dev,vi"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export const dialogConfigs: Record<DialogType, DialogConfig> = {
},
[DialogType.SurveyCreationDenied]: {
title: $localize`:@@app.dialogs.surveyCreationDenied.title:Registration required`,
content: $localize`:@@app.dialogs.surveyCreationDenied.content:You must register for an account to create a new survey. Click "Continue" to be redirected to the registration form.`,
content: $localize`:@@app.dialogs.surveyCreationDenied.content:You do not have permission to create surveys. Click "Continue" to request access.`,
backButtonLabel: $localize`:@@app.labels.goBack:Go back`,
continueButtonLabel: $localize`:@@app.labels.continue:Continue`,
},
Expand Down
154 changes: 154 additions & 0 deletions web/src/locale/messages.es.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
{
"locale": "es",
"translations": {
"app.labels.copyLink": "Copiar link",
"app.labels.copyQrCode": "Copiar código QR",
"app.texts.generalAccess.restricted": "Solo las personas con acceso pueden abrir con el enlace",
"app.labels.restricted": "Restringido",
"app.texts.generalAccess.unlisted": "Con el código QR o enlace de la encuesta cualquier persona puede recolectar datos para esta encuesta",
"app.labels.unlisted": "No listado",
"app.texts.generalAccess.public": "Todos pueden recopilar datos para esta encuesta",
"app.labels.signOut": " Cerrar sesión ",
"app.labels.manageSurvey": "Administrar encuestas",
"app.labels.cancel": " Cancelar ",
"app.labels.publishChanges": "Publicar cambios",
"app.labels.termsOfService": "Términos de servicio",
"app.labels.about": "Acerca de",
"app.dialogs.importSites.importingSites": "Importando sitios...",
"app.dialogs.importSites.title": "Importar sitios de recolección de datos (.geojson)",
"app.labels.upload": " Subir ",
"app.labels.downloadCsv": "Descargar los datos de este trabajo (CSV)",
"app.labels.downloadGeojson": "Descargar ubicaciones de sitio (GeoJSON)",
"app.cards.freeForm.title": " Recolección de datos libre ",
"app.cards.freeForm.description": " Permitir a los recolectores de datos añadir y recolectar datos sobre nuevas ubicaciones. ",
"app.cards.predefinedSampleSites.title": " Sitios predefinidos ",
"app.cards.predefinedSampleSites.description": " Importe áreas o puntos de interés para los que se deben recolectar datos. ",
"app.labels.import": "Importar",
"app.labels.deleteAll": "Eliminar todo",
"app.labels.roles.owner": "Propietario",
"app.labels.remove": "Eliminar",
"app.cards.share.title": "Usuarios con acceso",
"app.labels.addParticipants": "Añadir participantes",
"app.cards.generalAccess.title": "Acceso general",
"app.cards.dataVisibility.title": "Visibilidad de datos",
"app.cards.dataVisibility.description": "Permitir a los recolectores de datos ver los datos de los demás usuarios",
"app.login.signIn": " Inicie sesión para continuar ",
"app.labels.surveys": "Encuestas",
"app.labels.createSurvey": " Crear encuesta ",
"app.labels.createSurveyDescription": " Definir los trabajos y sitios para los recopiladores de datos ",
"app.labels.all": "Todos",
"app.labels.public": "Público",
"app.labels.required": "Obligatorio",
"app.labels.duplicate": "Duplicar",
"app.labels.delete": "Borrar",
"app.taskEditor.question.label": "Responder a una pregunta",
"app.taskEditor.question.placeholder": "Pregunta",
"app.taskEditor.question.requiredMessage": "Pregunta obligatoria",
"app.taskEditor.takeAPhoto.label": "Tome una foto",
"app.taskEditor.takeAPhoto.placeholder": "Instrucciones",
"app.taskEditor.takeAPhoto.requiredMessage": "Las instrucciones son obligatorias",
"app.taskEditor.pinDrop.label": "Colocar un marcador",
"app.taskEditor.pinDrop.placeholder": "Instrucciones",
"app.taskEditor.pinDrop.requiredMessage": "Las instrucciones son obligatorias",
"app.taskEditor.drawArea.label": "Dibuje o camine el perímetro",
"app.taskEditor.drawArea.placeholder": "Instrucciones",
"app.taskEditor.drawArea.requiredMessage": "Las instrucciones son obligatorias",
"app.taskEditor.captureLocation.label": "Capturar la ubicación",
"app.taskEditor.captureLocation.placeholder": "Instrucciones",
"app.taskEditor.captureLocation.requiredMessage": "Las instrucciones son obligatorias",
"app.taskEditor.instructions.label": "Instrucciones",
"app.taskEditor.instructions.placeholder": "Instrucciones",
"app.taskEditor.instructions.requiredMessage": "Las instrucciones son obligatorias",
"app.texts.whenAdding": " Al añadir un nuevo sitio de recolección de datos... ",
"app.labels.addATask": "Añadir una tarea",
"app.cards.dataSharingTerms.private.description": "Los recolectores de datos deben aceptar compartir datos con los organizadores de la encuesta",
"app.cards.dataSharingTerms.public.description": "Los recolectores de datos renuncian a todos los derechos a los datos recolectados como parte de esta encuesta bajo <a href=\"https://creativecommons.org/public-domain/cc0/\" target=\"_blank\">la licencia C0</a>. Los organizadores de encuestas pueden compartir datos libremente.",
"app.cards.dataSharingTerms.custom.description": "Defina los términos personalizados que los recolectores de datos deben aceptar",
"app.texts.about.section1": "Ground es un proyecto comunitario de código abierto construido por la FAO y Google bajo el Forest Data Partnership con colaboración de SIG, Ecam, y de la comunidad de código abierto.",
"app.texts.about.section2": "¿Qué datos deben ser recolectados?",
"app.texts.about.section3": "Copyright 2024 {$START_LINK}Los autores de Ground {$CLOSE_LINK}",
"app.labels.back": "Volver",
"app.texts.platformNotSupported.iosMessage": "{$START_TAG_STRONG}Platform Not Supported:{$CLOSE_TAG_STRONG} We've detected you're using an iOS device. Currently, {$START_TAG_STRONG}Ground is only available for Android.{$CLOSE_TAG_STRONG}",
"app.texts.launchingGround": "Launching {$START_TAG_STRONG}Ground{$CLOSE_TAG_STRONG}...",
"app.texts.installRedirectMessage": "If it doesn't open automatically, you will be redirected to Google Play to install it.",
"app.labels.googlePlayBadgeAlt": "Get in on Google Play",
"app.labels.loadingSurvey": "Cargando encuesta...",
"app.labels.goToSurvey": "Ir a la encuesta",
"app.labels.continue": "Continuar",
"app.createSurvey.surveyDetails.progress": "Crear una encuesta",
"app.createSurvey.surveyDetails.title": "Comience a construir su encuesta",
"app.createSurvey.surveyDetails.description": "Proporcione información básica sobre su encuesta",
"app.createSurvey.jobDetails.progress": "Añadir un trabajo",
"app.createSurvey.jobDetails.title": "Añadir un trabajo",
"app.createSurvey.jobDetails.description": "En los siguientes pasos, definirá los datos que deben ser recolectados para ciertos sitios como parte de este trabajo",
"app.createSurvey.defineLois.progress": "Especifique sitios de recolección de datos",
"app.createSurvey.defineLois.title": "¿Dónde deben recolectarse los datos?",
"app.createSurvey.defineLois.description": "Los recolectores de datos completarán las tareas especificadas para estos sitios",
"app.createSurvey.defineTasks.progress": "Definir tareas de recolección de datos",
"app.createSurvey.defineTasks.title": "¿Qué datos deben ser recolectados?",
"app.createSurvey.defineTasks.description": "Se pedirá a los recolectores de datos que completen las siguientes tareas para cada sitio",
"app.createSurvey.defineDataSharingTerms.progress": "Definir términos para compartir los datos",
"app.createSurvey.defineDataSharingTerms.title": "¿Qué términos deben aceptar los recolectores de datos?",
"app.createSurvey.defineDataSharingTerms.description": "Seleccione los términos con los que los recolectores de datos deben estar de acuerdo antes de comenzar",
"app.createSurvey.shareSurvey.progress": "Comparta su encuesta",
"app.createSurvey.shareSurvey.title": "Comparta su encuesta",
"app.labels.customizeAgreement": "Personalizar el acuerdo",
"app.texts.customAgreement": " Crear un acuerdo personalizado que se mostrará a los recolectores de datos antes de que puedan recolectar datos. Los recolectores de datos deben aceptar los términos de este acuerdo. ",
"app.forms.placeholders.customAgreement": "Introduzca los términos de su acuerdo personalizado...",
"app.cards.dataSharingTerms.private.title": "Privado",
"app.cards.dataSharingTerms.public.title": "Público",
"app.cards.dataSharingTerms.custom.title": "Personalizar",
"app.forms.labels.jobName": "Nombre del trabajo",
"app.forms.placeholders.jobName": "Ej. Áreas de producción del mapa",
"app.labels.job": "Trabajo",
"app.forms.labels.surveyName": "Nombre de la encuesta",
"app.forms.placeholders.surveyName": "Ej. Encuesta sobre agricultura regenerativa",
"app.forms.labels.surveyDescription": "Descripción",
"app.forms.placeholders.surveyDescription": "Ej. Auto reporte de actividades de agricultura regenerativa impulsadas por la comunidad",
"app.cards.surveyDetails.title": "Nombre y descripción de la encuesta",
"app.cards.dataSharingAgreement.title": "Acuerdo de compartición de datos",
"app.labels.customTerms": "Términos personalizados",
"app.labels.copySurvey": "Copy survey",
"app.cards.copySurvey.title": "Copy survey",
"app.cards.copySurvey.description": "Copies jobs and tasks in this survey. Data collection sites and submission data are not copied.",
"app.labels.deleteSurvey": "Eliminar encuesta",
"app.cards.deleteSurvey.title": "Eliminar encuesta",
"app.cards.deleteSurvey.description": "Eliminar permanentemente la encuesta y los datos asociados",
"app.labels.tasks": "Tareas",
"app.labels.sites": "Sitios",
"app.editSurvey.surveyDetails.title": " Detalles de la encuesta ",
"app.editSurvey.sharing.title": " Compartir ",
"app.labels.jobs": "Tareas",
"app.labels.rename": " Renombrar ",
"app.dialogs.addJob.title": "Añadir nuevo trabajo",
"app.labels.create": "Crear",
"app.dialogs.renameJob.title": "Renombrar trabajo",
"app.dialogs.unpublishedChanges.title": "Cambios no publicados",
"app.dialogs.unpublishedChanges.content": "Si abandona esta página, los cambios que haya hecho a esta encuesta no serán publicados. ¿Está seguro de que quiere continuar?",
"app.labels.goBack": "Volver",
"app.dialogs.copySurvey.title": "Copy survey",
"app.dialogs.copySurvey.content": "This survey and all its associated jobs will be copied. Data collection sites and submission data won't be included in the copy.",
"app.dialogs.deleteJob.title": "Eliminar trabajo",
"app.dialogs.deleteJob.content": "Este trabajo y todos sus datos asociados se eliminarán. Esta operación no se puede deshacer. ¿Está seguro?",
"app.labels.confirm": "Confirmar",
"app.dialogs.deleteLois.title": "Eliminar sitios predefinidos",
"app.dialogs.deleteLois.content": "Todos los sitios de recolección de datos predefinidos y sus datos asociados serán eliminados inmediatamente de forma permanente. Esta acción no se puede deshacer.",
"app.dialogs.deleteOption.title": "Eliminar opción",
"app.dialogs.deleteOption.content": "¿Está seguro que desea eliminar esta encuesta? Todos los datos asociados se perderán. Esto no se puede deshacer.",
"app.dialogs.deleteSurvey.title": "Eliminar encuesta",
"app.dialogs.deleteSurvey.content": "¿Está seguro que desea eliminar esta encuesta? Todos los datos asociados se perderán. Esto no se puede deshacer.",
"app.dialogs.disableFreeForm.title": "¿Deshabilitar la recolección de datos de forma abierta?",
"app.dialogs.disableFreeForm.content": "El recolector de datos ya no podrá añadir nuevos sitios para este trabajo. Los datos sólo se recolectarán para los sitios existentes.",
"app.dialogs.invalidSurvey.title": "Corregir problemas con la encuesta",
"app.dialogs.invalidSurvey.content": "Para publicar los cambios, corrija cualquier problema pendiente en su encuesta.",
"app.dialogs.surveyCreationDenied.title": "Registration required",
"app.dialogs.surveyCreationDenied.content": "You do not have permission to create surveys. Click \"Continue\" to request access.",
"app.error.generic": "Vaya, algo ha salido mal",
"app.error.accessDenied": "Acceso denegado",
"app.error.clickHereToRegister": " Haga clic aquí para registrarse ",
"app.labels.agreeWithTermsOfService": " He leído y estoy de acuerdo con los términos del servicio. ",
"app.labels.roles.dataCollector": "Recolector de datos",
"app.labels.roles.surveyOrganizer": "Organizador de la encuesta",
"app.labels.roles.viewer": "Observador"
}
}
4 changes: 2 additions & 2 deletions web/src/locale/messages.fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
"app.texts.generalAccess.unlisted": "Toute personne disposant du QR code ou du lien de l'enquête peut collecter des données pour cette enquête",
"app.labels.unlisted": "Non répertorié",
"app.texts.generalAccess.public": "Tout le monde peut collecter des données pour cette enquête",
"app.labels.public": "Public",
"app.labels.signOut": "Se déconnecter",
"app.labels.manageSurvey": "Gérer l'enquête",
"app.labels.cancel": "Annuler",
Expand Down Expand Up @@ -38,6 +37,7 @@
"app.labels.createSurvey": "Créer une enquête",
"app.labels.createSurveyDescription": "Définir les missions et les sites pour les collecteurs de données",
"app.labels.all": "Tous",
"app.labels.public": "Public",
"app.labels.required": "Requis",
"app.labels.duplicate": "Dupliquer",
"app.labels.delete": "Supprimer",
Expand Down Expand Up @@ -142,7 +142,7 @@
"app.dialogs.invalidSurvey.title": "Corriger les problèmes de l’enquête",
"app.dialogs.invalidSurvey.content": "Pour enregistrer et publier les modifications, corrigez les problèmes en suspens dans votre enquête.",
"app.dialogs.surveyCreationDenied.title": "Inscription requise",
"app.dialogs.surveyCreationDenied.content": "Vous devez vous inscrire pour créer une nouvelle enquête. Cliquez sur \"Continuer\" pour être redirigé vers le formulaire d'inscription.",
"app.dialogs.surveyCreationDenied.content": "You do not have permission to create surveys. Click \"Continue\" to request access.",
"app.error.generic": "Oups, une erreur s'est produite !",
"app.error.accessDenied": "Accès refusé",
"app.error.clickHereToRegister": "Cliquez ici pour vous inscrire",
Expand Down
2 changes: 1 addition & 1 deletion web/src/locale/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
"app.texts.generalAccess.unlisted": "Everyone with the survey QR code or link can collect data for this survey",
"app.labels.unlisted": "Unlisted",
"app.texts.generalAccess.public": "Everyone can collect data for this survey",
"app.labels.public": "Public",
"app.labels.signOut": " Sign out ",
"app.labels.manageSurvey": "Manage survey",
"app.labels.cancel": " Cancel ",
Expand Down Expand Up @@ -38,6 +37,7 @@
"app.labels.createSurvey": " Create survey ",
"app.labels.createSurveyDescription": " Define jobs and sites for data collectors ",
"app.labels.all": "All",
"app.labels.public": "Public",
"app.labels.required": "Required",
"app.labels.duplicate": "Duplicate",
"app.labels.delete": "Delete",
Expand Down
Loading