Для начала разбить на слова и транслитерировать оные.
А потом составить все комбинации. Если принять русский вариант за 0, а транслит за 1, то очевидно, что все варианты - это набор всех двоичных чисел от 0 до 2^N, где N - кол-во слов:
2 слова - 00, 01, 10, 11
3 - 000, 001, 010, 011, 100, 101, 110, 111
Дальше, думаю несложно.