ios - .stringsdict 在 iOS8 中不起作用

标签 ios swift

使用 .stringsdict 时遇到一些问题。代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>groups-selected</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@groups@</string>
        <key>groups</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>d</string>
            <key>one</key>
            <string>%d group selected</string>
            <key>other</key>
            <string>%d groups selected</string>
        </dict>
    </dict>
    <key>friends-online</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@friends@</string>
        <key>friends</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>d</string>
            <key>one</key>
            <string>%d friend online</string>
            <key>other</key>
            <string>%d friends online</string>
        </dict>
    </dict>
    <key>points-usage-message</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@points@</string>
        <key>points</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>d</string>
            <key>one</key>
            <string>%d point will be deducted</string>
            <key>other</key>
            <string>%d points will be deducted</string>
        </dict>
    </dict>
</dict>
</plist>

本地化工作在 iOS9+ 的模拟器和设备上找到,但是对于 iOS8,它在两者上都不起作用,我只会得到键名输出,即:points-usage-message .知道我在这里可能做错了什么吗?

最佳答案

检查 http://maniak-dobrii.com/understanding-ios-internationalization/ ,特别是说的部分:

“.stringsdict 的快速陷阱:不要忘记(至少是空的).strings 文件,您支持的每个本地化文件都具有相同的名称,否则将无法识别和使用 .stringsdict。”

在我的例子中,我有一个本地化的 .stringsdict 文件和一个非本地化的 .strings 文件。 iOS9 能够显示正确的翻译,但 iOS8 惨败

关于ios - .stringsdict 在 iOS8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35085594/

相关文章:

ios - 带有圆角的 UITextField 中的内部阴影

ios - MapKit MKCircle 在缩放级别上更改半径

iphone - NSDictionary : objectForKey return nil, 即使键在字典中

iOS位置权限从whenInUse到Always

ios - 添加到桥接 header 时“找不到文件”

ios - 当应用程序也在后台时如何调用网络电话

swift - NSUserUnixTask 悄悄忽略脚本

ios - 更改从代码初始化的 View Controller 时如何修复消失的选项卡栏 Controller

ios - 保持缩放以 UIView 中心为中心(而不是从左上角缩放)

arrays - Swift 4 按值复制数组