在我的 Angualr 6 应用程序中,我尝试使用 i18n-iso-countries 库 (JavaScript) 将国家/地区代码转换为国家/地区名称。我是用 npm 安装的
npm -i i18n-iso-countries
然后在我的组件中,我像这样导入它:
import * as i18IsoCountries from 'i18n-iso-countries';
我是这样使用它的:
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;
}
Run Code Online (Sandbox Code Playgroud)
但是 valueName 是未定义的。
我还在Stackblitz 中创建了类似的设置。 您可以看到 getName 的输出未定义,但 getAlpha2Codes() 的输出返回值。
我刚刚发现语言需要注册。文档有点混乱
如果您将 i18n-iso-countries 与 Node.js 结合使用,您就大功告成了。
但是您确实需要注册要使用的语言。
所以在 Angular 6 中你需要:
npm install i18n-iso-countries --save
然后在您的组件中:
import * as i18nIsoCountries from 'i18n-iso-countries';
然后在 ngOnInit()
i18nIsoCountries.registerLocale(require("i18n-iso-countries/langs/en.json"));
缺少导入区域设置文件。i18nIsoCountries.registerLocale(require("i18n-iso-countries/langs/en.json"));
Stackblitz https://stackblitz.com/edit/angular-qbmbwq
| 归档时间: |
|
| 查看次数: |
6460 次 |
| 最近记录: |