Обсуждение:Gettext
Эта статья тематически связана с вики-проектом «Информационные технологии», цель которого — создание и улучшение статей по темам, связанным с информационными технологиями. Вы можете её отредактировать, а также присоединиться к проекту, принять участие в его обсуждении и поработать над требуемыми статьями. |
.mo файлики[править код]
А для RapidSVN в папке локализации рядом с .po файлом лежит одноимённый бинарный .mo файл. И исправления в .po на интерфейсе не отражаются. Это типичная практика? Есть конвертер? В статье ни слова... :( --Nashev 15:54, 8 июня 2011 (UTC)
Не резоннее ли будет иначе нумеровать локализованные русские формы множественного числе?[править код]
сейчас в статье предлагается писать так:
msgstr[0] "%d день назад" msgstr[1] "%d дня назад" msgstr[2] "%d дней назад"
а можно так, и можно тогда номера словоформ будут подсказывать саму форму (0 дней, 1 день и 2 дня):
msgstr[0] "%d дней назад" msgstr[1] "%d день назад" msgstr[2] "%d дня назад"
чтоб так работало, достаточно поменять номера в предлагаемой строке-условии:
nplurals=3; plural=(n%10==1 && n%100!=11 ? 1 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 2 : 0)
Только вот вопрос: почему в статье иначе, и нет ли в этой затее ложной помощи переводу, т.е. каких-нибудь подстав-исключений? --Nashev 17:49, 5 июля 2011 (UTC)
- В статье все приведено верно. 0 дней - это третья словоформа, соответствующая значению "много". В русском языке три словоформы определения числа - "один" (число заканчивается на 1, кроме 11), "несколько" (число заканчивается на 2, 3, 4, кроме 12, 13, 14), "много" (все остальное). Это и определяет строка
nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
. А за самовольную смену nplurals обычно бьют по рукам, как программисты, так и лингвисты. --winterheart 09:35, 27 января 2020 (UTC)