Tengo problemas para cambiar la configuración regional de la barra de herramientas del encabezado del calendario completo.
Lo extraño es que funciona en los nombres de mes y día, pero no en el encabezado.
El código se ve así:
let calendar = new FullCalendar.Calendar(calendarEl, { headerToolbar: { locale: getLanguage(), left: 'prev,next', center: 'title', right: 'timeGridWeek,dayGridMonth,listWeek', }, initialView: 'timeGridWeek', weekNumbers: true, weekText: "", weekends: false, firstDay: 1, slotMinTime: "07:00:00", slotMaxTime: "18:00:00", eventTimeFormat: { hour: '2-digit', minute: '2-digit', hour12: false, }, locale: getLanguage(), eventDisplay: "block", eventTextColor: "#fff" });getLanguage() devuelve el idioma de los navegadores, en mi caso debería (y lo hace) devolver no-NB.
function getLanguage() { let result = window.localStorage[LANGUAGE]; return result ? result : navigator.language || navigator.userLanguage || 'no'; }¿Cómo es que no cambia la localización de la barra de herramientas de encabezado?
Cuando habla de la localización de la barra de herramientas del encabezado, asumo que se refiere específicamente a los nombres de las vistas en los botones, porque la parte de la fecha del encabezado claramente ya se ha localizado.
La respuesta de por qué eso no cambia en su caso es simplemente porque el archivo de configuración regional de fullCalendar no contiene una entrada para no o no-NB (Noruega). Por lo tanto, no hay texto que fullCalendar pueda usar para reemplazar los nombres de las vistas y otros botones.
Al momento de escribir, puede ver la última versión enhttps://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/locales-all.js y ver que no hay ninguna entrada para ese código de región.
Sin embargo, hay una entrada para nb , que creo que es Norwegian Bokmål. Así que podrías usar eso, si es apropiado.
Una solución alternativa es modificar el archivo local para agregar su propia entrada para los códigos de idioma que desea admitir en su calendario. (Si adopta este enfoque, también podría enviar su contribución al proyecto fullCalendar, para ver si la aceptarían en los archivos proporcionados de forma predeterminada con la próxima versión).
Otra solución alternativa es crear configuraciones de vista personalizadas para cada vista, donde puede definir su propio texto de botón, incluso para las vistas integradas.
(PD: la razón por la que las fechas todavía están localizadas en su ejemplo es porque eso lo hace la biblioteca JS Date integrada en el motor JavaScript de su navegador. FullCalendar simplemente usa los resultados de eso. Su configuración local, cuando está disponible, puede anular ciertos aspectos de la presentación, pero de lo contrario solo usará lo que el navegador produzca de forma predeterminada).