我写了一个使用自定义本地化的iOS应用程序(出于各种原因).它取消定义NSLocalizedString并替换为同名的内联函数,该函数从服务器下载的NSDictionary中提取它的值.
我的问题是这样......一切正常,但标准的UIKit视图(即UIImagePickerController)没有国际化,我相信当设备语言改变时应该自动发生?
例如,我的全部应用程序是显示它的日本对手,但即使在设备的语言设置为日语标准控件(的UIImagePickerController和取消搜索栏按钮不显示!)
任何帮助将不胜感激:D
编辑
我试图消除我的NSLocalizedString的重新定义,我仍然有同样的问题,因此,虽然劝我对重新定义的标准API功能是伟大的,它并没有真正帮助我,我所遇到的问题.
我希望改变cordova-camera-plugin语言.显然它取决于各种各样的事情.我的开发环境是Visual Studio 2015中的Cordova工具.它不太重要,但我在我的应用程序中使用Ionic框架.我们在运行Xcode 7的MacBook Pro笔记本电脑上构建我们的iOS应用程序.我正在测试的设备是运行iOS 9.1的Ipad,荷兰语为第一语言,英语为第二语言.
在我的应用程序,当你打开摄像头,你有几个选项,如Cancel,Use Photo和Retake Photo.
我尝试将插件本地化为荷兰语的方法如下.
在config.xml我已经改变了以下行
<widget xmlns:cdv="http://cordova.apache.org/ns/1.0"
xmlns:vs="http://schemas.microsoft.com/appx/2014/htmlapps"
id="hop.test1"
version="1.0.1"
xmlns="http://www.w3.org/ns/widgets"
defaultlocale="nl-NL">
Run Code Online (Sandbox Code Playgroud)
在/platforms/ios/projectname/projectname-Info.plist I have added the以下几行中:
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>nl</string>
<key>CFBundleLocalizations</key>
<array>
<string>nl</string>
</array>
<!-- other values omitted !-->
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
nl 似乎是基于google和stackoverflow搜索结果的荷兰语的正确本地化表示法.
问题是,当我构建我的应用程序并测试相机时,相机按钮仍然是用英文写的.我是否实现了错误,我在某处遗漏了某些值,或者这是在cordova中本地化插件的错误方法?