Translation in TableListBox


I am using localised strings in my interface (menus, dialogues, …).
When I load a new language (with setCurrentMappings), it works perfectly with the menus.
But with TableListBox, it does not work.
When I create my TableListBox, I use this sort of syntax :
m_Table.getHeader().addColumn(juce::translate("Name"), 0, 200);

But if I want to translate de column name, I am obliged to do :
m_Table.getHeader().setColumnName(0, juce::translate("Name"));

It works, but did I miss something (my secret hope is that it will work automatically like the menus !)
Thanks for your help

As far as I’m aware, there’s no way of detecting a change to the current set of LocalisedStrings. I suspect that the menus work because they query their text each time they are recreated. The TableListBox isn’t being recreated, so its text never changes.

Is it important for your application that you can support language changes while the application is running? If not, perhaps you could consider showing a language selector screen on first run, before creating the UI for the main application.

Thank you for your answer

Your analysis was what I had in mind. But I am still a newbie with JUCE, thus I wanted to be sure that there was no hidden magic trick somewhere !
It is not a problem for my program to call an update method for each of my components every time the user choose a new language.