Den mest almindelige måde, jeg har set dette gjort, er med to tabeller, membership
og membership_ml
, hvor en gemmer basisværdierne og ml-tabellen gemmer de lokaliserede strenge. Dette svarer til din anden mulighed. De fleste af de systemer, jeg ser sådan her, er lavet på den måde, fordi de ikke var designet med internationalisering i tankerne fra starten, så de ekstra _ml-tabeller blev "tacket på" senere.
Hvad jeg synes er en bedre mulighed, ligner din første mulighed, men en smule anderledes. Du ville have en central tabel til at gemme alle oversættelserne, men i stedet for at sætte tabelnavnet og feltnavnet derinde, ville du bruge tokens og en central "Indhold"-tabel til at gemme alle oversættelserne. På den måde kan du håndhæve en form for RI mellem tokens i basistabellen og oversættelserne i indholdstabellen, hvis du også vil.
Jeg har faktisk stillet et spørgsmål om netop denne ting for et stykke tid siden, så du kan se på det for mere information (i stedet for at genindsætte skemaeksemplerne her).