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]

Descrição [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

ambos

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

ficheiros de gotext JSON

mono

sim

sim

não

sim

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 de ResourceDictionary

mono

não

não

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

Textos somente leitura

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 ficheiros

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 ficheiros

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.

O Weblate tem suporte a XLIFF em várias variantes:

Ficheiro de tradução XLIFF

Ficheiros XLIFF simples onde o conteúdo dos elementos é armazenado como texto simples (todos os elementos XML sendo escapados).

XLIFF com suporte transponível

XLIFF padrão que oferece suporte a objetos colocáveis e outros elementos XML.

XLIFF com extensões gettext

XLIFF enriquecido pelo XLIFF 1.2 Representation Guide for Gettext PO para oferecer suporte a plurais.

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 de edição» no Weblate (os estados seguintes são utilizados para marcar a cadeia como a necessita de edição se houver um alvo presente: new, needs-translation, needs-adaptation, needs-l10n). Caso o atributo state falte, 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 de 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 ficheiros

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 ficheiros

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.

Formato de ficheiro usado para localização de JavaScript por mi18n. Sintaticamente, ele corresponde a Propriedades Java.

Configuração de componente típica do Weblate

Máscara de ficheiros

*.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 ficheiros

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 ficheiros

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 ficheiros

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 ficheiros

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 ficheiros

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 ficheiros

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 texto do Android são monolíngues, o Ficheiro de idioma base monolingue é armazenado num local diferente dos outros ficheiros – res/values/strings.xml.

Configuração de componente típica do Weblate

Máscara de ficheiros

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

Dica

Para evitar a tradução de alguns textos, eles podem ser marcados como não traduzíveis. Isso pode ser especialmente útil para referências de textos:

<string name="foobar" translatable="false">@string/foo</string>

Cadeias de Apple iOS

Formato de ficheiro normalmente usado para traduzir aplicações do Apple iOS, mas também padronizado pelo PWG 5100.13 e usado no NeXTSTEP/OpenSTEP.

Os textos de Apple iOS geralmente são usados como monolingue.

Configuração de componente típica do Weblate

Máscara de ficheiros

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 ficheiros

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 ficheiros

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.

Alterado na versão 4.15.1: O suporte para a variante v4 deste formato foi adicionado.

Dica

In case you use plurals, it is recommended to use v4 as that aligned plural handling with CLDR. Older versions have different plural rules for some languages which are not correct.

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

O Weblate suporta as variantes i18next JSON v3 e v4. Escolha o formato de ficheiro correto que corresponda ao seu ambiente.

Weblate suporta o formato v3 de I18next do JSON. As variantes V2 e V1 são na maioria compatíveis com a V3, 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 ficheiros

langs/*.json

Ficheiro de idioma base monolingue

langs/en.json

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro i18next JSON v3

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.

Alterado na versão 4.16: Weblate supports both v1 and v2 formats, please choose corresponding version when selecting file format.

Configuração de componente típica do Weblate

Máscara de ficheiros

langs/*.json

Ficheiro de idioma base monolingue

langs/en.json

Modelo para novas traduções

Vazio

Formato de ficheiro

go-i18n v1 JSON file

ficheiros de gotext JSON

Novo na versão 4.15.1.

As traduções i18next são monolingues, assim é 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 ficheiros

internal/translations/locales/*/messages.gotext.json

Ficheiro de idioma base monolingue

internal/translations/locales/en-GB/messages.gotext.json

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro de gotext JSON

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 ficheiros

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": "Orangutan has $coUnT$ bananas",
    "description": "Description",
    "placeholders": {
      "count": {
        "content": "$1",
        "example": "5"
      }
    }
  },
  "try": {
    "message": "",
    "description": "Description"
  },
  "thanks": {
    "message": "",
    "description": "Description"
  }
}

Configuração de componente típica do Weblate

Máscara de ficheiros

_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 ficheiros

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 de ResourceDictionary

Novo na versão 4.13.

ResourceDictionary é um formato de ficheiro XML monolingue usado para empacotar recursos de textos localizáveis para aplicações Windows Presentation Foundation (WPF).

Configuração de componente típica do Weblate

Máscara de ficheiros

Languages/*.xaml

Ficheiro de idioma base monolingue

Language/en.xaml

Modelo para novas traduções

Vazio

Formato de ficheiro

Ficheiro ResourceDictionary

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 Ficheiro de 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).

Dica

Por padrão, o formato CSV detecta automaticamente a codificação do ficheiro. Isso pode não ser confiável em alguns casos de canto e causa penalidade de desempenho. Por favor, escolha a variante de formato de ficheiro com codificação para evitar isso (por exemplo Ficheiro CSV (UTF-8)).

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 ficheiros

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 ficheiros

locale/*.csv

Ficheiro de idioma base monolingue

locale/en.csv

Modelo para novas traduções

locale/en.csv

Formato de ficheiro

Ficheiro CSV simples

Ficheiro CSV com vários valores

Novo na versão 4.13.

Esta variante dos ficheiros CSV permite armazenar várias traduções por texto.

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 ficheiros

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 ficheiros

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 ficheiros

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 ficheiros

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 ficheiros

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 ficheiros

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 ficheiros

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 ficheiros

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.

Formato baseado em XML usado pela Apple, que é capaz de armazenar formas plurais de um texto.

Configuração de componente típica do Weblate

Máscara de ficheiros

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 é um formato de texto monolíngue que se concentra na localização assimétrica: um texto simples num idioma pode ser mapeado para uma tradução multivariante complexa em outro idioma.

Configuração de componente típica do Weblate

Máscara de ficheiros

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.

Para adicionar suporte para um novo formato, a abordagem preferida é primeiro implementar o suporte para ele no translate-toolkit.