# WTF: Convert Serbian Cyrillic to Latin script # Author: Aleksandar Urosevic (urosevic.net) # Written for: Sublime Text 3 # Goal: learning Python for ST import sublime, sublime_plugin class CyrLatAllTranslitCommand(sublime_plugin.TextCommand): def run(self, edit): # get self view view = self.view # define region to replace (whole file) region = sublime.Region(0, view.size()) content = view.substr(region) # lowercase characters content = content.replace(u"а", "a") content = content.replace(u"б", "b") content = content.replace(u"в", "v") content = content.replace(u"г", "g") content = content.replace(u"д", "d") content = content.replace(u"ђ", "đ") content = content.replace(u"е", "e") content = content.replace(u"ж", "ž") content = content.replace(u"з", "z") content = content.replace(u"и", "i") content = content.replace(u"ј", "j") content = content.replace(u"к", "k") content = content.replace(u"л", "l") content = content.replace(u"љ", "lj") content = content.replace(u"м", "m") content = content.replace(u"н", "n") content = content.replace(u"њ", "nj") content = content.replace(u"о", "o") content = content.replace(u"п", "p") content = content.replace(u"р", "r") content = content.replace(u"с", "s") content = content.replace(u"т", "t") content = content.replace(u"ћ", "ć") content = content.replace(u"у", "u") content = content.replace(u"ф", "f") content = content.replace(u"х", "h") content = content.replace(u"ц", "c") content = content.replace(u"ч", "č") content = content.replace(u"џ", "dž") content = content.replace(u"ш", "š") # uppercase characters content = content.replace(u"А", "A") content = content.replace(u"Б", "B") content = content.replace(u"В", "V") content = content.replace(u"Г", "G") content = content.replace(u"Д", "D") content = content.replace(u"Ђ", "Đ") content = content.replace(u"Е", "E") content = content.replace(u"Ж", "Ž") content = content.replace(u"З", "Z") content = content.replace(u"И", "I") content = content.replace(u"Ј", "J") content = content.replace(u"К", "K") content = content.replace(u"Л", "L") content = content.replace(u"Љ", "Lj") content = content.replace(u"М", "M") content = content.replace(u"Н", "N") content = content.replace(u"Њ", "Nj") content = content.replace(u"О", "O") content = content.replace(u"П", "P") content = content.replace(u"Р", "R") content = content.replace(u"С", "S") content = content.replace(u"Т", "T") content = content.replace(u"Ћ", "Ć") content = content.replace(u"У", "U") content = content.replace(u"Ф", "F") content = content.replace(u"Х", "H") content = content.replace(u"Ц", "C") content = content.replace(u"Ч", "Č") content = content.replace(u"Џ", "Dž") content = content.replace(u"Ш", "Š") # uppercase two-letter chars content = content.replace(u"NjA", "NJA") content = content.replace(u"NjE", "NJE") content = content.replace(u"NjI", "NJI") content = content.replace(u"NjO", "NJO") content = content.replace(u"NjU", "NJU") content = content.replace(u"ANj", "ANJ") content = content.replace(u"ENj", "ENJ") content = content.replace(u"INj", "INJ") content = content.replace(u"ONj", "ONJ") content = content.replace(u"UNj", "UNJ") content = content.replace(u"LjA", "LJA") content = content.replace(u"LjE", "LJE") content = content.replace(u"LjI", "LJI") content = content.replace(u"LjO", "LJO") content = content.replace(u"LjU", "LJU") content = content.replace(u"ALj", "ALJ") content = content.replace(u"ELj", "ELJ") content = content.replace(u"ILj", "ILJ") content = content.replace(u"OLj", "OLJ") content = content.replace(u"ULj", "ULJ") content = content.replace(u"DžA", "DŽA") content = content.replace(u"DžE", "DŽE") content = content.replace(u"DžI", "DŽI") content = content.replace(u"DžO", "DŽO") content = content.replace(u"DžU", "DŽU") content = content.replace(u"ADž", "ADŽ") content = content.replace(u"EDž", "EDŽ") content = content.replace(u"IDž", "IDŽ") content = content.replace(u"ODž", "ODŽ") content = content.replace(u"UDž", "UDŽ") # update content in view view.replace(edit, region, content) # close edit buffer view.end_edit(edit)