Description of problem: Locale definition is not maintaining desired format for some locales, like Indic - (bn_IN, or_IN, ml_IN, pa_IN), European - (es_ES, it_IT), and Chinese - (zh_TW). Problems are different for differnt locales. Those are described below : bn_IN (Wednesday is ok, but for tuesday, thursday, saturday, showing problem) or_IN (Instead of displaying the month it's displaying "7".) ml_IN (Some rendering error) pa_IN (Spelling mistake for Saturday) es_ES (Spanish follows a day-month-year pattern so the correct pattern should be: mié 12 jul 2006 00:15:45 UTC (name of the day, day, month in lowercase, year, time)) it_IT (it_IT put the day before the month : mer 12 lug) zh_TW (It can make it perfect by: (1) Putting brackets for the first character. (optional) (2) Putting a space after month. (3) Putting a space and a character (æ¥) after date. So it will look like: ï¼ä¸ï¼ 7 æ 12 æ¥ 00:15:45 UTC 2006) Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. LANG=bn_IN.UTF-8 date; like this 2. 3. Actual results: Some locale has problem with its format in locale definition. Expected results: All locale definition format should be OK and maintain specific format of that locale. Additional info: Package maintainer is requested to contact translators of concerned locale to take brief informations, if required. Or update this bug with requirement, thus I can contact translators to provide the further informations.
This is not how it works. The locales are maintained by outside people. RH just uses the upstream code. If something things there is a problem the procedure is 1. get the sources 2. create a patch 3. ask current maintainer 4. if s/he agrees submit for inclusion 5. if no reply after a while, submit for inclusion with appropriate comment I can see that the *_IN locales have problems. That data is mostly generated automatically from a database. I might be willing to accept patches directly. But all the other locales have to be coordinated with the maintainer of the locale. I have no reason to believe anyone more than the original maintainer and I cannot make the call myself.
smaitra, are you or majain able to generate a patch for the Indic locale?
Smaitra, can you please give detailed errors for these locales, so as we can then ping respective language maintainers? > ml_IN > (Some rendering error) > > pa_IN > (Spelling mistake for Saturday) Thanks, Mayank
bn is already covered by bug 200206.
Created attachment 133912 [details] bn_IN Locale def for all 7 days and with Month August
Created attachment 133913 [details] ml_IN Locale def for all 7 days and with Month August
Created attachment 133914 [details] ml_IN Locale def for all 7 days and with Month August
Created attachment 133915 [details] pa_IN Locale def for Saturday with Month August
Mayank Please ask the Language Maintainer of respective Locale to confirm which day is showing wrong. I gave info with all days in screenshot.
Please fint the screenshot attachments for Locale def for Langs or_IN, bn_IN, ml_IN and pa_IN. in all screenshots for each locale the day started with Monday except pa_IN. in pa_IN only Saturday's screenshot has been given as required. Satya
Please find the screenshot attachments for Locale def for Langs or_IN, bn_IN, ml_IN and pa_IN. in all screenshots for each locale the day started with Monday except pa_IN. in pa_IN only Saturday's screenshot has been given as required. Satya
Created attachment 133920 [details] Patch for pa_IN Patch with correct spelling of Saturday ਸ਼ਨਿੱà¨à¨°à¨µà¨¾à¨° Python converts this string to unicode >>> a="ਸ਼ਨਿੱà¨à¨°à¨µà¨¾à¨°" >>> a.decode("utf-8") u'\u0a36\u0a28\u0a3f\u0a71\u0a1a\u0a30\u0a35\u0a3e\u0a30'
> ml_IN > (Some rendering error) The unicode present in /usr/share/i18n/locales/ml_IN file for thursday are correct, the problem is with rendering, hence the solution is out of scope for this bug. Smaitra, please file a bug for that agains a correct component, probably system-config-date... Thanks, Mayank
Regarding or_IN Rendering bugs in abday "<U0B36><U0B41><U0B15><U0B4D><U0B30>";/ ଶàà¬àର - rendering problem - fraiday Mon "<U0B2B><U0B47><U0B2C><U0B4D><U0B30><U0B41><U0B5F><U0B3E><U0B30><U0B40>";/ ଫàବàରààାରà - rendering problem - February "<U0B05><U0B2A><U0B4D><U0B30><U0B47><U0B32>";/ à¬à¬ªàରàଲ - rendering problem - april "<U0B28><U0B2D><U0B47><U0B2E><U0B4D><U0B2C><U0B30>";/ - rendering problem - november "<U0B21><U0B3F><U0B38><U0B47><U0B2E><U0B4D><U0B2C><U0B30>" - rendering problem - december Unicode bugs in "<U0B2E><U0B47>";/ ମଠ(correct) - May (spelling mistake) Smaitra, i'm attaching a patch for the unicode error, rendering bugs are to be filled separately from this bug. Thanks.
Oops, just missed one rendering bug for or_IN in "Mon" section "<U0B38><U0B47><U0B2A><U0B4D><U0B1F><U0B47><U0B2E><U0B4D><U0B2C><U0B30>";/ ସàପàà¬àମàବର - rendering problem - september
Created attachment 133927 [details] patch for or_IN
Smaitra, work for or_IN, pa_IN is done... bn_IN is covered under bug 200206 Only locale now left is ml_IN Can you please attach the output of #7 and #8 in text format as rendering on g-t is very bad & broken. you can redirect the outputs to a file & upload the file here in BZ. LANG=ml_IN.UTF-8 date -f designate >> ml_IN.file now upload this file. Thanks.
Created attachment 133929 [details] ml_IN Locale def for all 7 days and with Month August in text tile. Mayank Dates starting with Sunday here, as u required. Please find the attachment.
Please tell me if anything more you require
Dear Mayank, The corrected month names as follows... mon "<U0D1C><U0D28><U0D41><U0D35><U0D30><U0D3F>";/ à´à´¨àµà´µà´°à´¿ "<U0D2B><U0D46><U0D2C><U0D4D><U0D30><U0D41><U0D35><U0D30><U0D3F>";/à´«àµà´¬àµà´°àµà´µà´°à´¿ "<U0D2E><U0D3E><U0D31><U0D41><U0D4D><U0D1A><U0D4D><U0D1A><U0D4D>";/ -- spelling mistake;correct one - മാരàµâà´àµà´àµ "<U0D0F><U0D2A><U0D4D><U0D31><U0D3F><U0D32><U0D41><U0D4D>";/ -- spelling mistake;correct one - à´à´ªàµà´°à´¿à´²àµâ "<U0D2E><U0D46><U0D2F><U0D4D>";/à´®àµà´¯àµ "<U0D1C><U0D42><U0D23><U0D41><U0D4D>";/ -- spelling mistake;correct one - à´àµà´£àµâ "<U0D1C><U0D42><U0D32><U0D48>";/à´àµà´²àµ "<U0D06><U0D17><U0D38><U0D4D><U0D24><U0D4D>";/ -- spelling mistake;correct one - à´à´à´¸àµà´±àµà´±àµ "<U0D38><U0D46><U0D2A><U0D4D><U0D24><U0D02><U0D2C><U0D31><U0D41><U0D4D>";/ -- spelling mistake;correct one - à´¸àµà´ªàµà´±àµà´±à´à´¬à´°àµâ "<U0D12><U0D15><U0D4D><U0D1F><U0D4B><U0D2C><U0D31><U0D41><U0D4D>";/ -- spelling mistake;correct one - à´à´àµà´àµà´¬à´°àµâ "<U0D28><U0D35><U0D02><U0D2C><U0D31><U0D41><U0D4D>";/ -- spelling mistake;correct one - നവà´à´¬à´°àµâ "<U0D21><U0D3F><U0D38><U0D02><U0D2C><U0D31><U0D41><U0D4D>" -- spelling mistake;correct one - à´¡à´¿à´¸à´à´¬à´°àµâ % Please note that in gedit again there is rendering issues so cannot see even the correct ones properly. Thanks Ani
Hi Miyank, Copying the same again along with the English month names so that you do not get any confusion. JANUARY - "<U0D1C><U0D28><U0D41><U0D35><U0D30><U0D3F>";/ à´à´¨àµà´µà´°à´¿ FEBRUARY - "<U0D2B><U0D46><U0D2C><U0D4D><U0D30><U0D41><U0D35><U0D30><U0D3F>";/à´«àµà´¬àµà´°àµà´µà´°à´¿ MARCH - "<U0D2E><U0D3E><U0D31><U0D41><U0D4D><U0D1A><U0D4D><U0D1A><U0D4D>";/ -- spelling mistake;correct one - മാരàµâà´àµà´àµ APRIL - "<U0D0F><U0D2A><U0D4D><U0D31><U0D3F><U0D32><U0D41><U0D4D>";/ -- spelling mistake;correct one - à´à´ªàµà´°à´¿à´²àµâ MAY - "<U0D2E><U0D46><U0D2F><U0D4D>";/à´®àµà´¯àµ JUNE - "<U0D1C><U0D42><U0D23><U0D41><U0D4D>";/ -- spelling mistake;correct one - à´àµà´£àµâ JULY - "<U0D1C><U0D42><U0D32><U0D48>";/à´àµà´²àµ AUGUST - "<U0D06><U0D17><U0D38><U0D4D><U0D24><U0D4D>";/ -- spelling mistake;correct one - à´à´à´¸àµà´±àµà´±àµ SEPTEMBER - "<U0D38><U0D46><U0D2A><U0D4D><U0D24><U0D02><U0D2C><U0D31><U0D41><U0D4D>";/ -- spelling mistake;correct one - à´¸àµà´ªàµà´±àµà´±à´à´¬à´°àµâ OCTOBER - "<U0D12><U0D15><U0D4D><U0D1F><U0D4B><U0D2C><U0D31><U0D41><U0D4D>";/ -- spelling mistake;correct one - à´à´àµà´àµà´¬à´°àµâ NOVEMBER - "<U0D28><U0D35><U0D02><U0D2C><U0D31><U0D41><U0D4D>";/ -- spelling mistake;correct one - നവà´à´¬à´°àµâ DECEMBER - "<U0D21><U0D3F><U0D38><U0D02><U0D2C><U0D31><U0D41><U0D4D>" -- spelling mistake;correct one - à´¡à´¿à´¸à´à´¬à´°àµâ Thanks, Ani
Created attachment 133937 [details] Script to check validness of spellings/unicodes for a locale See the script for usage
Created attachment 133938 [details] output of test runner script Shows the failing cases in ml_IN language
January PASSED February PASSED March FAILED Incorrect unicode points = <U0D2E><U0D3E><U0D31><U0D41><U0D4D><U0D1A><U0D4D><U0D1A><U0D4D> Correct unicode points = <U0D2E><U0D3E><U0D30><U0D4D><U200D><U0D1A><U0D4D><U0D1A><U0D4D> April FAILED Incorrect unicode points = <U0D0F><U0D2A><U0D4D><U0D31><U0D3F><U0D32><U0D41><U0D4D> Correct unicode points = <U0D0F><U0D2A><U0D4D><U0D30><U0D3F><U0D32><U0D4D><U200D><U0020> May PASSED June FAILED Incorrect unicode points = <U0D1C><U0D42><U0D23><U0D41><U0D4D> Correct unicode points = <U0D1C><U0D42><U0D23><U0D4D><U200D> July PASSED August FAILED Incorrect unicode points = <U0D06><U0D17><U0D38><U0D4D><U0D24><U0D4D> Correct unicode points = <U0D06><U0D17><U0D38><U0D4D><U0D31><U0D4D><U0D31><U0D4D> September FAILED Incorrect unicode points = <U0D38><U0D46><U0D2A><U0D4D><U0D24><U0D02><U0D2C><U0D31><U0D41><U0D4D> Correct unicode points = <U0D38><U0D46><U0D2A><U0D4D><U0D31><U0D4D><U0D31><U0D02><U0D2C><U0D30><U0D4D><U200D> October FAILED Incorrect unicode points = <U0D12><U0D15><U0D4D><U0D1F><U0D4B><U0D2C><U0D31><U0D41><U0D4D> Correct unicode points = <U0D12><U0D15><U0D4D><U0D1F><U0D4B><U0D2C><U0D30><U0D4D><U200D> November FAILED Incorrect unicode points = <U0D28><U0D35><U0D02><U0D2C><U0D31><U0D41><U0D4D> Correct unicode points = <U0D28><U0D35><U0D02><U0D2C><U0D30><U0D4D><U200D> December FAILED Incorrect unicode points = <U0D21><U0D3F><U0D38><U0D02><U0D2C><U0D31><U0D41><U0D4D> Correct unicode points = <U0D21><U0D3F><U0D38><U0D02><U0D2C><U0D30><U0D4D><U200D> 8 cases failed!
Miyank, Full week days : Sunday - à´à´¾à´¯à´°àµâ Monday - തിà´àµà´à´³àµâ Tuesday - à´àµà´µàµà´µ Wednesday - à´¬àµà´§à´¨àµâ Thursday - à´µàµà´¯à´¾à´´à´ Friday - à´µàµà´³àµà´³à´¿ Saturday - ശനി Abbreaviated Month names: January - à´à´¨àµ February - à´«àµà´¬àµ March - മാരàµâ April - à´à´ªàµà´° May - മൠJune - à´àµàµ»à´£àµâ July - à´àµà´²àµ August - à´à´àµ September- à´¸àµà´ªàµ October - à´à´àµà´àµ November - നവഠDecember - ഡിസഠThanks, Ani
Miyank, Abbreaviated week days: : Sunday - à´à´¾ Monday - തി Tuesday - à´àµ Wednesday - ബൠThursday - à´µàµà´¯à´¾ Friday - വൠSaturday - à´¶ Thanks Ani
Mayank, Abbreaviated week days: : Sunday - à´à´¾ Monday - തി Tuesday - à´àµ Wednesday - ബൠThursday - à´µàµà´¯à´¾ Friday - വൠSaturday - à´¶ Thanks Ani
Created attachment 133939 [details] Final version of script to check correctness of the locale values (day/month) names Python script
Result of running script in #28 for ml_IN locale --------------- Month names - full January PASSED February PASSED XX March FAILED Incorrect unicode points = <U0D2E><U0D3E><U0D31><U0D41><U0D4D><U0D1A><U0D4D><U0D1A><U0D4D> Correct unicode points = <U0D2E><U0D3E><U0D30><U0D4D><U200D><U0D1A><U0D4D><U0D1A><U0D4D> XX April FAILED Incorrect unicode points = <U0D0F><U0D2A><U0D4D><U0D31><U0D3F><U0D32><U0D41><U0D4D> Correct unicode points = <U0D0F><U0D2A><U0D4D><U0D30><U0D3F><U0D32><U0D4D><U200D><U0020> May PASSED XX June FAILED Incorrect unicode points = <U0D1C><U0D42><U0D23><U0D41><U0D4D> Correct unicode points = <U0D1C><U0D42><U0D23><U0D4D><U200D> July PASSED XX August FAILED Incorrect unicode points = <U0D06><U0D17><U0D38><U0D4D><U0D24><U0D4D> Correct unicode points = <U0D06><U0D17><U0D38><U0D4D><U0D31><U0D4D><U0D31><U0D4D> XX September FAILED Incorrect unicode points = <U0D38><U0D46><U0D2A><U0D4D><U0D24><U0D02><U0D2C><U0D31><U0D41><U0D4D> Correct unicode points = <U0D38><U0D46><U0D2A><U0D4D><U0D31><U0D4D><U0D31><U0D02><U0D2C><U0D30><U0D4D><U200D> XX October FAILED Incorrect unicode points = <U0D12><U0D15><U0D4D><U0D1F><U0D4B><U0D2C><U0D31><U0D41><U0D4D> Correct unicode points = <U0D12><U0D15><U0D4D><U0D1F><U0D4B><U0D2C><U0D30><U0D4D><U200D> XX November FAILED Incorrect unicode points = <U0D28><U0D35><U0D02><U0D2C><U0D31><U0D41><U0D4D> Correct unicode points = <U0D28><U0D35><U0D02><U0D2C><U0D30><U0D4D><U200D> XX December FAILED Incorrect unicode points = <U0D21><U0D3F><U0D38><U0D02><U0D2C><U0D31><U0D41><U0D4D> Correct unicode points = <U0D21><U0D3F><U0D38><U0D02><U0D2C><U0D30><U0D4D><U200D> => 8 cases failed! Month names - Abb January PASSED February PASSED XX March FAILED Incorrect unicode points = <U0D2E><U0D3E><U0D31><U0D4D> Correct unicode points = <U0D2E><U0D3E><U0D30><U0D4D><U200D> XX April FAILED Incorrect unicode points = <U0D0F><U0D2A><U0D4D><U0D31><U0D3F><U0D32><U0D4D> Correct unicode points = <U0D0F><U0D2A><U0D4D><U0D30> XX May FAILED Incorrect unicode points = <U0D46><U0D2E><U0D2F><U0D4D> Correct unicode points = <U0D2E><U0D46> XX June FAILED Incorrect unicode points = <U0D1C><U0D42><U0D23><U0D4D> Correct unicode points = <U0D1C><U0D42><U0D7B><U0D23><U0D4D><U200D> XX July FAILED Incorrect unicode points = <U0D1C><U0D42><U0D48><U0D32> Correct unicode points = <U0D1C><U0D42><U0D32><U0D48> XX August FAILED Incorrect unicode points = <U0D06><U0D17> Correct unicode points = <U0D06><U0D17><U0D4D> XX September FAILED Incorrect unicode points = <U0D46><U0D38><U0D2A><U0D4D><U0D24><U0D02> Correct unicode points = <U0D38><U0D46><U0D2A><U0D4D> XX October FAILED Incorrect unicode points = <U0D12><U0D15><U0D4D><U0D48><U0D1F> Correct unicode points = <U0D12><U0D15><U0D4D><U0D1F><U0D4B> November PASSED December PASSED => 8 cases failed! Day names - full XX Sunday FAILED Incorrect unicode points = <U0D1E><U0D3E><U0D2F><U0D31><U0D41><U0D4D> Correct unicode points = <U0D1E><U0D3E><U0D2F><U0D30><U0D4D><U200D> XX Monday FAILED Incorrect unicode points = <U0D24><U0D3F><U0D19><U0D4D><U0D15><U0D33><U0D41><U0D4D> Correct unicode points = <U0D24><U0D3F><U0D19><U0D4D><U0D15><U0D33><U0D4D><U200D> Tuesday PASSED XX Wednesday FAILED Incorrect unicode points = <U0D2C><U0D41><U0D27><U0D28><U0D41><U0D4D> Correct unicode points = <U0D2C><U0D41><U0D27><U0D28><U0D4D><U200D> Thursday PASSED Friday PASSED Saturday PASSED => 3 cases failed! Day names - Abb Sunday PASSED Monday PASSED Tuesday PASSED Wednesday PASSED Thursday PASSED Friday PASSED Saturday PASSED => 0 cases failed! ---------------
Created attachment 133940 [details] Patch for ml_IN
JSingh, SBehera, APeter, thanks for your time. Reassigning the bug to glibc maintainer
Upstream bug (for Indic) - http://sources.redhat.com/bugzilla/show_bug.cgi?id=3034 Upstream bug (for others) - http://sources.redhat.com/bugzilla/show_bug.cgi?id=3035
Jakub, If you can get the "right" translations for the mistakes in other locales (other than indic), you can use script in https://bugzilla.redhat.com/bugzilla/process_bug.cgi#c28 to generate the correct unicode points. Thanks, Mayank
I'm sorry, the link for script is https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200230#c28
I've applied the pa_IN, or_IN, and ml_IN patches. But I'm not going to change anything for the other three locales. As said before you have to talk to the maintainer of the locale. I want to close this bug. It should not have been opened with all these different issues and non-issues. Always open one bug per locale.
Hi Drepper, Since bn_IN is being covered under bug 200206, we need to follow that bug for bn_IN patch. I'm sorry, but I know little about non-indic locales. Maybe, we can add them in the CC list & ask them for help...
Drepper, can you please check the patch in https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200206#c5 If its correct, we can go on & include that in here & atleast fix the indic locales completely... Thanks, Mayank
Drepper... Just for quick ref... If i copy the new locale to /usr/share/i18n/locales & reboot, will the new locale be available? Or is there any other way to do it? Thanks, Mayank
Re #39, no, it won't. You need to run localedef to compile it. If the locale is in /usr/share/i18n/locales, then: localedef -i ml_IN -f UTF-8 /usr/lib/locale/ml_IN.UTF-8 echo $? Apparently that's a step you haven't done in the ml_IN case, see BZ#3034. Please always try to compile locales before submission and make sure there are no errors nor warnings.
Point noted Jakub :-) Thanks!
Created attachment 134284 [details] Patch for bn_IN Checked the resultant bn_IN file with "localedef -i bn_IN -f UTF-8 /usr/lib/locale/bn_IN" command.
or_IN - tested passed with localedef pa_IN - tested passed with localedef ml_IN - Failing (investigating) bn_IN - tested passed with localedef
Hi Ani, can you please check whats wrong with the strings in https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200230#c30 Reference to problem - http://sources.redhat.com/bugzilla/show_bug.cgi?id=3034#c6 Problem seems to be here - June - à´àµàµ»à´£àµâ Can you please chk whats wrong here?
Created attachment 134368 [details] Corrected patch for ml_IN Corrected patch, tested with localedef command.
I *think* there are more errors in ml_IN patch... investigating.
Patch in https://bugzilla.redhat.com/bugzilla/process_bug.cgi#c45 is correct patch, manually tested the unicode points. Thanks, Mayank
Oops, I meant Comment 45 in this bug :)
The latest ml_IN and bn_IN changes are now in glibc-2.4.90-23 in rawhide. Anything else missing or can we finally close this?
If there is anthing else separate new bugs should be filed. It is simply not acceptable to have these kind of unorganized dumping grounds.
I agree Ulrich :)
I'm closing this bug. If there are any remaining issues open separate new bugs.