первый общепринятый
en={}
en['hw'] = 'Hello, Microsoft Word!'
en['title'] = 'This is my multilangual site'
ru={}
ru['hw'] = 'Привет, Ворд'
#templates/ru.html
title = ru['title'] if 'title' in ru else en['title']
та же особенность у редактора - сразу видно состояние перевода на конкретный язык
единственные вариации: хранение в разных языковых файлах/модулей массивов с одинаковыми именами, лбо в одном с именами языков, обычно хранят в разных, т.к. а) не нужно включать ненужное; б) языки - это не только слова, но и форматирование (оцените длину немецких слов), и таким же образом хранят параметры div ов и проч