Começar com a internacionalização

Tem um projeto e quer traduzi-lo para vários idiomas? Este guia o ajudará a fazer isso. Várias situações típicas são apresentadas, mas a maioria dos exemplos são genéricos e podem ser aplicados a outros cenários também.

Antes de traduzir qualquer programa, deve perceber que os idiomas ao redor do mundo são realmente diferentes e não deve fazer nenhuma suposição com base na sua experiência. Para a maioria dos idiomas, parecerá estranho se tentar concatenar uma frase de segmentos traduzidos. Também deve lidar adequadamente com formas plurais porque muitos idiomas têm regras complexas para isso e a estrutura de internacionalização que acaba por utilizar deveria oferecer suporte para isto.

Por último, mas não menos importante, às vezes pode ser necessário adicionar algum contexto ao texto traduzido. Imagine que um tradutor receberia a cadeia Sun para traduzir. Sem contexto, a maioria das pessoas traduziria isso como a nossa estrela mais próxima, mas pode ser usado como uma abreviatura para domingo.

Escolher a estrutura de internacionalização

Escolha o que for padrão na sua plataforma, tente evitar reinventar a roda ao criar a sua própria estrutura para lidar com as traduções. O Weblate suporta a maioria das estruturas amplamente utilizadas, consulte Formatos de ficheiro de localização para mais informação (especialmente Capacidades dos tipos de tradução).

A nossa recomendação pessoal para algumas plataformas está na tabela a seguir. Isto baseia-se na nossa experiência, mas não pode abranger todos os casos de utilização, por isso, considere sempre o seu ambiente ao fazer a escolha.

O fluxo de trabalho mais detalhado para alguns formatos é descrito nos capítulos a seguir:

Educar desenvolvedores para internacionalização adequada

Internacionalização de software não se trata apenas e conseguir traduzir cadeias de carateres mas sim de tornar a aparência do software inteiro nativa para o utilizador de outro país. isto também inclui coisas como data ou formatação de números, exibição de moeda, ou introdução de texto na direção certa. A maior parte das estruturas de software têm um bom suporte para isto, por isso siga as instruções das mesmas para estas áreas todas.

A tradução de cadeias de carateres pode também não ser uma tarefa simples. Isto é especialmente verdade para cadeias de carateres como legendas ou rótulos de botões. Idiomas diferentes têm regras diferentes, e não é razoável esperar que a mesma cadeia de carateres seja traduzida da mesma maneira. Em várias situações pode não ser claro como traduzir, e é ainda mais desafiante distinguir se a palavra é um verbo ou um nome.

Todos os desenvolvedores devem perceber isto e identificar cadeias de carateres de forma única em diferentes escopos. Por exemplo, None que significa «nenhum utilizador» pode ser traduzido de forma diferente de None que significa «nenhum item». Utilize diferentes chave ou contextos para distinguir estes termos para tradutores. Pode fornecer contexto adicional no Weblate, como por exemplo Capturas de ecrã e contexto visual ou Explicação.

O trabalho técnico é só parte do trabalho. Tradutores também observam o fluxo de trabalho do projeto à volta de cadeias de carateres, publicações, e comunicação. Algumas práticas tornam a colaboração muito mais fácil:

  • Responda a questões e comentários do tradutor, e certifique-se que o canal de contacto apresentado é realmente monitorizado.

  • Evite excesso de trabalho desnecessário em cadeias de carateres fonte. Reformular ou substituir cadeias de carateres existentes sem uma razão visível ao utilizador cria trabalho de tradução evitável.

  • Adicione contexto suficiente para tradutores perceberem cadeias de carateres curtas ou ambíguas. Evite concatenar frases de fragmentos, utilize marcadores de lugar que podem ser reordenados, e dependa apenas na gestão de plural embutida.

  • Envie traduções regularmente para que o trabalho completado não permaneça inutilizado no Weblate por longos períodos de tempo.

  • Comunique alterações de fluxo de trabalho ou política, e mantenha requisitos de tradução realísticos para equipas de traduções mais pequenas.

  • Se um projeto já não é mantido, reflita isso no fluxo de trabalho da tradução em vez de deixar componentes abertos indefinidamente.

O Weblate também pode ajudar com alguns destes problemas. Particularmente, commits regulares automáticos do Weblate tornam o progresso de tradução visível no histórico de código fonte e reduzem o risco que trabalho acabado seja esquecido antes de um lançamento. Veja Tradução contínua para opções automáticas.

Veja também