要本地化显示名称属性,但无法引用资源,您可以使用字符串字面量来定义本地化的显示名称。下面是一个示例解决方案:
class Person {
var name: String
init(name: String) {
self.name = name
}
var localizedDisplayName: String {
switch name {
case "John":
return NSLocalizedString("John", comment: "John's localized display name")
case "Emily":
return NSLocalizedString("Emily", comment: "Emily's localized display name")
default:
return name
}
}
}
在上面的示例中,我们使用字符串字面量来定义本地化的显示名称。对于已知的名称,我们使用NSLocalizedString
来获取对应的本地化字符串。对于未知的名称,我们直接返回原始名称。
您可以在项目中的本地化文件(例如Localizable.strings
)中提供相应的本地化字符串。例如,在英语(en)本地化文件中,您可以添加以下内容:
"John" = "John";
"Emily" = "Emily";
在其他本地化文件中,您可以提供对应的翻译。
请注意,这种方法适用于已知的、固定的名称。如果您的名称需要动态生成或从其他地方获取,请提供更多的背景信息,以便我可以提供更准确的解决方案。
下一篇:本地化页面中删除缓存出现问题。