Design de tradução no Jitterbit App Builder
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 mapeiam para traduções.

No pacote 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.
Selar e desselar pacotes
Desde o App Builder 4.52, os pacotes de tradução podem ser selados e desselados. Um pacote selado não pode ser modificado, mas se você precisar permitir que os desenvolvedores façam alterações conforme necessário, pode desselar os pacotes. Para selar ou desselar um pacote de tradução, siga estas etapas:
-
Abra o IDE.
-
No painel Implantar, clique em Traduções de Idioma.
-
Clique na aba Pacotes. A página Traduções-Pacotes é aberta.
-
No painel Pacotes, clique em Gerenciar Pacotes. Um diálogo é aberto.
-
No diálogo, uma lista de pacotes é exibida. Aqueles que estão selados contêm um ícone . Selecione o pacote que você deseja selar ou desselar. Seus detalhes serão exibidos no painel Pacote.
-
Clique em Mais e uma lista de opções aparecerá. Se o pacote estiver selado, uma delas será Desselar Pacote. Se o pacote estiver desselado, uma delas será Selar Pacote.
Aviso
Você nunca deve precisar desselar um pacote de tradução em ambientes de QA ou produção. Fazer isso destrói a garantia de equivalência entre os ambientes. Alterações feitas em objetos desselados não podem ser reproduzidas em outros ambientes sem um esforço significativo.
Chave de tradução
A Chave de Tradução é usada para procurar uma tradução. A Chave de Tradução é o texto que aparece dentro do IDE do App Builder para seu aplicativo. Quando você importa chaves de tradução para seu aplicativo, o App Builder puxa valores de todos os nomes de controle, rótulos, eventos e mensagens de validação.
A maior parte do tempo, a chave de tradução será idêntica à tradução padrão (Inglês dos EUA). No entanto, há ocasiões em que é benéfico criar uma chave "substituta" lógica para diferenciar duas traduções.
Como exemplo, digamos que você tenha dois controles com o mesmo nome em seu aplicativo - "Building":
- Em um caso, Building refere-se a uma estrutura física.
- No outro caso, Building refere-se à ação de construir algo.
Embora essas duas traduções em inglês sejam equivalentes, outros idiomas podem usar palavras distintas. Por exemplo, em alemão, a palavra para building (estrutura) é "Gebäude", enquanto a palavra para building (ação) é "Aufbau". Para resolver esse problema, você pode inserir um nome de controle distinto, como "Building_Structure". Em seu pacote, você personalizaria a tradução em inglês da chave de tradução "Building_Structure" para ser "Building" e a tradução em alemão para ser "Gebäude".
Vínculo do pacote do aplicativo
Os aplicativos estão vinculados a um e apenas um pacote. Quaisquer fontes de dados que estão vinculadas a um aplicativo também ficam vinculadas ao pacote do aplicativo. Por exemplo:

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

Em geral, é mais seguro ter um pacote por aplicativo. Isso se torna particularmente verdadeiro quando você vai migrar seu LP de Dev > QA > Prod. Os pacotes são empacotados com seu aplicativo em um LP e seguir 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:
- Nomes de controle, rótulos, rótulos curtos
- Mensagens de sucesso pré-evento, pós-sucesso, pós-falha
- Mensagem de validação
- Modelos
- Colunas marcadas que suportam traduções
Determinando o idioma do usuário
A linguagem do usuário é determinada avaliando o seguinte (em ordem):
- Configuração de idioma do perfil do usuário do App Builder.
$cultureIdpassado na string de consulta da URL. Isso também definirá o cookie de cultura do App Builder.- Cookie de cultura do App Builder.
- O cabeçalho de solicitação Accept-Language do navegador.
Nota
Para o caso #4, o App Builder escolherá o idioma de maior classificação. Não há lógica de fallback para tentar escolher o próximo melhor idioma.
Formatos de substituição
Além disso, 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
- Ex.: "A raposa
{0}pulou sobre a cerca".
- Ex.: "A raposa
- Handlebar: O formato usa colchetes nomeados para substituir parâmetros como o nome da coluna.
- Ex.: "A raposa
{AnimalColour}pulou sobre a cerca".
- Ex.: "A raposa