Що перекладати?

З дитинства ми стикаємося з різноманітними написами, які визначають характер нашої поведінки у тих чи інших ситуаціях. Ми вчимося їх розпізнавати, вивчаємо мови, зрештою пишемо ними щось самі. Більшість людей зупиняється на вивченні однієї мови і способу її запису — ця мова і вважається рідною. Те, що хтось не знає якоїсь мови, не обов’язково є фатальною вадою. Сучасне суспільство вимагає високого рівня спеціалізації і повної зосередженості заради досягнення успіху. Отже за ваші переклади хтось теж вам чимось віддячить.

Ви, певно, і самі розумієте, що перекладати можна, власне, все, що написано не рідною мовою. Найпростішим (і водночас найскладнішим випадком) є переклад художньої літератури. Тут майже не діють шаблони і відсутні просторові обмеження перекладів. Хоча розуміння художнього тексту і важлива, але зовсім не обов’язкова частина роботи перекладача технічних текстів. Питання технічного перекладу, мабуть передусім спирається на знання матеріалу, того, з чим ви працюєте, словниковий запас і знання власне того, з якими даними ви працюєте.

Загальноприйняті формати файлів локалізації

Звичайний текст

Під «звичайним» текстом будемо розуміти текст з мінімумом розмітки (оскільки всі файли локалізації так чи інакше залишаються звичайними текстовими файлами, принаймні у своєму початковому стані). З подібними файлами (чи то фрагментами тексту) можна зустрітися у Вікіпедії. До подібного класу належать файли анонсів (якщо відкинути теґи PHP). Подібні формати файлів локалізації ми зустрічаємо і у деяких програмах.

Приклади: TeXmacs, Image Analyzer, SciTE, 2ManDVD.

Не сказати, щоб все це зручно було перекладати. Окрім нестандартного формату, ви не можете скористатися майже нічим. Ні пам’ять перекладів, ні глосарій тут не працюють (звичайно ж можна скористатися спеціальними засобами, про які ми поговоримо згодом, але вони працюють далеко не завжди). Ви не зможете легко визначати зміни, які відбулися у перекладі. Деякі автори таких програм намагаються якось подбати про перекладача і додають нові рядки у кінець файла. Інші не роблять навіть цього. Отже, у такому разі вам нічого не залишається, як запустити щось подібне до KDiff3 і розпочати порівняння перекладів, які ви робили раніше, з поточною формою.

Крім того, можливі сюрпризи. Наприклад, кодування. TeXmacs використовує, на перший погляд, щось подібне до cp1251 (типового кодування кирилиці у Windows), але насправді це T2A (кодування TeX), тому вас чекають незабутні пригоди. ;)

Файли PO/POT

Див. Файли перекладів у форматі PO.

Файли перекладу Qt (TS)

Див. Файли перекладу Qt (TS).

Файли XLIFF

Файли для перекладу серйозної документації. Якщо за типової схеми перекладу вільного програмного забезпечення, переклад відбувається у форматі

Переклад → Перекладач → Координатор → Сховище коду програми

то з перекладом XLIFF все набагато складніше:

Переклад → Перекладач → Рецензент → Підтверджувач → Координатор → Сховище коду програми → Нові рядки для перекладу → Перекладач...

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

Перетворення файлів з одного формату на інший

Див. Перетворення файлів перекладу з одного формату на інший.

Адреси, за якими можна звантажити шаблони файлів перекладу або незавершених перекладів для популярних дистрибутивів

Див. Переклади дистрибутивів.

Локалізація окремих програм, проблема синхронізації

KDE

Графічну оболонку сховища KDE можна знайти за адресою http://l10n.kde.org/stats/gui/trunk-kde4/team/uk/

Координатор перекладу (колишній): о. Іван Петрущак
Координатор перекладу (поточний): Юрій Чорноіван
Коректор (колишній): Дарія Малихіна

Архів списку листування локалізації KDE
Підписатися на список листування

Переклади документації можна знайти за адресою http://l10n.kde.org/stats/doc/trunk-kde4/team/uk/

Графічна оболонка сховища перекладів інтерфейсів програм KDE

Долучитися офіційно можна за цією адресою. Якщо ви не бажаєте надовго з цим зв’язуватися, можете просто надіслати переклад або ваші зауваження за адресою yurchor@ukr.net (jabber: yurchor@jabber.kiev.ua) або координаторові проекту. Відповідні адреси можна знайти у файлах перекладу та тут. Там же можна знайти інструкції зі звантаження сховищ перекладів (може знадобитися для згодовування у вашу пам’ять перекладів).

Короткий довідник перекладача KDE

Команді перекладу потрібні коректори (дуже проста і страшенно повчальна робота) і перекладачі.

З термінологією, використаною у перекладах KDE, можна ознайомитися за допомогою звичайного та порівняльного словників-індексаторів.

GNOME

Офіційна графічна оболонка сховища перекладів GNOME називається Damned Lies.

Адреса української сторінки: http://l10n.gnome.org/teams/uk

Координатор перекладу: Данило Коростіль
Відповідальний перекладач: Максим Дзюманенко

Графік виходу: http://live.gnome.org/Schedule

Графічна оболонка сховища перекладів інтерфейсів та документації до програм Damned Lies

До оголошення фази "String Freeze" розробники можуть значно змінювати рядки, що перекладаються. Після "String Freeze" зміни, що впливають на переклади усіх пакетів GNOME, узгоджуються у списку розсилки для перекладачів. Тож якщо програма в основному перекладена, немає сенсу перекладати її до 100% до фази "String Freeze", набір рядків для перекладу може значно змінитись.

Перекладати гілку у розробці є сенс до фази "tarballs due". Подальші переклади потраплять у мінорні версії цієї гілки. Наприклад, після виходу GNOME 2.28, всі подальші переклади потраплять у 2.28.1.

Зазвичай, після випуску головної версії, усі пакети відділяться на нові гілки, тобто створюється, наприклад, гілка "gnome-2-28", а гілка "master" розморожується і стане наступною версією у розробці. Тому переклади, що додаються у гілку "gnome-2-28", слід дублювати у гілку "master", інакше у версії 2.30 їх не буде.

Увага!

Деякі дистрибутиви (наприклад, Fedora) не оновлюють мінорні версії усіх пакетів GNOME після випуску дистрибутива, а просто накладають латки. У такому випадку, переклади у дистрибутивах не оновлюються, тож є сенс якнайбільше перекладати до випуску версії GNOME, що перебуває у розробці.

Список листування перекладачів: http://mail.gnome.org/mailman/listinfo/gnome-i18n

У нижній частині сторінки наведено посилання для завантаження всіх перекладів разом.

Команді потрібні перекладачі, але, здається, насамперед рецензенти та відповідальні перекладачі. Зареєструйтеся (вгорі сторінки є кнопочка «Увійти») і перекладайте. Або ж просто надсилайте переклади координаторові.

Настанови з перекладу (англійською)
Настанови з користування git для перекладачів (англійською)

З термінологією, використаною у перекладах GNOME, можна ознайомитися за допомогою інтерактивного словника-індексатора Pylyglot.

Перегляд інтерфейсів з поточним перекладом.

XFCE

Переклади XFCE переведено у систему Transifex.

Шаблони та самі переклади можна знайти за адресою https://translations.xfce.org/languages/uk/

Приєднатися до проекту досить просто, на відміну від перекладу за допомогою Transifex Fedora.

Translation Project

Велика збірка програм, що належать до проекту http://www.gnu.org/ перекладається у проекті Translation Project.

Адреса української сторінки: http://translationproject.org/team/uk.html

Процедуру набуття членства у команді описано на сторінці http://translationproject.org/html/translators.html.

Free Software Foundation для захисту перекладів від зазіхань з боку недобросовісних перекладачів вимагає надіслати їм класичною поштою письмову відмову від авторських прав (насправді, можна роздрукувати угоду, підписати її, сканувати листок з нею і надіслати його електронною поштою).

Система прийому перекладу автоматизована, після отримання листа ваш обліковий запис активується, і робот починає приймати від вас файли, виконуючи кілька перевірок. При найменшій помилці у імені автора, назві файла, авторських правах і структурі заголовка чи загальному синтаксисі робот не прийматиме файл, а буде повідомляти вам поштою про помилку.

Якщо ви вважаєте процедуру реєстрації складною та не хочете реєструватись, ви можете взяти PO-файл зі сторінки (або POT шаблон, якщо для цієї програми ще немає перекладу), перекласти його та надіслати координаторові, або комусь із команди перекладу. Але перш ніж координатор надішле ваш переклад до робота, йому доведеться змінити поле "Last-Translator", тож згадування про ваше авторство залишиться лише у коментарях, і можливо, рядку "translation_credits", якщо він є у файлі.

OpenOffice.org

Великий офісний пакет.

Сайт локалізації: https://translate.apache.org/uk/

Команді потрібні перекладачі та рецензенти. Наразі головною проблемою проекту є неперекладена довідка. Доки не буде перекладено інтерфейс та 80% довідки, Oracle не збиратиме офіційних збірок українською.

Український переклад інтерфейсу є у коді проекту, тож за умови вказування при збиранні ./configure ... --with-lang=uk можна зібрати програму з українським інтерфейсом. Так, український інтерфейс є у Fedora 10 та старших версіях.

Реєстрація: достатньо зареєструватись на сайті і написати координатору українського перекладу, щоб він надав права.

Особливості формату PO-файлів: замість символу акселератора застосовується не "_", а "~". Наприклад, "~Файл", "С~ервіс".

Групи файлів: інтерфейс та довідка перебувають у окремих групах.

LibreOffice

Після відгалуження цього варіанта набору офісних програм повідомлення, які не збігаються з повідомленнями OpenOffice.org, можна перекладати тут.

Firefox & co

Сторінка локалізації: http://firefox.org.ua/works/

Форум перекладачів mozilla-forum.org.ua

Координатор перекладів: Тимофій Бабич

Окремі програми

У кожної вартої програми (окрім, gkrellm ;)) має бути пристойний сайт. Якщо ви принциповий противник (чи противниця) натискання клавіші F1, знайти цей сайт можна за допомогою Google. На цьому сайті, зазвичай, є посилання на останній стабільний випуск програми і сховище з кодами. Виникає питання: що ж обрати? Якщо ви прочитали все, що було написано вище, ви певно вже знаєте, що обрати слід сховище кодів. Звантажте коди і знайдіть шаблон файла перекладу — файл POT, або незавершений переклад (зазвичай, uk.po). Не соромтеся написати авторові чи авторці попереднього перекладу, можливо, він чи вона вже готують нову версію, а ви лише витратите свій час на те, що Launchpad так ненавидить (hate). ;)

Часто у кодах трапляються застарілі шаблони (ну, не встигли автори оновити). Спробуйте налаштувати програму на збирання скриптом configure або відповідною командою cmake (подивіться у файлі README або INSTALL). Пошукайте створені під час цієї процедури файли pot або оновлені файли PO. Можливо, доведеться виконати деяке шаманство на зразок виконання команди make update-po у каталозі файлів перекладів (./po).

Якщо до ваших рук потрапила програма на Qt, процедура може бути трохи іншою. Дозволю собі процитувати автора чудової програми DjView і загалом коду, за допомогою якого ви можете переглядати DJVU, Леона Боту (Leon Bottou):

HOW TO CREATE NEW TRANSLATION FILES FOR DJVIEW.
-----------------------------------------------

- Determine the language code for your language.
  Sometimes language codes have suffixes in capital letters
  for describing variants. But we always use lowercase.
  For instance, use 'zh_cn' or 'zh_tw' for the two variants of chinese. 
  In the following explanation we assume 'de' for german.

- Go to directory 'src'
        $ cd src

- Add the following line into file 'djview.pro'
        TRANSLATIONS += djview_de.ts 

- Run the Qt program 'lupdate'
        $ lupdate djview.pro

- A file named djview_de.ts must have been created.
  You must edit the translations using the Qt program 'linguist'.
        $ linguist djview_de.ts
  See the linguist documentation in the Qt documentation.
  Alternatively you can use 'kbabel' to edit the ts file.

- Run the Qt program 'lrelease'
        $ lrelease djview.pro

- You should have now a file named 'djview_de.qm'.
  To test your translations, type
        $ LANGUAGE=de ./djview

- Once you are satisfied, 
  send me your translation file 'djview_de.ts' 
  by email

Thanks.

З цієї чудової інструкції все має стати зрозумілим. ;)


І на завершення цього розділу трохи прикладів того, що робити не слід.

Прихильники людських облич певно вже давно помітили: на LP все вже є. То навіщо бігати туди-сюди — перекладай на LP і буде тобі щастя. Це правда, але далеко не вся. Stellarium, Deluge і ще декілька програм можна перекладати лише за допомогою Launchpad. Але безліч інших програм зневажають переклади з Launchpad (часто цінність цих перекладів дорівнює цінності віршів написаних 7 сліпими поетами на газетному листі).

І ось мій приклад: є така програмка для ведення мікроблогів, choqoK. Поважні Ubuntero перетягли переклад цієї програми на LP, російський перекладач натрапив на цей шаблон і переклав його, але шаблон був від версії 0.5, а актуальною була версія 0.6.7. Переклад був повним, але зовсім, зовсім нікому не потрібним.

Переклад choqok у сховищі KDE станом на 18.09.2009

Не робіть таких помилок. Завжди все перевірте. Підпишіться на список листування програми і запитайте про переклад, напишіть авторові чи створіть повідомлення про ваду, принаймні пошукайте у Google. Це збереже ваші сили і сили інших людей.


Ще трохи про переклади на LP. Цикл життя програми можна поділити на такі періоди:

  1. Інтенсивна розробка. Починається одразу або трохи згодом після випуску стабільної версії. Переклад у цей період можна розпочинати, лише якщо файл перекладу величезний і ви боїтеся не встигнути.
  2. Замороження рядків. Після настання цього періоду вам слід зосередитися на перекладі і довести його до 100%. У цей час рядки не змінюються (або майже не змінюються), слідкуйте за повідомленнями у списку листування програми або середовища, яке перекладаєте.
  3. Замороження сховища для створення пакунків і випуск. Все, пізно пити боржомі. Якщо ви спробуєте встромити ваш переклад, нехай і найповніший і найточніший, його вже не буде у випуску програми. Ви можете встромити його до Ubuntu і тішитися з того, що у інших дистрибутивах його немає (але LP вас тихо ненавидітиме (hate), див. вище ;)).

Будь ласка, слідкуйте за цим, щоб уникнути марних зусиль.

Як перекладати?

Сучасні інструменти локалізації

Див. Сучасні інструменти локалізації.

Словники і пам’ять перекладів

Див. Словники і пам’ять перекладів.

Автоматичний переклад: переваги і недоліки

Див. Автоматичний переклад.

Контроль якості перекладу

Див. Контроль якості перекладу.

Довідкова інформація про змінні символи

Див. Довідка про переклади символів LC_CTIME.

Що робити з готовими перекладами?

Див. Що робити з готовими перекладами?

Завершальні зауваження щодо команд локалізації

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

Щоб перекладати щось велике потрібна наполегливість, терпіння, знання і команда однодумців. Звичайно ж, не все це з’являється одночасно. У великих програм або комплексів програм, які мають за плечима роки існування, вже є свої команди. Часто ці команди (або окремі перекладачі) мають якісь усталені погляди на переклад. Якщо ці погляди суперечать вашим, не намагайтеся змінити все першого ж дня.

Якщо ви маєте намір долучитися до якоїсь команди надовго, не полінуйтеся виконати певну розвідку: почитати списки листування, форуми, які відвідують учасники команди, подивитися, чим цікавляться учасники. Великі дистрибутиви часто подають настанови щодо вступу до команд перекладу — ознайомтеся з ними.

Куди б ви не прийшли, будьте ввічливі: ніхто і ніколи не знав всього у світі, ніхто і ніколи не перекладе всі програми у світі одночасно. Вчіться враховувати думку інших людей.

Щасливого перекладу!