【问题标题】:NbDatePicker don't show some names in SpanishNbDatePicker 不显示西班牙语中的某些名称
【发布时间】:2021-08-24 15:03:51
【问题描述】:

我的问题是我在项目中使用了组件 Nb-DatePicker,我使用了 {provide: LOCALE_ID, useValue: "es-MX"} 在我的 app.component 中以西班牙语显示,但是如果选择了 2 月、4 月、5 月、8 月或 12 月,则没有显示,我认为它必须与翻译有关但我不知道,当我删除时{provide: LOCALE_ID, useValue: "es-MX"} 这行工作正常,我该怎么做才能用西班牙语显示名称并解决问题?

【问题讨论】:

    标签: angular datepicker translation nebular


    【解决方案1】:

    我做了一点stackblitz

    在 app.module 我添加

    import '@angular/common/locales/global/es-MX';
    

    在提供者中:

    providers:[{ provide: LOCALE_ID, useValue: 'es-MX' }]
    

    我还需要在 polyfills.ts 中添加这一行(但我认为那是因为是堆栈闪电战)

    import '@angular/localize/init';  //<---see if you need add this line
    

    另一种方法是创建一个 CustomDateAdapter 和 CustomDateParserFormatter (如果您想输入日期,例如 dd/mm/yyyy 和从 NgbDatepickerI18n 扩展的 DatepickerEsMX 以“翻译”月份名称和工作日名称(DateAdapter 和 DatePArser在old SO 中有解释,extends NgbDatePickerI18 的使用在example of the docs 中有解释(*)

    providers: [{ provide: LOCALE_ID, useValue: 'es-MX' },
                {provide: NgbDateAdapter, useClass: CustomDateAdapter},
                {provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter}
                { provide: NgbDatepickerI18n, useClass: DatepickerEsMx },
    

    (*) DatePickerEsMX 可以像

    @Injectable()
    export class DatepickerEsMX extends NgbDatepickerI18n {
    
      constructor(@Inject(LOCALE_ID) private localeId: string) {
            super();
        }
    
      getWeekdayShortName(weekday: number): string {
            return I18N_VALUES.es.weekdays[weekday - 1];
        }
        getMonthShortName(month: number): string {
            return I18N_VALUES.es.months[month - 1];
        }
        getMonthFullName(month: number): string {
            return I18N_VALUES.es.fullMonths[month - 1];
        }
    
        getDayAriaLabel(date: NgbDateStruct): string {
            return `${date.day}-${date.month}-${date.year}`;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多