Hi Eli, I have attached a new patch with this email containing 5 input methods. 3 of them for Urdu and 1 each for Pashto and Sindhi. Two of Urdu input methods correspond to the two keyboards at https://www.branah.com/urdu and the Pashto and Sindhi input methods follow keyboard layouts from the same page. The remaining input method roughly corresponds to the one I sent before. The changes are: 1) Translations are customizable. 2) Numerals can be Arabic or Roman depending on a customizable variable. This is because both are routinely used in Urdu text. 3) There are a bunch of prefixes which are customizable. Some of these prefixes are for inputting characters from Balochi, Brahui, Hindko, Pashto, Saraiki and Sindhi. After including Punjabi which can be inputted using the same characters as Urdu (along with maybe one character from Saraiki) this covers all characters from all languages spoken by more than 1% of people in Pakistan according to Wikipedia https://en.wikipedia.org/wiki/Languages_of_Pakistan . In (not too distant) future I would also like to add keyboard layouts for Balochi and Saraiki. I cannot speak these languages but I can find some keyboard layouts on internet, e.g. https://keymanweb.com/#skr-arab,Keyboard_saraiki https://keymanweb.com/#bal,Keyboard_balochi_phonetic Are there any copyright issues to be aware of in using the layouts from web? Another question: For the customize types, I have opted for character as the type of a translation. I think it is the most convenient choice for someone wanting to customize. However it is not most general type quail allows. Is there any opinion on what the type should be? Lastly customizing these variables has the potential to shadow some translations. For this I would like to add a check to the setter functions that checks for that and raises a warning if such a shadowing occurs. Is there a standard customize way of raising such a warning? Please let me know of any changes to be made. Thanks, Rahguzar