Какова правильная структура папок для локализованного приложения IOS, созданного с помощью Cordova? - PullRequest
1 голос
/ 24 октября 2019

Подобные вопросы, которые не дают полных ответов:

проблема

Приложение, над которым я сейчас работаю, нуждается в некоторых локализованных строках, но мне трудно найти правильныйCordova / Apple документы, которые говорят мне точно , как настроить правильный каталог файлов.

Что я понимаю

  • Вам нужно иметьInfoPlist.strings файл ресурсов для каждой локали в вашем приложении.
  • Этот файл соответствует key = "value"; формату
  • . Вам нужно установить CFBundleLocalizations в вашем config.xml и перечислить локали вВаше приложение:
<config-file parent="CFBundleLocalizations" target="*-Info.plist">
    <array>
        <string>en</string>
        <string>es</string>
    </array>
</config-file>

Что я не понимаю

Есть ли какая-то конфигурация cordova, которую мне нужно добавить, какуюправильно определяет структуру моей папки? В справке редактора проекта xcode он сообщает:

В навигаторе проекта каждый локализованный ресурс становится группой, содержащей языковые ресурсы. Для файлов пользовательского интерфейса группа содержит файл пользовательского интерфейса для базового языка и файл строк для каждого дополнительного языка (файл строк имеет то же имя, что и файл интерфейса пользователя, но с расширением файла .strings). Например, если вы добавите немецкий язык, Main.storyboard станет группой, содержащей Main.storyboard (Base) и Main.strings (немецкий).

В файловой системе Xcode создает отдельную языковую папку для хранения языка-специфичные ресурсы. Имя папки - это идентификатор языка, за которым следует расширение файла .lproj - например, de.lproj. , если вы выбираете немецкий (de) в меню языка. Xcode добавляет языковые строковые файлы для каждого файла пользовательского интерфейса в языковую папку. Файлы строк, которые создает Xcode, содержат заполнители для локализуемого текста. Позже вы будете экспортировать и импортировать эти языковые папки для локализации.

Выполнение всего этого вручную в xcode (за пределами cordova) лишает смысла автоматизировать это с помощью cordova. Моя текущая структура проекта выглядит так:

package.json
config.xml
platforms/
  ios/
    cordova/
    CordovaLib/
    platform_www/
    www/
    dev-app.xcodeproj/
    dev-app.xcworkspace/
    dev-app/
      config.xml
      dev-app-Info.plist

Справка редактора проекта XCode дает мне представление о правильно настроенном проекте, как мне использовать cordova (возможно, зацепки), чтобы получить эту настройку?

enter image description here

...