Hi Karthik-
I think Brandon's right, to make the function work out of the box, you'd probably have to change your machine's native configuration, which may be more than you want to do.
If you want to enable something like this without reconfiguring the OS, you could add a function that uses Java/Javascript to handle the conversion. That lets you set the locale arbitrarily. As a simple example, you could select a text string and execute the following javascript code:
// make sure to use Rhino JS engine so the Java bridge works
var doc = Application.activeDocument;
var text = doc.textSelection;
var trl = new Packages.java.util.Locale("tr","TR");
var jtext = new java.lang.String(text);
doc.textSelection.deleteContents();
doc.textSelection.insertNode(doc.createTextNode(jtext.toUpperCase(trl)));
This will replace the selection with the upper-case version of the string according to the conventions of Turkish. When I do this with "i" selected, I get "?" returned.
With a little massaging, you could wrap this in a function, attach it to a menu item and/or keyboard shortcut, maybe even extract the desired locale automatically from the document markup if it's available there (e.g. via xml:lang attribute).
HTH.
--Clay