Локализация iPhone за один раз

#ios #cocoa-touch #localization #translation #localizable.strings

#iOS #cocoa-touch #локализация #перевод #localizable.strings

Вопрос:

Есть ли какой-либо другой способ локализации приложений iPhone, помимо использования Localizable.strings? Могу ли я использовать Google Translate или что-то в этом роде?

Мое приложение написано на английском языке, и я создал локализуемые файлы.strings примерно для двадцати языков. У меня отлично работает английский Localizable.strings, и я также пробовал итальянский. Есть ли какой-либо способ автоматически перевести эти Localizable.strings на остальные языки?

Я имею в виду, есть ли какая-нибудь программа или что-то, что сделает эту работу за меня?

Ответ №1:

Короче говоря: нет, для этого нет программы. Это та же проблема, что и при переводе любого текста: вам нужно понимать значение, чтобы давать полезные переводы.

В качестве быстрого решения, вы, конечно, можете просто взять строки из вашего файла Localizable.strings и скопировать их в электронную таблицу, затем запустить один столбец через Google Translate и скопировать результат обратно. Затем выполните обратную процедуру, и у вас будет переведенный Localizable.strings. Регулярное выражение для этого было бы:

 ^"(.*)"s*=s*"(.*)";$
  

это отлично работает, например. TextWranger с включенным режимом grep, затем вы можете заменить текст на

 1t2
  

чтобы создать файл с разделителями табуляции из файла strings.

Я по-прежнему предлагаю вам инвестировать в носителя каждого языка, чтобы перепроверять переводы, иначе ваше приложение станет посмешищем. Google Translate просто пока не может заменить реального человека…

Ответ №2:

Для локализации вашего приложения вы можете использовать Localizable.strings или использовать локализованный XIB. Я не использую второй подход, потому что он более громоздкий в управлении. С Localizable.strings вам придется немного больше кодировать, но я предпочитаю это. Для перевода, я думаю, вы можете использовать Google Translate (я делаю это) и создать файл для каждого языка. Если вы хотите использовать онлайн-переводчик, помните, что он может быть не всегда доступен, и ваш пользователь должен быть постоянно на связи. Поэтому мой совет — создать все языковые файлы, поскольку они управляются ОС, и у вас будет более надежное решение.

Ответ №3:

Вы должны создать Localizable.strings для каждого языка и перевести их с помощью любого инструмента перевода