LINUX.ORG.RU

xgettext и новые языки программирования

 ,


0

1

Вопрос такой: можно ли малой кровью научить Gettext собирать строки для перевода из программ, написанных не на одном из популярных языков программирования, а на черт знает чем?

Есть вот страшная софтина, веб-программа, с самописным шаблонизатором. Там макры пишутся так:

MACRO[data]

Причем бывает иногда и так:

MACRO[some literal, MACRO[some other data]]

Я запилил туда макросы для gettext и ngettext, но нужно как-то строки из шаблонов пособирать. Чтобы не париться с заголовком .pot-файла и нюансами, я написал программу на Python, которая строки выскабливает и делает для каждого шаблона файл на псевдо-C, который xgettext ест на ура.

Одна только проблема, что потом не разбери поймешь, где найденная строка встречалась в исходном файле шаблона. Эта информация, увы, теряется.

Поэтому лучшим выходом была бы версия xgettext, которая умеет читать эти шаблоны, либо возможность как-то научить текущую, надеюсь, для этого не нужно вскрывать исходники.

Хватит с меня того, что перловую реализацию gettext (Locale::gettext_pm) пришлось пропатчить, чтобы она язык брала тот, который дадут в аргументах, а не тот, который в переменных окружения записан.

★★★★★

Вопрос такой: можно ли малой кровью научить Gettext собирать строки для перевода из программ, написанных не на одном из популярных языков программирования, а на черт знает чем?

Если для него есть code walker, то написать гиниратырь строковых файлов совсем нетрудно. Он есть? :)

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

Ну, мне генератырь как раз не хотелось писать, чтоб уж точно было well formed POT. Судя по всему, однако, придётся.

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

Хм... Два чая тебе, добрый человек. :)

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