LINUX.ORG.RU

xgettext и нестандартные расширения


0

0

есть проект. код на c и bash. для сборки используются autotools. при добавлении поддержки gettext возникла следующая проблема - скрипты на bash не имеют расширения .sh, и поэтому игнорируются xgettext-ом.

в принципе, при использовании intltools, в POTFILES.in можно указывать свой тип для файлов, прописывая перед именем [gettext/<type>], однако gettext/shell пока не поддерживается, только всякие xml-форматы и конфиги. а при использовании gettextize тип для конкретного файла вообще невозможно указать (по крайней мере я не нашел такой возможности). Разве что через Makevars явно передавать xgettext-у аргумент --language, но тут тоже возникает бяка, так как языков несколько.

пока мне видится несколько вариантов решения этой проблемы:
- плюнуть на autotools и сделать систему сборки на голых Makefile-ах
- держать несколько GETTEXT_DOMAIN-ов, для каждого типа исходников свой
- (наиболее кардинальный) внести изменения в xgettext, чтобы эта скотина работала с mime-types, а не по расширениям или добавить gettext/shell в intltools

но все эти варианты достаточно костылеподобны. нет ли какого-то более элегантного решения?

★★★★★

- (наиболее кардинальный) внести изменения в xgettext, чтобы эта скотина работала с mime-types, а не по расширениям или добавить gettext/shell в intltools

Я думаю, если вы это сделаете, многие будут благодарны (думаю, лучше всего через опциональный ключик --use-mime-types, так как, насколько я понимаю, оно будет работать помедленнее, чем детект по расширениям).

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

>и потом изгаляться с install-hook-ами, чтобы .sh убрать. тоже не самое красивое решение

Зато правильное.

Led ★★★☆☆
()

решил пойти наиболее кардинальным путем - https://savannah.gnu.org/bugs/index.php?29086

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

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