Android string resources

Android specific file format for translating applications.

The same file format is also used by JetBrains Compose Multiplatform Kotlin Resources.

Android string resources are monolingual, the Ettspråklig basis-språkfil is stored in a different location from the other files – res/values/strings.xml.

Weblate does following escaping of strings:

  • If a strings is valid XML, it is inserted as XML to translation.

  • ? and @ are escaped with a \\ at the beginning of the string to avoid interpreting them as style or resource references.

  • In case string contains multiple spaces, it is quoted with double quotes (").

  • Newlines are escaped as \\n, but the actual newline is kept for readability as well.

Merknad

Android string-array structures are not currently supported. To work around this, you can break your string arrays apart:

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

become:

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

The string-array that points to the string elements should be stored in a different file, and not be made available for translation.

This script may help pre-process your existing strings.xml files and translations: https://gist.github.com/paour/11291062

Hint

To avoid translating some strings, these can be marked as non-translatable. This can be especially useful for string references:

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

Weblate configuration for Android resource strings

Typical Weblate Komponentoppsett

Filmaske

res/values-*/strings.xml

Ettspråklig basis-språkfil

res/values/strings.xml

Mal for nye oversettelser

Empty

Filformat

Android String Resource

Weblate configuration for JetBrains Compose Multiplatform Kotlin Resources

Typical Weblate Komponentoppsett

Filmaske

commonMain/composeResources/values-*/strings.xml

Ettspråklig basis-språkfil

commonMain/composeResources/values/strings.xml

Mal for nye oversettelser

Empty

Filformat

Android String Resource