我需要创建一个应用程序,用户可以在触发按钮上的单击事件时在两种语言之间切换。
这里的问题是我看过一些例子,如果我们想要加载我们的本地化nib文件,那么我们需要从设置选项中更改语言,我们可以根据所选语言加载正确的nib文件。
我想在我的应用程序中执行此操作,这意味着我不想转到设置菜单并更改语言,然后重新加载应用程序。
我只想在我的应用程序中使用上述效果(即通过按钮单击事件,应用程序应该能够在两种语言之间切换)。
是否有可能,Apple是否允许它?
答案 0 :(得分:1)
这里没有人可以告诉你Apple是否会允许它,但是如果你的应用程序设计得很好并且有充分的理由偏离通常的做事方式,你可能会得到很好的拍摄。
没有什么可以阻止您加载本地化为其他区域的nib文件。不过,我可能会避免尝试使用Apple的自动机制。只需使用某种模式命名您的nib文件并加载适当的模式。
答案 1 :(得分:0)
如果您希望自己的生活变得轻松,您将利用操作系统中内置的本地化功能。否则,您将编写自己的方法来加载本地化字符串或nib文件。
答案 2 :(得分:0)
Apple没有理由拒绝根据应用内设置显示本地化文字的应用。我致力于帮助开发人员本地化应用程序,虽然我没有提出这种方法,但他们已经做到了,我从来没有听说过Apple的拒绝。
您将无法使用Apple的内置工具,它依赖于系统设置来确定用户的语言并从Localizable.strings文件中推送文本。但老实说,使用类似于gettext的函数自己实现类似系统并不会花太多时间。
您基本上需要实现与任何本地化系统相同的基本逻辑:
1)将应用内文本环绕在一个功能中,该功能将根据用户选择的设置显示正确的语言 2)导出源文本(可能是英文到文件中) 3)将英语字符串翻译成单独文件中的每种语言
您编写的函数可以遵循gettext的行,其中包含许多编程语言中的示例。如果设置为“French”,请从法语文件中获取等效字符串。如果设置为英语,则只需打印英语。
你将无法使用Apple的工具,但你可以自己动手做,而且据我所知,Apple并不会真正关心。但是,如果您选择本地化为Apple支持的语言,请使用标准的Localizable.strings方法关注iOS app localization教程。