2011-03-27 77 views
0

我需要制作一个应用程序,用户可以在触发按钮上的点击事件时在两种语言之间切换。iphone中的本地化问题

这里的问题是,我看到了一些例子,如果我们想要加载我们的本地化的nib文件,那么我们需要从设置选项中更改语言,我们可以根据选择的语言加载正确的nib文件。

我想在我的应用程序中这样做,这意味着我不想进入设置菜单并更改语言,然后重新加载应用程序。

我只是想在我的应用程序(也就是说,通过按钮单击事件应用程序应该能够在两种语言之间切换)的上述效果。

是否有可能,苹果允许它吗?

回答

1

这里没有人可以告诉你苹果是否会允许它,但如果你的应用程序设计得很好,并且有一个很好的理由使这种背离常规的做法,你可能会有一个好的选择。

没有什么可阻止您加载本地化为其他区域的nib文件。不过,我可能会避免尝试使用Apple的自动机制。只需使用某种模式命名您的笔尖文件并加载相应的文件即可。

0

如果您想让自己的生活变得轻松自如,您将充分利用操作系统内置的本地化功能。否则,您将编写自己的方法来加载本地化的字符串或nib文件。

0

Apple没有理由拒绝显示基于应用内设置的本地化文本的应用。我努力帮助开发人员本地化应用程序,虽然我不提出这种方法,但他们已经做到了,我从来没有听说过苹果公司的拒绝。

你无法做的是使用Apple的内置工具,这些工具依靠系统设置来确定用户的语言并从Localizable.strings文件中推送文本。但实际上,使用类似于gettext的功能来实现类似的系统并不会花太长时间。

你基本上需要实现相同的基本逻辑,任何定位系统:

1)中,将显示基于用户选择的设置 2适当的语言功能环绕您的应用内显示)导出您的源文本(可能是英文到文件 3)将英文字符串翻译为单独文件中的每种语言

您编写的函数可以遵循gettext的几行,它在许多编程语言中都有示例。如果设置为“法语”,则从法语文件中获取等效字符串。如果设置是英文,只需打印英文。

你将无法使用苹果的工具,但你可以自己做,苹果公司也不会真正关心,据我所知。但是,如果您选择本地化为Apple支持的语言,请使用标准的Localizable.strings方法按照此app localization iOS教程。