Localização contextual de aplicativos web

A ferramenta Crowdin no contexto permite traduzir textos diretamente dentro do aplicativo web real. Desta forma, a melhor qualidade de tradução é mantida.

Localização do contexto é amarrada com o projeto real criado em Crowdin, abaixo dos quais traduzíveis arquivos são armazenados.

Esta ferramenta faz todos os textos na web app editável. Além disso, o processo de tradução é em tempo real visível. Até mesmo a parte dinâmica do aplicativo e as frases que contêm espaços reservados podem ser traduzidas dessa maneira.

Visão geral técnica

A tradução contextual do Crowdin funciona com a ajuda de um trecho de Javascript de linha e o pacote de pseudo-idioma. Ela cria o pacote de pseudo-idioma com base nos arquivos de localização enviados para o seu projeto, que mais tarde, serão integrados no seu aplicativo como um idioma de localização extra.

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 procura esses identificadores e os substitui pelos rótulos editáveis. De tal forma, o tradutor não, vê qualquer diferença entre o aplicativo ao vivo em relação à que usa a ferramenta integrada de tradução contextual do Crowdin. No entanto, a ferramenta define qual parte do aplicativo é traduzível e fornece todos os meios para permitir que o tradutor localize o contexto.

A tradução é feita no editor do Crowdin regular minimizado com todas as funcionalidades (MT, tradução automática, opção de aprovação/voto, comentários, termos) fornecidas. Assim, é mais fácil rever as traduções para os revisores e assegurar a qualidade.

Integração

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

  • Ambiente de preparação ou tradução. Se você não pretende convidar seus usuários finais para ajudar com as traduções, nem considerar usar um “modo de tradução” em seu aplicativo de produção, integrar a Crowdin In-Context ao seu ambiente de aplicativo de tradução dedicado é uma boa solução.
  • 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. Assim, quando os tradutores abrirem seu aplicativo, eles poderão selecionar um idioma extra na lista, que será aberto no contexto para eles.

Follow the integration setup guide in your Crowdin project to set up In-context. Para verificar o guia, abra seu projeto e vá para Configurações > Em contexto.

Após a integração bem sucedida e a atualização do seu aplicativo, você deve ver a caixa de diálogo de convite e a caixa de login do Crowdin.

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. Pode ser omitido se o texto não tiver elemento de destino (texto dentro dos pop-ups do navegador)
atributo
opcional
Atributo do elemento DOM, se o texto é parte de atributo
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. Deve alterar o idioma do aplicativo ou redirecionamento do ambiente de tradução para o aplicativo de produção, dependendo da abordagem de integração em contexto.

Este artigo foi útil?