Được ghi là here mà Babel có thể trích xuất các tin nhắn gettext cho các tệp Python và Javascript.Trích xuất các tin nhắn gettext Javascript bằng cách sử dụng bộ nén Babel CLI
Babel đi kèm với một vài nhổ BUILTIN: python (được chiết xuất tin nhắn từ file nguồn Python), javascript, và bỏ qua (mà chiết xuất không có gì).
Trình giải mã dòng lệnh được ghi thành tài liệu here - nhưng không có ví dụ về cách sử dụng.
Cũng trong số same pointer ở trên, có một số đề cập đến tệp cấu hình được sử dụng khi trích xuất nhưng không được mở rộng nhiều.
Khi tôi chạy lệnh cơ bản cho trình trích xuất trên một thư mục có tệp js, tôi chỉ nhận được tiêu đề .PO được tạo nhưng không có thư.
$ 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"
$
Dưới đây là một đoạn mẫu trong tệp js Tôi đang cố gắng để trích xuất các thông điệp cho:
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]));
}
}
tôi sẽ đánh giá cao nếu ai đó có thể cung cấp tùy chọn CLI chính xác và các thiết lập cấu hình để làm cho quá trình chiết làm việc, hoặc một con trỏ đến đó.
các chức năng gettext/ngettext bạn đang sử dụng trong js của mình là gì? Tôi đang ở cùng một giai đoạn bây giờ - Tôi có babel làm việc cho html & python nhưng không js – fastmultiplication
Thực ra đó là một dự án OS (Askbot) - bạn có thể kiểm tra tại đây https://github.com/ASKBOT/askbot-devel –
I đã tìm ra vấn đề của tôi, bằng cách này: http://stackoverflow.com/questions/10647449/serving-i18n-js-using-babel-django-jinja2 – fastmultiplication