我应该如何在iOS项目中存储本地化的字符串?

时间:2013-01-14 16:42:51

标签: ios objective-c localization nsstring nslocalizedstring

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

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

P.S:我不想发明新车轮。我想创建将在项目中使用的本地化字符串的STORAGE。所以,我的目标是制作单身人士:

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

或类似的东西:

[StringStorage sharedInstance].stringTitleForMainView

1 个答案:

答案 0 :(得分:1)

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

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