Tôi đang sử dụng Flask, Flask-Babel và Jinja2. Tôi đang cố gắng để tạo ra các tập tin .pot. Đó là những gì tôi đã làm cho đến nay.Pybabel tạo tệp nồi trống với jinja2
babel.cfg của tôi trông như thế này:
[python: **.py]
[jinja2: **.html]
encoding = utf-8
extensions=jinja2.ext.autoescape,jinja2.ext.with_
Tôi khởi Flask-Babel với ứng dụng của tôi như thế này:
# Babel init
babel = Babel(app)
app.config['BABEL_DEFAULT_LOCALE'] = 'en'
Trong thư mục mẫu của tôi, tôi làm có homepage.html:
...
<div class="news-wrapper">
<p class="quote">{{ gettext('Hey there') }}</p>
<p class="quote">{% trans %}Trying 42{% endtrans %}</p>
<p class="quote">{{ _('Maybe like this?') }}</p>
</div>
...
Sau đó chạy lệnh này (trong khi tôi đang ở virtualenv của tôi):
pybabel extract -F babel.cfg -o messages.pot .
Một trong những dòng đầu ra là:
extracting messages from templates/homepage.html (extensions="jinja2.ext.autoescape,jinja2.ext.with_", encoding="utf-8")
Và nó là tạo ra một thông điệp. pot file với nội dung này:
# Translations template for PROJECT.
# Copyright (C) 2015 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL[email protected]>, 2015.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: [email protected]\n"
"POT-Creation-Date: 2015-04-21 10:06+0300\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 1.3\n"
Tệp không có bản dịch của tôi.
Tôi không nhận được lỗi hoặc cảnh báo, nhãn không thể tìm thấy các biến thể gettext
trong các tệp jinja2. NHƯNG khi tôi sử dụng gettext
trong một tệp .py nó là chỉ hoạt động tốt.
Tôi có bỏ lỡ điều gì đó không? Cảm ơn
Thiết 'im lặng = false' trong 'babel.cfg' của bạn sẽ giúp xác định các vấn đề: Vấn đề là, điều này thực sự sẽ là mặc định :( Cảm ơn bạn đã chỉ ra các trang web mở rộng Jinja2 – Manuel
Phew, đây là một lỗi không rõ ràng - cảm ơn bạn đã đăng bản sửa lỗi của bạn, hoạt động hoàn hảo – rlafuente