2017-11-20 6 views
0

私はWTFormsとFlaskでBabelを使用し始めています。私は私のユーザー名パスワードフィールドにプレースホルダキーワードをのgettextしようとする下:残念ながらFlask-WTFormsでFlask-Babel gettextを使う方法render_kw?

# French (France) translations for PROJECT. 
# Copyright (C) 2017 ORGANIZATION 
# This file is distributed under the same license as the PROJECT project. 
# FIRST AUTHOR <[email protected]>, 2017. 
# 
msgid "" 
msgstr "" 
"Project-Id-Version: PROJECT VERSION\n" 
"Report-Msgid-Bugs-To: [email protected]\n" 
"POT-Creation-Date: 2017-11-20 12:08+0100\n" 
"PO-Revision-Date: 2017-11-20 12:10+0100\n" 
"Language: fr_FR\n" 
"Language-Team: fr_FR <[email protected]>\n" 
"Plural-Forms: nplurals=2; plural=(n > 1);\n" 
"MIME-Version: 1.0\n" 
"Content-Type: text/plain; charset=utf-8\n" 
"Content-Transfer-Encoding: 8bit\n" 
"Generated-By: Babel 2.5.1\n" 
"Last-Translator: \n" 
"X-Generator: Poedit 2.0.4\n" 

#: app/forms.py:13 
msgid "Username" 
msgstr "Nom d’utilisateur" 

#: app/forms.py:16 
msgid "Password" 
msgstr "Mot de passe" 

#: app/templates/login.html:34 
msgid "Login" 
msgstr "Se connecter" 

:ここ

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

from flask_babel import gettext 
from flask_wtf import FlaskForm 
from wtforms import PasswordField, StringField 
from wtforms.validators import DataRequired 


class LoginForm(FlaskForm): 
    username = StringField(label='username', 
          validators=[DataRequired()], 
          render_kw={"placeholder": gettext('Username')}) 
    password = PasswordField(label='password', 
          validators=[DataRequired()], 
          render_kw={"placeholder": gettext('Password')}) 

(もちろんコンパイルされている)私のフランス語の.poファイルがありますフランス語でロケールを強制しても、その2つのフィールドは英語のままです。私はログイン私のJinja2テンプレートの翻訳のためにそれを作った。

私は間違っていますか?

答えて

0

私はlazy_gettext()メソッドを使うべきだと思います。

+0

ありがとうございました。私の個人的な理解のために、なぜ私は 'gettext()'を代わりに使うことができないのですか? – Benjamin

関連する問題