Podano, że Babel może wyodrębnić komunikaty gettext dla plików Python i Javascript.Wyodrębnianie wiadomości gettext JavaScript za pomocą ekstraktora Babel CLI
Babel pochodzi z kilku wbudowanych pochłaniaczy: Python (który wydobywa wiadomości z plików źródłowych Pythona), JavaScript i ignorować (co ekstrakty nic).
Ekstraktor wiersza poleceń jest udokumentowany here - ale bez przykładów użycia.
W powyższej części znajduje się także wzmianka o pliku konfiguracyjnym, który ma być używany przy wyodrębnianiu, ale nie jest rozbudowany.
Po uruchomieniu podstawowego polecenia dla ekstraktora w katalogu z plikami js, generowany jest tylko nagłówek .PO, ale brak wiadomości.
$ 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 protected]>, 2012.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: [email protected]\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 protected]>\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"
$
Oto przykładowy segment z pliku js Próbuję wydobyć wiadomości dla:
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]));
}
}
byłbym wdzięczny, jeśli ktoś może dostarczyć dokładnych opcje CLI i ustawień konfiguracyjnych, aby wydobycie praca lub wskaźnik do takich.
jakie są funkcje gettext/ngettext, z których korzystasz w swoim js? Jestem teraz na tym samym etapie - mam babel pracujący dla html & python ale nie js – fastmultiplication
W rzeczywistości jest to projekt systemu operacyjnego (Askbot) - możesz to sprawdzić tutaj https://github.com/ASKBOT/askbot-devel –
I odkryłem mój problem, przy okazji: http://stackoverflow.com/questions/10647449/serving-i18n-js-using-babel-django-jinja2 – fastmultiplication