0

目前,我正忙于本地化我为朋友编写的应用程序。它在各种翻译中都能完美运行。我试图找出的是如何实现“自定义”本地化。例如,假设我们有 en_US 和 en_US_Slang,我如何将后者添加到本地化列表或 NSLocalisedString 下?

为了解释这种情况,这个人正在运行 2 个单独的应用程序来为他的乐队保存信息。一个是基于 MS Access 的,另一个是基于 Filemaker Pro 的(看图?!)

乐队的各个成员要么使用 on,要么使用其他。他是唯一一个同时使用两者的人,因为他设计了这两者。

目前,当您启动应用程序(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"];

有人可以确认这一点,或者可能指出我正确的方向(也许是一些苹果文档?),因为我希望在深入研究这个问题之前找出答案:)

谢谢

一个

4

1 回答 1

1

本质上,您的想法是定义您自己的语言环境(en_Access 和 en_FMP),以便获得有区别的字符串。我不相信您可以在 Mac OS X(或 iOS)上执行此操作,因为系统只会识别它知道有效的区域设置标识符。

有趣的是,您可以按照此处的说明在 Microsoft Windows 上创建自定义语言环境。但不是 Mac OS X。

于 2013-11-06T13:38:26.367 回答