Ниже приведен мой постоянный файл, в котором я устанавливаю язык ионного приложения.
@Injectable()
export class Constant {
public static selectedLang :string = 'EN';
static setLanguage(languageCode : string){
Constant.selectedLang = languageCode;
}
readonly data: any = {
"EN": {
//declared English variables used to be all over the application
FORGOT_PASSWORD : "Forgot Password",
}
"MR": {
//marathi variables
FORGOT_PASSWORD : "पासवर्ड विसरलात",
}
"HI":{
//Hindi variables
FORGOT_PASSWORD : "पासवर्ड भूल गए",
}
LANG: any = this.data[Constant.selectedLang];
}
Я использую эти переменные в HTML следующим образом:
<div>
<h2>{{CON.LANG.FORGOT_PASSWORD}}</h2>
<p>{{CON.LANG.FORGOT_PASSWORD}}</p>
</div>
TS файл, в котором я установил язык:
import {Constant} from "../../../../constants";
class ForgotPassword {
constructor(public CON: Constant){}
setLanguage(languageCode : string){
Constant.setLanguage(languageCode);
}
}
Здесь я хочу оставить английский язык своим языком по умолчанию. Когда пользователь явно изменяет язык, вызывая функцию, то следует изменить только язык. Но проблема в том, что даже если пользователь вызывает функцию для изменения языка, она не изменяется. Приложение всегда показывает английские переменные.
Ваша помощь приветствуется.