A completely in-database solution is to add another table. Adding a column per-language is a (poor) temporary solution at best - it doesn't scale well, and would require dynamic sql to choose the column (which may cause errors if the language code is available, but there's no appropriately named column).
Keep your existing table as-is. It makes a great primary-key table for referential integrity, and also allows for easy storage of defaults, if the appropriate language can't be found. Then add another table like this:
Material_Localizations
========================
materialId -- fk reference to Material.id
languageId -- fk reference to Language.id
regionId -- optional - used to differentiate where the particular language is
-- being spoken: some places use different spellings or whole words
materialDescription -- varchar, localized text
primary (unique) key is <materialId, languageId, regionId>