Как использовать i18n-iso-страны в Angular 6 - PullRequest
0 голосов
/ 02 октября 2018

В моем приложении Angualr 6 я пытаюсь преобразовать коды стран в названия стран, используя библиотеку i18n-iso-country (JavaScript).Я установил его, используя npm

npm -i i18n-iso-country

Затем в своем компоненте я импортировал его так:

импортировать * как i18IsoCountries из 'i18n-iso-стран';

И я использую его так:

  let valueName = '';
  tmpArr = tmpArr.map((e) => {
      const tmp = e.split('_')[1];
      console.log('tmp: ' + tmp);
      // console.log(i18IsoCountries);
      valueName = i18IsoCountries.getName(tmp, 'en');
      return tmp;
    }

Однако valueName не определено.

Я также создал подобную настройку в Stackblitz здесь. Вы можете видеть, что вывод getName не определен, но вывод getAlpha2Codes () возвращает значение.

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Я только что узнал, что язык должен быть зарегистрирован.Документация немного сбивает с толку

Если вы используете i18n-iso-country с Node.js, все готово.

Но вам нужно нужночтобы зарегистрировать языки, которые вы хотите использовать.

Итак, в Angular 6 вам необходимо:

npm установить i18n-iso-country --save

Затем в вашем компоненте:

import * as i18nIsoCountries from 'i18n-iso-countries';

И затем в ngOnInit ()

i18nIsoCountries.registerLocale(require("i18n-iso-countries/langs/en.json"));

0 голосов
/ 02 октября 2018

Импорт файла локали отсутствует.i18nIsoCountries.registerLocale (require ("i18n-iso-country / langs / en.json"));

Stackblitz https://stackblitz.com/edit/angular-qbmbwq

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...