gpt4 book ai didi

ios - 在 iOS 应用程序中添加自定义语言方言

转载 作者:行者123 更新时间:2023-11-28 23:40:01 25 4
gpt4 key购买 nike

我正在对一个应用程序进行本地化,在该应用程序中我遇到了有关某个国家/地区语言方言的问题。我的主要问题是,是否有添加自定义语言的规定。

例如:

假设有两种语言:

PL for Poland

UK for Ukraine

我需要支持 pl-uk,即波兰乌克兰

最佳答案

如果可以从系统首选项中选择这种方言,那么添加 pl-UK.lproj 是有意义的,但事实并非如此。如果您有本地设置,恐怕除了自己管理本地化之外没有其他解决方案 - 它不适用于 Interface Builder 文件。

最简单的方法是将所有pl-UK 差异存储在一个单独的文件中(它可以是您存储到pl.lproj 中的.strings 文件夹(您将其本地化为波兰语 - 以尊重系统的语义)。然后在自定义函数中加载这些字符串:

func localize(_ string : String, comment: comment) {
guard !isUkrainianPolish else {
return NSLocalizedString(string, comment: comment)
}
// retrieve the cache and check if a key with string exists

if let url = Bundle.main.url(forResource: "localizable_pl_UK" /* or any other name*/, withExtension: "strings", subdirectory: nil, localization:"pl"),
let data = try? Data(contentsOf: url),
let plist = (try? PropertyListSerialization.propertyList(from: data, options: [], format: nil)) as? [String:String] {
// cache the dictionary where you want
return plist[string] ?? NSLocalizedString(string, comment: comment)
}
}

根据您的代码组织,您可以在单例或处理本地化的类中实现该功能。

关于ios - 在 iOS 应用程序中添加自定义语言方言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com