6

I am trying to translate the default messages from WTForms using the Flask-WTF plugin. According to this(https://github.com/ajford/flask-wtf/pull/65) it should be working. You can also see that wtforms use gettext for their default error messages(https://bitbucket.org/simplecodes/wtforms/src/113994790508/wtforms/validators.py).

I added WTF_I18n_ENABLED to my config file and I created my .po file using the following commands

pybabel extract -F babel.cfg -k lazy_gettext -o messages.pot myapp
pybabel init -i messages.pot -d myapp/translations -l en
pybabel compile -d myapp/translations

I expected the default messages to appear there but they don't. Am I expecting too much or doing something wrong?

1 Answer 1

1

Flask can search translations only on one folder (translations by default and not on eggs). So you need copypaste wtforms.mo/wtforms.po files to your application LS_MESSAGES.

Sign up to request clarification or add additional context in comments.

4 Comments

Helpful but I still can't make it work. I have compiled to both messages.mo and wtforms.mo and it doesn't work.
I use next command PATH_TO_PYTHON_ENV/bin/pybabel compile -f -d PATH_TO_FLASK_PROJECT/translations/ and it fork fine for me. What babel and flask babel versions and what WTForm classes you use?
I am using virtualenv, so I have the latest versions provided by pip.
copy the content of wtforms.po into your messages.po, then translate them

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.