1

我有一个众所周知的问题“从总数中选择的数量”:如果我在 xib 中工作,我使用DisplayPattern Value1Value2模式所在的位置"#{value1}@ selected out of %{value2}@"并且它可以工作。现在我想本地化我的应用程序:所以我在applicationDidFinishLaunching方法中插入了代码

NSString *formatString = NSLocalizedString(@"%{value1}@ selected out of %{value2}@",@"");
[self.labelNum bind:@"displayPatternValue1" toObject:self.arrayCtrl withKeyPath:@"selection.@count" options:@{NSDisplayPatternBindingOption: formatString}];
[self.labelNum bind:@"displayPatternValue2" toObject:self.arrayCtrl withKeyPath:@"arrangedObjects.@count" options:@{NSDisplayPatternBindingOption: formatString}];

self.arrayCtrl是对象的数组控制器。现在它仍在工作。但现在我想用 a.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>%{value1}@ selected out of %{value2}@</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@selected_objects@</string>
        <key>selected_objects</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>u</string>
            <key>zero</key>
            <string>None selected out of %#@total_objects@</string>
            <key>one</key>
            <string>One object selected out of %#@total_objects@</string>
            <key>other</key>
            <string>%u selected out of %#@total_objects@</string>
        </dict>
        <key>total_objects</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>u</string>
            <key>zero</key>
            <string>none</string>
            <key>one</key>
            <string>one object</string>
            <key>other</key>
            <string>%u</string>
        </dict>
    </dict>
</dict>
</plist>

我还尝试更改 NSLocalizedString 调用中的键和 中的相应字符串.stringsdict,但结果始终相同:字段文本将第一个值显示为字符串:%#@selected_objects@,在这种情况下。我还尝试将问题分解为与模式的简单绑定,但结果没有改变。这是否意味着不可能将复数规则与绑定一起使用?或者有什么我想念的?我用谷歌搜索了很多,但我没有找到类似的情况。

4

0 回答 0