我使用NgLocaleLocalization,它是Angular中i18n代码的一部分。从Angular 4转到5我现在需要做这样的事情,详见docs:
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';
// the second parameter 'fr' is optional
registerLocaleData(localeFr, 'fr');
哪种语言很棒。我有更多(大约50)。
这是一种明智的方法吗?:
import locale_ar from "@angular/common/locales/ar";
import locale_bg from "@angular/common/locales/bg";
import locale_cs from "@angular/common/locales/cs";
import locale_da from "@angular/common/locales/da";
// around 45 more import statements
import locale_sv from "@angular/common/locales/sv";
const locales: [string, (string | number | string[] | string[][] | number[] | ((n: number) => number))[]][] = [
["ar", locale_ar], ["bg", locale_bg], ["cs", locale_cs], ["da", locale_da],
// around 45 more items here
["sv-SE", locale_sv]
];
(() => {
for (const locale of locales) {
registerLocaleData(locale[1], locale[0]);
}
})();
在我看来,这看起来有点疯狂。 但这是正确的做法吗?
另外,是否有任何理由我应该推迟调用registerLocaleData,直到我知道我需要它或者是否可以立即在这里注册它们?
如果我推迟注册,我是否需要跟踪以便我不进行双重注册?