【问题标题】:Swift string variables localizationSwift 字符串变量本地化
【发布时间】:2015-04-06 11:13:08
【问题描述】:

我有一个大项目,其中有大量文本存储在情节提要的标签和变量中。我知道如何本地化标签中的文本,但不知道如何本地化字符串变量。您能否解释一下或提供该指南的链接。我正在使用 Xcode 6.2 版

【问题讨论】:

    标签: macos cocoa swift localization xcode6


    【解决方案1】:

    在代码中,您将NSLocalizedString() 与您的基本语言一起使用:

    NSLocalizedString("This is my text", comment: "Label in mainView")
    

    注释可以留空“”,但它有助于翻译者(即使是你)知道字符串的来源。

    Xcode 会自动在项目的语言子文件夹中创建一个文件Localizable.strings。该文件包含这样的条目:

    /* Label in mainView */
    "This is my text" = "Dies ist mein Text";
    

    您可以使用您选择的文本编辑器翻译该文件中的字符串。

    使用翻译的更好方法是在 Xcode 中选择项目目标,然后从菜单中选择

    Editor->Export For Localization...

    这将在您选择的位置创建一个文件夹,其中包含 xliff 格式的语言文件,即德语:de.xliff

    xliff 是一种标准化 (XML) 格式。在简单的文本编辑器中编辑该文件有些困难。我为此使用iXLIFF。它是一个非常小的 Mac 应用程序,让翻译变得轻而易举。

    翻译 xliff 文件后转到 Xcode

    编辑器->导入本地化...

    并选择 xliff 文件。 Xcode 会在缺少某些内容时告诉您。

    【讨论】:

    • 我在写完这段代码后遇到了一个奇怪的错误。错误文字:2015-04-06 15:37:53.763 MiniGames Ultra[57948:188222] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 10. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
    • 您错过了字符串文件中某一行末尾的分号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    相关资源
    最近更新 更多