diff --git a/android/KMAPro/kMAPro/src/main/res/values-b+es+419/strings.xml b/android/KMAPro/kMAPro/src/main/res/values-b+es+419/strings.xml
new file mode 100644
index 0000000000..62baef6d79
--- /dev/null
+++ b/android/KMAPro/kMAPro/src/main/res/values-b+es+419/strings.xml
@@ -0,0 +1,124 @@
+
+
+
+ Compartir
+
+ Navegador web
+
+ Tamaño del texto
+
+ Más
+
+ Borrar texto
+
+ Ayuda
+
+ Configuración
+
+ Instalar actualizaciones
+
+ Versión: %1$s
+
+ Comienza a escribir aquí…
+
+
+
+ Tamaño del texto: %1$d
+
+ Agrandar texto
+
+ Achicar texto
+
+ \nSe borrará todo el texto\n
+
+ Empezar
+
+ Agrega un teclado para tu idioma
+
+ Habilitar Keyman como teclado de sistema
+
+ Establecer teclado como teclado predeterminado
+
+ Más información
+
+ Mostrar \"%1$s\" al inicio
+
+ Para instalar los paquetes del teclado, permite que Keyman acceda al almacenamiento externo.
+
+ Se ha denegado la solicitud de permiso de almacenamiento. La instalación del paquete de teclado podría fallar
+
+ Configuración
+
+
+ - Installed languages (%1$d)
+ - Installed languages (%1$d)
+
+
+ Instalar teclado o diccionario
+
+ Cambiar idioma de interfaz
+
+ Mostrar siempre el banner
+
+ A implementar
+
+ Cuando está desactivado, solo se muestra cuando el texto predictivo está habilitado
+
+ Permitir el envío de informes de fallas a través de la red
+
+ Cuando esté activado, se enviarán los informes de fallas
+
+ Cuando esté desactivado, no se enviarán los informes de fallas
+
+ Instalar desde keyman.com
+
+ Instalar desde archivo local
+
+ Instalar desde otro dispositivo
+
+ Añadir idiomas al teclado instalado
+
+ (desde el paquete del teclado)
+
+ Selecciona un paquete de teclado
+
+ Selecciona idiomas para %1$s
+
+ Se agregó el idioma %1$s a %2$s
+
+ Ya están instalados todos los idiomas
+
+ Buscar o escribir una dirección web
+
+ Marcadores
+
+ No hay marcadores
+
+ Agregar a marcadores
+
+ Título
+
+ Dirección web
+
+ No se instaló el paquete %1$s
+
+ Descargando el paquete del teclado\n%1$s…
+
+ Error al extraer
+
+ Instalar teclado
+
+ Instalar diccionario
+
+ %1$s no es un archivo válido de paquete de Keyman.\n%2$s\"
+
+ El paquete del teclado no tiene ningún teclado táctil para instalar
+
+ No hay nuevo texto predictivo para instalar
+
+ No hay teclados ni texto predictivo para instalar
+
+ El paquete del teclado no tiene idiomas asociados para instalar
+
+ Metadatos inválidos/ausentes en el paquete
+
diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/DisplayLanguages.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/DisplayLanguages.java
index 2d16b72bd7..e5fc703f52 100644
--- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/DisplayLanguages.java
+++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/DisplayLanguages.java
@@ -33,12 +33,16 @@ public class DisplayLanguages {
// Order doesn't matter since we're storing BCP-47 tags in the settings preference
// Additional notes:
// Java uses deprecated two-letter code "in" for Indonesian
+ //
+ // Spanish (Latin America) folder is b+es+419 but the locale uses es-419
+ // Reference: https://developer.android.com/guide/topics/resources/multilingual-support#postN
public static final DisplayLanguageType[] getDisplayLanguages(Context context) {
DisplayLanguageType[] languages = {
new DisplayLanguageType(unspecifiedLocale, context.getString(R.string.default_locale)),
new DisplayLanguageType("am-ET", "አማርኛ (Amharic)"),
new DisplayLanguageType("az-AZ", "Azərbaycanca (Azəricə)"),
new DisplayLanguageType("en", "English"),
+ new DisplayLanguageType("es-419", "Español (Spanish - Latin America)"),
new DisplayLanguageType("fr-FR", "French"),
new DisplayLanguageType("in-ID", "Indonesian"),
new DisplayLanguageType("de-DE", "German"),
diff --git a/android/KMEA/app/src/main/res/values-b+es+419/strings.xml b/android/KMEA/app/src/main/res/values-b+es+419/strings.xml
new file mode 100644
index 0000000000..0646fb97bb
--- /dev/null
+++ b/android/KMEA/app/src/main/res/values-b+es+419/strings.xml
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+ - Teclado
+ - Teclados
+
+
+ Agregar teclado nuevo
+
+ Idiomas instalados
+
+ Configuración de %1$s
+
+ Agregar
+
+ Atrás
+
+ Cancelar
+
+ Cerrar
+
+ Cerrar Keyman
+
+ Descargar
+
+ Instalar
+
+ Más tarde
+
+ Siguiente
+
+ Aceptar
+
+ Actualizar
+
+ ¡No se puede conectar con el servidor Keyman!
+
+ ¿Quieres eliminar este teclado?
+
+ ¿Quieres descargar la última versión de este teclado?
+
+ ¿Quieres actualizar los teclados y los diccionarios ahora?
+
+ Actualizaciones de recursos
+
+ Actualizaciones de recursos disponibles
+
+ %1$s (Actualización disponible)
+
+ Actualizaciones disponibles para el teclado %1$s: %2$s
+
+ Actualizaciones disponibles para el diccionario %1$s: %2$s
+
+ Versión del teclado
+
+ Enlace de ayuda
+
+ Desinstalar teclado
+
+ [nuevo] %1$s
+
+ Escanea este código par cargar este\nteclado en otro dispositivo
+
+ Bienvenido a %1$s
+
+ Se necesita la librería FileProvider para ver el archivo de ayuda: %1$s
+
+ Error fatal del teclado con %1$s:%2$s para el idioma %3$s. Cargando teclado predeterminado.
+
+ Buscando diccionario asociado para descargar
+
+ ¿Quieres descargar la última versión de este diccionario?
+
+ No hay ningún diccionario para descargar
+
+ El catálogo de recursos no está disponible
+
+ La actualización del catálogo inició en segundo plano
+
+ El catálogo aún se está descargando; inténtalo de nuevo en un momento.
+
+ Buscando recurso
+
+ La descarga del teclado inició en segundo plano
+
+ El teclado seleccionado ya se está descargando; inténtalo de nuevo en un momento.
+
+ ¡La descarga del teclado ha finalizado!
+
+ La descarga del diccionario inició en segundo plano
+
+ El diccionario seleccionado ya se está descargando; inténtalo de nuevo en un momento.
+
+ La descarga del diccionario ha finalizado.
+
+ Error al descargar
+
+ Error al recuperar el archivo descargado
+
+ ¡Error al acceder al servidor!
+
+ "¡Todos los recursos están actualizados!"
+
+ ¡Uno o más recursos no se han actualizado!
+
+ ¡Recursos actualizados correctamente!
+
+ Versión del diccionario
+
+ Desinstalar diccionario
+
+ ¿Quieres eliminar este diccionario?
+
+ Teclado %1$s instalado
+
+ Habilitar correcciones
+
+ Habilitar predicciones
+
+ Diccionario
+
+ Buscar diccionario disponible
+
+ Diccionario: %1$s
+
+ %1$s diccionarios
+
+
+ Diccionario instalado
+
+
+ - (Teclado %1$d)
+ - (Teclados %1$d)
+
+
+ Variedad predeterminada
+
+
+
+ Eliminar
+
+
+ Pulsa aquí para cambiar el teclado
+
diff --git a/crowdin.yml b/crowdin.yml
index a0c18e569a..c34403a632 100644
--- a/crowdin.yml
+++ b/crowdin.yml
@@ -26,6 +26,7 @@ files:
# Android files
+ # Reference: https://developer.android.com/guide/topics/resources/multilingual-support
- source: /android/KMEA/app/src/main/res/values/strings.xml
dest: /android/engine/strings.xml
@@ -33,6 +34,7 @@ files:
languages_mapping:
# Prevent invalid region pap-rPAP. Leaving "in" for Indonesian
android_code:
+ es-419: b+es+419
pap: pap
- source: /android/KMAPro/kMAPro/src/main/res/values/strings.xml
@@ -41,6 +43,7 @@ files:
languages_mapping:
# Prevent invalid region pap-rPAP
android_code:
+ es-419: b+es+419
pap: pap
# Windows files
diff --git a/ios/engine/KMEI/KeymanEngine.xcodeproj/project.pbxproj b/ios/engine/KMEI/KeymanEngine.xcodeproj/project.pbxproj
index 52c85514d7..277e6f4136 100644
--- a/ios/engine/KMEI/KeymanEngine.xcodeproj/project.pbxproj
+++ b/ios/engine/KMEI/KeymanEngine.xcodeproj/project.pbxproj
@@ -550,6 +550,9 @@
CEDFEF8E23FE43B700BECF39 /* MigrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MigrationTests.swift; sourceTree = ""; };
CEE0321024C56735005BFC73 /* Packages.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Packages.swift; sourceTree = ""; };
CEE0321224C58C90005BFC73 /* KeymanHosts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeymanHosts.swift; sourceTree = ""; };
+ CEEF81AD2672FBE900EE6A07 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/ResourceInfoView.strings"; sourceTree = ""; };
+ CEEF81B72673016900EE6A07 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; };
+ CEEF81B82673016E00EE6A07 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "es-419"; path = "es-419.lproj/Localizable.stringsdict"; sourceTree = ""; };
CEF888D023FE6ADE00667693 /* No-defaults 10.0 Migration.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "No-defaults 10.0 Migration.bundle"; sourceTree = ""; };
CEF888D123FE6ADF00667693 /* Simple 10.0 Migration.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "Simple 10.0 Migration.bundle"; sourceTree = ""; };
CEF888D423FE786C00667693 /* KeyboardScaleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardScaleTests.swift; sourceTree = ""; };
@@ -1321,6 +1324,7 @@
ff,
az,
am,
+ "es-419",
);
mainGroup = F243887314BBD43000A3E055;
productRefGroup = F243887F14BBD43000A3E055 /* Products */;
@@ -1708,6 +1712,7 @@
CE98E6BB2615589300F3F2C0 /* ff */,
CE72B3D22643AB60006821CE /* az */,
CEBD34552655117800EB2EA8 /* am */,
+ CEEF81B82673016E00EE6A07 /* es-419 */,
);
name = Localizable.stringsdict;
sourceTree = "";
@@ -1722,6 +1727,7 @@
CE98E6BC2615589800F3F2C0 /* ff */,
CE72B3D32643AB65006821CE /* az */,
CEBD34542655117400EB2EA8 /* am */,
+ CEEF81B72673016900EE6A07 /* es-419 */,
);
name = Localizable.strings;
sourceTree = "";
@@ -1737,6 +1743,7 @@
CE98E6BA2615588600F3F2C0 /* ff */,
CE72B3D12643AA9D006821CE /* az */,
CEBD34532655115800EB2EA8 /* am */,
+ CEEF81AD2672FBE900EE6A07 /* es-419 */,
);
name = ResourceInfoView.xib;
sourceTree = "";
diff --git a/ios/engine/KMEI/KeymanEngine/Classes/es-419.lproj/ResourceInfoView.strings b/ios/engine/KMEI/KeymanEngine/Classes/es-419.lproj/ResourceInfoView.strings
new file mode 100644
index 0000000000..b9a86aabb7
--- /dev/null
+++ b/ios/engine/KMEI/KeymanEngine/Classes/es-419.lproj/ResourceInfoView.strings
@@ -0,0 +1,2 @@
+/* Class = "UILabel"; text = "Scan this code to load this keyboard on another device"; ObjectID = "z2O-MT-IoV"; */
+"z2O-MT-IoV.text" = "Escanea este código para cargar este teclado en otro dispositivo";
diff --git a/ios/engine/KMEI/KeymanEngine/es-419.lproj/Localizable.strings b/ios/engine/KMEI/KeymanEngine/es-419.lproj/Localizable.strings
new file mode 100644
index 0000000000..9407c7fd13
--- /dev/null
+++ b/ios/engine/KMEI/KeymanEngine/es-419.lproj/Localizable.strings
@@ -0,0 +1,212 @@
+/* A descriptive message used for errors when the app is already busy downloading */
+"alert-download-error-busy" = "Ocupado con una descarga.";
+
+/* A descriptive message used when a download fails */
+"alert-download-error-detail" = "Se produjo un error durante la descarga o la instalación.";
+
+/* Title for a "download failed" alert */
+"alert-download-error-title" = "Error de descarga";
+
+/* Title for a general alert about errors */
+"alert-error-title" = "Error";
+
+/* A descriptive message used when no internet connection is detected */
+"alert-no-connection-detail" = "No se pudo conectar con el servidor de Keyman. Inténtalo de nuevo más tarde.";
+
+/* Title for a "no connection" alert */
+"alert-no-connection-title" = "Error de conexión";
+
+/* Short text for a 'back' navigational command. Used to return to the previous screen */
+"command-back" = "Atrás";
+
+/* Short text for a 'cancel' command. Used to back out of a menu or install process without making changes */
+"command-cancel" = "Cancelar";
+
+/* Short text for a 'done' command. Used to back out of settings menus after changes have been made */
+"command-done" = "Hecho";
+
+/* Short text for an 'install' command. Used to confirm installation of a package. */
+"command-install" = "Instalar";
+
+/* Short text for a 'next' navigational command. Used to advance to the next screen */
+"command-next" = "Siguiente";
+
+/* Short text for an 'OK' command. Used for some error alerts */
+"command-ok" = "Aceptar";
+
+/* Short text for confirmining 'uninstall' commands. */
+"command-uninstall" = "Desinstalar";
+
+/* Text for the command to uninstall a keyboard */
+"command-uninstall-keyboard" = "Desinstalar teclado";
+
+/* Confirmation text to display before uninstalling a keyboard */
+"command-uninstall-keyboard-confirm" = "¿Quieres desinstalar este teclado?";
+
+/* Text for the command to uninstall a lexical model */
+"command-uninstall-lexical-model" = "Desinstalar diccionario";
+
+/* Confirmation text to display before uninstalling a lexical model */
+"command-uninstall-lexical-model-confirm" = "¿Quieres desinstalar este diccionario?";
+
+/* Text for error when an installed file is unexpectedly missing */
+"error-missing-file" = "No se pudo encontrar un archivo requerido.";
+
+/* Text for error when an installed file is unexpectedly missing */
+"error-missing-file-critical" = "No se pudo encontrar un archivo crítico. Intenta reinstalar la aplicación.";
+
+/* Text for errors in data received from search queries */
+"error-query-decoding" = "El servidor está experimentando dificultades técnicas";
+
+/* A descriptive message used when a download fails */
+"error-query-general" = "Error al comunicarse con el servidor";
+
+/* Text for error when a search query is unexpectedly empty */
+"error-query-no-data" = "El servidor no pudo responder";
+
+/* Text for general errors where not much information is known */
+"error-unknown" = "Ocurrió un error inesperado";
+
+/* Text for error when updating a resource: cannot download because no source is available */
+"error-update-no-link" = "No hay fuentes de actualizaciones disponibles para este paquete";
+
+/* Text for error when updating a resource: Keyman does not know how to update the resource */
+"error-update-not-managed" = "No se puede actualizar el recurso no administrado por el motor de Keyman";
+
+/* Text for the command to open the help page of a keyboard, as shown on resource information views */
+"info-command-help-keyboard" = "Ayuda para teclado";
+
+/* Text for the command to open the help page of a lexical model, as shown on resource information views */
+"info-command-help-lexical-model" = "Ayuda para diccionario";
+
+/* Text label for displaying a keyboard's version, as shown on resource information views */
+"info-label-version-keyboard" = "Versión del teclado";
+
+/* Text label for displaying a lexical model's version, as shown on resource information views */
+"info-label-version-lexical-model" = "Versión del diccionario";
+
+/* Label used for the "package info" / readme tab with the package installation prompt on phones. */
+"installer-label-package-info" = "Información del paquete";
+
+/* Label used for the language-selection tab with the package installation prompt on phones. */
+"installer-label-select-languages" = "Selecciona idioma(s)";
+
+/* Label used with a package's version, as seen within the package installation prompt. Example: "Version: 14.0.0" */
+"installer-label-version" = "Versión: %@";
+
+/* Section header for languages supported by a package, as seen within the package installation prompt */
+"installer-section-available-languages" = "Idiomas disponibles";
+
+/* Text for the help popup for changing keyboards with the globe key */
+"keyboard-help-change" = "Haz clic aquí para cambiar el teclado";
+
+/* Text for the command to exit the Keyman keyboard in favor of other keyboards installed on the system */
+"keyboard-menu-exit" = "Cerrar %@";
+
+/* Error installing a Keyman package - could not allocate a location to install it */
+"kmp-error-file-system" = "Error al instalar el paquete - error del sistema de archivos";
+
+/* Error installing a Keyman package - could not copy package files */
+"kmp-error-file-copying" = "Error al instalar el paquete - no se pudieron copiar los archivos requeridos";
+
+/* Error opening a Keyman package - package is not valid */
+"kmp-error-invalid" = "El archivo del paquete está corrupto.";
+
+/* Error installing a Keyman package - expected resource (keyboard or dictionary) is missing */
+"kmp-error-missing-resource" = "Este paquete no contiene el teclado o el diccionario solicitado.";
+
+/* Error opening a Keyman package - cannot parse contents */
+"kmp-error-no-metadata" = "Este paquete no fue compilado correctamente - contenidos desconocidos.";
+
+/* Error opening a Keyman package - package contains unexpected resource (keyboard or dictionary) type */
+"kmp-error-wrong-type" = "Este paquete no contiene el tipo de recurso esperado.";
+
+/* Title for the Installed Languages menu */
+"menu-installed-languages-title" = "Idiomas instalados";
+
+/* Section header for lexical models within a language-specific settings menu */
+"menu-langsettings-label-lexical-models" = "Diccionarios";
+
+/* Section header for keyboards within a language-specific settings menu */
+"menu-langsettings-section-keyboards" = "Teclados";
+
+/* Section header for the settings toggles within a language-specific settings menu */
+"menu-langsettings-section-settings" = "Configuración de idioma";
+
+/* Title for the language-specific settings menus */
+"menu-langsettings-title" = "Configuración de %@";
+
+/* Label for the toggle that enables corrections that is displayed within a language-specific settings menu */
+"menu-langsettings-toggle-correct" = "Habilitar correcciones";
+
+/* Label for the toggle that enables predictions that is displayed within a language-specific settings menu */
+"menu-langsettings-toggle-predict" = "Habilitar predicciones";
+
+/* Help message for a prompt that appears for confirming a lexical model download: language (1): lexical model (dictionary) name (2) */
+"menu-lexical-model-install-message" = "¿Quieres instalar este diccionario?";
+
+/* Title for a prompt that appears for confirming a lexical model download: language (1): lexical model (dictionary) name (2) */
+"menu-lexical-model-install-title" = "%1$@: %2$@";
+
+/* Text for an info alert indicating that no lexical models are available */
+"menu-lexical-model-none-message" = "No hay diccionarios disponibles";
+
+/* Title for the lexical model menu, a submenu of the language-specific settings menus */
+"menu-lexical-model-title" = "Diccionarios de %@";
+
+/* Title for the keyboard picker */
+"menu-picker-title" = "Teclados";
+
+/* Primary text for the Settings menu option to report keyboard crashes */
+"menu-settings-error-report" = "Permitir reporte de errores";
+
+/* Secondary text for the Settings menu option to report keyboard crashes */
+"menu-settings-error-report-description" = "Puede requerir \"acceso completo\"";
+
+/* Primary text for the Settings menu local-file package installation option */
+"menu-settings-install-from-file" = "Instalar desde archivo";
+
+/* Secondary text for the Settings menu local-file package installation option */
+"menu-settings-install-from-file-description" = "Buscar archivos .kmp";
+
+/* Primary text for the Settings menu option that displays the iOS system menu options for the app's keyboard */
+"menu-settings-system-keyboard-menu" = "Configuración del teclado del sistema";
+
+/* Label for the "Show Banner" toggle on the main settings screen */
+"menu-settings-show-banner" = "Mostrar banner";
+
+/* Label for the "Get Started" automatic display toggle seen in the Settings menu */
+"menu-settings-startup-get-started" = "Mostrar 'Empezar' al iniciar";
+
+/* Title for the main Settings menu */
+"menu-settings-title" = "Configuración de Keyman";
+
+/* Short text for notification: download failure for keyboard */
+"notification-download-failure-keyboard" = "Error al descargar el teclado";
+
+/* Short text for notification: download failure for lexical model */
+"notification-download-failure-lexical-model" = "Error al descargar el diccionario";
+
+/* Short text for notification: download success for keyboard */
+"notification-download-success-keyboard" = "Teclado descargado correctamente";
+
+/* Short text for notification: download success for lexical model */
+"notification-download-success-lexical-model" = "Diccionario descargado correctamente";
+
+/* Short text for notification: downloading a keyboard */
+"notification-downloading-keyboard" = "Descargando teclado\U2026";
+
+/* Short text for notification: downloading a lexical model */
+"notification-downloading-lexical-model" = "Descargando diccionario\U2026";
+
+/* Short text for notification: an update is available */
+"notification-update-available" = "Actualización disponible";
+
+/* Short text for notification: currently updating */
+"notification-update-processing" = "Actualizando\U2026";
+
+/* Text indicating success at installing new keyboards or dictionaries */
+"success-install" = "Instalado correctamente.";
+
+/* A title to use in alerts indicating 'success' at whatever task the user requested */
+"success-title" = "Completado";
diff --git a/ios/engine/KMEI/KeymanEngine/es-419.lproj/Localizable.stringsdict b/ios/engine/KMEI/KeymanEngine/es-419.lproj/Localizable.stringsdict
new file mode 100644
index 0000000000..f8ac4f42c0
--- /dev/null
+++ b/ios/engine/KMEI/KeymanEngine/es-419.lproj/Localizable.stringsdict
@@ -0,0 +1,118 @@
+
+
+
+
+ menu-langsettings-lexical-model-count
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ u
+ one
+ %u diccionario instalado
+ other
+ %u diccionarios instalados
+
+
+ notification-update-failed
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ u
+ one
+ Falló %u actualización
+ other
+ Fallaron %u actualizaciones
+
+
+ notification-update-success
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ u
+ one
+ %u actualización correcta
+ other
+ %u actualizaciones correctas
+
+
+ settings-keyboards-installed-count
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ u
+ one
+ %u teclado instalado
+ other
+ %u teclados instalados
+
+
+ settings-languages-installed-count
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ u
+ one
+ %u idioma instalado
+ other
+ %u idiomas instalados
+
+
+ package-default-found-keyboards
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ u
+ one
+ Se encontró %u teclado en el paquete:
+ other
+ Se encontraron %u teclados en el paquete:
+
+
+ package-default-found-lexical-models
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ u
+ one
+ Se encontró %u diccionario en el paquete:
+ other
+ Se encontraron %u diccionarios en el paquete:
+
+
+
+
diff --git a/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj b/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj
index db75cca461..b86a3eb3a2 100644
--- a/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj
+++ b/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj
@@ -331,6 +331,7 @@
CEACC90F25F07D5A006EAB45 /* km */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = km; path = km.lproj/Localizable.strings; sourceTree = ""; };
CEACC91225F07D77006EAB45 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; };
CEBD3458265511B700EB2EA8 /* am */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = am; path = am.lproj/Localizable.strings; sourceTree = ""; };
+ CEEF81B92673019600EE6A07 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; };
CEF4E55523E95B7B0065B9C7 /* ImageBanner.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ImageBanner.xib; sourceTree = ""; };
CEF4E55823E967140065B9C7 /* ImageBannerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageBannerViewController.swift; sourceTree = ""; };
/* End PBXFileReference section */
@@ -783,6 +784,7 @@
ff,
az,
am,
+ "es-419",
);
mainGroup = 98ABADA7176935E400B62590;
productRefGroup = 98ABADB1176935E400B62590 /* Products */;
@@ -1107,6 +1109,7 @@
CE98E6BD2615593300F3F2C0 /* ff */,
CE72B3D62643ABB7006821CE /* az */,
CEBD3458265511B700EB2EA8 /* am */,
+ CEEF81B92673019600EE6A07 /* es-419 */,
);
name = Localizable.strings;
sourceTree = "";
diff --git a/ios/keyman/Keyman/Keyman/es-419.lproj/Localizable.strings b/ios/keyman/Keyman/Keyman/es-419.lproj/Localizable.strings
new file mode 100644
index 0000000000..a62037ce03
--- /dev/null
+++ b/ios/keyman/Keyman/Keyman/es-419.lproj/Localizable.strings
@@ -0,0 +1,81 @@
+/* Title for the bookmarks menu within the embedded browser */
+"browser-bookmarks-add-title" = "Agregar a marcadores";
+
+/* Title for the bookmarks menu within the embedded browser */
+"browser-bookmarks-none" = "No hay marcadores";
+
+/* Title for the bookmarks menu within the embedded browser */
+"browser-bookmarks-title" = "Marcadores";
+
+/* Used to confirm a user's desire to install a package */
+"confirm-install" = "Instalar";
+
+/* The label for the toggle to stop automatically showing the "Get Started" tutorial popup. */
+"disable-get-started" = "No volver a mostrar";
+
+/* Indicates an error opening a web page requested by a user */
+"error-opening-page" = "No se puede abrir la página";
+
+/* Long-form used when installing a font in order to display a language properly. */
+"font-install-description" = "Haz clic en Instalar para que %@ se muestre correctamente en todas tus aplicaciones";
+
+/* The name of the iOS Settings menu option for keyboards */
+"ios-settings-keyboards" = "Teclados";
+
+/* The name of the iOS Settings menu option for giving the keyboard full access. (The menu entry
+underneath the app's name within the app-specific keyboard menu.) */
+"ios-settings-allow-full-access" = "Permitir acceso completo";
+
+/* Short-form used when installing a font in order to display a language properly. */
+"language-for-font" = "Fuente %@";
+
+/* Used for 'add' options within menus */
+"menu-add" = "Añadir";
+
+/* Used to indicate a sequence of menu options that a user needs to copy. May be chained. Example: "Keyboards (1) > Enable Keyman (2)" */
+"menu-breadcrumbing" = "%1$@ > %2$@";
+
+/* Used to exit a menu without choosing an option */
+"menu-cancel" = "Cancelar";
+
+/* Menu option that erases all previously-typed text. */
+"menu-clear-text" = "Borrar texto";
+
+/* Menu option that displays a list designed to help users start using the app */
+"menu-get-started" = "Empezar";
+
+/* Menu option that displays help for the app */
+"menu-help" = "Ayuda";
+
+/* Menu option that displays the main screen's drop-down menu */
+"menu-more" = "Más";
+
+/* Menu option used to edit keyboard and dictionary settings */
+"menu-settings" = "Configuración";
+
+/* Menu option that displays the iOS Share menu */
+"menu-share" = "Compartir";
+
+/* Menu option that displays an embedded web browser. */
+"menu-show-browser" = "Navegador";
+
+/* Menu option used to control in-app font size. */
+"menu-text-size" = "Tamaño del texto";
+
+/* Used to describe the current font size */
+"text-size-label" = "Tamaño del texto: %i";
+
+/* Text to indicate that a user should set a toggle within iOS Settings to 'active'. */
+"toggle-to-enable" = "Habilitar %@";
+
+/* First option on the Get Started tutorial - Add a keyboard for your language */
+"tutorial-add-keyboard" = "Agrega un teclado para tu idioma";
+
+/* Third option on the Get Started tutorial - Displays app help. */
+"tutorial-show-help" = "Más información";
+
+/* Second option on the Get Started tutorial - Set up Keyman as system-wide keyboard */
+"tutorial-system-keyboard" = "Habilitar Keyman como teclado de sistema";
+
+/* Used to display app version (as in \"Version: 1.0.2\" */
+"version-label" = "Versión: %@";
diff --git a/linux/keyman-config/locale/es_419.po b/linux/keyman-config/locale/es_419.po
new file mode 100644
index 0000000000..e3e3abe624
--- /dev/null
+++ b/linux/keyman-config/locale/es_419.po
@@ -0,0 +1,332 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: keyman\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-08-19 19:17+0200\n"
+"PO-Revision-Date: 2021-06-10 09:03\n"
+"Last-Translator: \n"
+"Language-Team: Spanish, Latin America\n"
+"Language: es_419\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Crowdin-Project: keyman\n"
+"X-Crowdin-Project-ID: 386703\n"
+"X-Crowdin-Language: es-419\n"
+"X-Crowdin-File: /master/linux/keyman-config.pot\n"
+"X-Crowdin-File-ID: 504\n"
+
+#: keyman_config/__init__.py:68
+msgid "Neither sentry-sdk nor raven is available. Not enabling Sentry error reporting."
+msgstr "Ni sentry-sdk ni raven están disponibles. No se habilita la notificación de errores de Sentry."
+
+#: keyman_config/downloadkeyboard.py:23
+msgid "Download Keyman keyboards"
+msgstr "Descargar teclados de Keyman"
+
+#: keyman_config/downloadkeyboard.py:37 keyman_config/keyboard_details.py:49
+#: keyman_config/keyboard_details.py:340 keyman_config/view_installed.py:205
+msgid "_Close"
+msgstr "Ce_rrar"
+
+#: keyman_config/install_kmp.py:99
+msgid "You do not have permissions to install the keyboard files to the shared area /usr/local/share/keyman"
+msgstr "No tienes permisos para instalar los archivos de teclado en el área compartida /usr/local/share/keyman"
+
+#: keyman_config/install_kmp.py:103
+msgid "You do not have permissions to install the documentation to the shared documentation area /usr/local/share/doc/keyman"
+msgstr "No tienes permisos para instalar la documentación en el área compartida de documentación /usr/local/share/doc/keyman"
+
+#: keyman_config/install_kmp.py:107
+msgid "You do not have permissions to install the font files to the shared font area /usr/local/share/fonts"
+msgstr "No tienes permisos para instalar los archivos de fuentes en el área compartida de fuentes /usr/local/share/fonts"
+
+#: keyman_config/install_kmp.py:179
+#, python-brace-format
+msgid "install_kmp.py: error: No kmp.json or kmp.inf found in {package}"
+msgstr "install_kmp.py: error: no se encontró ningún kmp.json o kmp.inf en {package}"
+
+#: keyman_config/install_kmp.py:246
+#, python-brace-format
+msgid "install_kmp.py: error: No kmp.json or kmp.inf found in {packageFile}"
+msgstr "install_kmp.py: error: no se encontró ningún kmp.json o kmp.inf en {packageFile}"
+
+#: keyman_config/install_window.py:54
+#, python-brace-format
+msgid "Installing keyboard/package {keyboardid}"
+msgstr "Instalando teclado/paquete {keyboardid}"
+
+#: keyman_config/install_window.py:72 keyman_config/install_window.py:93
+msgid "Keyboard is installed already"
+msgstr "El teclado ya está instalado"
+
+#: keyman_config/install_window.py:74
+#, python-brace-format
+msgid "The {name} keyboard is already installed at version {version}. Do you want to uninstall then reinstall it?"
+msgstr "El teclado {name} ya está instalado en la versión {version}. ¿Deseas desinstalarlo y luego reinstalarlo?"
+
+#: keyman_config/install_window.py:95
+#, python-brace-format
+msgid "The {name} keyboard is already installed with a newer version {installedversion}. Do you want to uninstall it and install the older version {version}?"
+msgstr "El teclado {name} ya está instalado en una versión más nueva {installedversion}. ¿Deseas desinstalarlo e instalar la versión más vieja {version}?"
+
+#: keyman_config/install_window.py:128
+msgid "Keyboard layouts: "
+msgstr "Distribuciones de teclado: "
+
+#: keyman_config/install_window.py:147
+msgid "Fonts: "
+msgstr "Fuentes: "
+
+#: keyman_config/install_window.py:167 keyman_config/keyboard_details.py:96
+msgid "Package version: "
+msgstr "Versión del paquete: "
+
+#: keyman_config/install_window.py:179
+msgid "Author: "
+msgstr "Autor: "
+
+#: keyman_config/install_window.py:197
+msgid "Website: "
+msgstr "Página web: "
+
+#: keyman_config/install_window.py:211
+msgid "Copyright: "
+msgstr "Derechos de autor: "
+
+#: keyman_config/install_window.py:245
+msgid "Details"
+msgstr "Detalles"
+
+#: keyman_config/install_window.py:248
+msgid "README"
+msgstr "LÉAME"
+
+#: keyman_config/install_window.py:256 keyman_config/view_installed.py:200
+msgid "_Install"
+msgstr "_Instalar"
+
+#: keyman_config/install_window.py:260
+msgid "_Cancel"
+msgstr "_Cancelar"
+
+#: keyman_config/install_window.py:305
+#, python-brace-format
+msgid "Keyboard {name} installed"
+msgstr "Teclado {name} instalado"
+
+#: keyman_config/install_window.py:310 keyman_config/install_window.py:315
+#, python-brace-format
+msgid "Keyboard {name} could not be installed."
+msgstr "No se pudo instalar el teclado {name}."
+
+#: keyman_config/install_window.py:311
+msgid "Error Message:"
+msgstr "Mensajes de error:"
+
+#: keyman_config/install_window.py:316
+msgid "Warning Message:"
+msgstr "Mensaje de advertencia:"
+
+#: keyman_config/keyboard_details.py:37
+#, python-brace-format
+msgid "{name} keyboard"
+msgstr "Teclado {name}"
+
+#: keyman_config/keyboard_details.py:53
+msgid "ERROR: Keyboard metadata is damaged.\n"
+"Please \"Uninstall\" and then \"Install\" the keyboard."
+msgstr "ERROR: Los metadatos del teclado están dañados.\n"
+"Por favor \"Desinstalar\" y luego \"Instalar\" el teclado."
+
+#: keyman_config/keyboard_details.py:74
+msgid "Package name: "
+msgstr "Nombre del paquete: "
+
+#: keyman_config/keyboard_details.py:85
+msgid "Package id: "
+msgstr "Nombre del paquete: "
+
+#: keyman_config/keyboard_details.py:108
+msgid "Package description: "
+msgstr "Descripción del paquete: "
+
+#: keyman_config/keyboard_details.py:121
+msgid "Package author: "
+msgstr "Autor del paquete: "
+
+#: keyman_config/keyboard_details.py:133
+msgid "Package copyright: "
+msgstr "Derechos de autor del paquete: "
+
+#: keyman_config/keyboard_details.py:174
+msgid "Keyboard filename: "
+msgstr "Nombre de archivo del teclado: "
+
+#: keyman_config/keyboard_details.py:187
+msgid "Keyboard name: "
+msgstr "Nombre del teclado: "
+
+#: keyman_config/keyboard_details.py:198
+msgid "Keyboard id: "
+msgstr "Nombre del teclado: "
+
+#: keyman_config/keyboard_details.py:209
+msgid "Keyboard version: "
+msgstr "Versión del teclado: "
+
+#: keyman_config/keyboard_details.py:221
+msgid "Keyboard author: "
+msgstr "Autor del teclado: "
+
+#: keyman_config/keyboard_details.py:232
+msgid "Keyboard license: "
+msgstr "Licencia del teclado: "
+
+#: keyman_config/keyboard_details.py:243
+msgid "Keyboard description: "
+msgstr "Descripción del teclado: "
+
+#: keyman_config/keyboard_details.py:334
+#, python-brace-format
+msgid "Scan this code to load this keyboard\n"
+"on another device or share online"
+msgstr "Escanea este código para cargar este teclado\n"
+"en otro dispositivo o compártelo en línea"
+
+#: keyman_config/options.py:24
+#, python-brace-format
+msgid "{packageId} Settings"
+msgstr "Configuración de {packageId}"
+
+#: keyman_config/view_installed.py:30
+msgid "Keyman Configuration"
+msgstr "Configuración de Keyman"
+
+#: keyman_config/view_installed.py:60
+msgid "Choose a kmp file..."
+msgstr "Elige un archivo kmp..."
+
+#. i18n: file type in file selection dialog
+#: keyman_config/view_installed.py:65
+msgid "KMP files"
+msgstr "Archivos KMP"
+
+#. i18n: column header in table displaying installed keyboards
+#: keyman_config/view_installed.py:141
+msgid "Icon"
+msgstr "Ícono"
+
+#. i18n: column header in table displaying installed keyboards
+#: keyman_config/view_installed.py:145
+msgid "Name"
+msgstr "Nombre"
+
+#. i18n: column header in table displaying installed keyboards
+#: keyman_config/view_installed.py:148
+msgid "Version"
+msgstr "Versión"
+
+#: keyman_config/view_installed.py:161
+msgid "_Uninstall"
+msgstr "De_sinstalar"
+
+#: keyman_config/view_installed.py:162 keyman_config/view_installed.py:304
+msgid "Uninstall keyboard"
+msgstr "Desinstalar teclado"
+
+#: keyman_config/view_installed.py:167
+msgid "_About"
+msgstr "So_bre"
+
+#: keyman_config/view_installed.py:168 keyman_config/view_installed.py:306
+msgid "About keyboard"
+msgstr "Sobre el teclado"
+
+#: keyman_config/view_installed.py:173
+msgid "_Help"
+msgstr "A_yuda"
+
+#: keyman_config/view_installed.py:174 keyman_config/view_installed.py:305
+msgid "Help for keyboard"
+msgstr "Ayuda para el teclado"
+
+#: keyman_config/view_installed.py:179
+msgid "_Options"
+msgstr "_Opciones"
+
+#: keyman_config/view_installed.py:180 keyman_config/view_installed.py:307
+msgid "Settings for keyboard"
+msgstr "Configuración del teclado"
+
+#: keyman_config/view_installed.py:190
+msgid "_Refresh"
+msgstr "Ac_tualizar"
+
+#: keyman_config/view_installed.py:191
+msgid "Refresh keyboard list"
+msgstr "Actualizar lista de teclados"
+
+#: keyman_config/view_installed.py:195
+msgid "_Download"
+msgstr "_Descargar"
+
+#: keyman_config/view_installed.py:196
+msgid "Download and install a keyboard from the Keyman website"
+msgstr "Descargar e instalar un teclado desde la página web de Keyman"
+
+#: keyman_config/view_installed.py:201
+msgid "Install a keyboard from a file"
+msgstr "Instalar un teclado desde un archivo"
+
+#: keyman_config/view_installed.py:206
+msgid "Close window"
+msgstr "Cerrar ventana"
+
+#: keyman_config/view_installed.py:278
+#, python-brace-format
+msgid "Uninstall keyboard {package}"
+msgstr "Desinstalar teclado {package}"
+
+#: keyman_config/view_installed.py:280
+#, python-brace-format
+msgid "Help for keyboard {package}"
+msgstr "Ayuda para el teclado {package}"
+
+#: keyman_config/view_installed.py:282
+#, python-brace-format
+msgid "About keyboard {package}"
+msgstr "Sobre el teclado {package}"
+
+#: keyman_config/view_installed.py:284
+#, python-brace-format
+msgid "Settings for keyboard {package}"
+msgstr "Configuración del teclado {package}"
+
+#: keyman_config/view_installed.py:349
+msgid "Uninstall keyboard package?"
+msgstr "¿Desinstalar paquete del teclado?"
+
+#: keyman_config/view_installed.py:351
+#, python-brace-format
+msgid "Are you sure that you want to uninstall the {keyboard} keyboard and its fonts?"
+msgstr "¿Estás seguro de que deseas desinstalar el teclado {keyboard} y sus fuentes?"
+
+#: keyman_config/welcome.py:22
+#, python-brace-format
+msgid "{name} installed"
+msgstr "{name} instalado"
+
+#: keyman_config/welcome.py:40
+msgid "Open in _Web browser"
+msgstr "Abrir en navegador _web"
+
+#: keyman_config/welcome.py:42
+msgid "Open in the default web browser to do things like printing"
+msgstr "Abrir en el navegador web predeterminado para hacer cosas como imprimir"
+
+#: keyman_config/welcome.py:45
+msgid "_OK"
+msgstr "_Aceptar"
+
diff --git a/windows/src/desktop/kmshell/locale/es-419/strings.xml b/windows/src/desktop/kmshell/locale/es-419/strings.xml
new file mode 100644
index 0000000000..656acdb306
--- /dev/null
+++ b/windows/src/desktop/kmshell/locale/es-419/strings.xml
@@ -0,0 +1,911 @@
+
+
+
+
+
+
+ Keyman
+
+
+
+ Segoe UI
+
+
+
+ 9
+
+
+
+ &Sí
+
+
+
+ &No
+
+
+
+ Aceptar
+
+
+
+ Cancelar
+
+
+
+ Cerrar
+
+
+
+ Aceptar
+
+
+
+ Cancelar
+
+
+
+ Haz clic en este icono para seleccionar un teclado
+
+
+
+ Keyman sigue activado. Haz clic en este ícono para usar el teclado de tu idioma en cualquier momento
+
+
+
+ Keyman ya se está ejecutando. Haz clic en el ícono de Keyman en el área de notificaciones del sistema para usar el teclado de tu idioma
+
+
+
+ Configuración de Keyman
+
+
+
+ Ayuda
+
+
+
+ Distribuciones de teclado
+
+
+
+ D
+
+
+
+ Opciones
+
+
+
+ O
+
+
+
+ Atajos de teclado
+
+
+
+ A
+
+
+
+ Soporte
+
+
+
+ S
+
+
+
+ Redes sociales
+
+
+
+ R
+
+
+
+ Nombre del archivo:
+
+
+
+ Versión del paquete:
+
+
+
+ Versión del teclado:
+
+
+
+ Autor:
+
+
+
+ Página web:
+
+
+
+ Paquete:
+
+
+
+ Fuentes:
+
+
+
+ Distribuciones de Teclado:
+
+
+
+ Distribución de teclado:
+
+
+
+ Idioma del teclado:
+
+
+
+ Codificaciones:
+
+
+
+ Tipo de distribución:
+
+
+
+ Fijo (Posicional)
+
+
+
+ Mapeado según la distribución de Windows (Mnemónico)
+
+
+
+ Idiomas:
+
+
+
+ ✕
+
+
+
+ Agregar idioma
+
+
+
+ Teclado en pantalla:
+
+
+
+ Personalizado
+
+
+
+ Instalado
+
+
+
+ No instalado
+
+
+
+ Documentación:
+
+
+
+ Instalado
+
+
+
+ No instalado
+
+
+
+ Mensaje:
+
+
+
+ Derechos de autor:
+
+
+
+ Los cambios se aplican automáticamente
+
+
+
+ Instalar teclado...
+
+
+
+ Descargar teclado...
+
+
+
+ Opciones de teclado
+
+
+
+ No tienes ningún teclado instalado. Haz clic en el botón Descargar teclado para instalar una distribución de teclado desde la página web de Keyman.
+
+
+
+
+ Solo puedes desinstalar el teclado \'%1$s\' si eres un administrador
+
+
+
+ Compartir teclado
+
+
+
+ Escanea este código para cargar este teclado en otro dispositivo o
+
+
+
+ compartir en línea
+
+
+
+
+
+
+
+ General
+
+
+
+ Inicio
+
+
+
+ Teclado en pantalla
+
+
+
+ Avanzadas
+
+
+
+ Los atajos de teclado activan o desactivan el teclado
+
+
+
+ Simular AltGr con Ctrl+Alt
+
+
+
+ Tratar las teclas muertas de hardware como teclas simples
+
+
+
+ Mostrar mensajes con sugerencias
+
+
+
+ Informar automáticamente los errores a keyman.com
+
+
+
+ Compartir estadísticas de uso anónimas con keyman.com
+
+
+
+ Iniciar cuando inicie Windows
+
+
+
+ Mostrar pantalla de inicio
+
+
+
+ Mostrar pantalla de bienvenida
+
+
+
+ Buscar actualizaciones automáticamente en keyman.com cada semana
+
+
+
+ Comprobar si hay aplicaciones conflictivas cuando inicie Keyman
+
+
+
+ Desactivar Shift/Ctrl/Alt en el teclado en pantalla cuando se presione una tecla
+
+
+
+ Mostrar siempre la ventana de teclado en pantalla cuando se seleccione el teclado de Keyman
+
+
+
+ Cambiar automáticamente a Teclado en pantalla/Ayuda según corresponda cuando se selecciona un teclado
+
+
+
+ Activar la visualización de caracteres Unicode suplementarios (requiere reinicio)
+
+
+
+ Activar idioma \'desconocido\'
+
+
+
+ Depurar
+
+
+
+ Cambiar el idioma de Windows cuando se seleccione un teclado de Keyman
+
+
+
+ Seleccionar distribución de teclado para todas las aplicaciones
+
+
+
+ Aumentar siempre los permisos de usuario cuando se ejecute en Windows Vista
+
+
+
+ Teclado de base...
+
+
+
+
+
+
+
+
+
+
+
+
+ (ninguno)
+
+
+
+ Desactivar Keyman
+
+
+
+ Abrir menú del teclado
+
+
+
+ Mostrar el panel de teclado en pantalla
+
+
+
+ Abrir configuración
+
+
+
+ Mostrar el panel de ayuda para fuentes
+
+
+
+ Mostrar el panel de mapa de caracteres
+
+
+
+ Abrir el editor de texto
+
+
+
+ Abrir menú de cambio de idioma
+
+
+
+ Atajos de teclado generales
+
+
+
+ Distribuciones de teclado
+
+
+
+ Si tienes algún problema usando Keyman, sólo haz una pregunta en el Foro de la comunidad de Keyman.
+
+
+
+ Abrir Foro de la comunidad de Keyman
+
+
+
+ Creado por SIL International
+
+
+
+ Derechos de autor © SIL International. Todos los derechos reservados.
+
+
+
+ Versión
+
+
+
+ Enlaces útiles
+
+
+
+ Ayuda en línea
+
+
+
+ Buscar actualizaciones
+
+
+
+ Configuración de proxy...
+
+
+
+ Configuración de sistema de Keyman...
+
+
+
+ Diagnósticos
+
+
+
+ Descargar teclado desde keyman.com
+
+
+
+ No instalar, solo descargar
+
+
+
+
+ No se pudo descargar el teclado, error %2$d: %1$s
+
+
+
+ < Atrás
+
+
+
+ Instalar teclado/paquete
+
+
+
+ Detalles
+
+
+
+ Léame
+
+
+
+ Instalar
+
+
+
+ Configuración de servidor proxy
+
+
+
+ Servidor:
+
+
+
+ Puerto:
+
+
+
+ Usuario:
+
+
+
+ Contraseña:
+
+
+
+ Establece el teclado de base
+
+
+
+ Selecciona el teclado de base con alfabeto latino que usas en Windows. Los teclados de Keyman se adaptarán automáticamente a tu distribución de teclado preferida.
+
+
+
+ Cambiar atajo de teclado
+
+
+
+
+ Selecciona un atajo de teclado estándar o elige \"Personalizar\" y mantén pulsado Ctrl, Shift y/o Alt y escribe el atajo de teclado deseado para el idioma %1$s:
+
+
+
+ Selecciona un atajo de teclado estándar o elige \"Personalizar\" y mantén pulsado Ctrl, Shift y/o Alt y escribe el atajo de teclado deseado:
+
+
+
+
+ El atajo de teclado %1$s entrará en conflicto con el uso normal del teclado. Deberías usar al menos Ctrl o Alt. ¿Deseas cambiar esto ahora\?
+
+
+
+
+ El atajo de teclado %1$s entra en conflicto con el atajo de teclado seleccionado para el teclado %2$s. Si continúas, se eliminará el atajo de teclado para el teclado %2$s. ¿Continuar\?
+
+
+
+
+ El atajo de teclado %1$s entra en conflicto con otro atajo de teclado. Si continúas, se eliminará el otro atajo. ¿Continuar\?
+
+
+
+ Componentes de Keyman actualizados disponibles
+
+
+
+ Hay actualizaciones de Keyman disponibles
+
+
+
+ Selecciona las actualizaciones que deseas instalar:
+
+
+
+ Puedes descargar la nueva versión desde:
+
+
+
+ Instalar ahora
+
+
+
+ Cancelar
+
+
+
+ Versión antigua
+
+
+
+ Componente actualizado
+
+
+
+ Tamaño
+
+
+
+
+ Keyman %1$s
+
+
+
+
+ Teclado %1$s %2$s
+
+
+
+ No se puede contactar con keyman.com: asegúrate de tener una conexión a Internet activa y vuelve a intentarlo.
+
+
+
+
+ No se puede contactar con keyman.com: asegúrate de tener una conexión a Internet activa y vuelve a intentarlo. El error recibido fue: %1$s
+
+
+
+ Actualizaciones de Keyman disponibles
+
+
+
+ Haz clic en este ícono para descargar e instalar las actualizaciones
+
+
+
+ Ver e &instalar las actualizaciones de Keyman
+
+
+
+ Sa&lir de la búsqueda de actualizaciones en línea
+
+
+
+ Keyman
+
+
+
+ Iniciar Keyman
+
+
+
+ Salir
+
+
+
+ Configuración
+
+
+
+ Mostrar esta pantalla al inicio
+
+
+
+ Mostrar en
+
+
+
+ Buscar otros idiomas de interfaz en línea...
+
+
+
+ Ayuda a traducir la interfaz de usuario...
+
+
+
+ Español
+
+
+
+ Español (Spanish)
+
+
+
+ es-419
+
+
+
+ en
+
+
+
+ Keyman
+
+
+
+ Restablecer sugerencias
+
+
+
+ Todos los mensajes de sugerencias se han restablecido y se mostrarán nuevamente.
+
+
+
+
+ ¿Salir de Keyman\?
+
+
+
+
+ ¿Estás seguro de que deseas salir de Keyman\? Tus teclados de Keyman seguirán apareciendo en los idiomas de Windows, pero no funcionarán hasta que reinicies Keyman.
+
+
+
+
+ Teclado en pantalla cerrado
+
+
+
+
+ Has cerrado el Teclado en pantalla. Keyman está activado. Puedes abrir el Teclado en pantalla en cualquier momento haciendo clic en el ícono de Keyman y seleccionando \"Teclado en pantalla\"
+
+
+
+ No volver a mostrar esta sugerencia
+
+
+
+ Ayuda de Keyman
+
+
+
+ Contenido de ayuda
+
+
+
+ Ayuda para
+
+
+
+ teclado \" \"
+
+
+
+ Ver teclado en pantalla
+
+
+
+ Ver ayuda para fuentes
+
+
+
+ Ver mapa de caracteres
+
+
+
+ Abrir configuración de Keyman
+
+
+
+ Abrir ayuda
+
+
+
+ Cerrar el teclado en pantalla
+
+
+
+ &Desactivar Keyman
+
+
+
+ Teclado en &Pantalla
+
+
+
+ Ayuda para &fuentes
+
+
+
+ Mapa de &caracteres
+
+
+
+ Editor de &texto...
+
+
+
+ Confi&guración...
+
+
+
+ &Ayuda...
+
+
+
+ Sa&lir
+
+
+
+ Atenuar cuando esté inactivo
+
+
+
+ Mostrar barra de herramientas
+
+
+
+ Guardar como página web...
+
+
+
+ Imprimir...
+
+
+
+ Keyman
+
+
+
+
+ Versión %1$s
+
+
+
+ &Imprimir...
+
+
+
+
+ Ya está instalado un paquete con el nombre %1$s. ¿Deseas desinstalarlo e instalar el nuevo\?
+
+
+
+
+ Ya está instalado un teclado con el nombre \"%1$s\". Si continúas, se desinstalará antes de que se instale el nuevo. ¿Continuar\?
+
+
+
+
+ El teclado \'%1$s\' es parte del paquete \'%2$s\'. Debes desinstalar el paquete completo. ¿Continuar\?
+
+
+
+
+ No se puede instalar el idioma del teclado; Windows tiene un límite de 4 idiomas \"transitorios\" personalizados, y puede que hayas alcanzado este límite.
+
+
+
+
+ El paquete o teclado \'%1$s\' no incluye ayuda introductoria.
+
+
+
+ Este sistema operativo no es compatible.
+
+
+
+ KeymanDesktop.chm
+
+
+
+ No se pudo encontrar el archivo de ayuda.
+
+
+
+ Página de códigos
+
+
+
+ Unicode
+
+
+
+ Descargando archivo
+
+
+
+
+ ¿Estás seguro de que deseas eliminar el teclado en pantalla instalado para %1$s\?
+
+
+
+
+ ¿Estás seguro de que deseas desinstalar el teclado %1$s\?
+
+
+
+
+ ¿Estás seguro de que deseas desinstalar el paquete %1$s\?\n\n%2$s
+
+
+
+
+ Las siguientes fuentes también se desinstalarán: %1$s.
+
+
+
+ El mapa de caracteres contiene una base de datos de caracteres que debe ser compilada antes de poder ser utilizada. ¿Compilar ahora\?
+
+
+
+
+ No se pudo eliminar la base de datos de caracteres Unicode para la recopilación. Detalles del error: %1$s
+
+
+
+
+ No se pudo crear la base de datos de caracteres Unicode y quedó deshabilitada. Los detalles del error: %1$s
+
+
+
+
+ La base de datos de caracteres Unicode no se cargó correctamente (%1$s). ¿Desea recompilarla?
+
+
+
+
+ Keyman no pudo iniciarse. Antes de continuar, verifique su configuración de seguridad para asegurarse de que el programa keyman.exe tiene permitido iniciar. El error obtenido fue:\n\n\"%1$s\"\n\n¿Deseas intentar iniciar Keyman nuevamente ahora\?
+
+
+
+ La información de depuración de Keyman se almacenará en un archivo log llamado %LOCALAPPDATA%\Keyman\Diag\system#.etl (donde # es un número). Debes salir de Keyman antes de intentar eliminar este archivo.\n\n\ADVERTENCIA: este archivo puede crecer muy rápidamente. Habilitar la depuración puede ralentizar su sistema y sólo deberías hacerlo si te lo aconseja el soporte técnico.\n\nADVERTENCIA DE PRIVACIDAD: ten en cuenta que el archivo log de depuración registra todas las teclas que escribes. Sólo debes activar el log de depuración durante una sesión de depuración o diagnóstico.
+
+
+
+ Espera mientras buscamos fuentes relacionadas para el teclado %1$s
+
+
+
+ El teclado %1$s no es un teclado Unicode. Las fuentes no se pueden ubicar automáticamente. Revisa la documentación del teclado para obtener información sobre las fuentes.
+
+
+
+ No hay distribuciones de teclado instaladas o cargadas actualmente.
+
+
+
+ Selecciona un teclado de Keyman para encontrar fuentes relacionadas.
+
+
+
+ Editor de texto - Keyman
+
diff --git a/windows/src/desktop/setup/locale/es-419/strings.xml b/windows/src/desktop/setup/locale/es-419/strings.xml
new file mode 100644
index 0000000000..b6a634d654
--- /dev/null
+++ b/windows/src/desktop/setup/locale/es-419/strings.xml
@@ -0,0 +1,80 @@
+
+
+ Español
+ Instalador de $APPNAME $VERSION
+ Instalar $APPNAME $VERSION
+ $APPNAME $VERSION se ha instalado correctamente.
+ ¿Estás seguro de que deseas cancelar la instalación de $APPNAME?
+ Extrayendo paquete...
+ Comprobando paquetes...
+ Buscando actualizaciones en línea...
+ Comprobando versiones instaladas...
+ Finalizando...
+
+ • $APPNAME %0:s %1:s
+
+ • %0:s %1:s %2:s
+
+ • %0:s %1:s para %2:s %3:s
+ No hay nada para instalar.
+
+ (Descarga de %0:s)
+ Se instalará:
+ $APPNAME $VERSION es gratis y de código abierto
+ Lee&r la licencia
+ &Opciones de instalación
+ Instalador de $APPNAME
+ Aceptar
+ &Instalar
+ Cancelar
+ Sa&lir
+ Instalando $APPNAME
+ Eliminando versiones anteriores
+ Instalación completa
+ Debes reiniciar Windows antes de que se complete la instalación. Cuando reinicies Windows, la instalación continuará.
+
+¿Reiniciar ahora?
+ No se pudo reiniciar Windows automáticamente. Deberías reiniciar Windows antes de intentar iniciar $APPNAME.
+ Debes reiniciar Windows para completar la instalación. Cuando reinicies Windows, la instalación finalizará.
+ $APPNAME $VERSION requiere Windows 7 o posterior para instalar, pero se ha detectado Keyman Desktop 7, 8 o 9. ¿Deseas instalar los teclados incluidos en este instalador en la versión instalada de Keyman Desktop?
+ Esta versión de $APPNAME requiere Windows 7 o posterior para instalarse. ¿Deseas descargar Keyman Desktop 8?
+ Opciones de instalación
+ Opciones de instalación
+ Configuración predeterminada de $APPNAME
+ Módulos a instalar o actualizar
+ Idioma asociado al teclado
+ Versión a instalar
+ Iniciar $APPNAME cuando inicie Windows
+ Iniciar $APPNAME cuando finalice la instalación
+ Buscar actualizaciones en línea periódicamente
+ Actualizar teclados instalados con versiones anteriores a la versión $VERSION
+ Compartir estadísticas de uso anónimas con keyman.com
+
+ Versión del instalador: %0:s
+ Instalar $APPNAME
+ Actualizar $APPNAME
+
+ $APPNAME %0:s ya está instalado.
+
+ Descargar versión %0:s (%1:s)
+
+ Versión %0:s
+
+ Instalar %0:s
+
+ Descargar versión %0:s (%1:s)
+
+ Versión %0:s
+
+ Selecciona el idioma que deseas asociar con el teclado %0:s
+ Idioma predeterminado
+
+ Descargando %0:s
+
+ Descargando %0:s
+ El instalador de $APPNAME no pudo conectarse a keyman.com para descargar los recursos adicionales.
+
+Comprueba que estás en línea y da permiso al instalador de $APPNAME para acceder a Internet en la configuración de tu cortafuegos.
+
+Haz clic en Abortar para salir del instalador, en Reintentar para descargar los recursos de nuevo o en Ignorar para continuar sin conexión.
+