我有一些功能和字符串取决于应用程序的区域。那个地区也说英语。根据我的知识,NSLocalization仅取决于用户选择的语言。我想根据区域更改字符串。怎么实现呢?可用的解决方案不适用于iOS8 +。
先谢谢
答案 0 :(得分:0)
我使用了以下参考资料,我的代码使用西班牙语和英语。
我已经设置了这两种语言,我发现这是有效的。
我知道你尝试了,但是你的代码存在一些问题,因为我已经使用过,而且它的工作非常完美。
希望这会对你有所帮助。 谢谢。
答案 1 :(得分:0)
您需要围绕它构建自定义逻辑。我就是这样做的:
第1步:将所有本地化保留在服务器上的plist中。只是为了使数据动态化。每种语言都有文件和文件。区域。像myLocalization_en_CA.plist
& myLocalization_en_FR.plist
。通常,这可以在DB中完成,易于维护。
第2步:在应用启动时,从服务器加载此本地化plist并将其保存在本地。可能在Documents
目录中。这里的关键是,根据您的设备区域,您需要下载所有使用该语言的本地化文件。此步骤可以简化,如果在启动时,您可以知道该区域中使用的确切语言。例如,在加拿大,使用英语和法语,因此如果在发布时你可以推断语言,比如说法语,那么只能获取myLocalization_en_FR.plist
。
步骤3:编写实用程序方法并传递当前标签/字符串的键以显示在屏幕上。此方法还应采用fr_CA
等参数覆盖区域设置和区域,然后通过将myLocalization_
与传递的字符串合并来获取文件。
第4步:在上面的实用工具方法中选择了正确的文件后,只需获取传递的密钥的值。