Cara paling umum yang saya lihat dilakukan adalah dengan dua tabel, membership
dan membership_ml
, dengan satu menyimpan nilai dasar dan tabel ml menyimpan string yang dilokalkan. Ini mirip dengan opsi kedua Anda. Sebagian besar sistem yang saya lihat seperti ini dibuat seperti itu karena tidak dirancang dengan mempertimbangkan internasionalisasi sejak awal, jadi tabel _ml tambahan "ditempelkan" nanti.
Apa yang saya pikir adalah opsi yang lebih baik mirip dengan opsi pertama Anda, tetapi sedikit berbeda. Anda akan memiliki tabel pusat untuk menyimpan semua terjemahan, tetapi alih-alih memasukkan nama tabel dan nama bidang di sana, Anda akan menggunakan token dan tabel "Konten" pusat untuk menyimpan semua terjemahan. Dengan begitu Anda dapat menerapkan semacam RI antara token di tabel dasar dan terjemahan di tabel Konten jika Anda mau.
Saya sebenarnya mengajukan pertanyaan tentang hal ini beberapa waktu lalu, jadi Anda dapat melihatnya untuk beberapa info lebih lanjut (daripada menempel ulang contoh skema di sini).