我开发了一个应用程序,其中包含一些输入plist文件,以及此应用程序的输入数据。 此输入数据现在是俄语。
在开发过程中,我打算仅在俄语AppStore上为俄语用户分发此应用程序。现在我的应用程序在AppStore中。但现在我也想为英语客户分发我的应用程序。 我知道我必须用英语输入数据准备翻译输入词。
我的问题涉及应用中的更多本地化..
在开发过程中,我更改了info.plist文件,将“Localization native development region”设置为“ru”。
解决我案件的最正确方法是什么? 我应该将“本地化本地开发区域”设置为“ru”并添加英语本地化吗? 或者我应该将“本地化原生开发区域”设置回“en”并添加俄语本地化? 或许我应该添加两个本地化 - 英语和俄语?在这种情况下,我应该将哪个选项设置为“本地化本地开发区域”?
顺便说一句,如何根据当前的本地化以编程方式选择哪一个输入数据plist文件?
答案 0 :(得分:2)
我认为您应该从documentation:
将Localization本机开发区域更改为en区域CFBundleDevelopmentRegion(String - iOS,OS X)指定默认值 捆绑的语言和区域,作为语言ID。例如, 英国英语的语言ID为en-UK。系统 如果无法为用户找到资源,则使用此值 首选语言
世界上更多的说英语的人数,然后是俄语人士。如果位置系统找不到所需的本地化,它将使用您的本地语言文件。 但是如果您使用method的NSBundle来加载本机资源(例如plist):
- (NSURL *)URLForResource:(NSString *)name
withExtension:(NSString *)extension
subdirectory:(NSString *)subpath
localization:(NSString *)localizationName
//The file URL for the resource file or nil if the file could not be located.
您应该添加非本地化的plist文件,以避免从此方法返回nil URL以获得不受支持的本地化(具有相同名称但不在lang目录中的文件)。
Here您可以阅读NSBundle如果请求资源,如何找到资源。