【问题标题】:How to use xCode core data localization strings如何使用 xCode 核心数据本地化字符串
【发布时间】:2012-04-05 17:58:31
【问题描述】:

我正在本地化一个基于 Core Data 的应用程序。我已经本地化了所有的字符串,现在只需要处理核心数据属性。

我在这里查看了几篇关于 SO 的帖子,并且正在阅读 Apple 关于核心数据本地化的文档,但我被困住了。

我已经创建了这样的字符串文件:

"Entity/AppEntity" = "App";
"Entity/PeopleEntity" = "People";
"Property/name" = "Name";
"Property/lastName" = "Last Name";
"Property/address1/Entity/PeopleEntity" = "Address Line 1";

我已将这些文件命名为 appModel.strings,并将它们放在每个 .lproj 目录中。

但它们没有被使用。

我对每个实体进行了细分。

我需要专门调用这些本地化字符串吗?如果是这样,我真的很感激一个例子。我找不到 Apple 样品,但如果有,那就太好了。

非常感谢..

【问题讨论】:

  • .xcmodel 是否命名为 app.xcmodel

标签: xcode core-data localization


【解决方案1】:

是的。我相信每次使用本地化字符串时都必须使用它:

 NSLocalizedString(entity.stringAttribute, @"commentOrNil")

【讨论】:

  • 蒙迪,感谢您的回答。我一定很密集。我找不到有效的组合(实体/字符串属性)。我得到的只是非本地化的名称。您能否详细说明,使用我上面的示例或更好的字符串文件/代码组合...非常感谢。大卫
  • 问题询问Core Data's built-in localization support。您的答案是指在 Foundation 框架中找到的通用支持。
【解决方案2】:

本地化字符串应该放在一个名为“Localizable.strings”的文件下,该文件保存在您的 XCode 项目下。我想你已经知道如何使用 'genstrings' 生成它了。

现在将文件导入您的项目,并选择文件 Localizable.strings。转到“文件检查器”(在右侧)。您将找到一个名为“本地化”的部分。单击“+”号并选择要本地化的语言。如果您的项目基于“en”,那么将创建一个名为 en.lproj 的子目录,并将您的 Localizable.strings 放在它下面。继续添加本地化版本将创建额外的目录和原始目录的副本。

接下来是更新“本地化”版本的内容。在 iPhone 模拟器中,更改不同国家的“国际”设置,您会发现显示您的本地化版本文本。

当然,它适用于那些使用 NSLocalizedString 的人。

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    相关资源
    最近更新 更多