问题描述
我有一个localizable string
的美国英语读为
"message" = "The distance is 10 feet";
是否可以自定义"10 feet"
的单词,让我们说英式英语,使其变成“ x米”,以便在设置菜单中将语言设置为GB时?
还是我需要为此创建一个单独的localizable.string文件?已经阅读到添加区域语言支持可能存在一些问题。
解决方法
可以在您的Localizable.strings文件中设置
"message" = "The distance is %d %@";
然后检查当前的iPhone语言是美国英语还是英国英语,并根据该语言设置值和单位
var localizedText = NSLocalizedString("message",comment"")
localizedText = localizedText.replaceingOccurences(of: "%d",with : String(10/* set value */))
localizedText = localizedText.replaceingOccurences(of: "%@",with : "feet" /*set unit*/)
您还可以使用字符串格式:
let localizedText = String(format: NSLocalizedString("message",comment""),value,unit )
,
是的,可以。这是一个示例:
"message" = "The distance is %d feet";
let originMessage = NSLocalizedString("message",comment: "")
let yourCustomMessage = String(format: originMessage,yourNumber)