7. i18n и разные языки

У ui5 есть встроенная поддержка интернационализации.
В зависимости от того, какой язык выбран в fiori launchpad для вашего пользователя -- на том языке и будет открываться приложение.

Крайне рекомендуется все тексты сообщений/текстов на кнопках и прочие элементы выносить в i18n.

В директории с проектом есть директория i18n, где будут перечислены разные i18n файлы. (нужный файл берется в зависимости от настроек языка пользователя. Файл без кода языка -- по умолчанию)

Pasted%20image%2020250703142145

Содержимое i18n файлов

Вот например два файла на английском и немецком. Фреймворк сам определит из настроек нужный язык и вытащит нужный файл с текстами.

Потом везде где упоминается этот i18n ключ на странице -- подставится нужное значение.

Pasted%20image%2020250703142447

Pasted%20image%2020250703142451

Имеет смысл группировать тексты в неймспейсы, чтобы понимать их назначение.
Pasted%20image%2020250703142750

Объявление i18n в manifest.json

В манифесте можно объявить сколько угодно директорий с i18n. Главное, чтобы у модели было уникальное имя и тип sap.ui.model.resource.ResourceModel

"sap.ui5": { 
        "models": {
            "i18n": {
                "type": "sap.ui.model.resource.ResourceModel",
                "uri": "i18n/i18n.properties"
            }
        }
}

Использование во view и controller

   <Button
		text="{i18n>SсanRequestTitle}"
		press="onScanRequest"
		type="Emphasized"
	/>
// in BaseController.js
getI18nText(sKey){
	return this.getView().getModel("i18n").getResourceBundle().getText(sKey);
}

// in page controller

someMethod(){
	/// {... }
	const sText = this.getI18nText('some key');
}