Add multilingual functionality

Draft (work in progress) -- AWAITING PEER REVIEW
Overview: