Я разрабатываю приложение ios с xamarin в Visual Studio. Я пытаюсь добавить локализацию в файл Main.storyboard и файл LaunchScreen.xib по умолчанию, но я не могу заставить его работать.Xamarin iOS раскадровка локализации
Я следую документации here, и я также выполнил пример приложения (который работает нормально). Я скопировал структуру проекта, и я проверял файлы много раз, но я не могу видеть, что мои строки локализованы внутри файлов раскадровки или xib (LaunchScreen.xib).
Это мой Info.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>MyApp</string>
<key>CFBundleIdentifier</key>
<string>it.company.myapp</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>9.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIMainStoryboardFile~ipad</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>CFBundleDevelopmentRegion</key>
<string>it</string>
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
</array>
</dict>
</plist>
И это скриншот моей структуры проекта:
Я видел, что локализация раскадровки Идентификаторы должны быть как «KID -c2-RCX». Это справедливо для моего файла LaunchScreen.xib, но не для файла Main.storyboard, который имеет простые числовые идентификаторы типа «192», «193» ecc. Это может быть проблема?
Что мне не хватает?
Я бы перепроверить эти Идентификаторы в Xcode Interface Builder в. Откройте раскадровку в IB (щелкните правой кнопкой мыши -> открыть с -> конструктор интерфейса). Выберите 1 из меток/кнопок/и т. Д., Затем на вкладке Identity Inspector справа (это значок маленького ящика посередине) найдите «Идентификатор объекта». Это будет идентификатор, используемый вашим файлом Main.strings. Эти цифры звучат неправильно, но я не знаю. – dylansturg
@DylanS Я проверил IB на Xcode. Ид теперь один и тот же, но если я добавлю еще один компонент ui (метка, кнопка ecc), IB генерирует правильный идентификатор, такой как «kId-c2-rCX». Visual studio продолжает генерировать simpel числовой идентификатор также со свежим пустым файлом раскадровки. Это ошибка Visual Studio? – Androidian
Я попытался создать свой файл раскадровки непосредственно из xcode IB (который генерирует правильные идентификаторы), но локализация раскадровки все еще не работает :( – Androidian