Conflicting changes in Russian translation

Andrei Polushin polushin at gmail.com
Fri Dec 9 12:13:56 CST 2011


> (This message is part of discussion on translating Mercurial into Russian.
> The rest of the text is in Russian.)

Александр,

09.12.2011 20:06, Alexander Sauta wrote:
> Не вижу разницы между выкидыванием кусков из перевода Андрея и его
> исправлением. Ты смотрел исправленный вариант (чейнжсет 04425770d162)?
> Я исправил в нем почти все его строки.

Возможно, результат в итоге верный, но сейчас это сложно проверить. Процесс
такой, что мы достоверно не знаем, какие строки просочились в хранилище и не
были исправлены. Остаётся поверить.

Я думаю, что если человек присылает перевод, он же может его и исправить,
какие проблемы? Более того, это даже правильно, если он сделает это сам.
Тогда и его подпись будет заслуженна, и все довольны, и никто не обиделся.

Такой подход в общих интересах: каждый делает свою работу, делает её хорошо
и не отвлекает того единственного, чья задача — просто добавить в ревизию в
хранилище.

Хороший перевод — берём, плохой — просим исправить и прислать заново,
частично хороший — просим разделить на части и прислать частями. Хорошие
части — берём и т.д.

Координация не предполагает исправлений пост фактум. Координатор может не
быть в курсе всех тонкостей той темы, которую переводчик изучил и перевёл.


> Ты можешь выложить куда-нибудь свой скрипт? Я просто слабо себе
> представляю, как может скрипт заменить термины, при этом не превратив
> перевод в кашу.

Это не один скрипт, а больше десятка скриптов для каждого слова, причём я
ещё не все их написал.

Для примера прилагаю скрипт для слова «repository», превращающий слово
«репозиторий» в «хранилище» во всех словоформах. Скрипт делает около 350
исправлений, абсолютное большинство из которых — верные. Только восемь
словоформ вида «репозитории» остаются неисправленными, из-за грамматической
неоднозначности этой словоформы.

Я собираюсь контролировать все исправления вручную, своими глазами, так что
никаких ошибок быть не должно.

Здесь нет никакой магии, весь процесс прозрачен, опасаться нечего.


>> You should be able to do your work _in coordination_ with the community. For
>> the coordination, you should be able to discuss the vocabulary _first_, then
>> follow the coordinated terms in your translation.
> 
> Дело в том, что к тому моменту, когда ты написал словарь, уже
> существовал полный перевод ядра. Поэтому я и не стал его менять на
> новые термины и решил закончить текущий перевод.

Извини, это просто не так.

Есть более ранний момент, когда Wagner Bruna предлагает тебе
скоординироваться с переводчиком TortoiseHg (то есть со мной):
http://selenic.com/pipermail/mercurial-devel/2011-May/031607.html

На дворе был май, и на тот момент у меня уже был вполне зрелый перевод и
была возможность предоставить словарь, если бы ты ко мне вовремя обратился.
К сожалению, этого не случилось, а я узнал о переводе Mercurial по факту, из
первого локализованного релиза.

После чего я немедленно (13 июля) послал тебе письмо со словарём. Ты ответил
9 сентября с обещанием «в ближайшее время я напишу вам свои соображения по
поводу терминов». Я ждал до ноября, потом до декабря, дальше историю мы знаем.

Меня уже порядком утомляет всё это рассказывать, да ещё на двух языках.

В свете вышесказанного, твоё заявление «я был первым и решил ничего не
менять» звучит очень-очень-очень странно.

Ты не был первым, до тебя существовали хорошие, качественные переводы, среди
которых отличный перевод TortoiseSVN, на котором я и основывался.


> Единственный человек, который прислал какие-то переведенные строки,
> был Андрей Сомов, и я с радостью добавил его патчи, хотя для этого и
> потребовалась дополнительная работа. Больше никто строк не прислал,
> как при этом я должен координироваться и с кем? Обсуждения это конечно
> хорошо, но и работу тоже приходится делать.

Дополнительную работу делать не обязательно — см. выше.

Обсуждения — это важно, поскольку ты не один. А до тебя очень трудно
достучаться, Александр, — см. выше.


>> BTW, it looks strange that you've kept a silence for half a year, now
>> expressing an eager desire to give orders.
> 
> Я не пытаюсь командовать, я просто делаю перевод. Опять же, я считал,
> что в целом всех все устраивает, т.к. никто больше патчей не присылал.
> Поскольку это, по-видимому, не так, я не буду пушить изменения
> напрямую в hg-i18n, а постараюсь делать это после одобрения
> большинством.

Надеюсь.

Хотя речь не столько об одобрении, сколько о необходимости наладить процесс
совместного перевода. В частности, словарь нужен для организации совместной
работы, поэтому он должен максимально устраивать всех участников, настоящих
и будущих.


> Выскажу несколько соображений по поводу собственно перевода терминов,
> которыми я руководствовался.
> 
> 1) Термины терминами, но я старался просто выражаться по-русски по
> возможности, потому что это не строгий технический перевод. Поясню:
> есть термин push. Адекватного перевода на русский не существует, но мы
> решили, что это будет "протолкнуть". Я старался использовать слово
> "протолкнуть" только там, где описывается собственно команда или
> действие push, а в остальных местах переводить так, чтобы это отражало
> смысл и звучало по-русски. Т.е. push changes to remote repository -
> передать изменения в удаленный репозиторий. Поэтому я и не считал
> сначала строгое следование жесткой терминологии обязательной.

Не помню, чтобы я возражал против этого. Я — за литературный перевод.

> 2) Ты пишешь, что надо избегать транслита. В принципе, верно, но не
> надо забывать, что ИТ - очень быстроразвивающаяся отрасль, и
> развивается она в англоязычном сегменте. Поэтому аналога многих
> терминов в русском не существует и, скорей всего, никогда не будет
> существовать. И тут остается только транслит.

Никак нет, транслит — это и не перевод вовсе.

> Я думаю, что ты программист, так? Ты когда общаешься с коллегами,
> называешь хуки "ловушками", "зацепками" или как там еще? Или патчи
> "заплатками"?
> Я просто не представляю себе программиста, который говорит: "сегодня
> Леха прислал мне заплатку для зацепки клавиатуры".

Это разные вещи. Разговорная речь тут вообще ни при чём. Перевод должен быть
литературным — см. пункт первый.

Одна моя знакомая говорит «Я áпнулась, а оно не компилится». И что? Мы
теперь начнём переводить команду update словом «áпнуть»? Зачем тогда вообще
переводить, если люди умеют по-русски английскими словами шпрехать?

В моём кругу говорят «фиксить баги», «чекаутить», «коммитить» и даже «плюнь
мне файло на мыло». При этом даже сами говорящие понимают, что это — не
по-русски, и будут очень удивлены прочитать те же слова в книге или журнале.

А уж тем более в переводе программного обеспечения.

Ошибочный, непонятный, некачественный перевод, перевод с использованием
сленговых выражений, перевод транслитом — всё это причины, по которым
русскоговорящие люди предпочтут проигнорировать русскую локализацию в целом.

И они её игнорируют, видимо. Как иначе объяснить отсутствие желающих
присылать переводы в проект?


> Поэтому я и предпочитаю такие термины не переводить, поскольку
> программисты ими не пользуются, и они будут только вносить путанницу.
> Если бы я прочитал сообщение про "заплатку", я бы впал ступор на
> полминуты, вот честно.
> То же касается repository, bundle и еще парочки.

Твои переводы (точнее, транслиты) всех этих слов отсутствуют в словарях.
Задай себе вопрос: на какой язык ты делаешь перевод?

Если «под себя», то это одно. Но зачем так измываться на языком Пушкина?


> Иными словами, я в данном случае считаю понятность и общепринятость
> важнее строгости перевода.

Здесь я не понял. Что важнее чего? О какой строгости идёт речь?

Словарь, согласованный нами в ходе дискуссии, содержит _понятные_ переводы,
которые были добровольно _приняты_ всеми заинтересованными участниками. Тот
же словарь используется и в TortoiseSVN, благодаря чему терминология знакома
огромному количеству людей.

Какой ещё общепринятости нам не хватает?


> По поводу словаря в вики:
> 
> 1) Tip - любой односложный перевод звучит по-дурацки и непонятно. Я
> использовал "оконечная ревизия". Можно использовать последняя/верхняя
> ревизия/набор изменений. Но фраза "обновиться на наконечник" - это
> ого-го). Поэтому я нигде не использовал односложный перевод.

Этот термин в зоне риска, по нему высказано недостаточно мнений.

Текущий перевод «макушка», а не «наконечник».

См. также пояснения в вики и предыдущее обсуждение:
http://selenic.com/pipermail/mercurial-devel/2011-November/035894.html


> 2) strip - strip -- срезать (~ ревизию и всех её потомков) (thg:
> содрать (как одежду));
> Никогда не слышал, чтобы кто-то сказал: сдери-ка ревизии начиная с N.
> Говорят просто удалить, выбросить и т.п. Мне кажется, не надо
> переводить буквально вообще, так же как и pull/push.

Мы договорились использовать слово «срезать». В вики так и написано.

Вариант с префиксом thg: обозначает термин, употребляемый в TortoiseHg, но
который также нужно исправить по согласованному словарю.

Предыдущее обсуждение:
http://selenic.com/pipermail/mercurial-devel/2011-November/035831.html


> 3) delete -- уничтожить (= стереть с диска, не <<удалить>>)
> Удалить с диска - отлично, так и надо писать, когда речь идет об
> удалении с диска.

На диске, кроме файловой системы есть ещё и система контроля версий. Команда
hg remove удаляет файл из-под контроля версий, а слово delete употребляется
при удалении файла с диска (и иногда для чего-то ещё). Это две разных
операции, для них должно быть два разных слова.

Слово «удалить» выглядит наименее однозначным, поэтому я выбрал термины
«изъять/уничтожить» и последовательно употребляю их в переводе TortoiseHg.
Чтоб никто уж точно не запутался в терминах.


> 4) remote -- отдалённый (не <<удалённый>>);
> Может я не прав, но удаленная машина - устоявшийся термин. Вон даже в
> винде есть "подключение к удаленному рабочему столу", и во всех других
> местах я встречал именно такой перевод. Отдаленными, по-моему, бывают
> места)

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

«удалённое хранилище» — это "remote repository" или "deleted repository"?


> 5) fetch -- залить
> Залить, по-моему, это когда ты что-то куда-то передаешь. Например: я
> сегодня залил фотки вконтакт.

Опс, а альтернативное предложение какое?

Залить — значит «затянуть, обновить и слить одной командой», то есть залить
изменения прямо в рабочий каталог, поверх незафиксированных изменений.

Мне нравится «залить», оно образное.


> Т.о. я не согласен с patch, hook, bundle (возможно, бандл тоже не
> фонтан), tip, strip, fetch.

Мне нечего возразить на «не согласен». Если будут предложены возможные
альтернативные переводы — я постараюсь ответить.


> Остальное мне нравится. По всем вопросам я готов принять мнение
> большинства, если таковое образуется. Прошу всех высказать замечания
> по поводу моих соображений.

Я бы не стал увязывать решение с мнением большинства.

Надеюсь, мы сможем достичь согласия силой чистого разума :)


-- 
Andrei Polushin
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: hg-i18n-ru-edit-repository.pl
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20111210/a919df5e/attachment.pl>


More information about the Mercurial-devel mailing list