Я создаю мой .properties файл (это, EN, FR) и я поставил i18n МодельBinding язык не работает
var oI18nModel = new sap.ui.model.resource.ResourceModel({
bundleUrl: "i18n/i18n.properties"
});
sap.ui.getCore().setModel(oI18nModel, "i18n");
this.setModel(oI18nModel, "i18n");
Мое приложение запускается правильно на итальянском. Теперь у меня есть кнопка, которая переключается на язык en. Это код:
var bundleLocale=sap.ui.getCore().getModel("i18n").getProperty("/bundleLocale/");
bundleLocale="en";
sap.ui.getCore().getModel("i18n").refresh(true);
но вид не изменится ...
Почему?
При запуске модели i18n содержит:
bundleUrl= "i18n/i18n.properties"
После этого я выполняю этот код:
i18nModel = new sap.ui.model.resource.ResourceModel({
bundleUrl : "i18n/i18n.properties",
bundleLocale : "fr"
});
sap.ui.getCore().setModel(i18nModel, "i18n");
и модель теперь содержит
bundleUrl= "i18n/i18n.properties"
bundleLocale="fr"
Вместо если я использую этот код :
sap.ui.getCore().getConfiguration().setLanguage("fr")
модели i18n не меняет
в обеих случаях мое мнение не изменится
Я думаю, что настоящая ошибка заключается в том, что вы устанавливаете модель дважды: один раз в ядро 'sap.ui.getCore() .setModel (oI18nModel, «i18n»); 'и один раз в приложение' this.setModel (oI18nModel, «i18n»); 'поскольку ядро сидит« глубже », установка модели там не влияет, если вы также установите модель явно в приложении поверх нее. Кроме того, поскольку языковые настройки считаются глобальными, я бы просто установил их в ядро в любом случае, а не на конкретные приложения/представления сверху – Qualiture