Автор Гілка: Актуалізація перекладів: план  (Прочитано 3942 раз)

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Часто автори програми є головним гальмом при перекладі програми: поки перекладач перекладає програму, вони встигають випустити іншу версію. Крім того, переклад завжди йде в наступну версію, тому якщо користувач як правило бачить переклад тільки у наступній версії свого дистрибутиву (десь за пів-року), коли він вже застарів.

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

  • Розробити клієнта, який буде стягувати переклади з сереверу і оновлювати їх локально. Вимоги:
    • Використовувати REST для стягнення файлів .po: http://SERVER/PATH/PROGRAM-NAME/VERSION/LOCALE.po - для конкретної версії перекладу, http://SERVER/PATH/PROGRAM-NAME/latest/LOCALE.po - для останньої версії повного .po для програми.
    • Зберігати переклади у окремий каталог і робити симлінк на нього з системного каталогу.
    • Спостерігати за змінами у каталогу через incron і автоматично оновлювати переклади.
    • Підтримувати локальну (власну) базу перекладів і доповнень до перекладів.
    • Підтримувати публікацію власних перекладів у базу на сервері.
    • Розробити сервера, який буде підтримувати базу перекладів. Вимоги:
      • Автоматично, по запиту клієнта, створювати переклад для якоїсь версії програми викорисовуючи головний uk.po програми і en.po для конкретної версії. Кешувати результат.
      • Автоматично приймати чи брати переклади з різних джерел. Зберігати переклади з різних джерел у різних файлах і автоматично зливати їх у один uk.po сортуючи їх по даті редагування.
      • Надавати легкий доступ для перегляду всіх повідомлень з усіх джерел.
      • Давати можливість модераторам додавати виправлення до перекладів.
      [/list]
      « Змінено: 2011-01-21 12:25:51 від lvm »
      [Fedora Linux]

      Відсутній yurchor

      • Видавець
      • *******
      • дописів: 3636
      • Карма: +3/-0
      • Grateful for our Iron Lung
        • Вікі користувачів KDE
      Re: Актуалізація перекладів: план
      « Відповідей #1 : 2011-01-20 19:23:37 »
      Off-topic:
      О! Знову відкрили scripty+posummit+Lokalize з KDE!
      Відверто кажучи, це:
      Цитата
      • Автоматично, по запиту клієнта, створювати переклад для якоїсь версії програми, використовуючи головний uk.po програми і en.po для конкретної версії. Кешувати результат.
      • Автоматично приймати чи брати переклади з різних джерел. Зберігати переклади з різних джерел у різних файлах і автоматично зливати їх у один uk.po сортуючи їх по даті редагування.
      якось незрозуміло для чого. Спробую пояснити:

      • теоретично, перше має полегшити життя супровідників пакунків, але не робить цього, оскільки доведеться накладати якусь латку на застарілі стабільні пакунки без особливої причини (можливо, я не правий, і це має полегшити життя користувачів, але це у перспективі призведе до простого множення тих, хто нічого не планує робити, але хоче всього готового).
      • дуже часто важливим є не лише саме повідомлення, але і його контекст (сусідні повідомлення з того самого файла). Чудове пояснення Часлава Іліча. Тому такі переклади не лише важко буде перевіряти, вони, найімовірніше, міститимуть жахливі невлучання за контекстом.
      Try to reach you before winter comes
      Always a place for you in my heart
      You're not alone
      All used up
      I'd give anything to talk to you

      Відсутній Володимир Лісівка

      • Адміністратор ЩОДО
      • Видавець
      • *****
      • дописів: 3820
      • Карма: +11/-0
      • Програміст
      Re: Актуалізація перекладів: план
      « Відповідей #2 : 2011-01-21 11:23:22 »
      • теоретично, перше має полегшити життя супровідників пакунків, але не робить цього, оскільки доведеться накладати якусь латку на застарілі стабільні пакунки без особливої причини (можливо, я не правий, і це має полегшити життя користувачів, але це у перспективі призведе до простого множення тих, хто нічого не планує робити, але хоче всього готового).

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

      • дуже часто важливим є не лише саме повідомлення, але і його контекст (сусідні повідомлення з того самого файла). Чудове пояснення Часлава Іліча. Тому такі переклади не лише важко буде перевіряти, вони, найімовірніше, міститимуть жахливі невлучання за контекстом.

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

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

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

      Відсутній yurchor

      • Видавець
      • *******
      • дописів: 3636
      • Карма: +3/-0
      • Grateful for our Iron Lung
        • Вікі користувачів KDE
      Re: Актуалізація перекладів: план
      « Відповідей #3 : 2011-01-21 12:00:54 »
      • теоретично, перше має полегшити життя супровідників пакунків, але не робить цього, оскільки доведеться накладати якусь латку на застарілі стабільні пакунки без особливої причини (можливо, я не правий, і це має полегшити життя користувачів, але це у перспективі призведе до простого множення тих, хто нічого не планує робити, але хоче всього готового).

      Трохи навпаки — не доведеться накладати латки на старі (чи нові) версії пакунків, оскільки переклади будуть йти окремим каналом розповсюдження.
      Боюся на такий велосипед майже ніхто не підпишеться. У більшої частини є LP, де тепер роблять те саме: останні зміни у Rosetta від Даніли Шегана полягають у тому, що Rosetta бомбардує git GNOME і таскає будь-які переклади, які там робляться, ледве не раз на день (швидше ніж вони потраплять до самого GNOME). Фактично, Ubuntu ставить ультиматум всім перекладачам основних гілок: або беріть переклади з Rosetta, або залишайтеся без сторонніх перекладів (сподівайтеся лише на користувачів інших дистрибутивів).

      На мій же погляд, відокремлення перекладів від самих програм є згубним: перекладачі можуть бути корисними авторам програм, — виправляти вади, друкарські помилки, допомагати у локалізації.

      Крім того, виокремлення так званих «мовних пакунків» не вирішує проблем з багатьма програмами, де переклад має бути зібрано разом з програмою (більшість програм, що використовують intltool того-таки Даніли Шегана). Серед таких програм Audacity, Inkscape, всі програми з комплекту GNOME, частина програм TP (зокрема grub 2). Що робити з ними? Під час приготування Ubuntu 10.04 Canonical вже наскочила на ці граблі, повторимо подвиг?
      Цитата
      • дуже часто важливим є не лише саме повідомлення, але і його контекст (сусідні повідомлення з того самого файла). Чудове пояснення Часлава Іліча. Тому такі переклади не лише важко буде перевіряти, вони, найімовірніше, міститимуть жахливі невлучання за контекстом.

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

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

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

      Знову повернуся до того самого: корінь проблеми не у тому, що у основних гілок якісь проблеми, — корінь проблеми у тому, що комусь ліньки виправити пару слів і накатати хоча б отакий жалюгідний звіт про помилку.

      Якість же вбудованих засобів перекладу проекту, якими і слід користуватися, залежить від ставлення самого проекту до перекладачів. Якщо у певних проектів є пов’язані з цим недоліки, давайте одразу обговоримо перелік цих проектів і спробуємо ситуацію виправити.
      « Змінено: 2011-01-21 12:03:01 від yurchor »
      Try to reach you before winter comes
      Always a place for you in my heart
      You're not alone
      All used up
      I'd give anything to talk to you

      Відсутній Володимир Лісівка

      • Адміністратор ЩОДО
      • Видавець
      • *****
      • дописів: 3820
      • Карма: +11/-0
      • Програміст
      Re: Актуалізація перекладів: план
      « Відповідей #4 : 2011-01-21 12:38:04 »
      Боюся на такий велосипед майже ніхто не підпишеться.
      Там не буде підписки.

      У більшої частини є LP, де тепер роблять те саме: останні зміни у Rosetta від Даніли Шегана полягають у тому, що Rosetta бомбардує git GNOME і таскає будь-які переклади, які там робляться, ледве не раз на день (швидше ніж вони потраплять до самого GNOME). Фактично, Ubuntu ставить ультиматум всім перекладачам основних гілок: або беріть переклади з Rosetta, або залишайтеся без сторонніх перекладів (сподівайтеся лише на користувачів інших дистрибутивів).
      Відповідно, моя система тягатиме переклади з Ланч-пада.

      На мій же погляд, відокремлення перекладів від самих програм є згубним: перекладачі можуть бути корисними авторам програм, — виправляти вади, друкарські помилки, допомагати у локалізації.
      Цитата
      — Лікарю, а я зможу після операції грати на піаніно?
      — Так, звичайно, це легка операція.
      — Дивно, а до операції я не міг. :-/


      Крім того, виокремлення так званих «мовних пакунків» не вирішує проблем з багатьма програмами, де переклад має бути зібрано разом з програмою (більшість програм, що використовують intltool того-таки Даніли Шегана). Серед таких програм Audacity, Inkscape, всі програми з комплекту GNOME, частина програм TP (зокрема grub 2). Що робити з ними? Під час приготування Ubuntu 10.04 Canonical вже наскочила на ці граблі, повторимо подвиг?
      Дайте посилання на цю проблему, бо це якась дуже серйозна помилка в intltool, про яку я нічого не знаю. :-/

      Ну, і що робити з виправленим перекладом?

      Те саме, що й завжди: залити його в git Ґнома, звідки його візьме Розета, звідки його стягне моя система на сервері, звідки його візьме мій клієнт на моїх комп’ютерах, і де, нарешті, його побачу я.
      [Fedora Linux]

      Відсутній yurchor

      • Видавець
      • *******
      • дописів: 3636
      • Карма: +3/-0
      • Grateful for our Iron Lung
        • Вікі користувачів KDE
      Re: Актуалізація перекладів: план
      « Відповідей #5 : 2011-01-21 13:12:52 »
      На мій же погляд, відокремлення перекладів від самих програм є згубним: перекладачі можуть бути корисними авторам програм, — виправляти вади, друкарські помилки, допомагати у локалізації.
      Цитата
      — Лікарю, а я зможу після операції грати на піаніно?
      — Так, звичайно, це легка операція.
      — Дивно, а до операції я не міг. :-/
      Дуже дотепно. А тепер перевірте інструментом перевірки правопису будь-який доволі великий файл шаблону перекладів, погляньте на те, що Yorba Foundation називає шаблоном перекладу Shotwell, зрештою почитайте те, що повідомляє до консолі gcc у чийомусь перекладі. ;) У KDE є стаття про те, як не треба робити, у решти проектів немає, і вони роблять так, як заманеться (не вміли до операції грати, але певні, що після неї точно вже зможуть).

      Цитата
      Крім того, виокремлення так званих «мовних пакунків» не вирішує проблем з багатьма програмами, де переклад має бути зібрано разом з програмою (більшість програм, що використовують intltool того-таки Даніли Шегана). Серед таких програм Audacity, Inkscape, всі програми з комплекту GNOME, частина програм TP (зокрема grub 2). Що робити з ними? Під час приготування Ubuntu 10.04 Canonical вже наскочила на ці граблі, повторимо подвиг?
      Дайте посилання на цю проблему, бо це якась дуже серйозна помилка в intltool, про яку я нічого не знаю. :-/
      Проблему воліли б приховати, але... Під час роботи intltool виконує видобування рядків з файлів .desktop, файлів налаштувань, вітальних вікон, інших ресурсів програми. У KDE всі видобуті таким чином рядки складаються у файл desktop.po модуля. Intltool пхає все у один файл! Після завершення перекладу пакунок доведеться перезібрати (всі рядки мають повернутися назад до .desktop та файлів налаштування). Більше того, іноді саме створення файла pot неможливе без попереднього збирання програми (gajim, Inkscape), бо файли ресурсів створюються під час збирання. Спробуйте віддати команду make update-po одразу після configure для цих програм, — отримаєте жорсткий відлуп. Щоб хоч якось прикрити цю дірку, майже кожним дистрибутивом створено власний файл перекладу меню (хоч меню має бути перекладено, бо його дуже вже помітно).

      Grub — взагалі пісня. Всі переклади убунтеро до попередніх випусків (і до 11.04 теж піде!) пішли у одне місце. У списку листування цього не афішували, але це можна знайти у журналах IRC #ubuntu-translators (на жаль, зараз не можу знайти).

      Цитата
      Ну, і що робити з виправленим перекладом?

      Те саме, що й завжди: залити його в git Ґнома, звідки його візьме Розета, звідки його стягне моя система на сервері, звідки його візьме мій клієнт на моїх комп’ютерах, і де, нарешті, його побачу я.
      Клас. Особливо цікавить етап з git GNOME. Хтось візьметься це робити?

      Off-topic:
      З Rosetta ви дуже весело пожартували, якщо я правильно вловив послідовність дій: це не Tx, — замість файла ви за годинку-другу (або за пару десятків годин у критичні дні кінця березня або початку жовтня) матимете на поштовій скриньці лист з посиланням на створений з бази даних файл перекладу (можливо застарілий) якоїсь (sic!) версії програми (ну, не спрацювала черга імпорту, у ній висить новий варіант, але він застряг через підвисання, скажімо, Soyuz чи якогось іншого сервера). Систему створено як пилосос: туди все влітає, але назад витягується зі значними складнощами.
      Try to reach you before winter comes
      Always a place for you in my heart
      You're not alone
      All used up
      I'd give anything to talk to you