2016-12-14 12 views
0

手順を大文字NSAttributedStringにNSLocalizedStringを変換します再現するために、テキストに

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

print(testStringAttributed) 

期待される結果:テスト

実際の結果:TEST迅速私は7.3.1を使用しています

、2.2

私は属性が設定されていないことがわかりますが、結果が同じである(フォントスタイルが規則的な)属性であっても これは予期せぬ動作で、私のアトリビュート文字列をアプリでローカライズすることができなければなりません(基本的に、リンク付きのラベルに設定したテキスト)。 既知の回避策はありますか?

P.:文字列を小文字にすると大文字が削除されますが、設定した属性が失われます。ここで実行可能なオプションではありません。

+2

このキーの翻訳がないために発生する可能性があります。 –

+0

によって変更できます。ここで、sillyString - >入力文字列 print(sillyString.uppercaseString) print(sillyString.lowercaseString) –

答えて

0

このエラーは、Timur Bernikowichのような翻訳が欠落していたためです。

NSLocalizedStringは、欠落している変換の場合にキーを返すが、NSAttributedStringへの変換の場合、文字列は大文字になります。

Localizable.stringに適切な変換を行い、キーを呼び出すと問題が解決します

関連する問題