Diseño de Traducción
Descripción General
En esta página se describe el diseño del sistema de traducciones.
Paquetes
Las traducciones se almacenan en paquetes. Los paquetes están compuestos por claves de traducción que se asignan a las traducciones.
En el paquete descrito anteriormente, un nombre de control o etiqueta con el valor "Cliente" se traducirá al inglés (EE. UU.), español o japonés según el perfil del usuario.
Clave de Traducción
La clave de traducción se utiliza para buscar una traducción. La clave de traducción es el texto que aparece dentro de la App Builder IDE para su aplicación. Cuando importa claves de traducción para su aplicación, App Builder extrae valores de todos los nombres de control, etiquetas, eventos y mensajes de validación.
La mayoría de las veces, la clave de traducción será idéntica a la traducción predeterminada (inglés-EE. UU.). Sin embargo, hay ocasiones en las que es beneficioso crear una clave "sustituta" lógica para diferenciar dos traducciones.
A modo de ejemplo, supongamos que tiene dos controles con nombres idénticos en su aplicación: "Building":
- En un caso, Building se refiere a una estructura física.
- En el otro caso, Building se refiere a la acción de construir algo.
Aunque estas dos traducciones al inglés son equivalentes, otros idiomas pueden usar palabras distintas. Por ejemplo, en alemán, la palabra para edificio (estructura) es "Gebäude", mientras que la palabra para edificio (acción) es "Aufbau". Para resolver este problema, puede ingresar un nombre de control distinto, como "Building_Structure". En su paquete, personalizaría la traducción al inglés de la clave de traducción "Building_Structure" para que sea "Building" y la traducción al alemán para que sea "Gebäude".
Vinculación de Paquetes de Aplicaciones
Las aplicaciones están vinculadas a un único paquete. Todas las fuentes de datos que están vinculadas a una aplicación también se vinculan al paquete de la aplicación. Por ejemplo:
También se puede vincular un paquete desde varias aplicaciones.
En general, es más seguro tener un paquete por aplicación. Esto se vuelve particularmente cierto cuando va a migrar su LP desde Dev > QA > Prod. Los paquetes se empaquetan con su aplicación en un LP y seguir la regla de una aplicación, un paquete ayuda a evitar colisiones al instalar archivos LP separados.
Artículos Traducidos
El sistema de traducción maneja actualmente los siguientes elementos:
- Nombres de control, etiquetas, etiquetas cortas
- Mensajes de éxito previo y posterior a un evento, mensajes de error posterior
- Mensaje de validación
- Plantillas
- Columnas marcadas como compatibles con traducciones
Determinar el Idioma del Usuario
El idioma del usuario se determina evaluando lo siguiente (en orden):
- App Builder configuración de idioma del perfil de usuario.
$cultureId
se pasa a través de la cadena de consultar de URL. Esto también establecerá el App Builder galleta de cultura.- App Builder galleta de cultura.
- El encabezado de solicitud Accept-Language del navegador.
Nota
Para el caso #4, App Builder elegirá el idioma con la clasificación más alta. No existe una lógica de respaldo para intentar elegir el siguiente mejor idioma.
Formatos de Sustitución
Además, las traducciones pueden etiquetarse con un formato de sustitución.
- Predeterminado: el formato intentará determinarse automáticamente en función del contenido de la cadena.
- Ninguno: no es necesaria ninguna sustitución
- DotNet: el formato utiliza corchetes numerados para sustituir parámetros
- Por ejemplo, "El
{0}
El zorro saltó la cerca".
- Por ejemplo, "El
- Handlebar: el formato usa corchetes con nombre para sustituir parámetros como el nombre de la columna.
- Por ejemplo, "El
{AnimalColour}
El zorro saltó la valla".
- Por ejemplo, "El