| /******************************************************************************** |
| * Copyright © 2018 Mettenmeier GmbH. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| ********************************************************************************/ |
| import { Injectable } from '@angular/core'; |
| import { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap'; |
| import { I18nService } from '@core/services/i18n.service'; |
| |
| const I18N_VALUES = { |
| 'de': { |
| weekdays: ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'], |
| months: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], |
| } |
| // other languages you would support |
| }; |
| |
| @Injectable({ |
| providedIn: 'root' |
| }) |
| export class CustomDatepickerI18nService extends NgbDatepickerI18n { |
| constructor( |
| private i18n: I18nService |
| ) { |
| super(); |
| } |
| getWeekdayShortName(weekday: number): string { |
| return I18N_VALUES[this.i18n.language].weekdays[weekday - 1]; |
| } |
| getMonthShortName(month: number): string { |
| return I18N_VALUES[this.i18n.language].months[month - 1]; |
| } |
| getMonthFullName(month: number): string { |
| return this.getMonthShortName(month); |
| } |
| getDayAriaLabel(date: NgbDateStruct): string { |
| return `${date.day}.${date.month}.${date.year}`; |
| } |
| } |