SwiftUI:如何让数组本地化注释在.xcloc文件中显示?
解决数组中LocalizedStringKey注释不显示在.xcloc文件的问题
问题出在你当前的写法上:你把字符串字面量直接转换为LocalizedStringKey存入数组,然后在Text控件上添加的comment是控件级别的注释,并非数组中每个字体名称对应的本地化条目注释,所以导出.xcloc文件时,每个字体重量的本地化条目不会关联你设置的注释。
想要让每个数组元素的注释在导出文件中显示,需要给每个LocalizedStringKey单独绑定注释,具体做法如下:
修正后的代码
let fontWeightNames: [LocalizedStringKey] = [ LocalizedStringKey("Ultra Light", comment: "字体重量选项:超轻"), LocalizedStringKey("Thin", comment: "字体重量选项:细体"), LocalizedStringKey("Light", comment: "字体重量选项:轻量"), LocalizedStringKey("Regular", comment: "字体重量选项:常规"), LocalizedStringKey("Medium", comment: "字体重量选项:中等"), LocalizedStringKey("Semibold", comment: "字体重量选项:半粗"), LocalizedStringKey("Bold", comment: "字体重量选项:粗体"), LocalizedStringKey("Heavy", comment: "字体重量选项:特粗"), LocalizedStringKey("Black", comment: "字体重量选项:极粗") ] var currentFontWeightName: LocalizedStringKey { fontWeightNames[fontWeights.firstIndex(of: currentFontWeight)!] } Text(currentFontWeightName)
说明
- 每个
LocalizedStringKey通过带comment的初始化方法创建,这样每个字符串的本地化条目都会绑定对应的注释。 - 此时
Text控件无需再添加comment,因为该注释是用于描述控件用途,而非本地化字符串的翻译提示。
这样修改后,重新导出.xcloc文件,打开后就能看到每个字体重量条目对应的注释了。
内容的提问来源于stack exchange,提问作者user14119170
相关产品推荐
相关产品推荐

