Comment puis-je définir cela dans une autre langue, c'est-à-dire :. français
J'ai essayé:
var RecaptchaOptions = {
lang : 'fr',
};
Ce qui ne fait rien.
Je n'ai pas trouvé d'informations pertinentes sous Référence API -> Version 2 sur Google Docs for reCAPTCHA
Informations supplémentaires:
J'utilise ceci sur Rails, avec gem "recaptcha"
Trouvé ici
Vous avez juste besoin de spécifier le paramètre "? Hl = " dans l'url du script:
<script src='https://www.google.com/recaptcha/api.js?hl=fr'></script>
Pas très bien documenté, en effet!
trouvez votre code de langue ici: https://developers.google.com/recaptcha/docs/language
Si vous utilisez la gemme recaptcha, vous devez fournir le paramètre hl dans recaptcha_tags.
Exemple:
<%= recaptcha_tags ssl: true, hl: 'it', display: { theme: 'white' } %>
Solution simple
Vous pouvez le faire comme ceci:
[~ # ~] 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 + '&'));
}
}
Oui, l'approche "hl = code de langue " fonctionne bien. Le hic, bien sûr, est de le faire pour CHAQUE instance de <script src='https://www.google.com/recaptcha/api.js'></script>
sur la page - à la fois celui dans l'en-tête de page ET celui dans le corps. Seul mettre hl = ... dans le corps conduit à des résultats incohérents.
Merci @ ALi-soltani d'avoir coupé! A fait la chose! :)
Je fournis ma version "Vanille" pour ceux qui n'utilisent pas jQuery, pour sauver les quelques coups.
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 + '&'));
}
}