これを別の言語で設定するにはどうすればいいですか?フランス語
私はもう試した:
var RecaptchaOptions = {
lang : 'fr',
};
何もしません。
APIリファレンス->バージョン2の reCAPTCHAのGoogleドキュメント で関連情報が見つかりませんでした
追加情報:
Railsでgem "recaptcha"
でこれを使用しています ここにあります
スクリプトのURLでパラメーター「?hl =」を指定するだけです。
<script src='https://www.google.com/recaptcha/api.js?hl=fr'></script>
あまりよく文書化されていません、確かに!
ここで言語コードを見つけます: https://developers.google.com/recaptcha/docs/language
Recaptcha gemを使用している場合は、-hl paramをrecaptcha_tagsで指定する必要があります。
例:
<%= recaptcha_tags ssl: true, hl: 'it', display: { theme: 'white' } %>
簡単な解決策
次のようにできます:
[〜#〜] 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 + '&'));
}
}
はい、「hl =language code」アプローチはうまく機能します。もちろん、キャッチは<script src='https://www.google.com/recaptcha/api.js'></script>
ページ上-ページの先頭と本文の両方。ボディにhl = ...を入れるだけでは、一貫性のない結果になります。
@ 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 + '&'));
}
}