LINUX.ORG.RU

gettext 0.18

 , ,


0

0

Выпущена новая версия gettext — библиотеки проекта GNU для интернационализации приложений.

Основные изменения за последние 2,5 года:

  • в заголовки файлов PO теперь добавляется поле 'Language' (раньше его по собственной инициативе создавали только некоторые редакторы PO);
  • добавлена возможность подсказывать переводчикам предел допустимых значений для переменных;
  • утилиты пакета теперь могут создавать цветной вывод;
  • в десять раз ускорена работа msgmerge при обработке больших файлов;
  • xgettext научен извлекать множественные формы из кода приложений на Qt4.

Скачать

>>> Подробности

★★★★★

Проверено: Aceler ()
Последнее исправление: mono (всего исправлений: 1)

добавлена возможность подсказывать переводчикам предел допустимых значений для переменных;

А для блондинок? Это типа уменьшится вероятность, что переводчик напереводит так, что слова не будут влезать в пределы виджетов?

GotF ★★★★★
()
Ответ на: комментарий от GotF

For messages with plural forms, programmers can inform the translators
about the range of possible values of the numeric argument, like this:
/* xgettext: range: 0..15 */
This information 'range: 0..15' is stored in the PO file as a flag attached
to the message. Translators can produce better translations when they know
that the numeric argument is small.

AP ★★★★★
() автор топика
Ответ на: комментарий от AP

На что подавляющее большинство программистов с прибором положит...

Надоела эта gettext-магия. Лучше бы поработали над корректным определением знака % в сообщениях формата C.

Вообще, наиболее ценным в этом выпуске, наверное, является содранное из KDE автоматическое определение назначения полей с добавлением комментария. Хотя intltool всё равно безнадёжно проигрывает scripty (да-да, я сравниваю тёплое с мягким, но всё же). Впрочем, если (когда) все возможности scripty реализуют, [url=https://bugzilla.gnome.org/show_bug.cgi?id=566044]жизнь[/url] станет не такой захватывающей и интересной как сейчас (см. перевод gbrainy). ;)

anonymous
()

>в десять раз ускорена работа msgmerge при обработке больших файлов;

круть

registrant ★★★★★
()

> xgettext научен извлекать множественные формы из кода приложений на Qt4.

Интересно только зачем. Он правда научился корректно извлекать строки из tr(), QT_TR_NOOP() и QT_TRANSLATE_NOOP(), определять контекст перевода по мета-информации класса, подставлять перевод в зависимости от коментария к ключу в текущем контексте, использовать плюральные формы, следить за порядком и количеством аргументов и за спецсимволами, как это делает QtLinguist? И даже если так, то как с помощью него загрузить данные в QTranslator, или он компилирует сразу в .ts/.qm?

Dendy ★★★★★
()
Ответ на: комментарий от Dendy

Да, совсем забыл. lupdate из Qt4 кроме исходного кода также выбирает переводы из .ui и .qml, xgettext так может?

Dendy ★★★★★
()
Ответ на: So slooooow... от derrix

>В Debian уже давно 0.18-1

В стейбле?

YogSagot ★★★
()
Ответ на: 9 мая все пили от derrix

Я понимаю: тебе так хочется показать, что один ты спортсмен и комсомолец, не пьёшь и следишь за всеми новостями, что ты дважды написал о том, что ты один такой умный и не пропустил эту новость. Но видишь ли, детка, во-первых, некоторые просто были заняты другими делами, а во-вторых, чё ж ты сам не написал-то? :)

AP ★★★★★
() автор топика

Класс! Это гениальная вещь, и сишарповцы/виндузоиды смотрят с завистью (или просто едят свой гранит). Конечно, если базовый язык вашего приложения Русиш — есть проблемы, но они решаются хитро, в остальном — отличная штука.

kost-bebix ★★
()

Лично мне из всего окружения GNU важен лишь ed, а все остальное у бородача все равно плохого качества.

Zhid
()
Ответ на: комментарий от anonymous

> А зачем в KDE используют gettext а не механизм перевода Qt?

Честно говоря не в курсе что там в KDE, я натыкался на куски кода вида i18n(). KDE4 начали писать ещё до первого релиза Qt4, очевидно что много функционала перетекло из KDE3, прижились и так и остались. В kdelibs вообще много Qt-функционала продублировано по-своему, ибо этот паровоз летит впереди планеты всей, ждать когда появится универсальное решение в Qt некогда, проще навелосипедить.

Dendy ★★★★★
()
Ответ на: комментарий от AP

Не оправдывайся и не переходи на личности, детка. Новости про минорный релиз очередной свистоперделки для KDE появляются регулярно и вовремя, а вот про базовые элементы системы GNU запаздывают на 2-3 недели. Я понимаю: покричать на улице пьяным голосом «Fuck Hitler» и «Россия вперде» для тебя лучше, чем доносить до общественности полезную информацию, но, видишь ли, не все разделяют твоё мнение.

derrix
()
Ответ на: комментарий от kost-bebix

> и сишарповцы/виндузоиды смотрят с завистью

gettext отлично работает в сишарпе

AP ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> А зачем в KDE используют gettext а не механизм перевода Qt?

По целому ряду причин. В том числе потому, что до 4.1, если не ошибаюсь, в Qt не было механизма обработки множественных форм. Ну и для TS нет толкового инструментария TM в отличие от.

AP ★★★★★
() автор топика
Ответ на: комментарий от Dendy

> Честно говоря не в курсе что там в KDE, я натыкался на куски кода вида i18n()

В кедах была и вроде как до сих пор остаётся своя реализация intltools.

AP ★★★★★
() автор топика
Ответ на: комментарий от Dendy

>> lupdate из Qt4 кроме исходного кода также выбирает переводы из .ui и .qml, xgettext так может?

qt должен разгребать собственное говно сам, православный gettext не для этого...

anonymous
()

Редкость... Пост по тематике сайта. Вместо обсуждение проблем загробной жизни мокриц 8)

V0ID ★★★
()

А вот скажите мне - это только у меня gettext криво работает, если исходные фразы не на английском, или это у него by design так?

alex-w ★★★★★
()
Ответ на: комментарий от AP

Да, наверное я имел в виду дотнет, в котором принято юзать нечто другое (не помню что). Конечно можно и геттекст юзать, но это скорее ему в плюс)

kost-bebix ★★
()
Ответ на: комментарий от alex-w

>А вот скажите мне - это только у меня gettext криво работает, если исходные фразы не на английском, или это у него by design так?

На каком языке пишете (алгоритмическом и национальном) ? Пример кривости приведите.

Много лет использую gettext с базовым русским, в основном - в программах на C и php, проблем не наблюдал, но не исключаю, что они могут быть - просто мне не попадались.

yuk
()
Ответ на: комментарий от Zloddey

> [imho]

_(«A use of Russian language as the basis is perverse for !russophones»)

[/imho]

Fixed.

anonymous
()
Ответ на: комментарий от derrix

Отлично поржал. Спасибо за маленький позитивчик.

Manhunt ★★★★★
()
Ответ на: комментарий от kost-bebix

> Основные изменения за последние 2,5 года...

*прослезился* 2.5 года точить напильником - это какое терпение надо иметь!

Это гениальная вещь, и сишарповцы/виндузоиды смотрят с завистью


И не говори! Завидую такому усердию. Там, где .НЕТчик в два клика создаёт новый файлик для нового языка и тот работает автоматом, геттекстники оборачивают свой вермишельный код в подчёркивания, запускают всякие перделки для генерации файлов, прыгают из koi в utf и обратно... вобщем, monkey job rulez.

matumba ★★★★★
()
Ответ на: комментарий от matumba

ээ, новый язык делается прмерно так:

python setup.py init_catalog bel

и не надо как обезьяна тыкать мышкой. А что, в дотнете не надо строки оборачивать никуда чтоб они переводились? Всё само, магическим образом работает?

kost-bebix ★★
()

>xgettext научен извлекать множественные формы из кода приложений на Qt4.

как будто кто-то мешает пользоватьсь lupdate/lrelease/lconvert

annulen ★★★★★
()
Ответ на: комментарий от yuk

>Много лет использую gettext с базовым русским

базовый русский не нужен. интернационализация такая интернационализация

annulen ★★★★★
()
Ответ на: комментарий от derrix

Деточко, с Вашим скором, конечно, не обязательно знать, кто такой АР и что от сделал и делает для фрисофта - но в таком случае лучше сначала осмотреться на форуме, чтобы хотя бы приблизительно представлять кто есть ху. Чтоб не выглядеть так глупо.

ЗЫ На всякий случай, во избежание, я - модератор;)

svu ★★★★★
()
Ответ на: комментарий от yuk

>На каком языке пишете (алгоритмическом и национальном) ? Пример кривости приведите.

Конкретно в том случае изначально был скрипт на php с базовым русским, к которому нужно было прикрутить интернационализацию. Прикрутил через gettext, но работало оно через раз и как-то странно. После смены базового языка на английский все исправилось.

alex-w ★★★★★
()
Ответ на: комментарий от anonymous

>Множественные формы предложений?

В том-то и дело, что нет

alex-w ★★★★★
()
Ответ на: комментарий от matumba

> Там, где .НЕТчик в два клика создаёт новый файлик для нового языка и тот работает автоматом, геттекстники оборачивают свой вермишельный код в подчёркивания, запускают всякие перделки для генерации файлов, прыгают из koi в utf и обратно... вобщем, monkey job rulez.

Файлов: 12 (plural forms), неизменяемые размеры виджетов. Даже не заикайтесь про технологии Microsoft, мы книжки издательства Microsoft Press читали вместо анекдотов.

Skull ★★★★★
()
Ответ на: комментарий от anonymous

А зачем в KDE используют gettext а не механизм перевода Qt?

Вот за что люблю ЛОР, так за хорошие советы в нужную минуту. Только ломал голову, где взять скомпиленный gettext под винду (бывает и такое...), так он оказывается в ВинКедах лежит :)

AlexVR ★★★★★
()
Ответ на: комментарий от PayableOnDeath

ну а что, я знаю людей, которые в виме .po-шки редактируют :)

overmind88 ★★★★★
()
Ответ на: комментарий от matumba

а морда,морда то какая жирная ...

anonymous
()
Ответ на: комментарий от matumba

> Там, где .НЕТчик в два клика создаёт новый файлик для нового языка и тот работает автоматом

освой poedit, мартышка

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.