I think you should rather use a single field for your translations and a flag-field to select them instead of many cloumns and a variable-control, more like these logic:
Load * Inline [
There are demo-apps within the your install-demos which have a language-switch and also here:
In our projects i have seen handling such situation.
Normally we approach in below manner:
1. Create a mapping file which will store different levels(for column) in the multiple languages wher one of the column is related to language
2. Create an inline table like Marcus where Language information is kept.
3. Apply "ApplyMapping".
hope this should help.
Hi all cannot upload an example as the doc is too big.
Here are few more elements:
- application language is chang-able at runtime. Which means every text needs to be refreshed and displayed in the selected language.
- To my knowledge, Applymap do not work in interface so you should use it to write the translated text and have them in 3 languages during script run only.
- the cancellation reason is stored in a reference table and it is "connected" to the fact table by more than 1 field (its display does not depend only on the language, but on other selected field, for example the Country
--> if I load the reference table as is, and link it to the fact table in data model, I will 3 rows of translation for each row in the fact table, and it may triple the data in the fact table by 3
So what I did is to use ApplyMap (with all linked conditions like Country) and load 3 additional columns into the fact table. Then once on the interface I set up that expression to show the corresponding column of the selected language. And you can change as many language as you like, the translation will be refreshed and appeared correctly (I have listbox and dimension of the pivot table implemented this way). Everything is fine except that annoying display in the Active selection box