Я использую ng-recaptcha компонент для реализации reCaptcha в угловом приложении.Я устанавливаю язык рекапчи следующим образом: в app.module.ts я импортирую «RECAPTCHA_LANGUAGE» из компонента:
import { RECAPTCHA_LANGUAGE } from 'ng-recaptcha';
, а в @NgModule я предоставляю нужный язык в «поставщиках», напримерthis:
providers: [
{
provide: RECAPTCHA_LANGUAGE,
useValue: 'en'
}
Таким образом, reCaptcha всегда будет установлен как английский.Однако в приложении реализована локализация, и вы можете выбрать язык из выпадающего списка меню, который находится в файле login.component.html:
<ul class="dropdown-menu" role="menu">
<li><a href="javascript:void(0)" (click)="changeLanguage('hr-HR')" translate="yes">croatianLanguage</a></li>
<li><a href="javascript:void(0)" (click)="changeLanguage('en-US')" translate="yes">englishLanguage</a></li>
<li><a href="javascript:void(0)" (click)="changeLanguage('ru-RU')" translate="yes">russianLanguage</a></li>
</ul>
Как только вы щелкнете по нужному языку, вызывается функция «changeLanguage»это обеспечивает функцию с языковой строкой.
//Method for change language
changeLanguage(language: string) {
var lang = language.substring(0, 2);
this.dataService
.getItem<any>('api/changelanguage/ ' + language)
.subscribe(
res => this.sharedService.localization.updateTranslation(lang),
err => this.sharedService.handleError(err)
);
}
Мой вопрос: как я могу использовать параметр «RECAPTCHA_LANGUAGE» из компонента ng-recaptcha и установить язык для компонента recaptcha при выборе языка из выпадающего спискасписок?Есть ли способ изменить провайдера в app.module из компонента входа?