目前,我正在忙着本地化我为朋友编写的应用程序。它在各种翻译中都能完美地工作。我试图找出的是如何实现“自定义”本地化。例如,假设我们有en_US和en_US_Slang,如何将后者添加到本地化列表中或在NSLocalisedString下?
为了解释这种情况,此人正在运行2个独立的应用程序以保留其乐队的信息。一个是基于MS Access的,另一个是基于Filemaker Pro的(来吧?!)
乐队的各个成员都在或一起使用。他是设计两者的唯一人。
此刻,当您启动应用程序(Mac App而不是iOS)时,它会询问您以前是FMP还是Access用户。
基于此,本地化的字符串将恢复为各种应用程序中使用的术语。
即在MSAccess中,乐队演出的位置称为“功能场所”,而在FMP中,乐队演出的位置称为“演出位置”。为了避免对所有人员进行再培训(由于他们为我做了免费赠予生日演出,我正在免费进行培训),所以我认为最快的方法是保持他们习惯的标签。
从我能算出的是:
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"en_Access"] forKey:@"AppleLanguages"];
和
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"en_FMP"] forKey:@"AppleLanguages"];
有人可以确认这一点,还是可以为我指明正确的方向(也许是一些苹果文档?),因为在我深入研究问题之前,我希望找到答案:)
谢谢
一个
最佳答案
本质上,您的想法是定义自己的语言环境(en_Access和en_FMP)以获取区分的字符串。我不相信您可以在Mac OS X(或iOS)上执行此操作,因为系统只会识别它知道有效的语言环境标识符。
有趣的是,您可以按照here的说明在Microsoft Windows上创建自定义语言环境。但不是Mac OSX。
关于objective-c - cocoa NIB:自定义EN本地化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19769412/