PostgreSQL на русском всерьёз и надолго

Свершилось!


PostgreSQL приходит в Россию
Наша компания официально завершила перевод документации PostgreSQL текущей версии на русский язык и в этой публикации мы хотим поведать, как это было. Мы также хотели бы рассказать о пути, который мы прошли для достижения этой цели (и какие направления мы перепробовали), но это, пожалуй, тема для отдельной статьи.

Перевод самого PostgreSQL на русский язык начался в далёком 2001 году, тогда вышла только версия postgresql 7.1, и в самом postgresql усилиями в том числе и наших разработчиков только появлялась возможность локализации сообщений (см. babel.postgresql.org).
Впервые перевод сообщений на русский был включён в версию 7.2, вместе с переводами на французский, немецкий, шведский, китайский и чешский.

На дворе стояла кодировка KOI8-R.
Windows 2000, Linux 2.4.1, RHEL 2.1, Debian Woody. pgadmin II.
Ubuntu? Нет, не слышали.

В сообщениях сервера 7.2 на русский было переведено около 30% (881 сообщение из 3205).
Документация к серверу 7.2 занимала около 1000 страниц.
Январь 2005 — для версии 8.0 было переведено около 80% (2888 сообщений).
Windows 2003, Linux 2.6.10, RHEL 4, Debian Sarge, Ubuntu — о, уже слышали, что-то с бородавками.

К версии 9.0 доля перевода снизилась до 64% (2765 сообщений).

Догнать и всё
Наконец, в 2012 на версии 9.2 мы догнали — 100% (6388 сообщений).
(Сейчас в версии 9.5 переведены 7675 сообщений. Размер сообщений с переводом около 1.8 Мбайта.)

После этого захотелось большего. Большего, чем перевод pgadmin’а и его сайта. Гораздо большего.
И большее нашлось — документация.
На официальном сайте имелись ссылки только на французский и японский переводы. Это вызов!
На момент выхода 9.3 документация занимала уже около 2000 страниц (не считая Release Notes), так что это снова вызов!
Нельзя не заметить, что попытки перевода документации уже предпринимались. Похоже, самая первая, о которой сохранились сведения — это перевод документации для версии 6.5.2, выполненный тогда наверняка молодыми и горячими ребятами из Сергиева Посада ещё в XX веке н.э.
Потом был ещё один перевод, уже в наше время, однако он не был полным, да и качество его оставляло желать.
Можно найти следы и ещё одной попытки, тоже не увенчавшейся.
Поэтому было решено, что проще нового завести, чем этого отмыть. И в другой семье.

В начале 2013 года был закончен и опубликован перевод двух первых разделов документации (около 400 стр.).
В 2015 образовалась наша компания, которая выбрала одной из своих первоочередных задач полный перевод документации. И работа закипела.
На входе мы имели документацию по версии 9.4 на 2000 стр. и переведённое начало на 400.
В июне было переведено 25%, в декабре 57%, в апреле перевод документации для 9.4 был закончен.
В мае 2016 перевод синхронизирован с версией 9.5 и мы получили полностью русскую документацию (объёмом 2xxx страниц, объём сырого текста вместе с переводом ~18 Мбайт).
Получился вот такой рельеф:
Море текста

И наконец, в настоящее время мы идём вровень с версией 9.6 (beta2, beta3, …) и выпустим полную документацию на русском языке в момент выхода продукта.

К нашему счастью, нам удалось воспользоваться специализированной версией РУS-Studio, проходящей закрытое тестирование. Благодаря этому мы смогли проверять текст на стадии перевода и выявлять ошибки, некоторые из которых мы забавы ради и рассмотрим ниже. Ошибки наши, так что имеем право, хотя такие типы ошибок встречаются повсеместно.

Наши жемчужины
Когда клиентское приложение соединяется с сервером, оно указывает, имя пользователя PostgreSQL, так же как и при обычном логине пользователя в Unix-like ОС.
Предупреждение РУS-Studio: W203 English-like-предложение detected.
Это обеспечивает более высокий уровень надёжности, но только в случае внимательной работы системного администратора при установке и настройке этих двух серверов.
Вопрос РУS-Studio: Q088 А насколько внимательна твоя работа?
Например, в процессе жизненного цикла приложения 10% изменений являются важными данными клиентов, другие 90% изменений менее важны для бизнеса и могут быть легко восстановлены при их потере (например, чат между пользователями).
Оригинал:
For example, an application workload might consist of: 10% of changes are important customer details, while 90% of changes are less important data that the business can more easily survive if it is lost, such as chat messages between users.
Ошибка РУS-Studio: A000 Нарушение ложности: «Рабочая нагрузка» != «Жизненный цикл»
Ошибка РУS-Studio: A000 Нарушение ложности: «Бизнес выжил» != «Восстановлен чат между пользователями»
Пользователи должны понимать, что таблицы, подвергающиеся высокой нагрузке на обновление на ведущем сервере с большей вероятностью могут вызвать отмену длительных запросов на резервном.
Ошибка РУS-Studio: R005 Ахисложносочинённое предложение.
Вопросы РУS-Studio: Q075 Нагрузка на ЛОЛ-что? Таблицы подвергаются ЛОЛ-чему? Таблицы могут ЛОЛ-вызвать?
В обычном (не восстановительном) режиме, выполнение команды DROP USER или DROP ROLE для роли, которая обладает возможностью подключения и пользователь сейчас подключён, для этого пользователя ничего не происходит — он продолжает оставаться подключённым.
Ошибка РУS-Studio: B901 Разрыв шаблона.
Исчерпание квоты вызовет такие же плохие последствия как и отсутствие самого места на диске.
Предупреждение РУS-Studio: W051 Степень кривизны предложения превышает приемлемый уровень во второй производной.
Триггерные функции должны использовать version 1 интерфейса диспетчера функций.
Ошибка РУS-Studio: R00E Выявлен текст на англусском языке.
Позволяет создаваемому пользователю открывать сессии. Это поведение по умолчанию.
Оригинал:
The new user will be allowed to log in (that is, the user name can be used as the initial session user identifier). This is the default.
Ошибка РУS-Studio: L102 Обнаружено сжатие с потерями.
Так как данные базы могут изменяться во время создания копии, то оценка может быть лишь приблизительной и не давать точности в 100%.
Оригинал:
Since the database may change during the backup, this is only an approximation and may not end at exactly 100%.
Ошибка РУS-Studio: MU003 Выявлены признаки непонимания смысла.
Вывести путь размещения кода объектов библиотек.
Оригинал:
Print the location of object code libraries.
Ошибка РУS-Studio: N3!: Неверное решение задачи комбинаторики.
На платформах, где это поддерживается, сервер будет пытаться фиксировать снимки памяти при авариях. Это позволяет диагностировать и предотвращать потенциальные проблемы в будущем.
Оригинал:
Attempt to allow server crashes to produce core files, on platforms where this is possible, by lifting any soft resource limit placed on core files. This is useful in debugging or diagnosing problems by allowing a stack trace to be obtained from a failed server process.
Предупреждение РУS-Studio: Выявлено упрощение предложения как решение проблемы недопонимания.
Игнорировать ожидание завершения запуска или остановки сервера.
Оригинал:
Do not wait for startup or shutdown to complete.
Предложение РУS-Studio: S021 Людям со сложным внутренним миром к применению: «Не игнорируй ожидание меня».

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

Вы спросите: А зачем вообще нужно было переводить действительно очень толковую документацию?
Конечно, тот, кто задаёт этот вопрос, уже читал оригинальную и, значит, способен понимать по-английски, и наверное, будет и дальше читать её, и возможно, не менее увлекательные списки рассылки.
Однако для тех, кто ещё не знаком с этой замечательной СУБД, отсутствие достаточного знания английского языка, по нашему глубокому убеждению, не должно быть препятствием для её изучения. Это и начинающие администраторы/разработчики, и студенты, и даже школьники (да, в документации есть материал, посвящённый основам SQL, который мог бы быть понятен и ежу).
Кроме того, именно то, что она очень толковая, уже само по себе оправдывает усилия по её переводу.
К тому же, взяв наш перевод за основу, мы разрабатываем учебные пособия и курсы с тем же уровнем качества и полноты материала, который мы можем найти в оригинале.
И наконец, наш продукт Postgres Pro, построенный на базе PostgreSQL, включён в реестр отечественного ПО, а значит, ориентирован прежде всего на русскоязычных пользователей и должен иметь русскую документацию. Перевод же ванильной версии — это наш вклад в развитие всего русскоязычного сообщества postgres.

Как итог месяцам и мегабайтам проделанной работы, состоявшееся событие выразилось в появлении в списке переводов на странице https://www.postgresql.org/docs/ скромной ссылки Russian.
Welcome!

Комментарии (3)

  • 12 августа 2016 в 12:19

    0

    Спасибо за отличную новость
  • 12 августа 2016 в 12:42

    0

    Хорошее дело делаете, это не линтер вс какой нить.


    РУS-Studio

    Сначала начал искать по тексту единорогов.

  • 12 августа 2016 в 12:44

    0

    Хорошая БД. Отличный перевод. Спасибо большое!

© Habrahabr.ru