You should load it in to a table with the field Language, Variable and Value, so that by a language selection you only have the values for that language available. This should be possible to accomplish with the tranformation features like Transpose in the table load wizard.
In the application you can then pick the string with a set expressions like
I agree, for maintenance you should keep your original structure. This is also what I meant by transforming the data during load by using the QlikView tranformation features. Sorry for mixing things up, you should use the Cross Table feature to twist the sheet data. Find principle steps below, and sample files.
1. Desktop client > Script Editor > Tables Files...
2. Locate your excel file
3. Press next to go to Transform dialog
4. Enable Tranformation Step
5. Press next to reach the Options dialog
6. Press Crosstable...
7. Name the Attribute field to Language and the Data field to Value
8. Press Finish to finalise the load and you will get something like below in your script
FROM Book1.xlsx (ooxml, embedded labels, table is Sheet1);