Formatos de ficheiros suportados

O Weblate tem suporte à maioria dos formatos de tradução compreendidos pelo translate-toolkit, porém cada formato a ser ligeiramente diferente, alguns problemas com formatos que não são bem testados podem surgir.

Nota

Ao escolher um formato de ficheiro para a sua aplicação, é melhor pôr algum formato bem estabelecido no kit de ferramentas/plataforma que usa. Dessa forma, os seus tradutores podem usar adicionalmente todas as ferramentas que estão acostumados e provavelmente contribuirão para o seu projeto.

Formatos bilíngues e monolíngues

Ambos os formatos monolingual e bilingual são suportados. Formatos bilingues armazenam dois idiomas num único ficheiro e tradução (exemplos típicos são GNU gettext, XLIFF ou Cadeias de Apple iOS). Por outro lado, formatos monolingues identificam a cadeia por ID e cada ficheiro de idioma contém apenas o mapeamento desses para qualquer idioma (tipicamente Recurso de cadeias de Android). Alguns formatos de ficheiro são utilizados em ambas as variantes, veja a descrição detalhada abaixo.

Para o uso correto de ficheiros monolingues, Weblate requer acesso a um ficheiro a conter uma lista completa de cadeias para traduzir com a fonte dele – este ficheiro é chamado de Ficheiro de idioma base monolingue dentro do Weblate, embora a nomenclatura possa variar no seu paradigma.

Além disso, este fluxo de trabalho pode ser estendido a usar Ficheiro de idioma intermédio para incluir cadeias fornecidas pelos programadores, mas não para ser usado como está nos textos finais.

Deteção automática

O Weblate pode detetar automaticamente vários formatos de ficheiros generalizados, mas essa detecção pode prejudicar o seu desempenho e limitará recursos específicos para o formato de ficheiro dado (por exemplo, a adição automática de novas traduções).

Capacidades dos tipos de tradução

Capacidades de todos os formatos suportados:

Formato

Lingualidade 1

Plurais 2

Comentários 3

Contexto 4

Localização 5

Marcadores 8

Estados adicionais 6

GNU gettext

bilíngue

sim

sim

sim

sim

sim 9

necessita edição

Gettext monolíngue

mono

sim

sim

sim

sim

sim 9

necessita edição

XLIFF

ambos

sim

sim

sim

sim

sim 10

necessita edição, aprovado

Propriedades Java

ambos

não

sim

não

não

não

Ficheiros lang mi18n

mono

não

sim

não

não

não

Propriedades GWT

mono

sim

sim

não

não

não

Traduções para Joomla

mono

não

sim

não

sim

não

.ts de Qt Linguist

ambos

sim

sim

não

sim

sim 10

necessita edição

Recurso de cadeias de Android

mono

sim

sim 7

não

não

sim 10

Cadeias de Apple iOS

bilíngue

não

sim

não

não

não

Cadeias de PHP

mono

não 11

sim

não

não

não

Ficheiro JSON

mono

não

não

não

não

não

Ficheiros i18next do JSON

mono

sim

não

não

não

não

Ficheiros JSON go-i18n

mono

sim

não

não

não

não

Ficheiro ARB

mono

sim

sim

não

não

não

JSON WebExtension

mono

sim

sim

não

não

não

Ficheiros de recursos .XML

mono

não

sim

não

não

sim 10

Ficheiros CSV

ambos

não

sim

sim

sim

não

necessita edição

Ficheiros YAML

mono

não

sim

não

não

não

Ficheiros Ruby YAML

mono

sim

sim

não

não

não

Ficheiros DTD

mono

não

não

não

não

não

Ficheiro XML simples

mono

não

não

não

não

sim 10

Ficheiros RC do Windows

mono

não

sim

não

não

não

Excel Open XML

mono

não

sim

sim

sim

não

necessita edição

Ficheiros de metadados da App Store

mono

não

não

não

não

não

Ficheiros de legenda

mono

não

não

não

sim

não

Ficheiro HTML

mono

não

não

não

não

não

Formato OpenDocument

mono

não

não

não

não

não

Formato IDML

mono

não

não

não

não

não

Traduções de INI

mono

não

não

não

não

não

Traduções Inno Setup INI

mono

não

não

não

não

não

Formato TermBase eXchange

bilíngue

não

sim

não

não

sim 10

Ficheiros de texto

mono

não

não

não

não

não

Formato stringsdict

mono

sim

sim

não

não

não

Formato Fluent

mono

não 12

sim

não

não

não

1

Veja Formatos bilíngues e monolíngues

2

Os plurais são necessários para localizar adequadamente as cadeias com contagem variável.

3

Os comentários podem ser usados para passar informações adicionais sobre a cadeia a traduzir.

4

O contexto é usado para diferenciar cadeias idênticas usadas em diferentes escopos (por exemplo, Sun pode ser usado como um nome abreviado do dia «Sunday» ou como o nome da nossa estrela mais próxima).

5

A localização de uma cadeia no código-fonte pode ajudar tradutores proficientes a descobrir como a cadeia é usada.

6

Estados adicionais suportados pelo formato do ficheiro, além de «Não traduzido» e «Traduzido».

7

Comentário XML posto antes do elemento <string>, analisado como um comentário do programador.

8

Veja Personalizando comportamento a usar marcadores

9(1,2)

Os comentários do tipo gettext são usados como marcadores.

10(1,2,3,4,5,6)

Os marcadores são extraídos do atributo não padrão weblate-flags para todos os formatos baseados em XML. Adicionalmente, o max-length:N é suportado através do atributo maxwidth como definido no padrão XLIFF, veja Especificação de bandeiras de tradução.

11

Os plurais são suportados apenas para Laravel, que usa em sintaxe de cadeias para defini-las, veja Localização em Laravel`_.

12

Plurals are handled in the syntax of the strings and not exposed as plurals in Weblate.

Read-only strings

Novo na versão 3.10.

Cadeias de somente leitura dos ficheiros de tradução serão incluídos, mas não podem ser editadas no Weblate. Esse recurso é suportado nativamente por poucos formatos (XLIFF e Recurso de cadeias de Android), mas pode ser emulado em outros a adicionar um marcador read-only, consulte Personalizando comportamento a usar marcadores.

GNU gettext

O formato mais usado para traduzir software livre.

As informações contextuais armazenadas no ficheiro são suportadas a ajustar os cabeçalhos dele ou a vincular-se a ficheiros fonte correspondentes.

O ficheiro de PO de texto bilíngue normalmente parece-se com este:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"

Configuração de componente típica do Weblate

Máscara de ficheiro

po/*.po

Ficheiro de idioma base monolingue

Vazio

Modelo para novas traduções

po/messages.pot

Formato de ficheiro

Ficheiro Gettext PO

Gettext monolíngue

Alguns projetos decidem usar o gettext como formatos monolingues – eles codificam apenas os IDs no código-fonte deles e a cadeia então precisa ser traduzido para todos os idiomas, que inclui o inglês. É suportado, embora tenha que escolher este formato de ficheiro explicitamente ao importar componentes para o Weblate.

O ficheiro gettext PO monolíngue normalmente se parece com este:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"

Enquanto o ficheiro de idioma base será:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"

Configuração de componente típica do Weblate

Máscara de ficheiro

po/*.po

Ficheiro de idioma base monolingue

po/en.po

Modelo para novas traduções

po/messages.pot

Formato de ficheiro

Ficheiro Gettext PO (monolíngue)

XLIFF

Formato baseado em XML criado para padronizar ficheiros de tradução, mas no final é um dos muitos padrões, nesta área.

XML Localization Interchange File Format (XLIFF) é normalmente utilizado como bilíngue, mas Weblate também o suporta como monolíngue.

Veja também

Especificação do `XML Localization Interchange File Format (XLIFF)

Estados de tradução

Alterado na versão 3.3: Weblate ignorava o atributo state antes da versão 3.3.

O atributo state no ficheiro é parcialmente processado e mapeado para o estado «Necessita edição» no Weblate (os seguintes estados são utilizados para marcar a cadeia como a necessitar editar se houver um alvo presente: new, needs-translation, needs-adaptation, needs-l10n). Caso o atributo state esteja a faltar, uma cadeia é considerada traduzida assim que um elemento <target> existir.

Se a cadeia de tradução tiver approved="yes", ela também será importada para a Weblate como «Aprovado», qualquer outra coisa será importada como «A aguardar revisão» (que corresponde à especificação XLIFF).

Ao gravar, o Weblate não adiciona esses atributos a menos que seja necessário:

  • O atributo state só é adicionado no caso da cadeia ser marcada como a necessitar de edição.

  • O atributo approved só é adicionado no caso da cadeia ter sido revista.

  • Em outros casos os atributos não são adicionados, mas são atualizados no caso de estarem presentes.

Isso significa que, ao utilizar o formato XLIFF, é fortemente recomendado ativar o processo de revisão do Weblate, de modo a ver e alterar o estado aprovado de cadeias.

Da mesma forma, ao importar tais ficheiros (no formulário de envio), deve escolher Importador como traduzido em A processar as cadeias que necessitam edição.

Veja também

Revisores dedicados

Espaços em branco e novas linhas em XLIFF

Geralmente os tipos ou quantidades de espaços em branco não são diferenciados entre si nos formatos XML. Se quiser mantê-los, tem que adicionar o marcador xml:space="preserve" à cadeia.

Por exemplo:

    <trans-unit id="10" approved="yes">
        <source xml:space="preserve">hello</source>
        <target xml:space="preserve">Hello, world!
</target>
    </trans-unit>

Especificação de bandeiras de tradução

Pode especificar marcadores de tradução adicionais (veja Personalizando comportamento a usar marcadores) a utilizar o atributo weblate-flags. Weblate também entende os atributos maxwidth e font da especificação XLIFF:

<trans-unit id="10" maxwidth="100" size-unit="pixel" font="ubuntu;22;bold">
   <source>Hello %s</source>
</trans-unit>
<trans-unit id="20" maxwidth="100" size-unit="char" weblate-flags="c-format">
   <source>Hello %s</source>
</trans-unit>

O atributo fonte é analisado para a família de fontes, tamanho e peso, o exemplo acima mostra tudo isso, embora apenas a família de fontes seja necessária. Qualquer espaço em branco na família de fontes é convertido para sublinhado, então Source Sans Pro torna-se Source_Sans_Pro, por favor tenha isso em mente ao nomear o grupo de fontes (veja Gerir letras).

Chaves de cadeias

Weblate identifica as unidades no ficheiro XLIFF pelo atributo resname no caso de estar presente e, do contrário, recorre a id (junto com a tag file se presente).

O atributo resname deveria ser um identificador humanamente amigável da unidade, a tornar-a mais adequada para a exibição de Weblate em vez de id. O resname tem de ser único em todo o ficheiro XLIFF. Isto é exigido pelo Weblate e não é coberto pelo padrão XLIFF – não coloca nenhuma restrição de exclusividade neste atributo.

Configuração de componente típica do Weblate para XLIFF bilíngue

Máscara de ficheiro

localizations/*.xliff

Ficheiro de idioma base monolingue

Vazio

Modelo para novas traduções

localizations/en-US.xliff

Formato de ficheiro

Ficheiro de tradução XLIFF

Configuração de componente típica do Weblate para XLIFF monolíngue

Máscara de ficheiros

localizations/*.xliff

Ficheiro de idioma base monolingue

localizations/en-US.xliff

Modelo para novas traduções

localizations/en-US.xliff

Formato de ficheiro

Ficheiro de tradução XLIFF

Propriedades Java

Formato nativo do Java para traduções.

As propriedades Java são geralmente usadas como traduções monolíngues.

Weblate é compatível com as variantes ISO-8859-1, UTF-8 e UTF-16 deste formato. Todos eles suportam o armazenamento de todos os caracteres Unicode, mas são codificados de forma diferente. No ISO-8859-1, as sequências de escape Unicode são usadas (por exemplo, zkou\u0161ka), todas as outras codificam caracteres diretamente em UTF-8 ou UTF-16.

Nota

Carregar sequências de escape também funciona no modo UTF-8, por isso, tenha cuidado ao escolher o conjunto de codificação correto para corresponder às necessidades da aplicação.

Configuração de componente típica do Weblate

Máscara de ficheiro

src/app/Bundle_*.properties

Ficheiro de idioma base monolingue

src/app/Bundle.properties

Modelo para novas traduções

Vazio

Formato de ficheiro

Propriedades Java (ISO-8859-1)

Ficheiros lang mi18n

Novo na versão 4.7.

File format used for JavaScript localization by mi18n. Syntactically it matches Propriedades Java.

Configuração de componente típica do Weblate

Máscara de ficheiro

*.lang

Ficheiro de idioma base monolingue

en-US.lang

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro lang mi18n

Propriedades GWT

Formato nativo de GWT para traduções.

As propriedades GWT são geralmente usadas como traduções monolíngues.

Configuração de componente típica do Weblate

Máscara de ficheiro

src/app/Bundle_*.properties

Ficheiro de idioma base monolingue

src/app/Bundle.properties

Modelo para novas traduções

Vazio

Formato de ficheiro

Propriedades GWT

Traduções de INI

Novo na versão 4.1.

Formato de aplicação INI para traduções.

As traduções de INI são geralmente usadas como traduções monolíngues.

Configuração de componente típica do Weblate

Máscara de ficheiro

language/*.ini

Ficheiro de idioma base monolingue

language/en.ini

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro INI

Nota

O Weblate só extrai chaves de seções dentro de um ficheiro INI. Caso o seu ficheiro INI não tenha seções, quereria usar Traduções para Joomla ou Propriedades Java.

Traduções Inno Setup INI

Novo na versão 4.1.

Formato de ficheirio Inno Setup INI para traduções.

As traduções Inno Setup INI são normalmente usadas como traduções monolingues.

Nota

A única diferença notável para Traduções de INI é ter suporte aos espaços reservados %n and %t para quebra de linha e tabulação.

Configuração de componente típica do Weblate

Máscara de ficheiro

language/*.islu

Ficheiro de idioma base monolingue

language/en.islu

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro Inno Setup INI

Nota

Apenas ficheiros Unicode (.islu) são suportados atualmente, a variante ANSI (.isl) não é suportada atualmente.

Traduções para Joomla

Novo na versão 2.12.

Formato nativo de Joomla para traduções.

As traduções de Joomla são geralmente usadas como traduções monolíngues.

Configuração de componente típica do Weblate

Máscara de ficheiro

language/*/com_foobar.ini

Ficheiro de idioma base monolingue

language/en-GB/com_foobar.ini

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro de idioma Joomla

.ts de Qt Linguist

Formato de tradução usado em aplicações baseados em Qt.

Os ficheiros Qt Linguist são usados como traduções bilíngues e monolíngues.

Configuração de componente típica do Weblate ao usar como bilíngue

Máscara de ficheiro

i18n/app.*.ts

Ficheiro de idioma base monolingue

Vazio

Modelo para novas traduções

i18n/app.de.ts

Formato de ficheiro

Ficheiro de tradução Qt Linguist

Configuração de componente típica do Weblate ao usar como monolíngue

Máscara de ficheiro

i18n/app.*.ts

Ficheiro de idioma base monolingue

i18n/app.en.ts

Modelo para novas traduções

i18n/app.en.ts

Formato de ficheiro

Ficheiro de tradução Qt Linguist

Recurso de cadeias de Android

Formato de ficheiro específico do Android para traduzir aplicações.

Os recursos de cadeias do Android são monolingues, o Ficheiro de idioma base monolingue é armazenado num local diferente dos outros res/values/strings.xml.

Configuração de componente típica do Weblate

Máscara de ficheiro

res/values-*/strings.xml

Ficheiro de idioma base monolingue

res/values/strings.xml

Modelo para novas traduções

Vazio

Formato de ficheiro

Recurso de cadeias de Android

Nota

As estruturas de `string-array`do Android não são atualmente suportadas. Para contornar isso, pode quebrar os seus vetores de cadeias:

<string-array name="several_strings">
    <item>First string</item>
    <item>Second string</item>
</string-array>

se torna:

<string-array name="several_strings">
    <item>@string/several_strings_0</item>
    <item>@string/several_strings_1</item>
</string-array>
<string name="several_strings_0">First string</string>
<string name="several_strings_1">Second string</string>

O string-array que aponta para os elementos string deve ser armazenado num ficheiro diferente e não ser disponibilizado para tradução.

Este script pode ajudar a pré-processar os seus ficheiros strings.xml e traduções existentes: https://gist.github.com/paour/11291062

Cadeias de Apple iOS

Formato de ficheiro específico da Apple para traduzir aplicações, utilizado tanto para traduções de aplicações de iOS quanto de iPhone/iPad.

As cadeias de Apple iOS geralmente são usadas como traduções bilingues.

Configuração de componente típica do Weblate

Máscara de ficheiro

Resources/*.lproj/Localizable.strings

Ficheiro de idioma base monolingue

Resources/en.lproj/Localizable.strings ou Resources/Base.lproj/Localizable.strings

Modelo para novas traduções

Vazio

Formato de ficheiro

Cadeias do iOS (UTF-8)

Cadeias de PHP

As traduções do PHP são geralmente monolingues, por isso é recomendável especificar um ficheiro base com (o que é mais frequentemente os) cadeias em inglês.

Exemplo de ficheiro:

<?php
$LANG['foo'] = 'bar';
$LANG['foo1'] = 'foo bar';
$LANG['foo2'] = 'foo bar baz';
$LANG['foo3'] = 'foo bar baz bag';

Configuração de componente típica do Weblate

Máscara de ficheiro

lang/*/texts.php

Ficheiro de idioma base monolingue

lang/en/texts.php

Modelo para novas traduções

lang/en/texts.php

Formato de ficheiro

Cadeias do PHP

Cadeias de PHP Laravel

Alterado na versão 4.1.

Os ficheiros de localização do PHP de Laravel também são suportados com plurais:

<?php
return [
    'welcome' => 'Welcome to our application',
    'apples' => 'There is one apple|There are many apples',
];

Ficheiro JSON

Novo na versão 2.0.

Alterado na versão 2.16: Desde o Weblate 2.16 e com translate-toolkit pelo menos 2.2.4, os ficheiros JSON de estrutura aninhada também são suportados.

Alterado na versão 4.3: A estrutura de ficheiros JSON é devidamente preservada mesmo para situações complexas que foram quebradas em versões anteriores.

O formato JSON é usado principalmente para traduzir aplicações implementades em JavaScript.

O Weblate atualmente suporta várias variantes das traduções JSON:

As traduções JSON são geralmente monolingues, por isso é recomendável especificar um ficheiro base com (o que é mais frequentemente os) cadeias em inglês.

Exemplo de ficheiro:

{
  "Hello, world!\n": "Ahoj světe!\n",
  "Orangutan has %d banana.\n": "",
  "Try Weblate at https://demo.weblate.org/!\n": "",
  "Thank you for using Weblate.": ""
}

Os ficheiros aninhados também são suportados (veja acima para os requisitos), tal ficheiro pode parecer:

{
  "weblate": {
    "hello": "Ahoj světe!\n",
    "orangutan": "",
    "try": "",
    "thanks": ""
  }
}

Dica

O ficheiro JSON e Ficheiro de estrutura JSON aninhada podem ambos lidar com o mesmo tipo de ficheiros. Ambos preservam a estrutura JSON existente ao traduzir.

A única diferença entre eles é ao adicionar textos ao usar Weblate. O formato de estrutura aninhada analisa a tecla recém-adicionada e insere a cadeia na estrutura de correspondência. Por exemplo, a tecla app.name está inserida como:

{
   "app": {
      "name": "Weblate"
   }
}

Configuração de componente típica do Weblate

Máscara de ficheiro

langs/translation-*.json

Ficheiro de idioma base monolingue

langs/translation-en.json

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro de estrutura JSON aninhada

Ficheiros i18next do JSON

Alterado na versão 2.17: Desde o Weblate 2.17 e com translate-toolkit pelo menos 2.2.5, os ficheiros I18next do JSON com plurais também são suportados.

i18next é uma estrutura de internacionalização escrita dentro e para JavaScript. O Weblate suporta os ficheiros de localização dele com recursos como plurais.

As traduções i18next são monolingues, por isso é recomendável especificar um ficheiro base com (o que é mais frequentemente os) cadeias em inglês.

Nota

Weblate suporta o formato v3 de I18next do JSON. As variantes V2 e V1 são na maioria compatíveis, com exceção de como os plurais são manuseados.

Exemplo de ficheiro:

{
  "hello": "Hello",
  "apple": "I have an apple",
  "apple_plural": "I have {{count}} apples",
  "apple_negative": "I have no apples"
}

Configuração de componente típica do Weblate

Máscara de ficheiro

langs/*.json

Ficheiro de idioma base monolingue

langs/en.json

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro JSON i18next

Ficheiros JSON go-i18n

Novo na versão 4.1.

As traduções go-i18n são monolingues, por isso é recomendável especificar um ficheiro base com (o que é mais frequentemente os) cadeias em inglês.

Nota

Weblate tem suporte ao formato go-i18n JSON v1, para formatos JSON simples, use Ficheiro JSON. O formato v2 com hash não é suportado no momento.

Configuração de componente típica do Weblate

Máscara de ficheiro

langs/*.json

Ficheiro de idioma base monolingue

langs/en.json

Modelo para novas traduções

Vazio

Formato de ficheiro

ficheiro JSON go-i18n

Ficheiro ARB

Novo na versão 4.1.

As traduções ARB são monolingues, por isso é recomendável especificar um ficheiro base com (o que é mais frequentemente os) cadeias em inglês.

Configuração de componente típica do Weblate

Máscara de ficheiro

lib/l10n/intl_*.arb

Ficheiro de idioma base monolingue

lib/l10n/intl_en.arb

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro ARB

JSON WebExtension

Novo na versão 2.16: Isto é suportado desde Weblate 2.16 e com o translate-toolkit pelo menos 2.2.4.

Formato de ficheiro usado ao traduzir extensões para Mozilla Firefox ou Google Chromium.

Nota

Embora este formato se chame JSON, a especificação dele permite incluir comentários, que não fazem parte da especificação JSON. O Weblate atualmente não suporta ficheiro com comentários.

Exemplo de ficheiro:

{
  "hello": {
    "message": "Ahoj světe!\n",
    "description": "Description",
    "placeholders": {
      "url": {
        "content": "$1",
        "example": "https://developer.mozilla.org"
      }
    }
  },
  "orangutan": {
    "message": "",
    "description": "Description"
  },
  "try": {
    "message": "",
    "description": "Description"
  },
  "thanks": {
    "message": "",
    "description": "Description"
  }
}

Configuração de componente típica do Weblate

Máscara de ficheiro

_locales/*/messages.json

Ficheiro de idioma base monolingue

_locales/en/messages.json

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro JSON WebExtension

Ficheiros de recursos .XML

Novo na versão 2.3.

Um ficheiro de rescurso .XML (.resx) emprega um formato de ficheiro XML monolíngue usado nas aplicações Microsoft .NET. É intercambiável com .resw, quando usa sintaxe idêntica ao .resx.

Configuração de componente típica do Weblate

Máscara de ficheiro

Resources/Language.*.resx

Ficheiro de idioma base monolingue

Resources/Language.resx

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro de recursos .NET

Ficheiros CSV

Novo na versão 2.4.

Os ficheiros CSV podem conter uma simples lista de origem e tradução. O Weblate suporta os seguintes ficheiros:

  • Ficheiros com campos de definição de cabeçalho (location, source, target, ID, fuzzy, context, translator_comments, developer_comments). Esta é a abordagem recomendada, pois é a menos sujeita a erros. Escolha Ficheiro CSV como um formato de ficheiro.

  • Ficheiros com dois campos – fonte e tradução (nesta ordem). Escolha Ficheiro CSV simples como um formato de ficheiro.

  • Ficheiros sem cabeçalhos com campos na ordem definida pelo translate-toolkit: location, source, target, ID, fuzzy, context, translator_comments, developer_comments. Escolha Arquivo CSV como formato de ficheiro.

  • Lembre-se de definir o Ficheiro de idioma base monolingue quando os seus ficheiros são monolíngues (veja Formatos bilíngues e monolíngues).

Aviso

O formato CSV detecta automaticamente o dialeto do ficheiro CSV. Em alguns casos, a detecção automática pode falhar e terá resultados mistos. Isso é especialmente verdadeiro para ficheiros CSV com linhas novas nos valores. Como solução alternativa, recomenda-se omitir caracteres entre aspas.

Exemplo de ficheiro:

Thank you for using Weblate.,Děkujeme za použití Weblate.

Configuração de componente típica do Weblate para CSV bilíngue

Máscara de ficheiro

locale/*.csv

Ficheiro de idioma base monolingue

Vazio

Modelo para novas traduções

locale/en.csv

Formato de ficheiro

Ficheiro CSV

Configuração de componente típica do Weblate para CSV monolíngue

Máscara de ficheiro

locale/*.csv

Ficheiro de idioma base monolingue

locale/en.csv

Modelo para novas traduções

locale/en.csv

Formato de ficheiro

Ficheiro CSV simples

Veja também

CSV

Ficheiros YAML

Novo na versão 2.9.

Os ficheiros YAML simples com chaves de cadeias e valores. Weblate também extrai cadeias de listas ou dicionários.

Exemplo de um ficheiro YAML:

weblate:
  hello: ""
  orangutan": ""
  try": ""
  thanks": ""

Configuração de componente típica do Weblate

Máscara de ficheiro

translations/messages.*.yml

Ficheiro de idioma base monolingue

translations/messages.en.yml

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro YAML

Veja também

YAML, Ficheiros Ruby YAML

Ficheiros Ruby YAML

Novo na versão 2.9.

Ficheiros YAML de i18n do Ruby com idioma como nó raiz.

Exemplo de ficheiro YAML de i18n do Ruby:

cs:
  weblate:
    hello: ""
    orangutan: ""
    try: ""
    thanks: ""

Configuração de componente típica do Weblate

Máscara de ficheiro

translations/messages.*.yml

Ficheiro de idioma base monolingue

translations/messages.en.yml

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro Ruby YAML

Veja também

YAML, Ficheiros YAML

Ficheiros DTD

Novo na versão 2.18.

Exemplo de ficheiro DTD:

<!ENTITY hello "">
<!ENTITY orangutan "">
<!ENTITY try "">
<!ENTITY thanks "">

Configuração de componente típica do Weblate

Máscara de ficheiro

locale/*.dtd

Ficheiro de idioma base monolingue

locale/en.dtd

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro DTD

Veja também

Mozilla DTD format

Ficheiro XML simples

Novo na versão 3.9.

Exemplo de um ficheiro XML simples:

<?xml version='1.0' encoding='UTF-8'?>
<root>
  <str key="hello_world">Hello World!</str>
  <str key="resource_key">Translated value.</str>
</root>

Configuração de componente típica do Weblate

Máscara de ficheiro

locale/*.xml

Ficheiro de idioma base monolingue

locale/en.xml

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro XML simples

Veja também

Flat XML

Ficheiros RC do Windows

Alterado na versão 4.1: O suporte para ficheiros RC do Windows foi reescrito.

Nota

O suporte para este formato está atualmente em beta, feedback de testes é bem-vindo.

Exemplo de ficheiro RC do Windows:

LANGUAGE LANG_CZECH, SUBLANG_DEFAULT

STRINGTABLE
BEGIN
    IDS_MSG1                "Hello, world!\n"
    IDS_MSG2                "Orangutan has %d banana.\n"
    IDS_MSG3                "Try Weblate at http://demo.weblate.org/!\n"
    IDS_MSG4                "Thank you for using Weblate."
END

Configuração de componente típica do Weblate

Máscara de ficheiro

lang/*.rc

Ficheiro de idioma base monolingue

lang/en-US.rc

Modelo para novas traduções

lang/en-US.rc

Formato de ficheiro

Ficheiro RC

Veja também

Windows RC files

Ficheiros de metadados da App Store

Novo na versão 3.5.

Metadados usados para publicar aplicações em várias lojas de aplicações podem ser traduzidos. Atualmente, as seguintes ferramentas são compatíveis:

Os metadados consistem em vários ficheiros de texto, que o Weblate apresentará como cadeias separados para traduzir.

Configuração de componente típica do Weblate

Máscara de ficheiro

fastlane/android/metadata/*

Ficheiro de idioma base monolingue

fastlane/android/metadata/en-US

Modelo para novas traduções

fastlane/android/metadata/en-US

Formato de ficheiro

Ficheiros de metadados de loja de aplicações

Dica

Caso não queira traduzir certas cadeias (por exemplo, changelogs), marque-as como somente leitura (veja Personalizando comportamento a usar marcadores). Isto pode ser automatizado por Edição em massa.

Ficheiros de legenda

Novo na versão 3.7.

Weblate pode traduzir vários ficheiros de legenda:

  • Ficheiros de legenda SubRip (*.srt)

  • Ficheiro de legenda MicroDVD (*.sub)

  • Ficheiro de legenda Advanced Substation Alpha (*.ass)

  • Ficheiro de legenda Substation Alpha (*.ssa)

Configuração de componente típica do Weblate

Máscara de ficheiro

path/*.srt

Ficheiro de idioma base monolingue

path/en.srt

Modelo para novas traduções

path/en.srt

Formato de ficheiro

Ficheiro de legenda SubRip

Veja também

Subtitles

Excel Open XML

Novo na versão 3.2.

Os ficheiros Excel Open XML (.xlsx) podem ser importados e exportados.

Ao enviar ficheiros XLSX para a tradução, esteja ciente que apenas a planilha ativa é considerada e deve haver pelo menos uma coluna chamada source (que contém a cadeia fonte) e uma coluna chamada target (que contém a tradução). Além disso, deve haver a coluna chamada context (que contém o caminho de contexto da cadeia de tradução). Se usar a descarrega XLSX para exportar as traduções numa pasta de trabalho do Excel, já terá um ficheiro com o formato de ficheiro correto.

Ficheiro HTML

Novo na versão 4.1.

Nota

O suporte para este formato está atualmente em beta, feedback de testes é bem-vindo.

O conteúdo traduzível é extraído dos ficheiros HTML e oferecido para a tradução.

Veja também

HTML

Ficheiros de texto

Novo na versão 4.6.

Nota

O suporte para este formato está atualmente em beta, feedback de testes é bem-vindo.

O conteúdo traduzível é extraído dos ficheiros de texto simples e oferecido para a tradução. Cada parágrafo é traduzido como um texto separado.

Há três sabores desse formato:

  • Ficheiros de texto simples

  • Ficheiros de texto DokuWiki

  • Ficheiro de texto MediaWiki

Veja também

Simple Text Documents

Formato OpenDocument

Novo na versão 4.1.

Nota

O suporte para este formato está atualmente em beta, feedback de testes é bem-vindo.

O conteúdo traduzível é extraído dos ficheiros OpenDocument e oferecido para a tradução.

Veja também

OpenDocument Format

Formato IDML

Novo na versão 4.1.

Nota

O suporte para este formato está atualmente em beta, feedback de testes é bem-vindo.

O conteúdo traduzível é extraído dos ficheiros Adobe InDesign Markup Language e oferecido para a tradução.

Formato TermBase eXchange

Novo na versão 4.5.

TBX é um formato XML para a troca de dados de terminologia.

Configuração de componente típica do Weblate

Máscara de ficheiro

tbx/*.tbx

Ficheiro de idioma base monolingue

Vazio

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro TermBase eXchange

Formato stringsdict

Novo na versão 4.8.

Nota

O suporte para este formato está atualmente em beta, feedback de testes é bem-vindo.

XML based format used by Apple which is able to store plural forms of a string.

Configuração de componente típica do Weblate

Máscara de ficheiro

Resources/*.lproj/Localizable.stringsdict

Ficheiro de idioma base monolingue

Resources/en.lproj/Localizable.stringsdict ou Resources/Base.lproj/Localizable.stringsdict

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro Stringsdict

Formato Fluent

Novo na versão 4.8.

Nota

O suporte para este formato está atualmente em beta, feedback de testes é bem-vindo.

Fluent is a monolingual text format that focuses on asymmetric localization: a simple string in one language can map to a complex multi-variant translation in another language.

Configuração de componente típica do Weblate

Máscara de ficheiro

locales/*/messages.ftl

Ficheiro de idioma base monolingue

locales/en/messages.ftl

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro Fluent

Veja também

Site do projeto Fluent

Suportando outros formatos

A maioria dos formatos suportados pelo translate-toolkit que tem suporte a serialização pode ser facilmente suportado, mas eles não (ainda) receberam nenhum teste. Na maioria dos casos, alguma camada fina é necessária no Weblate para ocultar diferenças no comportamento de diferentes armazenamentos do translate-toolkit.

To add support for a new format, the preferred approach is to first implement support for it in the translate-toolkit.