iOS多语言设置,使用指定语言

通常使用多语言在Resource里配置Localizable文件,添加需要的语言即可。

截屏2021-10-31 下午5.02.39.png

使用String的扩展方法如下:

如果需要占位符,%d表示数字,%@表示字符串,用localizedWithArgs方法


    func localized() -> String {
        return NSLocalizedString(self, comment: "")
    }
    
    func localizedWithArgs(_ args: CVarArg...) -> String {
        let localizedString = localized()
        return String(format: localizedString, arguments: args)
    }

如果使用了多语言配置文件有中英文,但是暂时只需要支持一种语言如中文,就需要在中文和英文里放两份相同文案,很麻烦。解决方法是新建一个多语言文件如zh.strings,然后在NSLocalizedString方法的tableName参数引用它。这样只用一份多语言文件,不管手机系统语言是什么,都使用它。


    func localized() -> String {
        return NSLocalizedString(self, tableName: "zh", bundle: Bundle.main, value: "", comment: "")
    }
    
    func localizedWithArgs(_ args: CVarArg...) -> String {
        let localizedString = localized()
        return String(format: localizedString, arguments: args)
    }
posted @ 2022-07-18 17:44  rome753  阅读(283)  评论(0编辑  收藏  举报