Я бы работал с 3 таблицами:
Слова (слово, идентификатор слова, язык)
Значения (идентификатор слова, значение, значение идентификатора)
Translatesv1 (fromMeaningId, toMeaningId) - таблица самостоятельного объединения
или
Translatesv2 (groupId, senseId) - таблица самостоятельного объединения
Количество элементов:
1Слово на одном языке может иметь несколько значений
Значения нуждаются в таблице самосоединения.
Идея состоит в том, чтобы самостоятельно объединять значения, а не между словами, и обобщать, чтобы вам не приходилось менятьструктура БД каждый раз, когда вы добавляете новый язык.
Translatev1 имеет недостаток, заключающийся в том, что он имеет подразумеваемое направление «от ... до».
Транластев2 немного сложнее в реализации, но более гибок и работает в любомнаправление.