DevPrep

Все темы › Доступность и локализация

Множественное число и форматирование: числа, даты, Measurement

Middle PRO

Множественное число

В английском две формы (one, other), в русском — четыре категории (one: 1, 21, 101; few: 2–4, 22–24; many: 5–20, 25–30; other: дробные), в арабском — шесть. Поэтому count == 1 ? "файл" : "файлов" неверно уже для «2 файла» и «21 файл».

Правильно — одна строка с числом и вариациями по plural в String Catalog:

// В каталоге для ключа "%lld files" задаются формы:
// ru: one "%lld файл", few "%lld файла", many "%lld файлов", other "%lld файла"
let text = String(localized: "\(count) files")

Тип числа в интерполяции важен: Int даёт %lld, и вариации привязываются именно к нему.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store