import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.io.*; import java.lang.*; import java.util.*; /* Author: wRadchuk * * * * * * * * * * * */ public class Translit extends MIDlet{ Display dsp; Form form; String[] ru = { "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "ц", "ч", "ш", "щ", "ъ", "ы", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Э", "Ю", "Я" }; String[] en = { "a", "b", "v", "g", "d", "e", "yo", "zh", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "c", "ch", "w", "sh", "q", "y", "x", "yu", "ya", "A", "B", "V", "G", "D", "E", "YO", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "F", "C", "CH", "W", "SH", "Q", "Y", "X", "YU", "YA" }; public int i; public String out; public Translit(){ dsp=Display.getDisplay(this); form=new Form("test"); } public void encode(String str) { Hashtable tb = new Hashtable(); for(i = 0; i < 61; i++) { tb.put(ru[i], en[i]); } str=str.toLowerCase(); String rezult = ""; for(int i = 0; i < str.length(); i++) { char c=str.charAt(i); String gets = (String)tb.get(String.valueOf(c)); rezult += gets != null ? gets.charAt(0) : c; }} public String decode(String str) { Hashtable tb = new Hashtable(); for(i = 0; i < 61; i++) { tb.put(en[i], ru[i]); } str=str.toLowerCase(); String rezult = ""; for(int i = 0; i < str.length(); i++) { char c=str.charAt(i); String gets = (String)tb.get(String.valueOf(c)); rezult += gets != null ? gets.charAt(0) : c; } return rezult; } public void startApp() { out = decode("Привет - Privet"); form.append(""+out); dsp.setCurrent(form); } public void pauseApp() { } public void destroyApp(boolean flag) { } }