Автор Гілка: Скрипт po_translate.pl у поміч перекладу po-файлів  (Прочитано 3541 раз)

Відсутній Сергій Дубик

  • Дописувач
  • **
  • дописів: 51
  • Карма: +0/-0
Цей сценарій використовує можливості сервісу „Google Translation“ для перекладу рядків з po-файлів.
Перекладені рядків позначаються як „неточні“ чи додаються у коментарі (в залежності від кількості вхідних мовних файлів та внутрішнього параметра $store_sugestions_in_comments_flag).

Приклади застосування:
1) perl ./po_translate.pl file.po > log.txt
2) perl ./po_translate.pl ru.po ca.po  da.po  de.po  el.po  es.po  fr.po  it.po  nl.po  pl.po  pt_BR.po  ro.po zh_TW.po > log.txt
В архіві є ще результати „напускання“ сценарію на po-файли TeX-застосунків Gummi та LaTeXila.

У „неточні“ попадають перекладені рядків першого файлу, переклад з англійської та переклади з інших файлів додаються як коментарі.
Можна заборонити „неточні“ рядків (параметр $store_sugestions_in_comments_flag=1), тоді усі переклади будуть в коментарях (це можна використати для поповнення перекладами вже частково перекладеного файлу і/чи щоб не порушувати вже існуючі „неточні“).
Для кінцевої зачистки від усіх цих коментарів є сценарій clear_comments_after_po_translate.pl.

Сценарій вимагає встановлення наступних нетипових perl-модулів Locale::PO, REST::Google::Translate,
Locale::Language.
Роботу сценарію перевірено лише в Linux Debian. Також зауважено, що в одній „малопоширеній системі з вікнами“  ;) сценарій працює некоректно (проблеми з кодуванням).
Деякі рядки (закоментовані та з переносами) Locale::PO обробляє некоректно - результат поновлювати з pot.
Додам ще, що працює сценарій дуже повільно — біля 5-6 сек. на фразу (наразі стоїть затримка в 1 с. для кожної транзакції з GT).

Сподіваюся цей сценарій не буде сприйнятий як засіб швидкого автоматичного перекладу po-файлів.
Створювався він, щоб мати такі профіти — 1) економити час на набиранні тексту перекладу 2) показати переклади з інших мов (як певна поміч з перекладом складних рядків).
Отож, хто зацікавлений — пробуйте.
« Змінено: 2011-02-11 14:36:45 від dubyk »
Дебіен, Гном, Перл

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +2/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Flame:
1. Що таке стрічки? Це «лєнти» українською? ;) Характерне також поєднання «застосунків» з «профітами». Нова вікімова?  ;D
2. Не лукавте. Це для гуглоперекладів (повбивав би). Якщо комусь треба порівняти свій переклад з гуглоперекладом, можна скористатися Virtaal, у TranslateWiki це взагалі вбудовано. Приберіть, будь ласка, щоб уникнути масового закидання вашого дистрибутива цими «перекладами» (<censored> meets the fan).
« Змінено: 2011-02-11 14:06:56 від 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

Відсутній Сергій Дубик

  • Дописувач
  • **
  • дописів: 51
  • Карма: +0/-0
Flame:
1. Що таке стрічки? Це «лєнти» українською? ;) Характерне також поєднання «застосунків» з «профітами». Нова вікімова?  ;D
2. Не лукавте. Це для гуглоперекладів (повбивав би). Якщо комусь треба порівняти свій переклад з гуглоперекладом, можна скористатися Virtaal, у TranslateWiki це взагалі вбудовано. Приберіть, будь ласка, щоб уникнути масового закидання вашого дистрибутива цими «перекладами» (<censored> meets the fan).
„Лєнти“ позабирав, щоб не муляли.
Pootle (2.1) теж вміє це (GT) робити та й є ще GlobeFish для веб-застосунків.
Але це все для онлайну.
Звичайно, словники теж допомагають.
А поза мережею G та GT немає, а потрібно допетрати зміст якоїсь чудернацької дії у програмі... От переклад з іншої мови деколи й дає розуміння.
Не думаю, що хтось буде цим користуватися для масового закидання гуглоперекладів. Для цього більше, нмсд, підходять системи з низьким рівнем входження, такі як LP, Pootle (частково) та інші.
Дебіен, Гном, Перл

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +2/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Звичайно, словники теж допомагають.
А поза мережею G та GT немає, а потрібно допетрати зміст якоїсь чудернацької дії у програмі... От переклад з іншої мови деколи й дає розуміння.
Вибачте, але щоб «допетрати» якийсь термін, треба користуватися програмою і розуміти її призначення (принаймні достатньо один раз скористатися Перекладачем за допомогою віджета перекладу середовища, KDE, GNOME чи чогось іншого). Для цього не потрібно перекладати увесь po-файл.
Цитата
Не думаю, що хтось буде цим користуватися для масового закидання гуглоперекладів. Для цього більше, нмсд, підходять системи з низьким рівнем входження, такі як LP, Pootle (частково) та інші.
Ага... Ділюся технологією: береться файл з LP, використовується ваш скрипт з незначними виправленнями (для таких виправлень достатньо знань студента-двієчника, знати Perl не треба), вивантажується назад на LP. Щастя, радість, особливо якщо LP це і є основна гілка перекладу (Scilab, Clementine, Transmission, OpenERP, ADampiere, Avogadro). При цьому, внаслідок особливостей роботи Rosetta, старі переклади перезаписуються новим чудовим гуглоперекладом. Відчуваю веселі війни у дусі виправлень самого гуглоперекладача («стрічки», «замовчування», «промовчування», «коректування» та інші чудові перли). Перефразуючи адмірала Кенінгема, «хороший переклад можна створювати роками, щоб його зіпсувати достатньо хвилин».

Думаєте дурні фантазії? На ubuntu.kiev.ua уже був користувач, готовий використати саме цей спосіб перекладу.

До речі, щодо «застосунків». Поясніть мені, будь ласка, сакральне значення виразу «TeX-застосунки». Що, бувають «TeX-незастосунки»? Що таке «веб-застосунки» і в чому їх відмінність від «веб-програм», скажімо?
« Змінено: 2011-02-11 16:51:22 від 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

Відсутній Сергій Дубик

  • Дописувач
  • **
  • дописів: 51
  • Карма: +0/-0
Flame:
Мій сценарій не призначений для запорчування перекладів.
Для цього є простіші способи — хоча-би po-auto-translator, pepipopum.dixo.net, translate.umpirsky.com та безліч інших.
Аргументи для чого може бути корисний цей сценарій я вже навів вище.
Дебіен, Гном, Перл

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Я й слів не маю — якщо таке буде в перекладах Debian, то мої співчуття його користувачам.
Нічого не маю проти скрипта, але ціль його не зовсім благородна.

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