我想知道如果找不到key的本地化字符串,如何返回默认字符串值。下面是返回本地化字符串的函数。
func localizedStr(key: String) {
return NSLocalizedString(key, comment: "")
}
如果在本地化文件中找不到key
,我希望返回默认字符串,例如"foo“。
发布于 2018-09-20 18:10:13
TL;DR
使用完整的
NSLocalizedString(key: "key", value:"English string", comment: "")
如果在翻译后的文件中找不到key
,则返回value
长版本
不要将NSLocalizedString
包装在一个函数中-虽然代码较少,但您正在丢失本地化过程中的有价值的信息。
NSLocalizedString
中的字符串文字key
value:
参数与英语(或您的基本语言)字符串一起使用。这是在找不到翻译时使用的,这意味着您不需要有一个基本的Localizable.strings文件。comment:
显示在xliff文件中,对转换器很有用。使用此选项可提供有关正在翻译的字符串的上下文的信息。发布于 2018-09-20 10:53:34
你可以像这样给它一个默认值,如果找不到Key
,使用NSLocalizedString(key, comment: "")
会返回一个空字符串,所以像这样检查它应该能起到作用。
func localizedStr(key: String) {
if NSLocalizedString(key, comment: "") == key {
return "foo"
}
return NSLocalizedString(key, comment: "")
https://stackoverflow.com/questions/52422594
复制