重现的步骤:
let testString = NSLocalizedString("test", comment: "string for test")
let testStringAttributed = NSAttributedString(string: testString)
print(testStringAttributed)
预期结果:测试
实际结果:TEST
我使用的是7.3.1,swift 2.2
你可以看到我甚至没有设置属性,即使是属性(使用常规字体样式),结果也是一样的。 这是一个意外的行为,我必须能够在我的应用程序中本地化我的属性字符串(基本上是我在带有链接的标签中设置的文本)。 任何已知的解决方法?
P.S。:将字符串设置为小写会删除大写但是会丢失我设置的任何属性。这里不是一个可行的选择。
答案 0 :(得分:0)
错误是由于Timur Bernikowich建议的翻译缺失造成的。
NSLocalizedString应该在缺少翻译的情况下返回密钥,但是在转换为NSAttributedString的情况下,字符串变为大写。
在Localizable.string中放置正确的翻译并调用该键修复了问题