Мне трудно поверить, что код находится на таком низком уровне, что невозможно заменить %(count) на слово, когда %(count) = 1. Я почти уверен, что при локализации я менял подобные плейсхолдеры на обычный текст, когда для единственного и множественного числа требуются разные варианты.
Вот что я имею в виду, говоря о лени и «инженерном английском». Под капотом действительно должны использоваться переменные и плейсхолдеры, но они должны преобразовываться в форму, удобную для чтения человеком и носителем языка. В конце концов, известные конечные пользователи используют программное обеспечение, а не инженеры…
Да, я знаю. Это более широкий и масштабный вопрос, чем просто рассмотрение того, как переводить «1 из 3…» или «1 из 1…». Но моя главная мысль в том, что не должно возникать необходимости задумываться о таких вещах (помимо других различий тысяч языков).
Но, конечно, возможно, мы живём в мире, где есть сложные ИИ, но нет решения, чтобы избежать ситуаций вроде «1 из 1» ![]()