我有一个众所周知的“选择总数中的问题”的问题:如果我在xib中工作,我会使用 DisplayPattern Value1 和 Value2 ,其中模式为{ {1}},它可以工作。现在,我想本地化我的应用程序:因此,我在"#{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
来说明各种情况。我的清单是:
.stringsdict
我还尝试更改NSLocalizedString调用中的键和<?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>
中的相应字符串,但是结果始终相同:字段文本将第一个值显示为字符串:.stringsdict
, 在这种情况下。我还尝试将问题分解为带有模式的简单绑定,但结果没有改变。
这是否意味着不可能将复数规则与绑定一起使用?
还是我想念什么?我在Google上搜索了很多,但没有发现类似情况。