Строковые ресурсы Android

Специфичный для Android формат файла для перевода приложений.

Подсказка

Очень похожими форматами являются Ресурсы Compose Multiplatform и Мобильные ресурсы Kotlin.

Строковые ресурсы Android являются одноязычными, Одноязычный базовый файл хранится в другом месте, чем другие файлы - res/values/strings.xml.

Weblate выполняет следующие действия по экранированию строк:

  • Если строки являются корректным кодом XML, то для перевода они будут вставлены как код XML.

  • ? и @ будут экранированы с помощью \\ в начале строки, чтобы избежать возможности интерпретации их как ссылок на стили или ресурсы.

  • Если строка содержит несколько пробелов, она будет заключена в двойные кавычки (").

  • Разрыва строк будут экранированы символом \\n, а фактические разрывы строк будут сохранены для удобства чтения.

Примечание

Структуры строкового массива Android, string-array, в настоящее время не поддерживаются. Чтобы это обойти, вы можете разбить свои строковые массивы на части:

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

станет:

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

Элемент string-array, указывающий на элементы string, должен храниться в другом файле и не должен быть доступен для перевода.

Помочь в подготовке существующих файлов strings.xml и переводов вам может вот этот скрипт: https://gist.github.com/paour/11291062

Подсказка

Чтобы избежать перевода некоторых строк, их можно пометить как непереводимые. Это может быть особенно полезно для строковых ссылок:

<string name="foobar" translatable="false">@string/foo</string>
Поддерживаемые функции

Расширения файлов

.xml

Языковость

Одноязычный

Поддерживает множественное число

Yes

Поддерживает описания

Yes

Поддерживает пояснения

No

Поддерживает контекст

No

Поддерживает расположение

No

Поддерживает флаги

Yes

Идентификатор API

aresource

Поддерживает строки только для чтения

Yes

Check flags added by this format

Java-формат

Настройка Weblate

Типичный Настройки компонента Weblate

Маска файла

res/values-*/strings.xml

Одноязычный базовый файл

res/values/strings.xml

Шаблон для новых переводов

Пусто

Формат файла

Строковый ресурс Android