【问题标题】:Xcode: Run project with specified localizationXcode:运行具有指定本地化的项目
【发布时间】:2012-01-25 15:21:05
【问题描述】:


我的 Cocoa 项目已本地化为意大利语(我的语言)和英语。
如果我运行它,我会看到意大利语的所有内容(当然,我的操作系统是意大利语的!)。
如何在不更改操作系统语言的情况下运行它来测试英文本地化?

【问题讨论】:

    标签: objective-c xcode cocoa localization xib


    【解决方案1】:

    在过去,Leopard 和之前,Finder 中的获取信息窗口会让 您选择可用的语言。所以这是一个取消选择的问题 您不想使用的语言,它将“默认”为另一种语言。

    如今,您可以使用this one 之类的实用程序。我很想知道它是什么 虽然在幕后。


    我终于在cocoa-dev mailing list archives 中找到了一个不错的解决方案。 显然,您可以在传递给的参数中更改默认域 您的可执行文件,这会导致全局首选项被覆盖。它 可以使用-AppleLanguages 标志来实现,传递语言列表 按首选顺序:

    ~/apath/AppName.app/Contents/MacOS/AppName -AppleLanguages“(意大利语,英语)”

    从您的终端运行它,它应该为 语言。请注意,您还可以指定单个元素列表"(Italian)" ——对测试目的更有意义。

    要在 Xcode 中完成并避开终端,请转到菜单 Product > Edit 方案… .然后,在您的运行配置中切换到 Arguments 选项卡并 创建一个新的以在启动时传递。加-AppleLanguages "(Japanese)" 给它发短信。类似的东西:

    【讨论】:

    • @sidyll 这是一个不错的解决方案。如果有机会,我会在 iOS 上尝试一下——这样可以省去一直更改设备语言的麻烦。
    • 更好! :D 非常感谢(我们发现了语言切换器的工作原理;D)
    • @Oneiros 很高兴为您提供帮助!是的,这可能是它背后的伎俩。
    • 感谢@Jessedc。一旦你测试它,让我知道 iOS 中的结果。我没有找到有关此“功能”的任何文档。我会继续寻找。
    • 谢谢@Jessedc,很高兴知道。当我找到此文档的位置时,我会通知您 :-)
    【解决方案2】:

    假设您有一个包含所有字符串的文件,请交换文件名。或者,如果您的项目中有一个 it.lproj 和 en.lproj 组,只需将您的 InfoPlist.strings(或您命名的任何名称)移动到另一个组中,反之亦然。

    【讨论】:

    • 谢谢,有用的技巧。没想到 :D 还有其他建议吗?
    • 是的,刚刚编辑了我的回复并添加了更多信息。在我的例子中,我使用了一个特殊的文件名,但是您可能正在使用具有相同文件名的本地化组,在这种情况下,您只需将 en.lproj 字符串文件放入 it.lproj 组中。当然,您需要在部署之前将它们移回 :D
    • 那么您可能会考虑以编程方式更改它以进行调试。我发现这个问题可能对你有帮助:change locale programmatically
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 2023-03-29
    • 2016-02-10
    • 2011-02-19
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多