Comment 22 for bug 747796

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Wonder if there is a really good solution to this problem. The root cause is that the Turkish locales map two ASCII characters to non-ASCII characters with respect to case conversion:
    "I" (capital I) is mapped to "ı" (lowercase i-dotless)
    "i" (lowercase i) is mapped to "İ" (capital I-dotted)

I played with an alternative Turkish locale (diff below), and it proved to work as well as the l-s workaround I propose. Guess the issue has been discussed many times, and it would be interesting to hear some Turkish voices on this. Have a feeling that programmers will keep overlooking this special case and with that cause troubles for Turkish computer users.

Still looking forward to know about your conclusion regards pygobject.

--- /usr/share/i18n/locales/tr_TR 2011-03-15 17:38:26 +0100
+++ /usr/share/i18n/locales/tr_TR@uclc 2011-05-02 09:09:04 +0200
@@ -797,7 +797,7 @@
 toupper /
    (<U0061>,<U0041>);(<U0062>,<U0042>);(<U0063>,<U0043>);(<U0064>,<U0044>);/
    (<U0065>,<U0045>);(<U0066>,<U0046>);(<U0067>,<U0047>);(<U0068>,<U0048>);/
- (<U0069>,<U0130>);(<U006A>,<U004A>);(<U006B>,<U004B>);(<U006C>,<U004C>);/
+ (<U0069>,<U0049>);(<U006A>,<U004A>);(<U006B>,<U004B>);(<U006C>,<U004C>);/
    (<U006D>,<U004D>);(<U006E>,<U004E>);(<U006F>,<U004F>);(<U0070>,<U0050>);/
    (<U0071>,<U0051>);(<U0072>,<U0052>);(<U0073>,<U0053>);(<U0074>,<U0054>);/
    (<U0075>,<U0055>);(<U0076>,<U0056>);(<U0077>,<U0057>);(<U0078>,<U0058>);/
@@ -815,7 +815,7 @@
    (<U0115>,<U0114>);(<U0117>,<U0116>);(<U0119>,<U0118>);(<U011B>,<U011A>);/
    (<U011D>,<U011C>);(<U011F>,<U011E>);(<U0121>,<U0120>);(<U0123>,<U0122>);/
    (<U0125>,<U0124>);(<U0127>,<U0126>);(<U0129>,<U0128>);(<U012B>,<U012A>);/
- (<U012D>,<U012C>);(<U012F>,<U012E>);(<U0131>,<U0049>);(<U0133>,<U0132>);/
+ (<U012D>,<U012C>);(<U012F>,<U012E>);(<U0069>,<U0049>);(<U0133>,<U0132>);/
    (<U0135>,<U0134>);(<U0137>,<U0136>);(<U013A>,<U0139>);(<U013C>,<U013B>);/
    (<U013E>,<U013D>);(<U0140>,<U013F>);(<U0142>,<U0141>);(<U0144>,<U0143>);/
    (<U0146>,<U0145>);(<U0148>,<U0147>);(<U014B>,<U014A>);(<U014D>,<U014C>);/
@@ -1001,7 +1001,7 @@
 tolower /
    (<U0041>,<U0061>);(<U0042>,<U0062>);(<U0043>,<U0063>);(<U0044>,<U0064>);/
    (<U0045>,<U0065>);(<U0046>,<U0066>);(<U0047>,<U0067>);(<U0048>,<U0068>);/
- (<U0049>,<U0131>);(<U004A>,<U006A>);(<U004B>,<U006B>);(<U004C>,<U006C>);/
+ (<U0049>,<U0069>);(<U004A>,<U006A>);(<U004B>,<U006B>);(<U004C>,<U006C>);/
    (<U004D>,<U006D>);(<U004E>,<U006E>);(<U004F>,<U006F>);(<U0050>,<U0070>);/
    (<U0051>,<U0071>);(<U0052>,<U0072>);(<U0053>,<U0073>);(<U0054>,<U0074>);/
    (<U0055>,<U0075>);(<U0056>,<U0076>);(<U0057>,<U0077>);(<U0058>,<U0078>);/
@@ -1019,7 +1019,7 @@
    (<U0118>,<U0119>);(<U011A>,<U011B>);(<U011C>,<U011D>);(<U011E>,<U011F>);/
    (<U0120>,<U0121>);(<U0122>,<U0123>);(<U0124>,<U0125>);(<U0126>,<U0127>);/
    (<U0128>,<U0129>);(<U012A>,<U012B>);(<U012C>,<U012D>);(<U012E>,<U012F>);/
- (<U0130>,<U0069>);(<U0132>,<U0133>);(<U0134>,<U0135>);(<U0136>,<U0137>);/
+ (<U0049>,<U0069>);(<U0132>,<U0133>);(<U0134>,<U0135>);(<U0136>,<U0137>);/
    (<U0139>,<U013A>);(<U013B>,<U013C>);(<U013D>,<U013E>);(<U013F>,<U0140>);/
    (<U0141>,<U0142>);(<U0143>,<U0144>);(<U0145>,<U0146>);(<U0147>,<U0148>);/
    (<U014A>,<U014B>);(<U014C>,<U014D>);(<U014E>,<U014F>);(<U0150>,<U0151>);/