Не зная вашей конкретной ситуации, мне кажется, что принципы DRY предполагают, что вы просто располагаете одной базой данных с одной таблицей, хранящей все языки, и не разбиваете ее по языкам. Это просто не масштабируется. Вместо этого просто закодируйте / сохраните все записи с использованием UTF-8 или чего-то подобного, а затем обработайте кодирование на уровне пользователя. (У нас была база данных, хранящая клиентов по всему миру, с кодировками от латинских до японских.) Итак, в пользовательской таблице (или где-то еще, если это имеет смысл) создайте столбец для кодирования, основанный на том, как вы определяете, на каком языке они работают. Используешь. Затем, когда вы сохраняете и извлекаете записи для данного пользователя, проверяйте их кодировку и проверяйте. Вы избавите себя от многих головных болей, ИМО.
надеюсь, что это помогает.