Весь текст может отображаться с помощью привязки шаблона, например, {{ myLabel }}
.myLabel
в свою очередь может быть назначено на основании запроса к серверу, который принимает языковой параметр, или вы можете иметь локально сохраненные значения, которые используются, если выбран определенный языковой параметр.Опция сервера является более управляемой IMO.
async setText(languageId: number) {
this.text = await this.http.get('yourUrl', {
params: { languageId: languageId.toString()} }).toPromise();
}
Текст может быть объектом со всем вашим текстом, например
"text": [
"notifications": ["warningNotification": "whatever", ...
]
Вы можете отобразить их по всему шаблону:
<div id="warningDiv">{{ text?.notifications?.warning }}</div>
И следуйте по одному и тому же шаблону повсюду, с различными объектами text
json, доставляемыми в зависимости от языка.
Обратите внимание на вопросительные знаки, которые являются операторами безопасности, чтобы избежать нулевых ошибок во время обработки запроса.