здесь указано, что Babel может извлекать сообщения gettext для файлов Python и Javascript.
Babel поставляется с несколькими встроенными экстракторами: python (который извлекает сообщения из исходных файлов Python), javascript и ignore (который ничего не извлекает).
Экстрактор командной строки задокументирован здесь, но без примеров использования.
Также в приведенном выше том же указателе упоминается файл конфигурации, используется с добычей, но не сильно расширена.
Когда я запускаю базовую команду для экстрактора в каталоге с файлами js, я получаю только сгенерированный заголовок .PO, но не сообщения.
$ pybabel extract /path/to/js-dir
# Translations template for PROJECT.
# Copyright (C) 2012 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2012-04-22 19:39+1000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
$
Вот пример сегмента из файла js, для которого я пытаюсь извлечь сообщения:
else if(data.status == "1"){
var follow_html = gettext('Follow');
object.attr("class", 'button follow');
object.html(follow_html);
var fav = getFavoriteNumber();
fav.removeClass("my-favorite-number");
if(data.count === 0){
data.count = '';
fav.text('');
}else{
var fmts = ngettext('%s follower', '%s followers', data.count);
fav.text(interpolate(fmts, [data.count]));
}
}
Я был бы признателен, если бы кто-то мог предоставить точные параметры CLI и настройки конфигурации, чтобы извлечение работало, или указатель на него.