After implementing app text into my multi-language app, I’ve come to realize it was a mistake to use the App Text feature and I should have gone with my gut and implemented a translation via the Option Sets.
I believe others have posted in the past about option sets for translations instead of using app text. I was always hesitant because option sets can not be created dynamically or via CSV upload, but I believe plugin was released that does this, or its a chrome extension (I don’t recall, and have no association with it, but will search and find and try to use soon enough).
Overall, issue with App Text is that it requires the page to be refreshed for the app text to take effect when the user chooses to change the language.
What I have setup in my app is a way to use my url instead…for example the blog page.
www.myapp.com/blog
What I do is leave content type empty (can’t use it because of limitations with the data to send feature and having multiple languages). I add to the url the language so…
www.myapp.com/blog/th or www.myapp.com/blog/en
Then in my database, I use the built in slug field for the english version but for other languages I need to create a field for the slug in that language.
after the language I add the slug value corresponding to the language.
Then on the page, I use the search to pull up the correct entry based on the URL path item #2 being ‘en’ and use the format as text operator to add inline conditionals to determine which way to search (ie: search using the slug as constraint (for english - url path item#2 is en) and the languages slug field for other languages)…this makes it so the correct translated version is displayed (I have all the translations saved to the datatype).
Now, when a user will change their language selection, the workflow action will use the Go to Page Action to set the URL properly to the selected language. In this process the translation is super quick (pretty much instantaneous) and since the go to page workflow action doesn’t refresh the page, so custom states are not lost, the app text doesn’t change properly, resulting in poor UX…
So, now, I will need to use Option sets so I can have the same UX and quick change between languages of my dynamic content, as well as all the related static text that used to be App Text that I switch to option sets.
If the App Text feature were enhanced so that a page refresh was not necessary, I’d still be able to use it, but since it does require a page refresh, I can not use it and provide a great UX.