«Без искусства, — написал Сережа Глушенков, — все было бы мрачным и неприветливым, чужим»..


Дети находят в искусстве
Но их не было,

Иными словами, дети говорят о том, что ис­кусство приближает к нам жизнь и нас — к жизни, де­лает ее своей..


Один даже попытался описать,
В жарких странах люди

Если объединить все ответы учащихся, то окажется, что они назвали почти все то, для чего существует искусство...
Дети сказали, что искусство мо­жет научить видеть и понимать красоту, быть добрым, оно дает познание нового, оно учит любить природу, оно учит творить, и оно, как коротко написал один мальчик, учит жить..


Есть, повторяем, разные попытки объяснить
Охота в танце или
vadbars@drupal.org's picture

Выкладываю чуть подправленный вариант перевода Drupal, сделанный NRD (файл main.po). Новых переведенных строк не добавилось (времени пока нет, да и, надеюсь, NRD и Axel все же сделают полный перевод для 4.7). Я лишь поправил обнаруженные опечатки и несоответствия ("контент" вместо "материала" и т.п.). Не так уж и мало - порядка 50-ти.

Но - важно! - среди них были такие, которые приводили к ошибке в модуле pager (значки "стрелочек" были неудачно заменены на & lt ; и & gt;).

Заменил также "books" на "подшивки", а "outline" на "схему", а "выражения" на "термины" (в таксономии). Это, наверное, спорно, но...
Books это не вполне "книги" в привычном понимании (как нечто целостное, с единым длительным повествованием), а именно "подборка", "компоновка", сборная солянка из материалов, т.е. "подшивка".
Outline хотя и переводится официально как "эскиз", "набросок", "очерк", "контур" (т.е. нечто внешнее), но по смыслу в данном случае как раз наоборот - некая внутренняя структура, "костяк", иерархия, схема подборки. Второй смысл - приблизительность проработки, черновой характер, тоже отражен. Есть выражение "Набросать схематически..."

Upd: К теме перевода модуля Views. Выложил подправленный перевод (того, который делал NRD).
Поправки те же - "материал" вместо "узла", "термин" вместо "выражения", плюс исправления опечаток и неудачных вариантов перевода.

Upd2: Добавил временный "патч", решающий проблему неправильного использования множественного числа в русском, украинском и чешском переводах (об этом см. ниже).

Upd3: Еще вариант борьбы с множественными числами - правка locale.inc. Файл locale_fix.zip

AttachmentSize
main.zip105.64 KB
views.zip14.92 KB
plurals.zip436 bytes
locale_fix.zip13.8 KB
vadbars@drupal.org – 8 May, 2006 – 13:37

Спасибо за

vatavale's picture

Спасибо за труд!

vatavale – 8 May, 2006 – 14:02

Книга

Lucky A's picture

Кстати, полностью согласен с "подшивкой"!

Lucky A – 12 May, 2006 – 06:27

Спасибо!

dan's picture

Ещё не смотрел... а с просмотрами разобрались? Корректно отображается кол-во (1 просмотр, 3 просмотра, 5 просмотров)?

dan – 12 May, 2006 – 19:49

Решается, вроде

vadbars@drupal.org's picture

Решается, вроде бы, настройками в файле *.po. Там есть поле "Plural-Forms", куда вводится формула, определяющая склонение множественного числа ("nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"). Cейчас на припомню, откуда я ее взял - кажется из перевода Axel'я для 4.6.

Еще вот на drupal.org мне попадалось сообщение про украинский язык (http://drupal.org/handbook/modules/locale#comment-112802). Человек предлагает напрямую вносить формулу мн.числа в базу:

Seems like plural forms in 4.7 works incorrectry without manual entering plural formula directly in database.
For ukrainian language i have to insert formula into corresponding record in locales_meta table
update locales_meta set formula='$n%10==1 && $n%100!=11 ? 0 : $n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20) ? 1 : 2' where locale='uk'

Русский, думаю, аналогичен (только locale='ru').

Внес еще немного поправок (опечатки, формула множественного числа, а также замена "узлов" на "материалы") - сменил приаттаченный файл.

vadbars@drupal.org – 13 May, 2006 – 16:53

про формулу в

dan's picture

про формулу в po-файле я в курсе, но у меня почему-то не работало
про прописывание в БД - нет, надо иметь ввиду. Спасибо

dan – 13 May, 2006 – 21:16

К теме перевода

vadbars@drupal.org's picture

К теме перевода модуля Views. Выложил подправленный перевод (того, который делал NRD).
Поправки те же — «материал» вместо «узла», «термин» вместо «выражения», плюс исправления опечаток и неудачных вариантов перевода.

vadbars@drupal.org – 13 May, 2006 – 22:18

Vadbars, а вы не

Natalie's picture

Vadbars, а вы не хотите сделать список переводов терминов? Чтобы можно было соблюдать последовательности при локализации и переводе документации.

Natalie – 14 May, 2006 – 01:15

Загрузил файл views.po, но модуль не пе

Mamont's picture

Загрузил файл views.po, но модуль не перевелся. Нашел в файле views.po что там фигурирует views_ui. Подправте :)

Mamont – 15 May, 2006 – 17:15

Natalie Попробую,

vadbars@drupal.org's picture

Natalie
Попробую, но ведь этим занимался Дан. Надеюсь, обид с его стороны не будет?

Mamont
Странно, у меня нормально локализует. Вообще-то в модуле Views ДВА файла: views.module и views_ui.module, поэтому в тексте файла .po и должны встречаться оба имени файла.

В свое время NRD писал: "По причине неизвестного бага модуля не отображается перевод подсказок для фильтров из views_node.inc ". Может быть по этой причине?

Попробуйте еще разок, убедившись, что выбрана опция "Новые строки заменяют старые".

vadbars@drupal.org – 15 May, 2006 – 18:00

Это уже для

Natalie's picture

Это уже для официального релиза 4.7? Я смотрю, в основном непереведенной осталась справка.

Natalie – 15 May, 2006 – 21:46

Primary links и secondary

Natalie's picture

Primary links и secondary links я бы все-таки перевела как "первичные" и "вторичные" - их всего два уровня.

Natalie – 15 May, 2006 – 21:52

"Попробую, но

dan's picture

"Попробую, но ведь этим занимался Дан. Надеюсь, обид с его стороны не будет?"

Нет конечно! Я там копирайтов не раставлял ;-)))
Просто мне показалось, что народ интерес утратил...
Я вот только не знаю, может работу производить в вике, а в форуме только результаты побликовать? Как думаете?

----

Локализация -- WordList - сам вордлист и
Перевод терминологии. Спорные случаи. - его обсуждение (надо новую ветку заводить, там уже 50 сообщений).

dan – 16 May, 2006 – 06:02

Можно и так.

Natalie's picture

Можно и так.

Natalie – 16 May, 2006 – 06:40

Quote:Я вот только

vadbars@drupal.org's picture

[quote]Я вот только не знаю, может работу производить в вике, а в форуме только результаты побликовать?[/quote]Думаю, это наиболее правильный вариант.

[quote]Primary links и secondary links я бы все-таки перевела как «первичные» и «вторичные» — их всего два уровня.[/quote]Наверное, это не столь существенно, но мне кажется, что основной смысл не в производности одних (вторичных, secondary) ссылок от других (первичных, primary). "Вторичный", на мой слух, это - "происходящее из" (как, например, "вторичное сырье"), "зависимое от", "производное". В этом смысле "вторичными" можно было бы назвать ссылки из меню второго, третьего и т.п. уровня (типа меню Файлы/Открыть).

А в ссылках, похоже, имеется в виду набор главных ссылок сайта и дополнительных, добавочных, вспомогательных. Как-то так, имхо.

vadbars@drupal.org – 16 May, 2006 – 07:20

Может, основные

Natalie's picture

Может, основные и второстепенные?

Natalie – 16 May, 2006 – 07:24

Re: Natalie

Mamont's picture

[quote=vadbars@drupal.org]Natalie
Mamont
Странно, у меня нормально локализует. Вообще-то в модуле Views ДВА файла: views.module и views_ui.module, поэтому в тексте файла .po и должны встречаться оба имени файла.
[/quote]
Я понял. У меня views для версии 4.6, там нет файла views_ui.module.

Mamont – 16 May, 2006 – 10:09

Словарь переводов терминов Drupal

vadbars@drupal.org's picture

Natalie
По вашему предложению сделал словарик переводов терминов (node/622). Там же про "primary и secondary".

Mamont
Можно, наверное, сгенерировать POT-файл для старой версии Views и перенести туда переводы одинаковых строк.

vadbars@drupal.org – 16 May, 2006 – 13:53

Множественные числа?

Lucky A's picture

Так кто-нибудь проверял, понимает 4.7 русские множественные числа или нет?

Я перевел модуль guestbook, вставил формулу согласно node/176?highlight=plural . Но Друпал, хоть убей, все кроме единицы пихает в первую множественную форму (судя по всему - на английский манер). Пытался вписать формулу напрямую в базу по "украинской наводке" (см. ссылку выше), но тоже безрезультатно.

Lucky A – 16 May, 2006 – 22:11

Будем ждать

vadbars@drupal.org's picture

Будем ждать ответа "отцов" на Ваш вопрос здесь. Пока, насколько я понял, ясности нет.

Сама формула взята из доки по gettext. Она идентична той, что я приводил (за исключением скобок).

Судя по этому примеру (с запросом от латышской гражданки) в po-файле надо прописывать формы множественного числа. А эти строки и не переведены. Например, написано:

#: modules/user.module:587,
#: ;590
msgid "%count guests"
msgstr ""

Должно быть что-то типа:

#: modules/user.module:587,
#: ;590
msgid "1 guest"
msgid_plural "%count guests"
msgstr[0] "1 гость"
msgstr[1] "%count гостей"

Давайте поразбираемся. Если что-то получится - сообщите сюда.

P.s. А Ваш перевод guestbook можно здесь выложить (с Вашими копирайтами, естественно). Присылайте на vadbars mail ru, если хотите положить его сюда.

vadbars@drupal.org – 17 May, 2006 – 07:25

Я или Друпал?

Lucky A's picture

Формулу

"Plural-Forms: nplurals=3; plural= n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2 ;\n"

перепроверял и по докам gettext-а, и по поиску в гугле - в плане "математики" везде консенсус.

Вот мой перевод строки, указывающей число сообщений в гесте:

#: guestbook.module:605
#: ;615
msgid "1 entry"
msgid_plural "%count entries"
msgstr[0] "%count запись"
msgstr[1] "%count записи"
msgstr[2] "%count записей"

Обратите внимание на "нулевую" форму - тк в русском под нее попадает не только единица, но и, например, 21, то перевод "1 запись" некорректен (правильно?).

Кроме геста я заканчиваю перевод и еще нескольких модулей, но прежде чем их где-либо выкладывать, хотелось бы убедиться, что это действительно Друпал 4.7 бардачит с локалью, а не я :)

Lucky A – 18 May, 2006 – 01:38

При «1 запись»

vadbars@drupal.org's picture

Вы правы, при "1 запись" сработает вариант msgstr[0] - "(двадцать) одна" запись, "одно" сообщение, "одно" вложение, "один" прикрепленный файл.

Я тоже пытался разобраться и пришел к совершенно аналогичным результатам (только я работал с модуем upload).
У меня правильно показывается msgstr[0] (например, "1" гость) и msgstr[1] (например, "2" гостя), а msgstr[2] (например, "5" гостей) - хоть убей - не появляется при любом раскладе.

Такое ощущение, что в Друпале нелады с языками, у которых nplurals=3. "Отцы" молчат. Лезть в код?

vadbars@drupal.org – 18 May, 2006 – 13:59

Лезть в код не

Lucky A's picture

Лезть в код не хочется, тк тогда придется лазить каждый раз, когда к 4.7 обновления выходить будут. Разве что сделать патч и подать его на рассмотрение разработчиков. Но я, боюсь, недостаточно знаю систему, чтобы уверенно лазить к ней под капот :(

Lucky A – 19 May, 2006 – 06:12

Пока не

vadbars@drupal.org's picture

Пока не пофиксили баг с plural=3 (признали здесь - http://drupal.org/node/52853), помогает вот это:

DROP TABLE IF EXISTS `locales_meta`;
CREATE TABLE `locales_meta` (
  `locale` varchar(12) NOT NULL default '',
  `name` varchar(64) NOT NULL default '',
  `enabled` int(2) NOT NULL default '0',
  `isdefault` int(2) NOT NULL default '0',
  `plurals` int(1) NOT NULL default '0',
  `formula` varchar(128) NOT NULL default '',
  PRIMARY KEY (`locale`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `locales_meta` VALUES ('en','English',1,0,0,''),('ru','Russian',1,1,3,'((($n==1 && (n%100!=11)))?(0):((((($n%10)> =2)&&(($n%10)< =4))&&((($n%100) < 10)||(($n%100)> =20)))?(1):2))');

Т.е. мы принудительно прописываем формулу в таблицу locales_meta. (Можно через UPDATE, но я пробовал этот вариант).
Запрос нужно выполнить ПОСЛЕ импорта файлов руссификации (поскольку импорт очищает поля formula и plurals).
На больших значениях (21, 22, 25) не пробовал (проверьте кто-нибудь, please, и отпишитесь здесь). На количестве прикрепленных файлов (1, 2, 5) работает исправно (естественно в руссификации должны быть прописаны формы множественного числа).
p.s. Формулу, наверное, можно упростить - убрать многие скобки, но это - потом...

Да, будете копировать формулу - уберите переводы строки и пробелы в "больше или равно" и "меньше или равно". А лучше просто скопируйте файл plurals.zip, который я прикрепил к первому сообщению.

vadbars@drupal.org – 23 May, 2006 – 07:53

это после

Natalie's picture

это после каждого импорта надо так делать?

Natalie – 24 May, 2006 – 07:24

Да, похоже, что

vadbars@drupal.org's picture

Да, похоже, что так...

vadbars@drupal.org – 24 May, 2006 – 13:40

Думаю это можно

dan's picture

Думаю это можно делать после последнего импорта.

PS: vadbars, отредактируйте свой комментарий, поставив </code>.

dan – 24 May, 2006 – 18:41

геморой, однако

Natalie's picture

геморой, однако :(

Natalie – 24 May, 2006 – 19:14

Дан Ага,

vadbars@drupal.org's picture

Дан
Ага, поправил.

Natalie
Ну, не скажу, что это приятно. Но можно рассматривать как установку еще одного модуля :-)

vadbars@drupal.org – 24 May, 2006 – 22:33

Увы, в только

vadbars@drupal.org's picture

Увы, в только что вышедшем обновлении 4.7.1. баг с множественным числом не поправили (хотя внесены какие-то изменения в locale.inc).
Если думать про "геморрой", т.е. необходимость постоянно запускать фикс поля formula после импорта языковых файлов, то можно предложить вариант с изменением locale.inc напрямую. Там можно просто намертво вписать "славянскую формулу" в функцию _locale_import_one_string() (строка 646 locale.inc, v 1.74.2.2 2006/05/16 13:02:21 для Drupal4.7.1).
Вот так, например:

// Get the plural formula
    if ($hdr["Plural-Forms"] && $p = _locale_import_parse_plural_forms($hdr["Plural-Forms"], $file->filename)) {
      list($nplurals, $plural) = $p;
      db_query("UPDATE {locales_meta} SET plurals = %d, formula = '%s' WHERE locale = '%s'", $nplurals, $plural, $lang);
    }
    else {
// добавляем строки:
$nplurals=3;
$plural='((($n==1) && (n%100!=11))?(0):((((($n%10)>=2)&&(($n%10)<=4))&&((($n%100)<10)||(($n%100)>=20)))?(1):2))';
db_query("UPDATE {locales_meta} SET plurals = %d, formula = '%s' WHERE locale = '%s'", $nplurals, $plural, $lang);
//вместо db_query("UPDATE {locales_meta} SET plurals = %d, formula = '%s' WHERE locale = '%s'", 0, '', $lang);
    }

Это криво, это не соответствует идеологии, знаю. Зато - без геморроя :-). Можно не заботиться о правильном импорте формулы. До официального фикса и для случая с одноязычно русским сайтом - сойдет. Пофиксенный таким способом locale.inc прикрепил к первому сообщению.

Можно предположить, что баг там, где функция _locale_import_parse_plural_forms() возвращает FALSE вместо массива ($nplurals, $plural) и поэтому первая часть условия (см. if() выше) не выполняется никогда. А это как раз запись в таблицу БД значений $nplurals, $plural.
А, может быть, функция _locale_import_parse_arithmetic(), которая "get PHP version of the plural formula", не понимает, когда возможны не 2 варианта, а больше. ХЗ.

vadbars@drupal.org – 25 May, 2006 – 12:31

Если работает,

Natalie's picture

Если работает, то это действительно проще. Только надо не забывать прописывать заново при каждому апгрейде.

Natalie – 25 May, 2006 – 16:16

спасибо за перевод!

jerboa7's picture

Только у меня муж несколько обиделся. Кто, говорит, тебе помог с переводом?

jerboa7 – 25 May, 2006 – 17:25

Подключайте

vadbars@drupal.org's picture

Подключайте мужа к работе над переводом Drupal'а :-)

vadbars@drupal.org – 25 May, 2006 – 20:06

Патч для бага с формулой

vadbars@drupal.org's picture

Ура! Вот здесь (http://drupal.org/node/52853) сообщают, что сделали патчик (http://drupal.org/files/issues/locale.inc_6.patch), решающий проблему с формулой.
Собственно там надо в заменить строку 635 в locale.inc
$hdr = _locale_import_parse_header($value);
на $hdr = _locale_import_parse_header($value['msgstr']);

Сам еще не пробовал - сейчас буду.

vadbars@drupal.org – 27 May, 2006 – 07:58

Axel (drupal.ru)

vadbars@drupal.org's picture

Axel (drupal.ru) выложил перевод Drupal 4.7.0 (сделанный на основе перевода NRD и поправок vadbars) в качестве официального русского перевода Drupal на drupal.org. Вот сообщение об этом - http://drupal.ru/node/1709.
Там же ссылки на тему Терминология (http://drupal.ru/forum/russian/glossary), где предполагается вести обсуждение единого глоссария переводимых терминов.

vadbars@drupal.org – 1 June, 2006 – 11:03

перевод строки <All>

azzis's picture

В переводе модуля views есть такая строка: <All>. Она присутствует в файле перевода views.po, но почему-то не подставляется в вывод, пробовал трассировать модуль, и не нашел в массиве, подгружаемом из базы такой строки. Пришлось подправить модуль, но ведь это не выход... Используется она в выводе фильтров. В чем может быть причина?

azzis – 2 June, 2006 – 04:02

azzis,

vadbars@drupal.org's picture

azzis, отредактируйте ваше сообщение. Там строку с использованием спецсимволов "съел" фильтр и ваш вопрос становится непоняте. Надо просто окружить строку тегами < code > и < / code > (без пробелов).

vadbars@drupal.org – 2 June, 2006 – 06:38