Ці рекомендації розроблено для перекладачів. Спочатку дається загальний опис технічної сторони. А потім розглядається власне переклад на прикладі голландської мови. Наприкінці наведено узагальнені «правила перекладача».
Примітка: Якщо ви збираєтесь перекладати файли з каталогу docs (а не site) — ніколи не робіть цього в гілці master. Переклад завжди виконується в окремих гілках, і тільки після того, як повністю оновлено англійську версію документації. Наприклад, щоб перекладати посібник користувача QGIS 1.8, використовуйте гілку manual_en_v1.8. З усіх питань звертайтеся до списку розсилки qgis-community-team (http://lists.osgeo.org/mailman/listinfo/qgis-community-team).
Для наочності ми покажемо процес перекладу документації модуля «Теплокарта». Для прикладу перекладемо її з англійської на голландську, показані принципи будуть однакові для будь-якої іншої мови.
Власне документації створюються у форматі RST. Потім за допомогою сценарію у каталозі ./i18n/en генеруються файли перекладів .po для англійської мови.
Ці «оригінали» копіюються у каталоги інших мов.
Перекладаються саме рядки з файлів .po. Для цього є спеціальні редактори. Для роботи в режимі онлайн використовується сервіс Transifex. А якщо ви волієте працювати без необхідності виходу в Інтернет — використовуйте Qt Linguist, що входить до складу інструментів розробника Qt.
Щоб почати роботу, отримайте файл .po та почніть перекладати його.
Після того як перекладено весь файл, завантажте його на сервер, і наступного разу сценарій генерації документації створить відповідний файл .mo.
Файли .mo використовуються для отримання локалізованої документації.
Коли вихідний документ RST буде оновлено, генерується новий файл .po. Його вміст об’єднується з наявними файлами .po для кожної мови. Якщо в вихідний файл RST, який вже було перекладено, будуть додані нові рядки, то у файлі .po потрібно буде перекласти лише нові рядки та рядки, що змінилися. Таким чином, обсяг роботи з оновлення перекладу для наступної версії QGIS повинен бути відносно малим.
В якості прикладу візьмемо відносне невеликий документ RST — опис модуля «Теплокарта». Відповідний документ RST можна знайти тут:
./source/docs/user_manual/plugins/plugins_heatmap.rst
Чому ми вибрали саме цей файл?
Він оновлений відповідно до змін у поточній версії. Якщо файл не оновлювався, на його початку повинен бути наступний текст:
|updatedisclamer|
Цей рядок додає у кінцевий документ блок з попередженням. Якщо почати перекладати документ з таким рядком, швидше за все пізніше доведеться знову до нього повернутися.
Цей файл містить малюнки, підрозділи, посилання та підстановки.
Крім того, я автор цього документу, тому мені легше його перекладати ;-)
В процесі генерації було створено англійський файл .po, який можна знайти тут:
./i18n/en/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po
Відповідний голландський файл (насправді це копія англійського файлу) знаходиться тут:
./i18n/nl/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po
Поряд з цим файлом .po знаходиться маленький файл .mo, який свідчить про те, що перекладені рядки відсутні.
Візьмемо цей файл .po та почнемо перекладати. В процесі перекладу я покажу які саме частини (конструкції RST) потрібно перекладати.
При першому відкритті файлу .po в Qt Linguist ви побачите такий діалог:
Figure Translation 1:
Вкажіть мову перекладу в полі «Target language». Поля «Source language» та «Country/Region» можна не чіпати.
Після натискання кнопки [OK] Qt Linguist завантажить рядки і можна починати перекладати, див. малюнок Figure translation 2.
Figure Translation 2:
На панелі інструментів знаходяться кнопки, що значно полегшують роботу.
Відмітити рядок як перекладений та перейти до наступного. Якщо рядок не перекладений — зробіть переклад та натисніть цю кнопку. Якщо рядок не треба перекладати — залиште поле перекладу пустим та натисніть цю кнопку.
Наступний неперекладений рядок — перейти до першого неперекладеного рядка. Корисно, коли документ був оновлений і потрібно перекласти лише нові рядки.
Попередній неперекладений рядок. Виконує пошук у зворотньому напрямі та переходить до першого знайденого неперекладеного рядка.
Почнемо переклад файлу plugin_heatmap.
Перші два рядки не перекладаються, просто натисніть кнопку на панелі інструментів, відмічаючи їх як перекладені та переходьте до наступних рядків.
Третій рядок має досить цікавий вигляд:
The |heatmap| :sup:`Heatmap` plugin allows to create a heatmap from a point vector map. A heatmap is a raster map showing the density or magnitude of point related information. From the result "hotspots" can easily be identified.
|heatmap|. Слова розміщені між | є підстановкою і ніколи не перекладаються! Ця конструкція буде замінена на іконку модуля «Теплокарта».
:sup:`Heatmap`. Конструкція ``:sup: використовується для форматування тексту, а саме переводить текст у верхній регістр. Таке форматування використовується для оформлення спливаючих підказок. Переклад підказок у посібнику та інтерфейсі QGIS повинен співпадати!
Весь інший текст у цьому рядку можна перекладати на свій розсуд.
П’ятий рядок містить конструкцію :ref:, яка використовується для посилання на інший розділ документації. Текст, який розміщено безпосередньо після :ref: ні в якому разі не перекладається, так як це унікальний ідентифікатор.
First this core plugin needs to be activated using the Plugin Manager (see Section :ref:`load_core_plugin`). After activation the heatmap icon |heatmap| can be found in the Raster Toolbar.
В нашому випадку «load_core_plugin» є унікальним ідентифікатором, розміщеним перед певним розділом. Елемент :ref: буде замінено на назву відповідного розділу та перетворено на посилання. Якщо назву розділу перекладено, то всі посилання на цей розділ також будуть перекладені.
Наступний рядок містить елемент :menuselection:, за яким знаходиться власне назва пунктів меню. Ця назва перекладається так само, як вона перекладена в інтерфейсі QGIS.
Select from menu :menuselection:`View -->` :menuselection:`Toolbars -->` :menuselection:`Raster` to activate the Raster Toolbar when it is not yet activated.
У нашому випадку елемент “View –>” буде перекладено як “Beeld –>”, оскільки саме так називається цей пункт меню в голландській локалізації QGIS.
Трохи пізніше нам зустрінеться такий блок тексту:
The |heatmap| :sup:`Heatmap` toolbutton starts the Dialog of the Heatmap plugin (see figure_heatmap_2_).
Він містить посилання на малюнок figure_heatmap_2_, як і у випадку посилання на розділ цей текст не перекладається. Текст посилань з файлу RST не включається у файл .po, а значить його неможливо перекласти. Тобто посилання на малюнки, на превеликий жаль, не перекладаються. У згенерованому документі HTML посилання буде виглядати як figure_heatmap_2. А під час генерації PDF посилання figure_heatmap_2_ буде замінено на номер малюнка.
Наступний текстовий блок містить декілька елементів форматування:
**Input Point dialog**: Provides a selection of loaded point vector maps.
Ні в якому разі не видаляйте зірочки («*») у цьому тексті. Вони вказують на використання напівжирного тексту. Частіше за все таким чином виділяються підписи у діалогових вікнах, і перекладатися вони повинні так само, як і у самій QGIS.
Наступний блок містить елемент розмітки :guilabel:.
When the |checkbox| :guilabel:`Advanced` checkbox is checked it will give acces to additional advanced options.
Текст Advanced цього елемента повинен перекладатися так само як він перекладений у QGIS.
Наступний блок містить текст \`\`airports\`\`. Апострофи використовуються для створення моноширинного тексту. У нашому випадку текст виокремлений апострофами є літералом і не повинен перекладатися.
For the following example, we will use the ``airports`` vector point layer from the QGIS sample dataset (see :ref:`label_sampledata`). Another exellent QGIS tutorial on making heatmaps can be found on `http://qgis.spatialthoughts.com <http://qgis.spatialthoughts.com/2012/07/tutorial-making-heatmaps-using-qgis-and.html>`_.
Цей блок також містить гіперпосилання з адресою та пояснювальним текстом. Адреса звісно ж не перекладається, але ви можете змінити пояснювальний текст “http://qgis.spatialthoughts.com”, який буде бачити читач. Ніколи не видаляйте нижні дефіси наприкінці гіперпосилань, вони — їх важлива складова.
Не змінюйте підстановки типу |nix|
Не змінюйте посилання, що починаються з тегу :ref:
Не змінюйте посилання, наприкінці яких стоїть нижній дефіс, наприклад figure_1_
Не змінюйте адресу гіперпосилань, але за необхідності перекладайте пояснювальний текст. Ніколи не видаляйте нижній дефіс наприкінці гіперпосилань
Перекладайте текст тегів :sup:, :guilabel: та :menuselection:, але слідкуйте, щоб переклад співпадав з перекладом інтерфейсу програми
Текст, виокремлений подвійними зірочками та подвійними апострофами, іноді є значенням або іменем файлу. В деяких випадках він перекладається, в інших — ні
Будьте уважні та використовуйте такі ж апострофи, як і в оригінальному тексті
Не додавайте пустих рядків після перекладеного тексту, інакше він не буде перекладений під час генерації HTML
Керуйтеся цими простими правилами і ваш переклад буде гарним!