2011-12-20 3 views
0

Я новичок в разработке приложений для iPhone (я использую XCode 4.2), и мне было интересно, есть ли способ перевести все строки, подпись и т. Д. Внутри, не переведя их на один один .интернационализация приложения iPhone

идея, которую я имею в виду использовать NSUserDefaults для сохранения языка в качестве глобальной переменной и перевести все, что соответственно

другой вариант, чтобы сделать справочную таблицу (это даже возможно в Objective-C?)

Благодаря

+0

Что вы ожидаете ..? Вы можете переводить их только один за другим ... Apple не выпустила волшебный переводчик, но это было бы возможно в некотором роде. –

ответ

0

Посмотрите документацию для NSLocalizedString. И как локализовать ваши .xib-файлы (вы делаете локализованные копии в English.lproj, de.lproj, fr.lproj и т. Д.).

1

Вы можете использовать NSLocalizedString(@"<#key#>", @"<#comment#>") и один файл (с именем Localizable.strings (на языке. При использовании описанной выше функции вы можете использовать App Linguan (доступна на Mac App Store) для создания файлов Localizable.strings.

Существует также линия инструмент командной называется genstrings, что создаст для вас файл, но поверьте мне, что Linguan приложение будет платить за себя в течение нескольких минут.

Вы всегда должны добавить комментарий, чтобы лучший вариант перевода и обеспечить контекст о ключе.

0

Все, что вам нужно создать, это t он записывает пары ключ-значение для каждого языка, который вы хотите перевести, и назовите их соответственно, то есть _en, _fr и т. д.

Тогда все, что вам нужно сделать, это отправить сообщение этому методу:

NSLocalizedString(@"myKey", nil) 

И это возвращает локализованную строку, в каком бы языке текущей конфигурации iPhone является.

В данной статье рассматриваются основы, которые необходимо знать:

Localizing iPhone apps

1

Вы можете прочитать шаг за шагом учебник процесса здесь:

iPhone Localization Tutorial

Вот высокий -уровень обзора основ (в приведенном выше руководстве приведены сведения):

1) Измените всю свою кодированную строку ings to call: NSLocalizedString(@"My text", @"Context for the translator")

2) Экспортируйте все свои строки с помощью команды терминала genstrings.

3) Это создает текстовый файл Localizable.strings со всеми вашими английскими (исходными) строками. Это выглядит так:

/* Context for the translator */ 
"My text" = "My text"; 

Вы отправляете этот файл переводчикам. Они будут переводить на правую сторону, как это: "My text" = "Mi texto";

4) Вы поместите каждый переведенный файл Localizable.strings в соответствующей папке языка: en.lproj, фр.lproj, es.lproj и т. д.

Когда ваше приложение загружается на iPhone, оно проверит настройки языка пользователя. Если пользователь выбрал французский язык как системный язык, загрузится Localizable.strings внутри вашего файла папки fr.lproj. Если есть какие-то нетранслируемые строки, для них просто по умолчанию используется английский (или любой другой исходный язык).

Стоит обратить внимание на весь учебник и отметить, что имена файлов/папок должны быть точными!