# Довідник з &lokalize;

Nick
Shaforostoff

    shaforostoff@kde.ru

Юрій
Чорноіван

    yurchor@ukr.net

Переклад українською
Микола
Шафоростов

    shaforostoff@kde.ru

Коректура
2007-2009
Nick Shaforostoff
&FDLNotice;
20 лютого 2012 року
1.5

&lokalize; — це система перекладу за допомогою комп’ютера, основними завданнями якої є підвищення продуктивності перекладача і якості перекладу. Програма має компоненти, типові для інструментів автоматизованого контролю: пам’ять перекладів, глосарій, а також унікальну можливість об’єднання (синхронізації) перекладів. Програму призначено для перекладу програмного забезпечення. У &lokalize; також передбачено зовнішні інструменти перетворення даних для позаштатних перекладачів офісних документів.

&lokalize;
локалізація
l10n
інтернаціоналізація
i18n
переклад
глобалізація
g11n
XLIFF
gettext
OpenDocument
KBabel

## Вступ

Зазвичай, повідомлення інтерфейсу програми та документацію до неї написано англійською мовою. За допомогою системи з набору інструментів та бібліотек можна перекласти інтерфейс та документацію вашою рідною мовою. Процес перекладу програми певною мовою називають локалізацією. Локалізація передбачає переклад інтерфейсу програми та документації мовою користувача та адаптацію даних, які отримує та виводить програма до вимог відповідного запису мови. &lokalize; — програма, яка допоможе вам виконати локалізацію інтерфейсу та документації програми.

У кожної програми, переклад якої передбачено її розробниками, є один або декілька файлів-каталогів повідомлень для перекладу. Зазвичай, такі файли мають назви з суфіксом `.pot`. POT є скороченням від «Portable Object Template» (портативний шаблон об’єкта). &lokalize; — спеціалізований і простий у користуванні редактор файлів PO (каталогів повідомлень &GNU; gettext). Це комп’ютеризована система перекладу, написана на основі бібліотеки платформи &kde; 4. Окрім базових можливостей з редагування файлів PO з показом найдрібніших подробиць щодо перекладу, у програмі передбачено підтримку глосаріїв, пам’яті перекладу, режимів порівняння для забезпечення якості, керування проектами тощо. Програма має безліч додаткових можливостей, зокрема повноцінні можливості з навігації, широкі можливості з редагування, можливості пошуку, перевірки синтаксису та показу статистичних даних.

Файли Portable Object (.po): кожен перекладач має доступ до шаблонів перекладу (файлів POT), у яких слід заповнити поля перекладу (всі повідомлення слід перекласти відповідною мовою). Файл, у якому міститимуться перекладені повідомлення називається файлом PO (Portable Object або файлом портативних об’єктів).

## Редактор

### Головне вікно

Типово, головне вікно програми складається з шести частин. Верхній правий блок призначено лише для читання. У ньому міститься поточне повідомлення msgid (текст, який слід перекласти) з відкритого файла PO. Під цим блоком міститься поле msgstr (текст перекладу). За допомогою цього поля вам слід виконувати редагування тексту перекладу.

Типове головне вікно &lokalize;
Типове вікно з відкритим файлом перекладу.

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

Файли перекладу відкриватимуться у окремій вкладці, у якій ви побачите два багаторядкових поля редагування та декілька вікон інструментів. Ці вікна можна розташувати стосом (подібно до вкладок), показати окремо або сховати. Файли перекладів складаються з серії пар текст англійською-переклад, які називають модулями. Одному модулю, зазвичай, відповідає один рядок у інтерфейсі користувача або один абзац у документації. У першому з багаторядкових полів показано частину пари англійською мовою. У другому багаторядковому полі має знаходитися переклад. Навігацію між модулями можна здійснювати за допомогою вікна Модулів перекладу або за допомогою клавіш Page Down і Page Up.

Модуль може бути перекладеним або неперекладеним. Переклад повідомлення може бути готовим або неготовим (останнє також називають неточним перекладом). Якщо модуль належить до неготових, його буде показано курсивним шрифтом. У &lokalize; ви можете пересуватися повідомленнями файла відповідно до стану їх перекладу. Відповідні клавіатурні скорочення можна знайти у меню Перехід. Під час пересування неперекладені модулі вважатимуться неготовими. Крім того, ви можете скористатися можливістю фільтрування панелі Модулі перекладу. Натискання клавіші Page Down переведе перегляд до наступного модуля у фільтрованому або впорядкованому списку панелі.

До головного вікна програми можна додати інші панелі, зокрема Альтернативні переклади, Основна синхронізація, Вторинна синхронізація, Бінарні модулі. Для цього слід просто позначити відповідні пункти у підменю Параметри Інструменти головного меню програми.

### Панелі інструментів

Доступ до додавання і вилучення пунктів з панелі інструментів можна отримати за допомогою пункту меню Параметри Налаштувати пенали... головного меню програми.

Налаштування панелі інструментів
Вікно налаштовування панелі інструментів програми.

Додаткову інформацію можна отримати з розділу, присвяченого налаштовуванню панелей інструментів, підручника з основ роботи у &kde;.

### Клавіатурні скорочення

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

Налаштування клавіатурних скорочень
За допомогою цього вікна ви можете налаштувати клавіатурні скорочення.

Додаткову інформацію можна отримати з розділу, присвяченого скороченням, підручника з основ роботи у &kde;.

### Загальні підказки

Якщо ви є перекладачем &kde;, ймовірно, що у вас вже є файл проекту &lokalize; у теці вашої мови (зазвичай, він називається `index.lokalize`). Ви також можете скористатися пунктом меню Проект Створити новий проект і за допомогою майстра звантажити файли переклади вашою мовою, а потім створити проект.

Для підвищення продуктивності рекомендуємо вам використовувати замість меню і панелей інструментів клавіатурні скорочення, до яких ви звикли. Наприклад, ви можете натиснути комбінацію клавіш &Ctrl;L для фокусування рядка Швидкий пошук, за допомогою якого можна відфільтрувати вміст перегляду Модулів перекладу. Після завершення фільтрування ви можете натиснути клавішу Page Down для пересування відфільтрованим списком.

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

## Проекти

### Загальні зауваження

Проекти є одним з головних елементів у &lokalize;. Проект — це файл, що містить шляхи, теки з перекладами, шаблонами та інші файли: файл глосарію, скрипти автоматизації, пам’ять перекладів. Якщо під час відкриття файла за допомогою &lokalize; проект не завантажено, програма виконає пошук файла проекту у батьківських теках (аж до четвертого рівня вкладеності). Вказати файл проекту можна і іншим способом, за допомогою зазначення параметра `--project` під час запуску &lokalize; з командного рядка.

У кожному проекті ви можете обрати вашу роль у проекті (перекладач, рецензент, підтверджувач), і таким чином визначити фазу роботи, яку автоматично вказуватиме &lokalize; у змінених вами файлах.

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

### Вкладка «Огляд проекту»

Під час першого запуску &lokalize; буде показано порожню вкладку Огляд проекту. За допомогою цієї вкладки ви зможете оглянути весь набір файлів PO вашого проекту з перекладу. Програма &lokalize; допоможе вам перекладати швидко і підтримувати якість перекладу. Принципи роботи з &lokalize; передбачають створення або відкриття певного проекту перекладу. На вкладці Огляд проекту буде показано ієрархію тек проекту та статистичні дані, зокрема дані щодо відсоткового відношення перекладеного матеріалу до загального обсягу, авторів перекладу та часових міток перекладу. За допомогою цієї вкладки ви можете відкрити файл перекладу у поточному вікні &lokalize;.

Створити новий проект можна за допомогою пункту меню Проект Створити проект. У відповідь на вибір цього пункту програма відкриє вікно майстра, за допомогою якого ви зможете виконати покрокову процедуру створення проекту. За допомогою меню Проект ви також можете отримати доступ до пунктів дій Огляд проекту, Налаштувати проект, Відкрити проект та Відкрити нещодавній проект.

Вкладка «Огляд проекту» За допомогою цього вікна ви можете налаштувати параметри вашого проекту.

На вкладці Огляд проекту показано деревоподібну структуру файлів зі статистичними даними щодо них, зокрема, відсотком перекладених модулів та іменем останнього перекладача. За його допомогою можна відкрити вибраний файл у поточному або новому вікні &lokalize;.

## Глосарій

Чи не стомлювало вас постійне набирання однакової текстової послідовності по декілька разів просто тому, що воно займало менше часу ніж пошук готового перекладу і його копіювання з наступною вставкою? Тепер вам просто слід відшукати (часто використовувану) послідовність слів у Вікні глосарію, а потім вставити її за допомогою клавіатурного скорочення.

Звичайно, перед цим глосарій слід заповнити послідовностями слів. У &lokalize; є зручний редактор глосарію, який надає можливість пошуку у всьому глосарії.

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

## Пам’ять перекладів

Вікно пам’яті перекладів надає вам змогу просто перетягнути теку з файлами перекладів, скажімо з Dolphin, у вікно, а потім за кілька хвилин ви зможете бачити запропоновані комп’ютером варіанти під час переходу до наступного модуля. Щоб вставити варіант до файла перекладу, скористайтеся комбінаціями &Ctrl;1, &Ctrl;2 тощо, залежно від номера варіанта.

За допомогою пункту меню Інструменти Керування пам’яттю перекладів ви можете додавати або вилучати бази даних пам’яті перекладів ваших проектів. За допомогою вікна, яке відкривається цим пунктом меню ви також можете імпортувати або експортувати дані у форматі `tmx`.

Натискання клавіші F7 призведе до відкриття вкладкиПам’ять перекладів, за допомогою цієї вкладки ви зможете здійснювати пошуку пам’яті перекладів. Наведення вказівника миші на результат пошуків з наступним клацанням лівою кнопкою відкриє відповідний файл на відповідному модулі. Якщо вам потрібно швидко відкрити певний файл у проекті (і цей файл було додано до пам’яті перекладів), замість послідовного перегляду Огляду проекту вам достатньо буде ввести назву файла у поле Маска файла разом з шаблоном заміни '*'.

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

&lokalize; з результатами пошуку у пам’яті перекладів, які відповідають поточному модулю
&lokalize; з результатами пошуку у пам’яті перекладів, які відповідають поточному модулю

Пакетний переклад:

  Щоб додати точні відповідники перекладів з бази даних пам’яті перекладів у автоматичному режимі, скористайтеся пунктом меню Інструменти Заповнити всі з повною відповідністю або Заповнити всі з повною відповідністю і позначити «неточними». Ця можливість програми є відповідником початкового автоматичного перекладу у &kbabel;.

## Можливості з синхронізації перекладів

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

&lokalize; надає вам змогу швидко розбиратися з модулями, які незначно відрізняються, і може показувати послівну різницю. Також у &lokalize; є два вікна синхронізації — Основна синхронізація і Вторинна синхронізація. Ці вікна майже ідентичні, але перше в основному використовується для злиття перекладів, а друге для підтримки синхронності перекладів двох різних гілок програмного забезпечення.

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

### Злиття

Одним з можливих використань Режиму синхронізації є рецензування змін, виконаних (новими) учасниками перекладу, якщо ви невпевнені у якості виконаної ними роботи.

Відкрийте основний файл, а потім скиньте його змінену версію до вікна Основної синхронізації. Для пересування між зміненими записами використовуйте комбінації клавіш &Alt;Стрілка вниз або &Alt; Стрілка вгору (пам’ятайте, що ці клавіатурні скорочення можна змінити у спосіб, звичайних для всіх програм для &kde;).

&lokalize; використано для внесення змін до перекладу
&lokalize; використано для внесення змін до перекладу

### Тиражування

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

Наприклад, якщо ви працюєте над перекладом KDE, ви можете звантажити версію, яка розробляється, до теки `/home/xx/hacking/kde/trunk/l10n-kde4/ВАША_МОВА`, стабільну версію до теки `/home/xx/hacking/kde/branches/stable/l10n-kde4/ВАША_МОВА`. Створіть проект &lokalize;: `/home/xx/hacking/kde/trunk/l10n-kde4/ВАША_МОВА/project.localize` і встановіть значення `BranchDir=../../../branches/stable/l10n-kde4/ВАША_МОВА`, потім працюйте над проектом, і вносьте зміни одразу у каталоги trunk і branch.

### Альтернативні переклади

Кожен з модулів може мати декілька пов’язаних з ним альтернативних перекладів. Такі переклади можуть з’являтися внаслідок оновлення файлів, коли початкове повідомлення зазнає незначних змін. У таких випадках старий переклад з старим початковим повідомленням буде пересунуто до списку альтернативних перекладів, отже такі переклади не буде втрачено.

Під час перекладу інтерфейсу програмного забезпечення для створення файлів перекладу, зазвичай, використовуються інструменти gettext. Коли змінюється текст оригіналу, інструменти gettext оновлюють файли перекладів і позначають записи, де початковий текст було змінено, як неточні (або, іншими словами, непідтверджені). Ці інструменти зберігають початковий текст, отже, перекладачі мають змогу бачити, які саме зміни було зроблено. &lokalize; спрощує життя перекладачам і виділяє частини початкового тексту, які було змінено у області перегляд Альтернативні переклади.

&lokalize; виділив частини початкового тексту, які було змінено з часу останнього варіанта перекладу
&lokalize; виділив частини початкового тексту, які було змінено з часу останнього варіанта перекладу

## Створення скриптів для &lokalize;

Перелік функцій &lokalize; можна розширити за допомогою скриптів, написаних декількома інтерпретованими мовами програмування, зокрема Python і JavaScript. Скрипти, зазвичай, вбудовуються до графічного інтерфейсу &lokalize; як пункти меню (для яких ви можете призначити клавіатурне скорочення). Розташування і назва пункту меню для скрипту визначається у супутньому файлі .rc. Під час кожного запуску &lokalize; програма шукає у теці `ТЕКА_ПРОЕКТУ/lokalize-scripts` файли .rc і додає їх до файла кешу, який зберігається за адресою `ТЕКА_ПРОЕКТУ/lokalize-scripts/scripts.rc` (отже, зазвичай, цей файл не потрібно додавати до сховища системи керування версіями). Крім того, у файлах RC містяться шляхи до скриптів, які можна вказувати відносно теки файла .rc або системної теки скриптів (програма перевірить обидва шляхи). Насправді, ці шляхи мають бути відносними, якщо ви маєте намір використовувати файл .rc спільно з іншими учасниками перекладу. Отже, ви, наприклад, можете вказати `../../scripts/lokalize/opensrc.py`, щоб програма завантажила скрипт з загальної теки скриптів kde4-l10n (тобто теки, яка не є специфічною для вашої мови).

Приклади файлів .rc можна знайти у теці, куди встановлено &lokalize; (зазвичай, `/usr/share/kde4/apps/lokalize/scripts/`) і у сховищі &kde;. За цією адресою ви можете знайти додаткові приклади скриптів, зокрема заснований на JavaScript `check-gui.js` — скрипт, який запускається у автоматичному режимі під час кожного зберігання файла (цього можна досягти за допомогою особливого параметра у файлі .rc). Якщо ви знайомі з Python або JavaScript, його код буде для вас очевидним.

Нижче наведено посилання на документацію API. Всі пункти, позначені записом Q_SCRIPTABLE, можна використовувати у скриптах.

- Довідник з об’єктів API редактора

- Довідник з об’єктів API &lokalize;

- Довідник з API об’єктів Проекту

## Подяки і ліцензія

&lokalize;

Авторські права на програму © 2007-2009, Nick Shaforostoff shaforostoff@kde.ru

Частину коду було запозичено з &kbabel;, попередника &lokalize;.

Авторські права на документацію © 2007-2009 Nick Shaforostoff shaforostoff@kde.ru

Автор:

- Nick Shaforostoff shaforostoff AT kde.ru; Shankar Prasad svenkate AT redhat.com; Sweta Kothari swkothar AT redhat.com

Щоб дізнатися більше, прочитайте інформацію, розміщену на домашній сторінці &lokalize;.

Переклад: Юрій Чорноіван yurchor@ukr.net.

&underFDL; &underGPL;

&documentation.index;