设置 reCAPTCHA Version 2 设置英语以外的另一种语言
Setting reCAPTCHA Version 2 set another language other than English
如何用另一种语言设置它,即:。法语
我试过:
var RecaptchaOptions = {
lang : 'fr',
};
什么都不做。
我在 API 参考 -> 版本 2 Google Docs for reCAPTCHA
下找不到相关信息
附加信息:
我在 rails 和 gem "recaptcha"
Found here
上使用它
您只需要在脚本的url:
中指定参数“?hl=”
<script src='https://www.google.com/recaptcha/api.js?hl=fr'></script>
确实没有很好的记录!
在这里找到您的语言代码:https://developers.google.com/recaptcha/docs/language
如果您使用的是 recaptcha gem,您需要在 recaptcha_tags 中提供 hl 参数。
示例:
<%= recaptcha_tags ssl: true, hl: 'it', display: { theme: 'white' } %>
是的,"hl=language code" 方法很有效。当然,关键是要对页面上 <script src='https://www.google.com/recaptcha/api.js'></script>
的每个实例执行此操作 - 页眉中的实例和正文中的实例。仅将 hl=... 放入正文会导致结果不一致。
简单的解决方案
你可以这样做:
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 + '&'));
}
}
感谢@ali-soltani 的剪辑!做到了! :)
我正在为那些不使用 jQuery 的人提供我的 "vanilla" 版本,以节省几次罢工。
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 + '&'));
}
}
如何用另一种语言设置它,即:。法语
我试过:
var RecaptchaOptions = {
lang : 'fr',
};
什么都不做。
我在 API 参考 -> 版本 2 Google Docs for reCAPTCHA
下找不到相关信息附加信息:
我在 rails 和 gem "recaptcha"
Found here
您只需要在脚本的url:
中指定参数“?hl=”<script src='https://www.google.com/recaptcha/api.js?hl=fr'></script>
确实没有很好的记录!
在这里找到您的语言代码:https://developers.google.com/recaptcha/docs/language
如果您使用的是 recaptcha gem,您需要在 recaptcha_tags 中提供 hl 参数。
示例:
<%= recaptcha_tags ssl: true, hl: 'it', display: { theme: 'white' } %>
是的,"hl=language code" 方法很有效。当然,关键是要对页面上 <script src='https://www.google.com/recaptcha/api.js'></script>
的每个实例执行此操作 - 页眉中的实例和正文中的实例。仅将 hl=... 放入正文会导致结果不一致。
简单的解决方案
你可以这样做:
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 + '&'));
}
}
感谢@ali-soltani 的剪辑!做到了! :)
我正在为那些不使用 jQuery 的人提供我的 "vanilla" 版本,以节省几次罢工。
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 + '&'));
}
}