@@ -35,6 +35,7 @@ class EiCaptcha extends Module
3535
3636 /** @var array */
3737 protected $ themes = [];
38+
3839 /**
3940 * @var Debugger
4041 */
@@ -45,6 +46,11 @@ class EiCaptcha extends Module
4546 */
4647 protected $ installer ;
4748
49+ /**
50+ * @var string (2 digits Language ISO code) Captcha language (default: en)
51+ */
52+ protected $ captchaLang = 'en ' ;
53+
4854 public function __construct ()
4955 {
5056 $ this ->author = 'hhennes ' ;
@@ -70,6 +76,12 @@ public function __construct()
7076 $ this ->ps_versions_compliancy = ['min ' => '1.7.0.0 ' , 'max ' => _PS_VERSION_ ];
7177
7278 $ this ->debugger = new Debugger ($ this );
79+
80+ $ this ->captchaLang = $ this ->context ->language ->iso_code ;
81+ $ forceLang = Configuration::get ('CAPTCHA_FORCE_LANG ' );
82+ if (!empty ($ forceLang ) && Validate::isLanguageIsoCode ($ forceLang )) {
83+ $ this ->captchaLang = $ forceLang ;
84+ }
7385 }
7486
7587 /**
@@ -213,7 +225,7 @@ protected function renderHeaderV2()
213225 </script> ' ;
214226
215227 if (($ this ->context ->controller instanceof ContactController && Configuration::get ('CAPTCHA_ENABLE_CONTACT ' ) == 1 )) {
216- $ js .= '<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl= ' . Configuration:: get ( ' CAPTCHA_FORCE_LANG ' ) . '" async defer></script> ' ;
228+ $ js .= '<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl= ' . $ this -> captchaLang . '" async defer></script> ' ;
217229 }
218230
219231 return $ js ;
@@ -260,8 +272,8 @@ public function hookDisplayCustomerAccountForm($params)
260272 $ this ->context ->smarty ->assign ([
261273 'captchaVersion ' => Configuration::get ('CAPTCHA_VERSION ' ),
262274 'publicKey ' => Configuration::get ('CAPTCHA_PUBLIC_KEY ' ),
263- 'captchaforcelang ' => Configuration:: get ( ' CAPTCHA_FORCE_LANG ' ) ,
264- 'captchatheme ' => $ this ->themes [Configuration::get ('CAPTCHA_THEME ' )],
275+ 'captchalang ' => $ this -> captchaLang ,
276+ 'captchatheme ' => $ this ->themes [Configuration::get ('CAPTCHA_THEME ' )]
265277 ]);
266278
267279 return $ this ->display (__FILE__ , 'views/templates/hook/hookDisplayCustomerAccountForm.tpl ' );
@@ -357,8 +369,8 @@ public function hookDisplayNewsletterRegistration($params)
357369 $ this ->context ->smarty ->assign ([
358370 'captchaVersion ' => Configuration::get ('CAPTCHA_VERSION ' ),
359371 'publicKey ' => Configuration::get ('CAPTCHA_PUBLIC_KEY ' ),
360- 'captchaforcelang ' => Configuration:: get ( ' CAPTCHA_FORCE_LANG ' ) ,
361- 'captchatheme ' => $ this ->themes [Configuration::get ('CAPTCHA_THEME ' )],
372+ 'captchalang ' => $ this -> captchaLang ,
373+ 'captchatheme ' => $ this ->themes [Configuration::get ('CAPTCHA_THEME ' )]
362374 ]);
363375
364376 return $ this ->display (__FILE__ , 'views/templates/hook/hookDisplayNewsletterRegistration.tpl ' );
@@ -437,7 +449,7 @@ public function hookActionGetEicaptchaParams($params)
437449 'captchaVersion ' => Configuration::get ('CAPTCHA_VERSION ' ),
438450 'publicKey ' => Configuration::get ('CAPTCHA_PUBLIC_KEY ' ),
439451 'captchaforcelang ' => Configuration::get ('CAPTCHA_FORCE_LANG ' ),
440- 'captchatheme ' => $ this ->themes [Configuration::get ('CAPTCHA_THEME ' )],
452+ 'captchatheme ' => $ this ->themes [Configuration::get ('CAPTCHA_THEME ' )]
441453 ];
442454 }
443455
@@ -454,8 +466,8 @@ public function hookDisplayEicaptchaVerification($params)
454466 'displayCaptcha ' => $ this ->shouldDisplayToCustomer (),
455467 'captchaVersion ' => Configuration::get ('CAPTCHA_VERSION ' ),
456468 'publicKey ' => Configuration::get ('CAPTCHA_PUBLIC_KEY ' ),
457- 'captchaforcelang ' => Configuration:: get ( ' CAPTCHA_FORCE_LANG ' ) ,
458- 'captchatheme ' => $ this ->themes [Configuration::get ('CAPTCHA_THEME ' )],
469+ 'captchalang ' => $ this -> captchaLang ,
470+ 'captchatheme ' => $ this ->themes [Configuration::get ('CAPTCHA_THEME ' )]
459471 ]);
460472
461473 return $ this ->display (__FILE__ , 'views/templates/hook/hookDisplayEicaptchaVerification.tpl ' );
0 commit comments