.stringsdict在iOS8中不起作用

前端之家收集整理的这篇文章主要介绍了.stringsdict在iOS8中不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用.stringsdict有一些问题.代码如下:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>groups-selected</key>
  6. <dict>
  7. <key>NSStringLocalizedFormatKey</key>
  8. <string>%#@groups@</string>
  9. <key>groups</key>
  10. <dict>
  11. <key>NSStringFormatSpecTypeKey</key>
  12. <string>NSStringPluralRuleType</string>
  13. <key>NSStringFormatValueTypeKey</key>
  14. <string>d</string>
  15. <key>one</key>
  16. <string>%d group selected</string>
  17. <key>other</key>
  18. <string>%d groups selected</string>
  19. </dict>
  20. </dict>
  21. <key>friends-online</key>
  22. <dict>
  23. <key>NSStringLocalizedFormatKey</key>
  24. <string>%#@friends@</string>
  25. <key>friends</key>
  26. <dict>
  27. <key>NSStringFormatSpecTypeKey</key>
  28. <string>NSStringPluralRuleType</string>
  29. <key>NSStringFormatValueTypeKey</key>
  30. <string>d</string>
  31. <key>one</key>
  32. <string>%d friend online</string>
  33. <key>other</key>
  34. <string>%d friends online</string>
  35. </dict>
  36. </dict>
  37. <key>points-usage-message</key>
  38. <dict>
  39. <key>NSStringLocalizedFormatKey</key>
  40. <string>%#@points@</string>
  41. <key>points</key>
  42. <dict>
  43. <key>NSStringFormatSpecTypeKey</key>
  44. <string>NSStringPluralRuleType</string>
  45. <key>NSStringFormatValueTypeKey</key>
  46. <string>d</string>
  47. <key>one</key>
  48. <string>%d point will be deducted</string>
  49. <key>other</key>
  50. <string>%d points will be deducted</string>
  51. </dict>
  52. </dict>
  53. </dict>
  54. </plist>

本地化工作在iOS9中可以在模拟器和设备上找到,但是对于iOS8它既不会工作,我只会获得密钥名称输出,即:points-usage-message.我在这里做错了什么想法?

解决方法

实际上它适用于iOS 8.4.我们也使用.strinsgdict格式.所以我添加了这段代码
  1. <key>points-usage-message</key>
  2. <dict>
  3. <key>NSStringLocalizedFormatKey</key>
  4. <string>%#@points@</string>
  5. <key>points</key>
  6. <dict>
  7. <key>NSStringFormatSpecTypeKey</key>
  8. <string>NSStringPluralRuleType</string>
  9. <key>NSStringFormatValueTypeKey</key>
  10. <string>d</string>
  11. <key>one</key>
  12. <string>%d point will be deducted</string>
  13. <key>other</key>
  14. <string>%d points will be deducted</string>
  15. </dict>
  16. </dict>

到我们的文件,它正常工作,当我用这段代码检索它:

  1. [NSString localizedStringWithFormat:NSLocalizedString(@"points-usage-message",nil),42];

或迅捷:

  1. let localizedFormat = NSLocalizedString("points-usage-message",comment: "")
  2. let pointsInfo = String.localizedStringWithFormat(localizedFormat,42)

请尝试该代码分享结果.此外,您还可以尝试检查.strinsgdict文件目标成员资格和本地化(应设置为某个国家/地区).

猜你在找的iOS相关文章