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

## Вступ

Зазвичай, повідомлення інтерфейсу програми та документацію до неї написано англійською мовою. За допомогою системи з набору інструментів та бібліотек можна перекласти інтерфейс та документацію вашою рідною мовою. Процес перекладу програми певною мовою називають локалізацією. Локалізація передбачає переклад інтерфейсу програми та документації мовою користувача та адаптацію даних, які отримує та виводить програма до вимог відповідного запису мови. &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 переведе перегляд до наступного модуля у фільтрованому або впорядкованому списку панелі.

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

Якщо у вас немає доступу до початкового файла шаблона перекладу (так доволі часто буває у проєктах з перекладу комерційних програм), ви можете скористатися файлом перекладу близькою мовою. Просто скористайтеся пунктом меню Файл Вилучити усі перекладені записи або натисніть комбінацію клавіш &Ctrl;&Alt;D, щоб вилучити усі перекладені записи.

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

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

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

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

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

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

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

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

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

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

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

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

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

## Проєкти

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

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

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

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

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

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

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

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

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

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

Ви можете вимкнути показ повністю перекладених файлів на панелі Огляд проєкту за допомогою кнопки Приховати завершені переклади на головній панелі інструментів або типового клавіатурного скорочення &Ctrl;T.

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

## Глосарій

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Злиття

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

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

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

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

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

Наприклад, якщо ви працюєте над перекладом KDE, ви можете отримати версію, яка розробляється, до теки `/home/xx/hacking/kde/trunk/l10n-kf5/ВАША_МОВА`, стабільну версію до теки `/home/xx/hacking/kde/branches/stable/l10n-kf5/ВАША_МОВА`. Створіть проєкт &lokalize;: `/home/xx/hacking/kde/trunk/l10n-kf5/ВАША_МОВА/project.localize` і встановіть значення `BranchDir=../../../branches/stable/l10n-kf5/ВАША_МОВА`, потім працюйте над проєктом, і вносьте зміни одразу у каталоги 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`, щоб програма завантажила скрипт з загальної теки скриптів kf5-l10n (тобто теки, яка не є специфічною для вашої мови).

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

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

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

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

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

### Pology

Однією з найкращих демонстрацій можливостей з керування програмою за допомогою скриптів є використання Pology у &lokalize;.

Взаємодію з Pology можна налаштувати на сторінці Pology вікна налаштувань програми, яке можна відкрити за допомогою пункту Параметри Налаштувати &lokalize;... головного меню програми.

Щоб дізнатися більше, будь ласка, ознайомтеся із вмістом домашньої сторінки Pology.

### LanguageTool

За допомогою LanguageTool можна перевірити правопис та граматику у перекладених вами модулях.

Ви можете налаштувати нетиповий сервер LanguageTool можна налаштувати на сторінці LanguageTool вікна налаштувань програми, яке можна відкрити за допомогою пункту Параметри Налаштувати &lokalize;... головного меню програми.

Щоб скористатися можливостями з перевірки LanguageTool виберіть пункт меню Зміни Перевірити цей модуль за допомогою LanguageTool або натисніть комбінацію клавіш &Ctrl;J.

Щоб дізнатися більше, будь ласка, ознайомтеся із вмістом домашньої сторінки LanguageTool.

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

&lokalize;

Авторські права на програму © 2007-2015, 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;