My requirement is as follows: An app with internationalization support and starting with EN and FR versions of text. So, I have 2 approaches for data in the table:
1. One column for each language: So, my table columns will be as below, which means it will have one column for each language. So, in future if I add one more language, lets say German then I will add one more column LABEL_GM
and will write update queries to add German labels.
"LABEL_EN" VARCHAR2(1000 BYTE),
"LABEL_FR" VARCHAR2(1000 BYTE),
2. One row for each language: So, my table columns will be as below, which means it will have one row for each language. So, in future if I add one more language, lets say German then I will write insert queries to add German labels.
"LABEL" VARCHAR2(1000 BYTE),
"LANGUAGE" VARCHAR2(2 BYTE),
Questions:
- Which is more space and performance efficient way in today situation when I am having only 2 language support.
- Which is more space and performance efficient way from future perspective, in case if we need to add one more language support, so main concern is how efficient will be data insertion/updation.