Definições de idioma

Para apresentar diferentes traduções corretamente, são necessárias informações sobre nome do idioma, direção de texto, definições plurais e código de idioma.

Analisando códigos de idioma

Ao analisar as traduções, o Weblate tenta mapear o código de idioma (geralmente o ISO 639-1) para qualquer objeto de idioma existente.

Pode ajustar ainda mais esse mapeamento no nível do projeto por Aliases do idioma.

Se nenhuma correspondência exata for encontrada, uma tentativa será feita para melhor encaixá-la num idioma existente. São testadas etapas a seguir:

  • Procuras sem diferenciar maiúsculo de minúsculo.

  • Normalizar sublinhados e traços.

  • Procurar aliases de idioma embutido.

  • Procurar por nome de idioma.

  • Ignorar o código de país padrão para o idioma dado – escolher cs em vez de cs_CZ.

Se isso também falhar, uma nova definição de idioma será criada a usar seu padrão (direção do texto da esquerda para a direita, um plural). A linguagem criada automaticamente com o código xx_XX será nomeada como xx_XX (generated). Podia mudar isso na interface administrativa mais tarde, (veja Alterando as definições de idioma) e relatar ao rastreador de problemas (veja Contribuir ao Weblate), para que a definição apropriada possa ser adicionada ao próximo lançamento do Weblate.

Dica

No caso de ver algo indesejado como idioma, podia ajustar Filtro de idioma para ignorar tal ficheiro ao analisar traduções.

Alterando as definições de idioma

Pode alterar as definições de idioma na interface de idiomas (URL /languages/).

Durante a edição, certifique-se de que todos os campos estejam corretos (especialmente os plurais e a direção do texto), caso contrário, os tradutores não poderão editar adequadamente essas traduções.

Definições embutidas de idioma

Definições para cerca de 600 idiomas estão incluídas no Weblate e a lista é estendida a cada versão. Sempre que o Weblate é atualizado (mais especificamente sempre que weblate migrate é executado, veja Instruções genéricas de atualização) o banco de dados de idiomas é atualizado para incluir todas as definições de idioma enviadas no Weblate.

Este recurso pode ser desativado a usar UPDATE_LANGUAGES. Também pode forçar a atualização do banco de dados para corresponder aos dados embutidos do Weblate a usar setuplang.

Códigos de idioma ambíguos e macrolinguagens

Em muitos casos, não é uma boa ideia usar código de idioma macro para uma tradução. O caso típico problemático pode ser a língua curda, que pode ser escrita em árabe ou latim, a depender da variante real. Para obter o comportamento correto no Weblate, é recomendável usar apenas códigos de idioma individuais e evitar macroidiomas.

Definições de idioma

Cada idioma consiste nos seguintes campos:

Código do idioma

Code identifying the language. Weblate prefers two letter codes as defined by ISO 639-1, but uses ISO 639-2 or ISO 639-3 codes for languages that do not have two letter code. It can also support extended codes as defined by BCP 47.

Nome do idioma

Nome visível do idioma. Os nomes dos idiomas incluídos no Weblate também estão a ser localizados a depender do idioma da interface do utilizador.

Direção do texto

Determina se o idioma é escrito da direita para a esquerda ou da esquerda para a direita. Esta propriedade é autodetectada corretamente para a maioria dos idiomas.

Quantidade de plurais

Quantidade de plurais usados no idioma.

Fórmula de plural

Fórmula de plural compatível com Gettext usada para determinar qual forma de plural é usada para determinada contagem.

Adicionando novas traduções

Alterado na versão 2.18: Nas versões anteriores a 2.18, o comportamento de adicionar novas traduções era específico do formato de ficheiro.

Weblate pode iniciar automaticamente uma nova tradução para todos os formatos de ficheiro.

Alguns formatos esperam começar com um ficheiro vazio e apenas cadeias traduzidas a serem incluídas (por exemplo, Recurso de cadeias de Android), enquanto outros esperam ter todas as chaves presentes (por exemplo, GNU gettext). Em algumas situações, isso realmente não depende do formato, mas sim do framework que usa para lidar com a tradução (por exemplo, com Ficheiro JSON).

Quando especifica Modelo para novas traduções em Configuração de componente, Weblate usará este ficheiro para iniciar novas traduções. Todas as traduções existentes serão removidas do ficheiro ao fazer isso.

Quando Modelo para novas traduções está vazio e o formato de ficheiro suporta, um ficheiro vazio é criado onde novas cadeias serão adicionadas assim que forem traduzidos.

O Estilo de código de idioma permite que personalize o código de idioma usado nos nomes de ficheiros gerados:

Predefinição baseada no formato do ficheiro

Dependendo do formato do ficheiro, para a maioria deles utiliza-se POSIX.

Estilo POSIX utilizando o sublinhado como um separador

Normalmente usado por gettext e ferramentas relacionadas, produz códigos de linguagem como pt_BR.

Estilo de POSIX utilizando o sublinhado como um separador, incluindo o código do país

Código de idioma do estilo POSIX incluindo o código do país mesmo quando não necessário (por exemplo, cs_CZ).

Estilo BCP utilizando o hífen como um separador

Normalmente usado em plataformas web, produz códigos de idioma como pt-BR.

Estilo de BCP utilizando o hífen como um separador, incluindo o código do país

Código de idioma do estilo BCP, incluindo o código do país, mesmo quando não necessário (por exemplo, cs-CZ).

Estilo Android

Usado apenas em apps Android, produz códigos de idioma como pt-rBR.

Estilo Java

Usado por Java – principalmente BCP com códigos legados para chinês.

Além disso, quaisquer mapeamentos definidos em Aliases do idioma são aplicados ao contrário.

Nota

O Weblate reconhece qualquer um desses ao analisar ficheiros de tradução; as configurações acima apenas influenciam como os novos ficheiros são criados.