当用户忘记选中recaptcha复选框时,我正在尝试更改错误消息。即使将语言设置为pt之后,我仍然收到此消息:The response parameter is missing.

from flask.ext.wtf import Form, RecaptchaField

recaptcha = RecaptchaField()
RECAPTCHA_PUBLIC_KEY = 'yyyy'
RECAPTCHA_PRIVATE_KEY = 'xxxx'
RECAPTCHA_PARAMETERS = {'hl': 'pt'}

-来自here的语言代码

-关于reppacha的 flask docs1 docs2

如何更改这些消息的语言?

编辑:即使升级到flask-wtforms的最新版本之后,错误消息仍然始终是英文。只有标签会更改。

相关source code

最佳答案

我认为目前的实现方式是不可能的:

https://github.com/lepture/flask-wtf/blob/8879e9827b0160776031bd06ef083b81282904e5/flask_wtf/recaptcha/widgets.py#L8

他们已经硬编码到库的URL:
https://www.google.com/recaptcha/api.js

但是对于不同的语言设置,应在Recaptcha URL中传递GET参数,例如:
https://www.google.com/recaptcha/api.js?hl=ru

为了使用不同的语言设置,我不得不手动覆盖该字段并进行验证。

关于python - 在Recaptcha中设置语言-Flask,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32588772/

10-16 03:58