Ir para o conteúdo

Design de Tradução

Visão Geral

Esta página aborda o design do sistema de traduções.

Pacotes

As traduções são armazenadas em pacotes. Os pacotes são compostos por chaves de tradução que são mapeadas para traduções.

Imagem 2017 3 27 16 29 39

No Bundle descrito acima, um nome de controle ou rótulo com o valor “Cliente” será traduzido para inglês (EUA), espanhol ou japonês de acordo com o perfil do usuário.

Chave de Tradução

A chave de tradução é usada para pesquisar uma tradução. A chave de tradução é o texto que aparece no Vinyl IDE do seu aplicativo. Quando você importa chaves de tradução para seu aplicativo, o Vinyl obtém valores de todos os nomes de controle, rótulos, eventos e mensagens de validação.

Na maioria das vezes, a chave de tradução será idêntica à tradução padrão (Inglês-EUA). No entanto, há ocasiões em que é benéfico criar uma chave lógica "substituta" para diferenciar duas traduções.

Por exemplo, digamos que você tenha dois controles com nomes idênticos em seu aplicativo - "Construção":

  • Num caso, Edifício refere-se a uma estrutura física.
  • No outro caso, Construir refere-se à ação de construir uma coisa.

Embora estas duas traduções em inglês sejam equivalentes, outras línguas podem usar palavras distintas. Por exemplo, em alemão, a palavra para construção (estrutura) é “Gebäude”, enquanto a palavra para construção (ação) é “Aufbau”. Para resolver esse problema, você pode inserir um nome de controle distinto, como "Building_Structure". No seu pacote, você personalizaria a tradução em inglês da chave de tradução "Building_Structure" para "Building" e a tradução em alemão para "Gebäude".

Vinculação do Pacote de Aplicativos

Os aplicativos estão vinculados a um e apenas um pacote. Quaisquer fontes de dados vinculadas a um aplicativo também serão vinculadas ao pacote configurável do aplicativo. Por exemplo:

Imagem 2017 3 27 16 38 21

Um pacote também pode ser vinculado a vários aplicativos.

Imagem 2017 3 27 16 39 48

Em geral, é mais seguro ter um pacote por aplicativo. Isso se torna particularmente verdadeiro quando você migra seu LP de Dev > QA > Prod. Os pacotes são empacotados com seu aplicativo em um LP e seguindo a regra de um aplicativo, um pacote ajuda a evitar colisões ao instalar arquivos LP separados.

Itens Traduzidos

Os seguintes itens são atualmente tratados pelo sistema de Tradução:

  • Controlar nomes, rótulos, rótulos curtos
  • Mensagens pré, pós-sucesso e pós-falha do evento
  • Mensagem de validação
  • Modelos
  • Colunas marcadas suportam traduções

Determinando o Idioma do Usuário

O idioma dos usuários é determinado avaliando o seguinte (em ordem):

  1. Configuração de idioma do perfil do usuário do Vinyl.
  2. $cultureId passado por meio da string de consultar do URL. Isso também definirá o cookie da cultura do Vinyl.
  3. Biscoito de cultura de Vinyl.
  4. O cabeçalho da solicitação Accept-Language do navegador.

Nota

Para o caso #4, o Vinyl escolherá o idioma com melhor classificação. Não há lógica alternativa para tentar escolher o próximo melhor idioma.

Formatos de Substituição

Da mesma forma, as traduções podem ser marcadas com um formato de substituição.

  • Padrão: o formato tentará ser determinado automaticamente com base no conteúdo da string.
  • Nenhum: Nenhuma substituição necessária
  • DotNet: o formato usa colchetes numerados para substituir parâmetros
    • Por ex. "O {0} raposa pulou a cerca".
  • Guiador: o formato usa colchetes nomeados para substituir parâmetros como o nome da coluna.
    • Por ex. "O {AnimalColour} raposa pulou a cerca".