Here's my suggestion. I normally prepend my IDs by the table name to make it easier to read. Obviously, you can use the naming standards you prefer.
Language
- LanguageID
- Description
Term
- TermID
Translation
- LanguageID
- TermID
- Text
As for the key for the Translation table, it depends on how many translations you will allow per language.
If you allow multiple, then add a TranslationID.
If you want to force just one, use a concatenated key of LanguageID and TermID. See How to properly create composite primary keys - MYSQL
I know it looks odd to have a table with just a key in it, but this structure has multiple advantages.
- It will allow you to query only one field when doing a search, regardless of whether you're translating FROM English or TO English.
- If one day, you need to translate between languages other than English, you're already set.
- You can translate the same word more than once, depending on its different meanings.
Here is an example of how to use it
Language
1 English
2 French
3 Spanish
Term
1
Translation
1 1 Dog
1 1 Hound -- (if this is allowed, add a TranslationID)
2 1 Chien
3 1 Perro