我正在开发一个iOS应用程序。我的任务之一是本地化。出于这个原因,我已经把所有字符串都放在NSLocalizedString(key,comment)
中,并且一切都很好。
但我的新解决方案是创建一个Singleton类,它存储我在项目中使用的每个String
。有了这个,我有一个小而棘手的问题:命名。我是否需要为每个需要本地化字符串的类(视图)创建一些字典?或者我应该为此使用前缀,还是使用具有良好,可理解的属性名称返回对象的函数?
[[[StringStorage sharedInstance] getStringsForClass:self] objectForKey:@"title"];
或类似的东西:
[StringStorage sharedInstance].stringTitleForMainView
答案 0 :(得分:1)
你真的应该坚持使用NSLocalizedString
和NSLocalizedStringFromTable
。您还可以使用NSBundle
方法localizedStringForKey:value:table:
。
但是如果你采取任何其他途径,你正在重新发明轮子,你就失去了使用genstrings
命令行工具从源代码中提取所有字符串的能力。