ресурсы строк Android¶
Специфичный для Android формат файла для перевода приложений.
Строковые ресурсы Android являются одноязычными, Одноязычный базовый файл хранится в другом месте, чем другие файлы - 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.
Примечание
Структуры строкового массива 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>
Настройка Weblate¶
Типовые настройки компонента Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Строковый ресурс Android |