本地化问题(威尔士语)

时间:2014-01-16 20:24:18

标签: ios objective-c localization

好的,所以我一直在研究一种可以多种语言使用的应用程序。

我设法让它以主要语言工作,例如法语,德语,西班牙语和英语。

我现在还设法让应用程序使用en_GB,en_US等语言中的不同区域,所以一切都很好 - 感谢本指南: http://hamishrickerby.com/2010/07/23/iphone-ipad-localizations-regions/

对我来说,最重要的语言之一是威尔士语。 Apple允许我将我的iPhone设置为威尔士,选择英国英语作为我的语言和地区格式为威尔士(英国)。

我在我的应用程序中创建了威尔士语言本地化并翻译了我的位,但我似乎无法应用它。

我的想法是,如果用户语言设置为英式英语,我可以在主视图上有一个按钮,允许用户选择威尔士语。这是可能的,这是实现它的最佳方式。

理想情况下,如果用户已经将他们的语言设置为英式英语并且区域格式为威尔士语,他们将获得应用程序的威尔士语版本,就像法语会自动获得法语版本而西班牙语将获得西班牙语该应用程序的版本等,但因为大多数威尔士语用户将他们的手机设置为英国,因为他们不知道iOS中的威尔士地区设置。

我希望该应用能够检测当前语言是否为英式英语,并在主屏幕上显示一个用户可以切换为威尔士语的按钮。我设法显示此按钮(仅当用户语言是英国英语时),但不知道如何链接它以更改语言?

任何人对实现我的目标的最佳方式都有任何想法或建议。

提前致谢。

1 个答案:

答案 0 :(得分:3)

不幸的是,正如您所确定的那样,威尔士语不是iOS上完全支持的语言。在Apple正确支持之前,您必须实施一些解决方法。

似乎主要解决方案是同时拥有英语和威尔士.strings文件(就像您使用其他语言一样),但使用

手动加载所需的语言
   [[NSBundle mainBundle] localizedStringForKey:yourString value:@"" table:@"Welsh"];

@"Welsh"可能是其他语言,具体取决于您要加载的内容。您必须在应用程序中实现某些控件,以便用户可以自行更改语言。查看链接到this blog post by translation company Applingua的示例项目 - 它显示了将此代码封装到语言提供程序类中的一种方法。