Lingo.dev + .xml (Android)
Lingo.dev CLI переводит файлы ресурсов Android XML, сохраняя их исходную структуру, атрибуты и специфические для Android конвенции. CLI легко интегрируется с существующими процессами сборки Android, поддерживает системы связывания ресурсов, работает с Gradle и Android Studio, а также следует стандартам локализации платформы без необходимости преобразования форматов.
Быстрая настройка
Укажите путь к вашим файлам ресурсов Android, используя шаблоны папок на основе локали:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"android": {
"include": ["res/values-[locale]/strings.xml"]
}
}
}
Напоминание: [locale]
— это заполнитель, который должен оставаться в конфигурации буквально, так как он заменяется на фактическую локаль во время выполнения CLI.
Обработка ресурсов по умолчанию
Android требует наличия папки values/
по умолчанию. Создайте символическую ссылку для совместимости:
cd res
ln -s values-en values
Это удовлетворяет требованиям Android, обеспечивая при этом правильную обработку локалей.
Перевод ресурсов
npx lingo.dev@latest i18n
Обрабатывает все типы ресурсов Android, сохраняя форматирование XML, атрибуты и специальный синтаксис Android.
Полная поддержка ресурсов Android
Массивы строк
<string-array name="planets">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
</string-array>
Множественные формы с количествами
<plurals name="songs_found">
<item quantity="one">%d песня найдена</item>
<item quantity="other">%d песен найдено</item>
</plurals>
Сохранение форматов
- HTML-разметка: теги
<b>
,<i>
,<u>
сохраняются - Спецификаторы формата: заполнители
%1$s
,%2$d
сохраняются - Секции CDATA: содержимое
<![CDATA[]]>
обрабатывается корректно - Ссылки на строки: ссылки
@string/app_name
сохраняются - Специальные символы: экранирование
\@
,\?
,\#
сохраняется
Расширенная конфигурация
Несколько файлов ресурсов
"android": {
"include": [
"res/values-[locale]/strings.xml",
"res/values-[locale]/plurals.xml"
]
}
Пропуск непереводимых строк
Автоматически учитывает атрибуты translatable="false"
.