Автор Гілка: як редагувати файли .mo ?  (Прочитано 4360 раз)

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
технічне питання, не знаю, чи в правильному форумі, але:
- що треба мати (ПЗ), щоб перекладати інтерфейс самому? чи треба при цьому перекомпільовувати програми?
- бачив, що у багатьох програм все лежить в /usr/lib/locales/.../LC_MESSAGES, чи є інші каталоги, де лежать мовні файли?
- чому мовні файли не текстові?  
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній rangel

  • Графоман
  • ****
  • дописів: 281
  • Карма: +0/-0
  • Python programmer
Re: як редагувати файли .mo ?
« Відповідей #1 : 2007-06-23 00:30:42 »
*.mo це компільовані *.po файли  :)
*.po - текстові. В ідеалі повинен бути файл *.pot в якому будуть описані ключові фрази (msgid) та контекст, де саме в коді вони зустрічаються. Вам потрібно буде лише зробити *.po файл виду
msgid "bla-bla-bla"
msgstr "ла-ла-ла"

Мені було зручно працювати з poEdit, хоча підійде й звичайний текстовий редактор
Roman Suprotkin

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: як редагувати файли .mo ?
« Відповідей #2 : 2007-06-23 00:31:41 »
Редагувати треба po. po зазвичай є у сирцях. Перекладається простим текстовим редактором.
Потім воно збирається у mo за допомогою (здається) gettext'івської msgfmt.
Воно так щоб швидше було. Щоб кожен раз при запуску, скажімо, ls не вираховувати таблицю хешів для всіх повідомлень програми.
А це (таблиця хешів), в свою чергу, зроблено, щоб програмісту не треба було замінювати зрозумілу фразу на англійській у коді програми на цифру-індекс у масиві фраз, яка нічого не говорить про те, на що посилається... І щоб можна було просто зробить неgettext'ізовану програму gettext'ізованою...
« Змінено: 2007-06-23 00:39:11 від ISBear »

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: як редагувати файли .mo ?
« Відповідей #3 : 2007-06-23 11:24:10 »
дякую, а po-файли є в складі дистрибутивів (в мене Убунту 7.04)? Якщо так то як називається відповідний пакунок? Якщо нема, то звідки можна завантажити? В /usr/src в мене нічого нема теж.
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: як редагувати файли .mo ?
« Відповідей #4 : 2007-06-23 12:32:46 »
Навряд чи. Зате є в сирцях (і, відповідно, в пакунках з сирцями).
А в Убунту існує rosetta -система перекладу он-лайн.
https://translations.launchpad.net/ubuntu/feisty/

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3628
  • Карма: +2/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Re: як редагувати файли .mo ?
« Відповідей #5 : 2007-06-25 10:27:41 »
1) У крайньому випадку (замінити пару фраз) можна встановити gettext-utils і почитати man msgunfmt. У KDE є чудова програма Kbabel (дозволяє не напружуватися з форматуванням). pot-файли іноді можна підчепити з cvs або svn репозитаріїв на sourceforge.net або деінде (google вирішує) Або зробити самому (man gettext).
2) Щодо мовних файлів: po(gettext) -- майже стандарт, але для програм з використанням Qt існують свої xml стандарти і, відповідно, інструменти (linguist). І це вже не кажучи про старих велосипедистів на зразок автора TeXmacs... Але здебільшого Kbabel виручає.
3) Вони текстові, але не всі ;D А навіть, якщо і текстові, то краще їх редагувати у спеціалізованій програмі з увімкненою перевіркою правопису (я і автори російського перекладу wxMaxima є іноді яскравими прикладами як не слід робити)
Denounce the demagogues
King diamonds to discard
Deploy the dialogue
Your word against the law

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: як редагувати файли .mo ?
« Відповідей #6 : 2007-06-27 12:42:27 »
"Так я й знав!" - скрикнув дід з бородою...
http://linux.org.ua/cgi-bin/twiki/view/Locale/LocalizationTechnology
Шукав його тоді, але не знайшов - оце зараз в закладках натрапив.
« Змінено: 2007-06-27 12:52:41 від ISBear »

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: як редагувати файли .mo ?
« Відповідей #7 : 2007-12-06 11:04:41 »
Мені було зручно працювати з poEdit, хоча підійде й звичайний текстовий редактор

Але більшості таки виявився корисний звичайний текстовий редактор - судячи з відсутності uk.po в тарболі останньої версії  ;D
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.