Отже - багатомовність.
Днями сидів за перекладом всього Drupal-core на Українську.
Вирішив поділитись нюансами.
Загалом, ця інформація може допомогти всім, хто працює над gettext базованими перекладами, особливо при наявності кількох версій перекладу одного і того ж продукту.
З чого почати.
Буду говорити про власний досвід, тому особливо не шкодуйте критикувати 8).
Отже, після стягування шаблонів для перекладу, в мене очі збільшились, коли я побачив загальну кількість строк, що потрібно перекладати. Тому я вирішив якось спростити життя.
Цілком логічно було спочатку пошукати таких самих братів по нещастю, які намагаються формувати Друпал-базовані сайти потрібною мені локалізацією.
Я знайшов застарілий і непідтримуваний ( я вже отримав на нього права адміністрування ) проект українського перекладу на офсайті, також знайшов у братів наших молодших частковий переклад українською. Це було давно і неправда. В основному прийшлось переклад робити вручну. Крім того, в останній час дуже пощастило потрапити на Київський Друпал Кемп 2008, де я познайомився з чудовими людьми і зміг обмінятись великою кількістю перекладених модулів та ядра друпалу різних версій. За що їм особливе дякую.
Як об'єднати.
Як виявилось, у всіх, зібраних перекладах було аж ~1200 строк-дублів перекладу одного і того ж самого і я вирішив вибрати кращі з них. Для цього функціоналу пакету gettext виявилось замало, тому я знайшов інший, більш серйозний продукт на базі gettext - Translate Toolkit, а по простому - пакет для перекладу.
Якщо привязуватись до моєї роботи, то з усього цього пакету мені знадобилася в основному утиліта для виправлення конфліктів в po файлах.
Що воно робить.
Якщо у Вас виявиться на руках більше чим один варіант перекладу одного і того ж самого, з допомогою даної програмки можна сформувати файли po, в яких буде вивантажено лише "конфліктні", тобто дублікати перекладів.
В моєму випадку команда виглядала так
poconflicts -I po_in conflicts
po_in - директорія з дублікатами перекладу (uk-1version.po, uk-2version.po)
conflicts - директорія, куди програмка складе файл дублікатів.
А що далі?
А далі, завантажуєте згенеровані файли конфліктів в улюблений po редактор і виділяєте "Неточний переклад" проти строк, які, на Вашу особисту думку, перекладені некоректно.
Після того, як з синьо-зеленими очима Ви закінчите цю рутинну роботу, отриманий файл треба почистити від "неточних перекладів".
Для цього я використав з того ж Translate Toolkit утиліту для фільтрування строк в po файлах.
Зокрема
pofilter --nofuzzy --header conflicts new_cleaned
conflicts - папка з "відретушованими" конфліктними файлами
new_cleaned - папка, куди буде складено почищені, готові до вживання файли po.
Об'єднання на сайт
Наступним кроком - потрібно всі ці зміни обновити в Вашому перекладі.
На щастя, Друпал має вбудовану систему оновлення(import) перекладу, яку треба використати з опцією Фрази у завантажених файлах заміняють існуючі, нові фрази додаються.
Якщо Ви звичайни користувач і не бажаєте ні з ким ділитись цією радісною для вас подією - можете далі не читати і не допомагати іншим отримати якісний переклад на свої сайти.
Якщо Вам не байдуже
Тоді варто поділитись іншими таким об'єднанням перекладів в єдине ціле.
Для цього, якщо Ви перекладали Друпал, достатньо лише буде зв'язатись із одним із розробників-перекладачів і надіслати експортований шаблон із вкладеним перекладом з Вашого проекту одним файлом, а там вже розберуться.
Якщо ж Ви не довіряєте свою безцінну роботу в такий спосіб іншим і маєте бажання власноруч зайнятись роботою над перекладом, тоді Вам пряма дорога в розробники.
Для цього реєструйтесь на сайті Друпал, зв'язуйтесь із адміністратором проекту, над яким плануєте працювати і просіть включити Вас в групу розробників.
Але перед тим Варто почитати Офіційний підручник перекладача, а також, якщо Ви дуже невгамовні і хочете працювати з CVS та репозиторієм Друпал - швидкий старт Вам буде в нагоді.
Ну а якщо Вам буде складно, то можливо дана стаття буде мати продовження...
PS. Дана інструкція не обов'язково для Друпаловодів. Якщо у Вас аналогічна ситуація із складністю об'єднання перекладів будь-якого іншого проекту - все написане тут - стане у нагоді.
PPS. Також читаємо статтю про переклад сайту, на що варто звернути увагу