是否可以自定义本地化字符串中的某些单词?

问题描述

我有一个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)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...