SQL Question: Selecting different language versions based on availability
You can create a query to get the two language as two column, as translation, and use COALESCE to get the value that is present.
If you have one language that have all the data you'll want to use it as the anchor and write a LEFT JOIN (if word is the field with the data)

SELECT COALESCE(e.word, d.word) word
FROM   table D 
       LEFT JOIN table E ON e.lang = 'E' and d.lang = 'D' and e.name = d.name


otherwise a FULL JOIN is needed

SELECT COALESCE(e.word, d.word) word
FROM   table D 
       FULL JOIN table E ON e.lang = 'E' and d.lang = 'D' and e.name = d.name


Edit
As ypercube pointed out MySQL don't support the FULL JOIN, but it can be simulated

SELECT COALESCE(e.word, d.word) word
FROM   table D 
       LEFT JOIN table E ON e.lang = 'E' and d.lang = 'D' and e.name = d.name
UNION
SELECT COALESCE(e.word, d.word) word
FROM   table D 
       RIGHT JOIN table E ON e.lang = 'E' and d.lang = 'D' and e.name = d.name