Я немного смущен .stringsdict
documentation (перейдите к «Файл списка локализованных свойств»).Использование множественных строк без номера
Учитывая количество файлов, я хочу, чтобы показать Сохранить файл или сохранить Сохранить файлы соответственно. Я думал, что следующее будет работать, но нет.
В коде:
NSString *string = [NSString localizedStringWithFormat:NSLocalizedString(@"%Save Files", @""), (long)files.count];
В Localizable.stringsdict
:
<key>Save Files</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>Save %#@[email protected]</string>
<key>files</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>ld</string>
<key>one</key>
<string>File</string>
<key>other</key>
<string>Files</string>
</dict>
</dict>
Всегда показывает Сохранить файлы, независимо от счета.
Что я делаю неправильно?
Есть несколько вещей, которые вы упоминающие, которые не обязательно являются правильными. Во-первых: вам не нужно иметь «% ld» в вашем ключе, я часто использую такие клавиши, как «TASK_EDIT_BUTTON», и он работает нормально. Вторая: Ваша точка с грамматикой. Вы правы, что, возможно, переводчик имеет более легкую работу, если он получает целую строку во множественном числе. Но вам не нужно делать так, чтобы иметь правильную грамматику на всех языках. Вы можете изменить LocalizedFormatKey с языка на язык. –