如何用另一种语言设置它,即:法国
我试过了:
var RecaptchaOptions = {
lang : 'fr',
};
哪个什么都没做。
我无法在API参考下找到相关信息 - > Google Docs for reCAPTCHA
上的第2版其他信息:
我在轨道上使用此功能,gem "recaptcha"
Found here
答案 0 :(得分:124)
您只需指定参数" ?hl = "在脚本的网址中:
<script src='https://www.google.com/recaptcha/api.js?hl=fr'></script>
确实没有很好的记录!
在此处找到您的语言代码:https://developers.google.com/recaptcha/docs/language
答案 1 :(得分:14)
如果您使用的是recaptcha gem,则需要在 recaptcha_tags 中提供 hl 参数。
示例:
<%= recaptcha_tags ssl: true, hl: 'it', display: { theme: 'white' } %>
答案 2 :(得分:3)
是的,“hl = 语言代码”方法效果很好。当然,问题是对页面上的 <script src='https://www.google.com/recaptcha/api.js'></script>
的每个实例执行此操作 - 页眉中的一个和正文中的一个。只在体内放置hl = ...会导致结果不一致。
答案 3 :(得分:3)
简单解决方案
你可以这样做:
<强> HTML 强>
<div id="captcha_container"></div>
<select id="ddllanguageListsGoogleCaptcha"></select>
<强> JS 强>
// Update language captcha
function updateGoogleCaptchaLanguage(selectedLanguage) {
// Get GoogleCaptcha iframe
var iframeGoogleCaptcha = $('#captcha_container').find('iframe');
// Get language code from iframe
var language = iframeGoogleCaptcha.attr("src").match(/hl=(.*?)&/).pop();
// Get selected language code from drop down
var selectedLanguage = $('#ddllanguageListsGoogleCaptcha').val();
// Check if language code of element is not equal by selected language, we need to set new language code
if (language !== selectedLanguage) {
// For setting new language
iframeGoogleCaptcha.attr("src", iframeGoogleCaptcha.attr("src").replace(/hl=(.*?)&/, 'hl=' + selectedLanguage + '&'));
}
}
答案 4 :(得分:1)
感谢您@ ali-soltani的抢夺!做的事! :)
我为不使用jQuery的用户提供“香草”版本,以节省一些警告。
function setCaptchaLang(lang) {
const container = document.getElementById('captcha_container');
// Get GoogleCaptcha iframe
const iframeGoogleCaptcha = container.querySelector('iframe');
// Get language code from iframe
const actualLang = iframeGoogleCaptcha.getAttribute("src").match(/hl=(.*?)&/).pop();
// For setting new language
if (actualLang !== lang) {
iframeGoogleCaptcha.setAttribute("src", iframeGoogleCaptcha.getAttribute("src").replace(/hl=(.*?)&/, 'hl=' + lang + '&'));
}
}