XCode 5 即时本地化应用程序名称

Posted

技术标签:

【中文标题】XCode 5 即时本地化应用程序名称【英文标题】:XCode 5 localizing app name on the fly 【发布时间】:2014-03-03 22:16:09 【问题描述】: “应用程序已本地化显示名称”= Info.plist 中的 YES

InfoPlist.strings 中的本地化 CFBundleDisplayName 和 CFBundleName

当我更改整个设备的语言时,它可以工作。它改变了我的应用程序的名称。

当我安装它时,名称是设备的语言。

我使用 NSUserDefaults 语言设置从应用程序内部手动更改应用程序语言。每当我从应用程序内部更改语言时,应用程序内的所有内容都会完美本地化。 (需要重启应用)

但应用程序名称并不会以这种方式更改,唯一的更改方法是更改​​设备语言。

我错过了什么吗?更改语言时有没有办法更改应用名称?

【问题讨论】:

我不认为你可以在安装后更改应用程序的名称。 罗曼是正确的。 Apple 希望应用程序名称在 AppStore 和设备启动屏幕之间匹配。允许此动态更改将允许开发人员将其应用重命名为“愤怒的小鸟”等。 【参考方案1】:

很遗憾,我认为你不能。

ios 无法知道在每个 应用程序中设置了哪种语言偏好(嗯,它可以,但不是那样做的)。 相反,它使用系统范围的设置为每个应用程序查找和显示适当的CFBundleDisplayName

在应用程序中开发自定义语言偏好也不是推荐的方式。 Apple 希望用户在设备的首选项中设置他们选择的语言,而不是从单个应用程序内部(参见此处:https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPInternational/Articles/InternatSupport.html#//apple_ref/doc/uid/20000278-SW1)。例如,无法从应用程序内部更改 Facebook 的语言,但一旦您更改设备的全局语言设置,Facebook 应用程序就会反映更改。

【讨论】:

以上是关于XCode 5 即时本地化应用程序名称的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 5,xib 本地化导致手机黑屏

Xcode 5 和本地化问题 - 如何使用原始语言?

Xcode 5 - 故事板本地化

在 xcode 5 中更改应用程序名称时遇到问题

在 xcode 5 中本地化 Localizable.string 会破坏整个文件

Xcode 5 本地化问题