Our state of the art Gantt chart


Post by abdelchehadeh »

I do assign the language using the following function

export const setLocaleBasedOnUser = (languageName: string) => {
    try {
        const locale = Object.values(LocaleManager.locales).find(locale => locale.localeName.toLowerCase() === languageName.toLowerCase());
        const localeCode = locale?.localeName;
        
if (languageName.toLowerCase() === 'de') { const newLocaleDe= { ...locale }; if (newLocaleDe) { const dateHelper = newLocaleDe.DateHelper; dateHelper['unitNames'][8] = { single: "Tag", plural: "Tag(e)", abbrev: "T" }; newLocaleDe.DateHelper = dateHelper; } LocaleHelper.publishLocale('de', newLocaleDe); } LocaleManager.applyLocale(localeCode); /* add objects and new properties here localeObject.<Object>.<Attribute> = getMessage(Enums.MessageEnum.Bryntum<Object>_<Attribute>); example locale.Gantt.Edit = getMessage(Enums.MessageEnum.BryntumGantt_Edit); */ } catch (error) { console.error('Failed to assign messageEnums and apply locale:', error); } };

this works, but it does update the Yearly quarters from Q1 to EQ1 which is unwanted

I think that in german anyway tag(e)/t should be as any other german word capitalised.


Post by alex.l »

Hi,

I don't see that in online demo here https://bryntum.com/products/gantt/examples/localization/

Please try yourself
For testing I added this code to the end of file

const locale = Object.values(LocaleManager.locales).find(locale => locale.localeName.toLowerCase() === 'de');
        const localeCode = locale?.localeName;
 const newLocaleDe= { ...locale };
        
if (newLocaleDe) { const dateHelper = newLocaleDe.DateHelper; dateHelper['unitNames'][8] = { single: "Tag", plural: "Tag(e)", abbrev: "T" }; newLocaleDe.DateHelper = dateHelper; } LocaleHelper.publishLocale('de', newLocaleDe);

All the best,
Alex Lazarev

How to ask for help? Please read our Support Policy


Post by abdelchehadeh »

When I do assign the new values for unitNames[8] is when the quarter change to eQuarters.
see this in the attached files.
In the other file see the added canonicalUnitName. ( Iassume this is used somewhere to assign the abbreviation)

The complaint from the customer anyway is that the formal German should be capitalised when it is a name. So from my point of view Bryntum should change this as German standard.

This overwriting of the equarter seems to be fine, however I do not know what is the definition of eQuarter.

 if (languageName.toLowerCase() === 'de') {
            const newLocaleDe= { ...locale };
            
if (newLocaleDe) { const dateHelper = cloneDeep(newLocaleDe.DateHelper); console.log(dateHelper); dateHelper['unitNames'][8] = { single: "Tag", plural: "Tag(e)", abbrev: "T" }; dateHelper['unitNames'][15].abbrev = "q"; //delete dateHelper['unitNames'][15]; newLocaleDe.DateHelper = dateHelper; console.log(dateHelper); } LocaleHelper.publishLocale('De', newLocaleDe); } LocaleManager.applyLocale(localeCode);
Attachments
55586.png
55586.png (106.28 KiB) Viewed 703 times
55586-2.png
55586-2.png (69.84 KiB) Viewed 703 times

Post by alex.l »

Hi,

I've opened a ticket for a bug with localization https://github.com/bryntum/support/issues/11888
You can subscribe on ticket updates to be notified when it's done.

Thank you for the report!

Regarding to "e" in names after locale change, I can't reproduce this. Do you see that in our demo using the link and the code I shared before? Any chance to get runnable code/steps to reproduce it and confirm a bug or find a reason?

All the best,
Alex Lazarev

How to ask for help? Please read our Support Policy


Post Reply