0

如何更改 iPhone 应用程序中的语言?

我的意思是,例如:在我的应用程序中,有一个标签,我想放一个荷兰语单词。什么是简单的方法。

  1. 从属性文件中读取

  2. 在项目中使用字符串变量创建一个静态类。

或者可能对属性文件进行任何更改。

请帮助我...谢谢并尊重所有人

4

1 回答 1

4

为此,有大量的基础设施。基本上 NSBundle API 有本地化的概念,如果可用的话,它会透明地将通过它们的任何内容重定向到适当的本地化版本。如果您曾经在捆绑包中看到过“.lproj”,那就是本地化。

好的,所以问题是你如何设置它?使用 nib 很容易,您只需将 nib 的多个副本放入您的应用程序中,每个 lproj 中一个。字符串有点棘手,你要做的是创建一个 Strings.localizable 文件,然后当你需要一个字符串时,你可以通过调用NSLocalizedString()来获取它,它会在你当前语言的 Localized.strings 文件中查找该字符串。

Xcode 有一些内置的方法可以快速设置它。您可以选择任何资源并调出“获取信息”窗口,其中将出现一个标题为“可本地化”的按钮。单击该按钮后,将出现另一个按钮“添加本地化”,它可以将特定的本地化添加到项目中。此时,您的资源旁边将有一个显示三角形,可让您在每个特定语言环境中编辑资源。

有许多不同的方法可以处理其中一些事情,具体取决于您的应用程序,Apple 提供的工具可以让这更容易。是一篇关于如何本地化事物的不错的博客文章。

您应该记住的是,如果您正在查找本地化并根据它手动决定使用哪些资源,您可能做错了。大多数时候,您只是想确定需要本地化的位置,并通过为您处理的 API(NSLocalizedString()、-[NSBundle pathForResource:ofType:] 等)向系统请求资源。

于 2009-07-17T07:43:13.570 回答