I have implemented your method for integrating the i18next framework, however I have found a small issue that is not working.
The first time a user tries to use my website which has i18next framework, the language is not being stored in the datastore therefore it is loading the default language, however after the user tries to change the language from the dropdown menu like this: i18next.changeLanguage('es').then(updateDOM)
then the datastore saves the language and everything continues to work fine.
After investigating the issue I found out that the problem is in this line of code
I don’t have the problem you mention. The dmx.parse is being used because it will retrieve the value once app connect is loaded.
By reading directly dmx.app.data it could happen that the language is not set when the library needs it because app connect is not yet loaded into the browser.
But if it works for you I am glad
Anyway, I am waiting for the App Connect extensibility features to be implemented to refactor all this into an App Connect proper library.
Out of interest @George are we far from AC extensibility with UI support? I am refactoring this integration and I was wondering if I should wait a bit.
@karh I refactored all that into a custom AC component. I haven’t released it yet as there is still no support in the UI for it, but let me know when you start and I’ll send you the code privately.
@George yeah I gave it a go a few months ago. It’s overkill though. Packed of features and options. Maybe too much for a standard project.
I’m still using fluent, but I don’t use pontoon anymore. I tried weblate as they added support for fluent and that’s why I know it’s excesive for my needs. Finally I settled for fluent and plain text editors.
I’m guessing handling all those hardcoded strings is cumbersome. I guess weblate is your best bet if you are planning on self-hosting. It might be too much at the beginning, but if Wappler evolves into a multilingual app you won’t be short of features.