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, ...) і випустимо повну документацію російською мовою в момент виходу продукту.

На наше щастя, нам вдалося скористатися спеціалізованої версією РУЅ-Studio, що проходить закрите тестування. Завдяки цьому ми змогли перевіряти текст на стадії перекладу і виявляти помилки, деякі з яких ми заради забави і розглянемо нижче. Помилки наші, так що маємо право, хоча такі типи помилок зустрічаються повсюдно.

Наші перлини
Коли клієнтське додаток з'єднується з сервером, воно вказує, ім'я користувача PostgreSQL, так само як і при звичайному логін користувача в Unix-like ОС.
Попередження РУЅ-Studio: W203 English-like-пропозиція detected.

Це забезпечує більш високий рівень надійності, але тільки у випадку уважної роботи системного адміністратора при установці та налаштування цих двох серверів.
Питання РУЅ-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 more can easily survive if it is lost, such as chat messages between users.
Помилка РУЅ-Studio: A000 Порушення хибності: «Робоча навантаження» != «Життєвий цикл»
Помилка РУЅ-Studio: A000 Порушення хибності: «Бізнес вижив» != «Відновлений чат між користувачами»

Користувачі повинні розуміти, що таблиці, піддаються високому навантаженні на оновлення на провідному сервері з більшою ймовірністю можуть викликати скасування тривалих запитів на резервному.
Помилка РУЅ-Studio: R005 Ахисложносочиненное пропозицію.
Питання РУЅ-Studio: Q075 Навантаження на ЛОЛ-що? Таблиці піддаються ЛОЛ-чому? Таблиці можуть ЛОЛ-викликати?

У звичайному (не відновлювальному) режимі, виконання команди DROP USER або DROP ROLE для ролі, яка володіє можливістю підключення і користувач зараз підключений, для цього користувача нічого не відбувається — він продовжує залишатися підключеним.
Помилка РУЅ-Studio: B901 Розрив шаблону.

Вичерпання квоти викличе такі ж погані наслідки як і відсутність самого місця на диску.
Попередження РУЅ-Studio: W051 Ступінь кривизни пропозиції перевищує прийнятний рівень у другій похідній.

Тригерні функції повинні використовувати version 1 інтерфейсу диспетчера функцій.
Помилка РУЅ-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.
Помилка РУЅ-Studio: L102 Виявлено стиснення з втратами.

Так як дані бази даних можуть бути змінені під час створення копії, то оцінка може бути лише приблизною і не давати точності в 100%.
Оригінал:
Since the database may change during the backup, this is only an approximation and may not end at exactly 100%.
Помилка РУЅ-Studio: MU003 Виявлені ознаки нерозуміння сенсу.

Вивести шлях розміщення коду об'єктів бібліотек.
Оригінал:
Print the location of object code libraries.
Помилка РУЅ-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.
Попередження РУЅ-Studio: Виявлено спрощення пропозиції як рішення проблеми непорозуміння.

Ігнорувати очікування завершення запуску або зупинки сервера.
Оригінал:
Do not wait for startup or shutdown to complete.
Пропозиція РУЅ-Studio: S021 Людям зі складним внутрішнім світом до застосування: «Не ігноруй очікування мене».

Усі ці помилки були безжально виправлені, але якщо ви, вивчаючи документацію в нашому пиреводе, зустрінете інші, пишіть нам. Ми дуже сподіваємося, що наша документація буде настільки ж якісною, як і оригінальна.

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

Як підсумок місяцях і мегабайтам виконаної роботи, відбулася подія виразилося в появі у списку перекладів на сторінці https://www.postgresql.org/docs/ скромною посилання Russian.
Welcome!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.