Comea ç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 software, 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 a usar deve oferecer suporte a isso.

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.

Escolhendo a estrutura de internacionalização

Escolha o que for padrão na sua plataforma, tente evitar reinventar a roda a criar a sua própria estrutura para lidar com localizações. Weblate tem suporte à maioria dos frameworks amplamente usados, veja Formatos de ficheiros suportados para mais informações (especialmente Capacidades dos tipos de tradução).

Nossa recomendação pessoal para algumas plataformas está na tabela a seguir. Isso se baseia em nossa experiência, mas não pode abranger todos os casos de uso, portanto, sempre considere o seu ambiente ao fazer a escolha.

Plataforma

Formato recomendado

Android

Recurso de cadeias de Android

iOS

Cadeias de Apple iOS

Qt

.ts de Qt Linguist

Python

GNU gettext

PHP

GNU gettext 1

C/C++

GNU gettext

C#

Ficheiros de recursos .XML

Perl

GNU gettext

Ruby

Ficheiros Ruby YAML

Extensões web

JSON WebExtension

Java

XLIFF 2

JavaScript

Ficheiros i18next do JSON 3

1

O suporte nativo a Gettext no PHP é problemático e frequentemente está ausente nas compilações do Windows, é recomendado usar a biblioteca de terceiros motranslator em vey disso.

2

Também pode usar Propriedades Java se os plurais não forem necessários.

3

Também pode usar Ficheiro JSON simples se os plurais não forem necessários.

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