XCode PhoneGap Локализация - PullRequest
       10

XCode PhoneGap Локализация

4 голосов
/ 17 октября 2011

Я уже 2 дня бьюсь головой об стену, пытаясь добавить локализацию для своего приложения в зависимости от языка.Приложение использует PhoneGap 1.1, и я пытаюсь создать его, используя XCode 4.1

. Я искал информацию / учебное пособие / что угодно с тех пор, как 2 дня, но я не смог найти ничего подробного.Итак, либо это тривиальная проблема, и я не могу ее понять, либо это необычная проблема.

Многие потоки, которые я видел, объясняют, что мне нужно создать новую папку в разделе «Ресурсы» и добавить следующеепапки в проекте (скажем, я хочу, чтобы мое приложение было локализовано на французском языке и для стран, не говорящих на французском языке):

- locales

--- en

---- local.strings

--- fr

---- local.strings

Я уже в беде: прежде всего, что я должен учитыватькак моя корневая папка проекта?Весь мой код находится внутри папки "www", и, насколько я понял, это основной узел, на который PG смотрит, когда выполняет свою работу.Поэтому я предполагаю, что должен создать «locales» под «www».

Предполагая, что это правильное место, я должен ввести пары ключ-значение в файл .strings.Теперь, как мне сказать Xcode, какие строки нужно посмотреть на моей странице index.html?В Objective-C это делается путем вызова NSLocalizedString(@"StringKey"), но, поскольку я использую PG, у меня есть простой HTML или JS для использования.Есть ли какой-либо встроенный метод для этого?

Это неправильный подход?Любая подсказка, учебное пособие, документация, справочное руководство по этому вопросу будут очень полезны.

1 Ответ

1 голос
/ 30 октября 2011

PhoneGap организован по-другому.

Файл www / index.html загружается как веб-представление из класса DroidGap. Это, по крайней мере, насколько я понимаю, единственная точка (помимо плагина Javascript), где вы можете перехватить загрузку html-страницы и применить любой анализ локализации. После визуализации www / index.html любые дальнейшие ссылки обрабатываются либо внутренне (многостраничный подход), либо по ссылкам на «внешние» (одностраничный подход) html-страницы.

Если не получен метод обратного вызова Javascript, не будут вызваны и обработаны классы бэкэнда PhoneGap и, следовательно, никакие специальные классы iOS.

Плагины PhoneGap предоставляют Javascript-Bridge для собственной среды программирования и, таким образом, могут использоваться для обеспечения локализации.

Только что нашел ветку, которая может помочь:

http://community.phonegap.com/nitobi/topics/problem_with_binary_details_ios_localization_builded_with_phonegap_build?from_gsfn=true

...