Sounds like a table structure problem to me. All the languages should be stacked vertically, not accross in columns. I would assign each language a simple number based on another lookup table. Then in your languageTable, the structure would be ID, control name, controlType, caption, LangID...