Google recently added Urdu and Punjabi support to Transliteration service.
Transliteration allows users to type words phonetically using their english keyboard. For example, in Urdu, you can type "shukriya" to get شکریہ and in Punjabi, you can type "duniya"to get ਦੁਨਿਯਾ . If a word did not get transliterated correctly, hit the backspace key or select the word to see list of alternatives to select from. Typing Control + G allows you to switch between english and local language typing.
In a Blog post from Google's software Engineers writes:
Launching Urdu and Punjabi has been a true labour of love for our team. Urdu brought with it some unique challenges: since it is written right to left, we needed to ensure that editing functions such as backspace, tab, etc all work as expected. Urdu diacriticals, or 'Aerabs', also needed special attention as they map the vowel sounds but are not necessarily visible in the word. For Punjabi, the 'addak', 'tippi' and 'bindi' posed its own challenge as they change the intonation of the previous character. We hope that Urdu and Punjabi speakers in India, Pakistan and elsewhere in the world find this tool useful to type in their native language.
With this launch our transliteration service now supports twelve languages, including: Hindi,Tamil, Telugu, Kannada, Malayalam, Bengali, Gujarati,Marathi, Nepali and Arabic
You can try Urdu and Punjabi Transliteration at: