фляга babel не работает со строкой, возвращенной видом - PullRequest
0 голосов
/ 25 мая 2018

Извините, я новичок в фляге, а также в колбе!Код моей колбы:

test.py

app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'en'
babel = Babel(app)

@app.route('/', methods=['GET'])
def hello_world():
    message = _(u'测试  页面')
    return render_template('index.html', message=message)

index.html

<h1>{{ _("测试") }}</h1>
<h2>{{ _("消息:%(m)s", m=message) }}</h2>

сообщение.po

#: learnflask.py:23
msgid "测试  页面"
msgstr "test page"

#: templates/index.html:8
msgid "测试"
msgstr "Test"

#: templates/index.html:9
#, python-format
msgid "消息:%(m)s"
msgstr "message: %(m)s"

Результат:

Тест

: : 测试 页面

первая строка переведена правильно, но не вторая.Я хочу знать, как заставить это работать.Пожалуйста помоги.Спасибо!

1 Ответ

0 голосов
/ 25 мая 2018

OK.Я нахожу ответ.Это почти как вы должны удалить .mo файл всякий раз, когда вы обновляете .po файл.Я удаляю message.mo и использую python compile -d translations для создания нового message.mo, тогда он отлично работает!

...