Как изменить строковые ресурсы налету?#разработка
Если приложение имеет поддержку нескольких языков, то в разработке появляется ещё одно звено — отдел переводчиков. Сразу появляется несколько проблем:
1) Люди ошибаются, и в переводах есть опечатки, неточности и ошибки, которые проявляются уже после релиза.
2)
Добавление переводов. Если в приложении много языков, то обычно переводят
базовый язык (английский), а остальные добавляют после. Если ждать перевода строк на несколько языков, то выкладка релиза может сильно затянуться. Опять приходится ожидать нового релиза.
3)
Обмен строковыми ресурсами. Переводчикам не удобно работать с форматом xml. Для удобства используются средства, которые преобразуют xml в таблицу Excel. После этого эти файлы нужно экспортировать обратно в проект. Это лишняя и рутинная задача, которая отнимает время.
К сожалению, Android не даёт стандартных средств для замены строк налету. Стандартные ресурсы работают хорошо и работают с огромным количеством языков. Но только вшивая их в очередной apk-файл.
Недавно мне попался ресурс, который решил все описанные проблемы. Это сервис
Lokalise. В
нем есть гора возможностей, которые улучшают процесс перевода приложения.
• импорт текущих ресурсов. В большом проекте может быть несколько тысяч строк. Сервис автоматически покажет дублированные строки, которые можно объединить, удалить или пропустить. При добавлении второй платформы, сервис сам предложит объединить строки с разными ключами. Это все делается в течении получаса;
• скриншоты к конкретной строке. Почти всегда для понимания контекста перевода, требуется скриншот. Добавить его можно или через API, или вручную. Делается это в пару кликов.
• переводы налету. Есть SDK для Android и iOS, которое позволит исправлять ошибки переводчиков без перезаливки приложения.
• работа с командой и система администрирования. Удобно давать доступ для переводчиков только к текущему языку.
• интеграция с Git, Jenkins и другими системами. При правильной настройке, взаимодействие с отделом переводов можно свести к минимуму или вовсе исключить. Строки будут попадать из приложения и обратно самостоятельно.
Это только некоторые преимущества этого сервиса. Их на самом деле гораздо больше. Сервис платный, но за решение такого числа задач у него вполне адекватная цена. Всячески рекомендую сервис для использования.