我尝试将几个月翻译成德语,但是我仍然得到英语个月。我已经阅读了所有论坛,但仍然无法解决问题。
import moment from 'moment/src/moment';
import localization from 'moment/locale/de';
ngOnInit() {
moment.locale('de', localization);
console.log(moment.locales()); // output is 'de'
console.log(moment.months()) // output is 'January', 'February', ...
}
答案 0 :(得分:1)
您不应该从locale
方法中指定第二个参数:
moment.locale('de');
修改
在您的模块中,您应该注册语言环境,导入MatMomentDateModule
并声明LOCAL_ID:
import { MatMomentDateModule } from '@angular/material-moment-adapter';
import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';
import localeDeExtra from '@angular/common/locales/extra/de';
registerLocaleData(localeDe, 'de-DE', localeDeExtra);
@NgModule({
...,
imports: [MatMomentDateModule],
providers: [
{ provide: LOCALE_ID, useValue: 'de-DE' },
],
...,
})
export class AppModule {}
答案 1 :(得分:0)
我已经做了更改,看看
https://stackblitz.com/edit/angular-mb2emg
解决方案:除了'moment'之外,还显式导入语言环境:
import moment from 'moment';
import 'moment/locale/de';
答案 2 :(得分:0)
它对我有用,我做了以下更改:-
moment.locale('de');
alert(moment.months()); // output is german months