Búsqueda de sitios web

angular - ¿Cómo cambio el idioma del selector de fechas de npx bootstrap a pt-br?


Estoy haciendo un proyecto en Angular 4, instalé el ngx bootstrap y el selector de fechas está en inglés. Inserté las siguientes líneas en app.module.ts:

import { defineLocale } from 'ngx-bootstrap/chronos';
import { ptBrLocale } from 'ngx-bootstrap/locale';
defineLocale('pt-br', ptBrLocale); 

Luego fui al componente de la página donde estoy llamando a mi selector de fechas, hice las importaciones y declaré:

import { Component, OnInit } from '@angular/core';
import { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';
import { listLocales } from 'ngx-bootstrap/chronos';

y

@Component({
  selector: 'demo-datepicker-change-locale',
  templateUrl: './cancelar-agendamentos-consulta.component.html'
})
export class DemoDatepickerChangeLocaleComponent {
  locale = 'pt-br';
  locales = listLocales();

  constructor(private _localeService: BsLocaleService) {
  }

  applyLocale(pop: any) {
    this._localeService.use(this.locale);
    pop.hide();
    pop.show();
  }
}

Y aún así no funcionó. ¿Qué estoy haciendo mal?

Respuesta #1

El problema con tu código es que pusiste la llamada para cambiar la configuración regional dentro de otra función y no la estás llamando.

Intenta eliminar la función applyLocale y poner la llamada a change the locale dentro del constructor así:

@Component({
 selector: 'demo-datepicker-change-locale',
 templateUrl: './cancelar-agendamentos-consulta.component.html'
})
export class DemoDatepickerChangeLocaleComponent {
  locale = 'pt-br';
  locales = listLocales();

  constructor(private _localeService: BsLocaleService) {
    this._localeService.use(this.locale);
  }
}

Respuesta #2

Así que quería que el idioma fuera italiano y cambié el idioma con este código:

Importé:

import { BsLocaleService, defineLocale, itLocale } from 'ngx-bootstrap';

Código en example.component.ts

  // set language of datepicker
  setDatepickerLanguage() {
    defineLocale('it', itLocale);
    this.localeService.use('it');
  }

y llamó a la función en el constructor() y funcionó.

Captura de pantalla: