【问题标题】:Convert NSLocalizedString to NSAttributedString uppercase the text将 NSLocalizedString 转换为 NSAttributedString 大写文本
【发布时间】:2016-12-14 09:54:13
【问题描述】:

重现步骤:

let testString  = NSLocalizedString("test", comment: "string for test")
let testStringAttributed = NSAttributedString(string: testString)

print(testStringAttributed)

预期结果:测试

实际结果:测试

我使用的是 7.3.1,swift 2.2

您可以看到我什至没有设置属性,即使使用属性(使用常规字体样式)结果也是一样的。 这是一种意外行为,我必须能够在我的应用程序中本地化我的属性字符串(基本上是我在带有链接的标签中设置的文本)。 任何已知的解决方法?

P.S.:将字符串设置为小写会删除大写,但会使我丢失我设置的任何属性。这里不是一个可行的选择。

【问题讨论】:

  • 这可能是由于缺少此键的翻译造成的。
  • 你可以通过 Where sillyString -> input string print(sillyString.uppercaseString) print(sillyString.lowercaseString) 来改变它

标签: ios swift xcode nsattributedstring nslocalizedstring


【解决方案1】:

该错误是由于 Timur Bernikowich 建议的翻译缺失造成的。

NSLocalizedString 应该在缺少翻译的情况下返回键,但在转换为 NSAttributedString 的情况下,字符串变为大写。

将正确的翻译放入 Localizable.string 并调用密钥解决了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    相关资源
    最近更新 更多