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

标签 ios objective-c localization nsstring nslocalizedstring

我正在开发一个 iOS 应用程序。我的任务之一是本地化。因此,我将所有字符串放入 NSLocalizedString(key,comment) 中,一切正常。

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

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

[[[StringStorage共享实例] getStringsForClass:self] objectForKey:@"title"];

或者类似的东西:

[StringStorage共享实例].stringTitleForMainView

最佳答案

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

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

关于ios - 我应该如何在 iOS 项目中存储本地化字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14322730/

相关文章:

ios - OpenGL 实时记录不工作。

ios - 如何将矩形中的文本添加到pdf

ios - NSPersistentDocument 和 UIManagedDocument 兼容吗?

ios - 在示例核心数据项目中出错

objective-c - 如何在 RestKit 中发出同步请求?

java - 带有 HTML 链接的 Spring 消息资源

ios - Objective-C:生成括号的问题

ios - 检测连接的音频设备 iOS

localization - 使用C#获取当前语言

c# - .NET Core - 全局化和本地化 - 类库