Переклад веб-сторінок Debian

Щоб максимально полегшити роботу перекладачів, сторінки створюються дещо відмінним способом, ніж той, що є звичним для вас. Веб-сторінки насправді генеруються з джерельних кодів, що розмічені за допомогою wml. Для кожної мови виділена окрема тека.

Якщо ви плануєте почати повністю новий переклад веб-сайту Debian, будь ласка, перегляньте розділ про запуск нового перекладу.

Переклад окремих сторінок

Ми використовуємо WML, щоб відокремити специфічний вміст певної сторінки від елементів, котрі використовуються на багатьох сторінках. Це означає, що замість HTML-файлів необхідно редагувати джерельні файли WML. Будь ласка, використовуйте CVS, щоб отримати поточні версії джерельних текстів. Ви повинні завантажити як мінімум дві теки: webwml/english/ та webwml/<мова>/.

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

Заголовки перекладів

Наполегливо рекомендуємо перекладачам в заголовку після останнього рядка, що починається з #use, додавати спеціальний рядок з записом про версію оригінального файлу, який був перекладений, щоб полегшити оновлення. Рядок повинен мати вигляд: #use wml::debian::translation-check translation="x.y"

Деякі команди перекладачів також використовують цей рядок, щоб відмітити офіційного перекладача кожної веб-сторінки. В цьому випадку при внесенні оновлень в англійський варіант сторінки, який ви супроводжуєте, ви буде автоматично отримувати листи з зауваженням, що сторінку необхідно оновити. Для цього просто вкажіть своє ім'я в якості супроводжуючого в кінці рядка #use, ось так: #use wml::debian::translation-check translation="x.y" maintainer="ваше ім'я" Сценарій copypage.pl зробить це автоматично, за умови що ви визначили змінну середовища DWWW_MAINT або при використанні опції командного рядка -m.

Ви також повинні пояснити роботу хто ви такий, як часто ви хочете отримувати пошту та вміст поштових листів. Для цього відредагуйте (чи попрохайте координатора перекладу відредагувати) файл webwml/мова/international/мова/translator.db.pl в дереві CVS. Синтаксис повинен бути цілком зрозумілим, крім цього, ви можете використати як приклад файл французької команди, якщо такого файлу не існує для вашої мови. Робот може відсилати інформацію декількох видів і для кожного з них ви можете вибрати частоту з якою вона буде вам відсилатись. Існують такі різновиди інформації:

Для кожного з цих різновидів можуть бути встановлені такі значення: 0 (ніколи), 1 (щомісяця), 2 (щотижня) or 3 (щоденно).

Наприклад, запис може бути таким:

                'Martin Quinson' => {
                        email       => 'martin.quinson@tuxfamily.org',
                        summary     => 3,
                        logs        => 3,
                        diff        => 3,
                        tdiff       => 0,
                        file        => 0
                },

Заголовок веб-сторінки можна легко створити, використовуючи сценарій copypage.pl в кореневій теці гілки webwml. Цей сценарій копіює сторінку в потрібне місце, при необхідності створює теки та make-файли та автоматично додає потрібний заголовок. При цьому виводиться попередження, якщо сторінка, яку ви копіюєте, вже існує в сховищі чи була видалена з нього (як застаріла) або ж якщо дехто вже здійснив цей переклад та зафіксував його, а ваше локальне сховище досі не було оновлене.

Перед початком використання copypage.pl потрібно налаштувати файл language.conf, за допомогою якого сценарій зможе визначити на яку мову ви перекладаєте. В файлі повинен бути рядок з назвою мови, лише він. Також, мову можна визначити, встановивши змінну середовища DWWW_LANG, а вказавши в змінній DWWW_MAINT власне ім'я та прізвище, ви побачите, що в результаті copypage.pl додаватиме цю інформацію до заголовків wml-файлів. Про інші можливості сценарію можна дізнатись, запустивши його без аргументів.

Після того як ви виконали команду ./copypage.pl файл.wml, перекладіть оригінальний текст в файлі. Коментарі в файлах сповістять вас, якщо існують елементи, котрі не треба перекладати, виконуйте ці вказівки. Не робіть жодних зайвих змін у форматуванні, якщо щось необхідно виправити, це краще зробити в файлі оригіналу.

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

Оскільки ми використовуємо узгодження вмісту, HTML файли мають назви не файл.html, а файл.<мова>.html, де <мова> є двома літерами коду мови, відповідно до ISO 639 (наприклад fr для французької).

Ви можете зібрати HTML з WML, виконавши команду make файл.<мова>.html. Якщо це спрацювало, перевірте повну відповідність синтаксису за допомогою weblint файл.<мова>.html.

Веб-сторінки перебудовуються з дерева CVS на сервері www-master і цей процес в більшості випадків нечутливий до помилок. Однак, якщо ви затвердили пошкоджений файл, що знаходиться на верхньому рівні гілки вашого перекладу (наприклад, головний index.wml), це перерве процес збірки та затримає всі інші оновлення веб-сайту. Будь ласка, приділяйте особливу увагу таким файлам.

Коли сторінка повністю готова, ви можете затвердити її в дереві CVS. Якщо ваші права доступу дозволяються вам зробити це самостійно, виконайте cvs commit; якщо ні, відішліть її комусь, хто має право запису до головного сховища.

Початок нового перекладу

Якщо ви маєте бажання почати перекладати веб-сторінки Debian на нову мову, відішліть нами листа (англійською) за адресою webmaster@debian.org.

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

Після того, як ви видобули теку webwml/ та (як мінімум) webwml/english/, починайте зі створення нової теки для вашого перекладу, поряд з english/ та іншими. Назва теки з перекладами повинна бути записана англійською мовою та повністю складатись з символів нижнього регістру (наприклад, „german“, а не „Deutsch“).

Скопіюйте файли Make.lang та .wmlrc з теки english/ до каталогу з новим перекладом. Ці файли є невід'ємними при конструюванні сторінок вашого перекладу з файлів WML. Після того, як ви скопіювали їх в теку нового перекладу, ви повинні змінити лише деякі речі:

  1. В файлі Make.lang необхідно змінити значення змінної LANGUAGE.
  2. В файлі .wmlrc треба змінити значення змінних CUR_LANG, CUR_ISO_LANG та CHARSET. Додайте до них CUR_LOCALE, якщо вона потрібна вам для сортування.
  3. Для деяких мов може бути необхідною спеціальна додаткова обробка кодування. Це можна здійснити, використовуючи в wml опції --prolog та --epilog. Для цього скористайтесь змінними WMLPROLOG та WMLEPILOG в файлі Make.lang.
  4. В головному файлі webwml/Makefile необхідно змінити змінну LANGUAGES, щоб на www.debian.org збірка сторінок вашої мови проводилась нарівні з усіма. Ми були б вдячні, якби ви залишили це нашим веб-майстрам, оскільки, якщо ваші файли є помилковими, при їх черговому завантаженні з CVS ви про це не дізнаєтесь. А це може заблокувати процес побудови тієї частини веб-сайту, що залишилась.

Після цього, в вашій теці створіть новий файлу Makefile та запишіть в нього такий рядок:

include $(subst webwml/тека_вашої_мови,webwml/english,$(CURDIR))/Makefile

(Звісно, слово тека_вашої_мови треба змінити на назву відповідної теки.)

Далі, у каталозі вашої мови створіть підтеку з назвою „po“ та скопіюйте в неї цей Makefile. (cp ../Makefile .).

В теці po/, виконайте команду make init-po, щоб згенерувати початковий набір *.po файлів.

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

Починайте переклад файлу po/templates.xy.po (де xy є двосимвольним кодом вашої мови). Кожному рядку msgid "щось" на початку ставиться у відповідність рядок msgstr "". Після слова msgstr в лапках ви повинні написати переклад цього щось.

Вам не обов'язково перекладати всі рядки в усіх .po файлах, а лише ті, котрі є насправді потрібними в перекладених сторінках. Щоб дізнатись в яких випадках ви повинні перекласти той чи інший рядок, звертайте увагу на коментарі в .po файлі перед кожним виразом msgid. Якщо вказаний там файл знаходиться в english/template/debian, то його краще перекласти. Якщо ні, ви можете відкласти переклад до того моменту, поки не перекладете ті веб-сторінки, в яких він дійсно потрібен.

Файли, розташовані в po/, призначені для полегшення роботи перекладачів, котрим (переважно) ніколи не доведеться нічого редагувати власне в самій теці english/template/debian. Якщо ви виявили деякі неправильні налаштування у взірцевій теці template, будь ласка, виправляйте цю проблему в цілому (не соромтесь попросити когось зробити це), замість того, щоб вносити виправлені переклади в локальний файл шаблонів — це (зазвичай) призведе до ще більших проблем.

Якщо ви не впевнені, чи правильно вчинили в тій чи іншій ситуації, запитайте про це в списку розсилки debian-www перед тим, як затвердити зміни.

Зауваження: якщо ви вважаєте, що повинні зробити якісь інші зміни, відішліть листа в debian-www, вказавши що і навіщо ви змінили. Тоді ця проблема може бути вирішеною.

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

Відновлення застарілих перекладів

Як написано на сторінці, присвяченій підтримці перекладів в актуальному стані, застарілі переклади сторінок веб-сайту, які не оновлювались на протязі тривалого часу, автоматично видаляються.

Якщо ви спробуєте підготувати до роботи таку сторінку за допомогою сценарію copypage.pl, копіювання буде перервано, натомість буде запропоновано відновити її. Дізнатись причини, через які сторінку було видалено зі сховища, можна скориставшись командою cvs log, вказавши назву видаленого файлу в якості аргументу командного рядка (або через веб-інтерфейс, видалені файли знаходяться в підтеці Attic відповідної робочої теки).

Для відновлення застарілого перекладу спочатку скористайтесь командою cvs status (або cvs log), щоб дізнатись номер правки, якою було видалено файл, а потім виконайте процедуру зворотнього злиття.

Наприклад, якщо видалений файл має назву deleted.wml, а видалення мало місце під час правки під номером 1.7, то відновлювати потрібно файл з версією 1.6 (видалена версія мінус одиниця). Відновити файл можна за допомогою команди:

   cvs update -j 1.7 -j 1.6 deleted.wml

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

Все інше

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

Маємо надію, що ви оціните ту роботу, яку ми проробили для перекладу сторінок, як таку, що максимально спростила цей процес. Як вже згадувалось, якщо ви маєте будь-які запитання, ви можете задати їх в списку розсилки debian-www.