Добрый вечер!
Буквально только что заметил, что у меня на сайте пропала часть плюральных форм — например, на главной у меня есть «1 комментарий» и «5 комментариев», но при этом два коммента обозначаются как «2 комментариев». То же касается и просмотров — и здесь есть лишь две формы «просмотр» и «просмотров», но при это нет «просмотра». Поискал в базе соответствующие строки: есть правильные переводы и для «1 comment», и для «count comments» и для «count[2] comments». Аналоги для «reads» так же присутствуют. Предполагаю, что повредить мог форс перевода для Advanced forum, который мне заодно переимновал Views из «Представлений» в «Просмотры», но никак не могу сообразить, как исправить ошибку. Подскажите, пожалуйста, куда смотреть и что искать.
Комментарии
У меня как то помню почему то слетела формула в переводе.Проверь
У меня пропадало, но само возвращалось
Да, как я понимаю, так и есть. Спасибо. А вот как её вернуть? Найти перевод с нормальными неиспорченными формами или можно руками где-то исправить?
у меня аналогичная трабла
в трекере 2новый , 3новый (причем, именно так, без пробела)
Не могу понять где это исправить
кстати, чем отличается
«count comments» и «count[2] comments»
я пытался поиском, поменять перевод на "новых: count)
что то ничего не менялось
Valeratal
Вам необходимо жёстко импортировать (с заменой строк) модуль, в котором формула для русского языка указана верно. Я, к сожалению, не помню, в каком именно модуле это есть, но вы можете пошерстить папку с модулями ядра на предмет того, чтобы в тексте встречалось count reads, например.
«[user=count]count[/user] comments» и «[user=count]count[/user][2] comments»
В том, что при правильной работе формулы, подставляются слова, имитирующие разные падежи. Сравните:
Английский:
21 comments
22 comments
Русский:
21 комментарий
22 комментария
нашел, в модуле comment
попробую заменить
поменял, пока ничего нового
вот смотрю код модуля трекер
while ($node = db_fetch_object($result)) {
// Determine the number of comments:
$comments = 0;
if ($node->comment_count) {
$comments = $node->comment_count;
if ($new = comment_num_new($node->nid)) {
$comments .= '<br />';
$comments .= l(format_plural($new, '1 new', 'count new'), "node/$node->nid", array('query' => comment_new_page_count($node->comment_count, $new, $node), 'fragment' => 'new'));
}
}
А вот кусок перевода из модуля comments
msgid "1 new comment"
msgid_plural "count new comments"
msgstr[0] "count новый комментарий"
msgstr[1] "count новых комментария"
msgstr[2] "count[2] новых комментариев"
вроде плюрал присутствует
Вы заменяли каким образом? Жёстким импортированием? По-моему, это единственный способ корректной перезаписи формулы.
да, жестким, с заменой всего что можно
300 строк заменено
p.s. где то тут читал, что на множественные формы плохо влияет модуль panels
Возможно, что и так, но, если вы заменили перевод, по идее, Panels уже не должен оказывать негативного влияния. Во всяком случае я не понимаю, каким может быть механизм такого воздействия.
в общем, все оказалось проще
эти "новый" были тупо забиты во вьюсе (но это не я)