как создать po-файл из js-файла с помощью poedit

Я использую Gettext.js библиотека для локализации моего содержимого, созданного из js-файла. Теперь ситуация такова,что я должен создавать и писать все файлы po вручную. Я знаю, что мы можем сканировать php-файлы для строк gettext с помощью PoEdit. Итак, можно ли сканировать JS-файлы для строк gettext с помощью PoEdit?

4 ответов


достиг этого, создав новый парсер языка python в PoEdit.

Файл > Настройки > Парсеры > Создать

язык:

JS

список расширений:

*.js

команды парсера:

xgettext --language=Python --force-po -o %o %C %K %F

пункт в списке ключевых слов:

-k%k

пункт в списке входных файлов:

%f

кодировка исходного кода:

--from-code=%c

Я нашел этот учебник во время поиска по этому, что помогло мне достичь ситуация Обучение>>

на самом деле учебник на французском языке, и ссылка на google переведена(на английский).


начиная с версии xgettext 0.18.3, вы можете использовать JavaScript в качестве параметра языка.

эта версия xgettext используется в Poedit, по крайней мере, с версии 1.6.2.


на xgettext программа командной строки используется для сканирования исходного кода и может анализировать следующие языки:

С, C++, объективчик, Шелл, питон, Лисп, EmacsLisp, librep, схема, Ява, C#, как awk, TCL и Perl и PHP, а ССЗ-источник, Поляна

хотя JavaScript не указан как язык, я просто попробовал его с несколькими, и Perl действительно работал. Попробуйте это:

echo " testFunc('foo');" > test.js;
xgettext --keyword=testFunc --output=- test.js --language="perl";

чтобы сделать это из POEdit, откройте Preferences > Parsers > Perl добавить ;*.js в список расширений файлов и добавить --language=Perl после xgettext в поле команды Parser. Это сработало для меня, и я смог получить новые строки из js-файла таким образом.

хотя я не знаю, как gettext.JS работает лучший подход может быть преобразование файлов PO в собственный формат файла JavaScript.


xgettext теперь поддерживает JavaScript изначально, поэтому команда просто:

xgettext --output=output.pot --language=JavaScript *.js