gpt4 book ai didi

ios - 在 iOS 7 中使用新的格式字符串说明符配置字典(复数支持)

转载 作者:可可西里 更新时间:2023-11-01 05:03:57 24 4
gpt4 key购买 nike

我正在尝试使用 iOS 7 中对复数的更复杂本地化的新支持。我创建了一个 .stringsdict 文件,其格式根据 Foundation 发行说明中的​​信息(以及 Cocoa WWDC session 中的新功能) .我已经验证 .stringsdict 正在被复制到我的应用程序包中(并且确实 -[NSBundle pathForResource:...] 找到了它)。但是,+[NSString localizedStringWithFormat:] 不会返回根据配置字典中的规则格式化的字符串。

代码:

- (IBAction)textFieldEditingDidEnd:(UITextField *)sender
{
NSInteger numPeople = [sender.text integerValue];
self.textView.text = [NSString localizedStringWithFormat:
NSLocalizedString(@"%d people are in the room", @"%d people are in the room"), (long)numPeople];
}

Localizable.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>%d people are in the room</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@num_people_in_room@ in the room</string>
<key>num_people_in_room</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>d</string>
<key>zero</key>
<string>No one is</string>
<key>one</key>
<string>A person is</string>
<key>two</key>
<string>Two people are</string>
<key>other</key>
<string>%d people are</string>
</dict>
</dict>
</dict>
</plist>

我还在此处上传了一个完整的、非常简单的示例项目:https://www.dropbox.com/s/mfze377g0r1iqde/PluralDemo.zip .您在文本字段中输入一个数字,标签将更新为 -localizedStringWithFormat: 的结果。

有没有人让这个工作?我在设置时做错了什么吗?

最佳答案

这里的问题是您缺少 Localizable.strings 文件。

即使为空也是必需的

在您的项目中尝试过,添加文件后项目运行良好。

关于ios - 在 iOS 7 中使用新的格式字符串说明符配置字典(复数支持),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19286735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com