Angular2localization不会获取区域设置数据

时间:2016-10-15 08:46:10

标签: angular localization format ionic2 currency

@ robisim74嗨,

我正在尝试在我的新Ionic 2(rc0)应用程序中实现Angular2localization。 我需要翻译消息并格式化日期,数字,百分比和金钱数字。

我正在尝试将currentCurrency放入html模板中的货币管道中。

但是getCurrentCurrency()总是返回一个空字符串。

这是我到目前为止所尝试的内容:

app.module.ts:

import { LocaleModule, LocalizationModule } from 'angular2localization';
...
@NgModule({
  declarations: [...],
  imports: [
    IonicModule.forRoot(MyApp),
    LocaleModule.forRoot(),             // New instance of LocaleService.
    LocalizationModule.forRoot()    // New instance of LocalizationService.
  ],
  bootstrap: [IonicApp],
  exports: [...],
  entryComponents: [...],
  providers: [...]
});
export class AppModule {}

app.component.ts

import { Locale, LocaleService, LocalizationService } from 'angular2localization';
...
export class MyApp {
  constructor( platform: Platform, public locale: LocaleService, public localization: LocalizationService ) {
    platform.ready().then( () => {
      this.locale.addLanguage('en');
      this.locale.addLanguage('fr');
      this.locale.useLocalStorage();
      this.locale.definePreferredLocale('fr', 'FR', 30);
      this.localization.translationProvider('./i18n/locale-');
      this.localization.useLocaleAsLanguage();
      this.localization.updateTranslation();
      console.log(this.locale.getCurrentCurrency());  // Returns an empty string!
    }
  }
}

我不明白为什么this.locale.getCurrentCurrency()总是返回一个空字符串。它应该返回区域设置国家/地区的默认货币。 似乎Angular2Localization中不存在区域设置数据。

那么如何在我的Ionic 2应用程序中加载(如果可能的话全局)语言环境数据?

1 个答案:

答案 0 :(得分:0)

我不知道你是否已经解决了,无论如何都缺少货币的初始化:

// Optional: default currency (ISO 4217 three-letter code).
this.locale.definePreferredCurrency('EUR');

另见explanation

如果您需要其他信息,请直接在回购中打开问题,所以我马上就看到了。

问候