據說here Babel可以爲Python和Javascript文件提取gettext消息。使用Babel CLI提取器提取Javascript gettext消息
通天帶有一些內置的提取:蟒蛇(從Python源文件提取 消息),JavaScript和忽視(這 提取物沒有)。
命令行提取程序記錄在here - 但沒有使用示例。
同樣在上面的same pointer中,提到了一個用於提取的配置文件,但沒有多少擴展。
當我使用js文件在dir上運行提取器的基本命令時,我只得到生成的.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 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"
$
下面是一個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選項和配置設置,使提取工作,還是指向這樣的指針。
你在js中使用的gettext/ngettext函數是什麼?我現在在同一階段 - 我有babel工作的HTML&python,但不是js – fastmultiplication 2012-05-16 08:57:13
其實它是一個OS項目(Askbot) - 你可以在這裏查看https://github.com/ASKBOT/askbot-devel – 2012-05-19 00:48:22
我順便說一句,我的問題,順便說一句:http://stackoverflow.com/questions/10647449/serving-i18n-js-using-babel-django-jinja2 – fastmultiplication 2012-05-21 03:22:43