Recursos de cadeias de carateres para Android

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

Dica

A very similar formats are Recursos Compose Multiplatform and Recursos de Mobile Kotlin.

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

O Weblate faz o seguinte escape de cadeias:

  • Se uma cadeia for um XML válido, será inserida como XML para tradução.

  • ? e @ são escapados com \\ no início da cadeia para evitar interpretá-las como referências de estilo ou recurso.

  • Caso a cadeia contenha vários espaços, ele será posto entre aspas duplas (").

  • Novas linhas são escapadas como \\n, mas a nova linha real também é mantida para facilitar a leitura.

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 algumas cadeias, podem ser marcadas como não traduzíveis. Isso pode ser especialmente útil para referências de cadeias:

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

Configuração do Weblate

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