创建仅使用非英语语言的应用程序的正确方法

Posted

技术标签:

【中文标题】创建仅使用非英语语言的应用程序的正确方法【英文标题】:The correct way to create an app that is in a non-English language only 【发布时间】:2012-01-31 15:02:55 【问题描述】:

我需要创建一个仅支持非英语语言的 iPhone/Mac 应用。这样做的正确方法是什么?该应用程序的名称中甚至包含一些非英语(unicode)字符。我可以将问题分成三个具体问题:

    我应该如何处理我的应用程序名称是“声明”这一事实?我知道我可能不应该从一开始就命名我的项目 Déclaration.xcodeproj(例如,因为这会使终端上 git 的输出看起来很痛苦)。我应该如何设置我的项目?

    我应该如何处理我的代码中的NSStrings?我应该毫不犹豫地写NSString *labelTitle = @"Bienvenue à la déclaration!";之类的东西吗?我知道更合适的方法是使用本地化技术,但考虑到我只需要外语,这不是太痛苦吗?用英文制作整个应用程序似乎很可疑,即使我不需要它。

    在编写仅非英语的应用程序时,我还应该考虑哪些其他事项?

【问题讨论】:

为清楚问题而标记。关于第 2 部分:Apple 提供了一些工具来加快本地化过程,我会查找它们,因为它们使“痛苦”比你想象的要少得多,特别是如果你开始一个新项目,你可以从使用 NSLocalizedStrings 从头开始​​ 【参考方案1】:

    不用担心 Git 输出。 Mac 文件名长期以来一直是 Unicode。 Git 使用的是 UTF-8,但它对打印出非 ASCII 字符很谨慎,所以它会转义它们。你仍然可以这样做:

    git init
    git add Déclaration.xcodeproj
    

    您可以使用core.quotepath 设置关闭转义:

    git config core.quotepath false
    

    是的,您无需犹豫。以后您可以随时进行本地化,使用您的母语中的字符串作为起点。

    是的,在 Info.plist 中将“本地化本地开发区域”更改为您使用的语言而不是英语。

【讨论】:

您知道如何让git 显示Unicode 字符吗?这将使整个体验变得很棒。 @Enchilada: git config core.quotepath false.【参考方案2】:

请注意,为了共享文件名中包含非 ASCII 字母的 git 存储库,您需要在 Mac 上将 core.precomposeunicode 选项设置为 true,然后在 Mac 上克隆存储库:

git config --global core.precomposeunicode true

如git config man page 中所述,该选项与Mac OS 中Unicode 字符的特定分解有关:

此选项仅由 git 的 Mac OS 实现使用。当 core.precomposeunicode=true 时,git 恢复 Mac OS 对文件名的 unicode 分解。这在 Mac OS 和 Linux 或 Windows 之间共享存储库时很有用。 (需要 Windows 1.7.10 或更高版本的 Git,或 cygwin 1.7 下的 git)。当为 false 时,文件名由 git 完全透明地处理,向后兼容旧版本的 git。

参考: Answer by Leo Koppelkamm in "Git and the Umlaut problem on Mac OS X"

【讨论】:

以上是关于创建仅使用非英语语言的应用程序的正确方法的主要内容,如果未能解决你的问题,请参考以下文章

Yii 2:更改语言仅在刷新后工作

使用非英语主要语言的 AppStore 提交

如何通过 Fastlane 脚本添加 Xcode 本地化语言

可以在android中仅设置应用程序的默认英语语言

更改““YourApp”想使用您当前位置”的语言

Ruby On Rails:用于其他语言的复数形式