Configuração da tradução contextual

Visão geral

Crowdin In-Context works with the help of a one-line Javascript snippet and pseudo-language package. It creates a pseudo-language package based on the localization files uploaded to your project, which later will be integrated into your application as an extra localization language.

O pseudo-idioma integrado contém alguns identificadores especiais em vez dos textos originais, ao alternar o seu aplicativo para esse idioma, todos os rótulos são convertidos em identificadores especiais. Javascript searches for those identifiers and replaces them with editable labels. So, the In-context page of your web app will look the same as your application, with the only difference that translatable strings will be editable.

In-Context View

Translations are made directly in the app, with no need to open the Editor. As a simplified version of Crowdin Editor will be displayed, with all the functionality (TM, machine translation, approve/vote option, comments, terms) provided. Thus, it’s easier to make and review translations, as that can be previewed in a real context.

In-Context Editor

Integração

Existem duas abordagens comuns para integrar o Crowdin No contextoao seu aplicativo:

  • Ambiente de preparação ou tradução. If you are not planning to invite your end-users to help with translations or not considering to use a “translation mode” in your production application, integrating Crowdin In-Context to your staging or dedicated translation app environment would be a good solution.
  • Ambiente de produção. O Crowdin In-Context não requer alterações de código em seu aplicativo, portanto, ele pode ser usado até mesmo na produção. You decide how to turn it on and which segment of users will use it. The most common use cases are the following:
    • you can create a mirror website, that is a complete copy of your application, but under a different URL (for example, instead of crowdin.com it can be translate.crowdin.com), where translators will make translations like if it was your real application.
    • you can also add In-context as an extra language. So, when translators open your application they will be able to choose one extra language from the list, which will open In-context for them.

Follow the integration setup guide in your Crowdin project to set up In-context. The guide can be found in the left-hand panel in your project, under Resources > Integrations & API.

In-Context Tab

After the integration is successfully set up and you refreshed your application, you should be able to see the invitation dialog and Crowdin login box.

Login Window

Parâmetros opcionais

Você pode adicionar esses parâmetros ao array _jipt na configuração de fragmento.

Pré-carregamento de textos

_jipt.push(['preload_texts', true]);

Acelera o conteúdo dinâmico exibido na ferramenta In Context, pré-carregando todas as strings de origem. Desativado automaticamente para projetos grandes (5000+ strings). Valores aceitáveis: true, false.

Botão de tradução sempre visível

_jipt.push(['touch_optimized', true]);

Essa opção é ativada em telas sensíveis ao toque por padrão e torna o botão de conversão próximo a cada sequência traduzível permanentemente visível, em vez de exibir em foco. Valores aceitáveis: true, false.

Antes de confirmar o callback

_jipt.push(['before_commit', function(source, translation, context, language_code) { return status_obj; }]);

Função para validar a sugestão antes de enviar.

Parâmetros
fonteTexto de origem
traduçãoTexto de tradução
contextoContexto da cadeia de origem
language_codeCódigo do idioma de destino (códigos de idioma)
Valores de retorno
status_obj Objeto. O status_obj.status pode ser "ok", "erro" ou "corrigido". Em caso de erro, status_obj.mensagem contém a descrição do erro. Quando o status está "corrigido", status_obj.correction contém a tradução corrigida

Antes de Inserir Callback DOM

_jipt.push(['before_dom_insert', function(text, node, attribute) { return 'text'; }]);

Função para transformar a string antes que ela seja inserida no DOM.

Parâmetros
textoString para inserção
node
opcional
Elemento DOM no qual o texto deve ser inserido. May be omitted if the text does not have a target element (text inside the browser's pop-ups)
atributo
opcional
The attribute of DOM element, if the text is part of an attribute
Valores de retorno
textoString para inserção
falsoSe a função retornar false, O DOM não será atualizado

Feche o Callback de sobreposição em contexto

_jipt.push(['escape', function() { window.location.href = "http://app_domain.com"; }]);

Se definido, os usuários podem fechar a sobreposição em contexto se não quiserem traduzir. Implementar esse recurso no seu lado. It must change the app’s language or redirect from translation environment to the production app, depending on the In-Context integration approach.

Close Login Window

Este artigo foi útil?