如何国际化ng-bootstrap datepicker?

时间:2018-08-22 12:41:10

标签: javascript angular typescript datepicker

在我的项目中,我使用ng-bootstrap datePicker。 我的datePicker小部件非常简单:DEMO

但是我需要国际化他的(需要俄语)。请帮助我。

js:

'GalaSoft.MvvmLight'
'GalaSoft.MvvmLight.Extras'
'Microsoft.Practices.ServiceLocation'
'Newtonsoft.Json'
'PCLStorage'
'PCLStorage.Abastractions'
'System.Net.Http.Formatting'
'Windows.Foundation.UniversalApiContract'

2 个答案:

答案 0 :(得分:2)

您可以简单地使用:

import { LOCALE_ID } from '@angular/core';

$import { registerLocaleData } from "@angular/common";
$import localeRo from "@angular/common/locales/ro";
$registerLocaleData(localeRo, "ro");

然后使用提供程序:

$providers: [{ provide: LOCALE_ID, useValue: "ro-RO"}]

不需要NgbDatepickerI18n
ngbdatepicker 的 Angular 罗马尼亚语工作示例: https://stackblitz.com/edit/angular-mezpyn-b6tm1r?file=app%2Fdatepicker-popup.module.ts

答案 1 :(得分:0)

在这里确定解决方案:https://stackblitz.com/edit/angular-dd3vve?file=app/datepicker-range.ts

我所做的更改(使用this demo as example):

// now class extend NgbDatepickerI18n
export class NgbdDatepickerRange extends NgbDatepickerI18n {

// call to super() in constructor
constructor(calendar: NgbCalendar) {
  super()

// implement the abstract methods
getWeekdayShortName(weekday: number): string {return "td"};
getMonthShortName(month: number): string {return "mt"};
getMonthFullName(month: number): string {return "month"};
getDayAriaLabel(date: NgbDateStruct): string {return "e"};

// provide in component
@Component({
  selector: 'ngbd-datepicker-range',
  templateUrl: './datepicker-range.html',
  providers: [{provide: NgbDatepickerI18n, useClass: NgbdDatepickerRange}],

您需要更改方法以返回可用值