使用 python babel 翻译字符串不起作用

Translate string with python babel doesn't work

我有这条 python 行

raise ValueError(_(u'Your password must be {} of characters or longer.'.format(MIN_PASSWORD_LENGTH)))

我将其添加到 PO 文件中:

msgid "Your password must be {} of characters or longer."
msgstr "Votre mot de passe doit être {} de caractères ou plus."

我编译了,但没有翻译。

除了这个之外,所有其他翻译都适用于此站点。

我在这里错过了什么?

raise ValueError("Your password must be " +str(MIN_PASSWORD_LENGTH)+" of characters or longer")


raise ValueError(u'Your password must be {} of characters or longer.'.format(MIN_PASSWORD_LENGTH))

我刚刚删除了一个 _,因为我认为不需要它。

.po 文件中,您需要保持 %s 格式。

像这样:

msgid "Your password must be %s characters or longer."
msgstr "Votre mot de passe doit être %s caractères ou plus."

或 python-brace-format

#: foo/bar.py:32 
#, python-brace-format
msgid "Your password must be {n} characters or longer."
msgstr "Votre mot de passe doit être {n} caractères ou plus."