0

我正在开发一个 iOS 应用程序。我的任务之一是本地化。出于这个原因,我把所有的字符串都放在了一个 中NSLocalizedString(key,comment),一切都很好。

但我的新解决方案是创建一个 Singleton 类,它存储String我在项目中使用的所有内容。有了这个,我有一个小而棘手的问题:命名。我是否需要为每个需要本地化字符串的类(视图)创建一些字典?或者我应该为此使用前缀,或者返回具有良好、可理解的属性名称的对象的函数?

PS:我不想发明新轮子。我想创建本地化字符串的存储,将在项目中使用。所以,我的目标是制作单例:

[[[StringStorage sharedInstance] getStringsForClass:self] objectForKey:@"title"];

或类似的东西:

[StringStorage sharedInstance].stringTitleForMainView

4

1 回答 1

1

你真的应该坚持使用NSLocalizedStringand NSLocalizedStringFromTable。您也可以使用该NSBundle方法localizedStringForKey:value:table:

但是,如果您采取任何其他方式,您就是在重新发明轮子,并且您将失去使用genstrings命令行工具从源代码中提取所有字符串的能力。

于 2013-01-14T18:48:48.577 回答