Как изменить файл TS на основе языка с использованием угловой локализации - PullRequest
0 голосов
/ 14 мая 2018

У меня есть файлы errors.ts и content.ts с английским содержимым таким же образом errorsEs.ts и contentEs.ts с испанским контентом.etc.Я делаю JIT compiler angular localization, чтобы перевести язык.Я импортировал errors.ts и content.ts по всему приложению.

На данный момент я заменяю переведенный язык (испанский, итальянский) на английский content.ts и errors.ts, чтобы запустить его какдругой язык.Есть ли другой способ сделать это без замены файлов?

1 Ответ

0 голосов
/ 14 мая 2018

Конечно, создайте файлы перевода с локалями в названии (я создам один для примера):

error.en-US.ts

export const errors = {
  http: {
    e404: `Error: resource not found on the server`
  }
};

Далее создайте сервис ошибок. В конструкторе получите языковой стандарт пользователя, загрузите файл и используйте его:

constructor() {
  if (window.navigator.languages) { this.language = window.navigator.languages[0]; } 
  else { this.language = window.navigator.userLanguage || window.navigator.language; }

  this.errors = require(`errors.${this.language}`).errors;
}

EDIT

console.log(window.navigator.languages);
console.log(window.navigator.userLanguage);
console.log(window.navigator.language);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...