Saltar al contenido

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.

Imagen 2017 3 27 16 29 39

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:

Imagen 2017 3 27 16 38 21

También se puede vincular un paquete desde varias aplicaciones.

Imagen 2017 3 27 16 39 48

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):

  1. App Builder configuración de idioma del perfil de usuario.
  2. $cultureId se pasa a través de la cadena de consultar de URL. Esto también establecerá el App Builder galleta de cultura.
  3. App Builder galleta de cultura.
  4. 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".
  • 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".