Подтвердить что ты не робот

Как импортировать/экспортировать строковый ресурс Android в Excel для локализации?

Я использую Android Studio в разработке приложений. Я хочу перевести строки, экспортируя/импортируя языковые ресурсы Android (strings.xml) в файл Excel (xlsx). Каков наилучший способ сделать это?

4b9b3361

Ответ 1

Если кому-то еще нужен ответ,

из resstrings → right click-> Open Translations Editor. Выберите нужные данные или переменную, затем скопируйте и вставьте данные из Translations Editor чтобы добиться excel. сделанный.

image from android studio v2.2

Ответ 2

Я бы предложил лучший инструмент для локализации строки приложения Android - Редактор переводов, встроенный в Android Studio.

Причина в том, что это отличный подход, так как вы можете упростить процесс для переводчиков и менее подвержены ошибкам. Строковые файлы XML в Android Studio поддерживают записи XLIFF, которые являются стандартизованным методом для поддержки локализации строк.

Используя нотацию XLIFF в строковых файлах XML, вы можете сделать следующее, чтобы помочь переводчикам:

  • Предоставить дополнительный контекст для объявленных строк
  • Отметьте части сообщения, которые не следует переводить.

Чтобы использовать XLIFF в строковых XML файлах Android, вам нужно включить пространство имен XLIFF 1.2:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

Вот несколько примеров строк из документации по локализации Android:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

<!-- Example placeholder for a special unicode symbol -->
<string name="star_rating">Check out our 5
    <xliff:g id="star">\u2605</xliff:g>
</string>

<!-- Example placeholder for a for a URL -->
<string name="app_homeurl">
    Visit us at <xliff:g id="application_homepage">http://my/app/home.html</xliff:g>
</string>

<!-- Example placeholder for a name -->
<string name="prod_name">
    Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g>
</string>

<!-- Example placeholder for a literal -->
<string name="promo_message">
    Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>" to get a discount.
</string>

</resources>

Чтобы получить доступ к редактору переводов в Android Studio, выберите Открыть редактор переводов из контекстного меню для вашего XML файла строки (например, strings.xml) в дереве проектов (см. ниже).

open translations editor

Ответ 3

Как отмечали многие другие, нажатие Ctrl + A в Редакторе переводов не работает с Android Studio 3.2

Я работаю в компании, которая постоянно переводит на аутсорсинг, поэтому нам нужно конвертировать строки android в файлы xls и из них. Единственное решение, которое надежно сработало для нас, - это форк старого android-lang-tool. Просто построить с Maven и запустить банку.

Он экспортирует строки, строковые массивы, множественные числа и их значения ключей в файл xls. Он даже экспортирует комментарии.

Ответ 4

Как ответил Саад Махмуд, вы можете скопировать из редактора трансляции (ctrl + a ctrl + c), а затем вставить в электронную таблицу.

Вы можете скопировать его из электронной таблицы в редактор перевода, только скопировав столбцы "по умолчанию" и другие языки, нажмите самое верхнее значение по умолчанию и вставьте (ctrl + v).

Он также работает с подмножествами (оба подмножества строк и столбцов), если они находятся рядом друг с другом.

Имейте в виду, что пустые ячейки в электронной таблице не затушевывают перевод в редакторе, он оставит текущий нетронутый.

Также будьте осторожны, что вы не добавили или не удалили какие-либо ключи перевода, поскольку электронная таблица была создана...

Ответ 5

Экспорт или копирование в Excel поддерживается только на ПК с Windows. Еще не в MAC

Ответ 6

Как отмечали многие другие, вы не можете просто копировать и вставлять переводы из и в редактор переводов, начиная с Android Studio 3.2.

Самым простым решением, которое я нашел, было сохранение файла Excel с переводами в виде файла CSV, а затем преобразование его в XML с помощью регулярных выражений и наоборот.

Чтобы "импортировать" переводы, выполните следующие действия:

  1. Сохраните файл xls/xlsx с ключом в первом столбце и переводом во втором столбце как файл CSV (если у вас есть файл с символами, отличными от ANSI, используйте таблицы Google, поскольку Excel не поддерживает сохранение в CSV с использованием utf-8)
  2. Откройте файл CSV в текстовом редакторе, который поддерживает "найти и заменить" с помощью регулярных выражений (например, Notepad++)
  3. Откройте "найти и заменить" и установите поиск регулярных выражений
  4. Найдите ^([^,]*),(.*)$ И замените его на <string name="$1">$2</string>
  5. Скопировать файл в файл строковых ресурсов между тегами
  6. Исправить возможные ошибки

Вы можете использовать аналогичный метод в обратном порядке для "экспорта". Используйте <string.+name="(.*)".*>(.*)</string> для поиска и $1,$2 для замены. Но это работает только если каждый строковый тег в одной строке.