You are not logged in.

#1 2016-02-29 22:21:46

Maëlan
Member
Registered: 2016-02-27
Posts: 6

[glibc] incomplete french locales in Archlinux’ glibc

hello everyone,

(not sure where to send this)

i use a french locale and noticed quite a long time ago that e·g· `date` answered me with the english convention for writing dates —that is “day month number‐in‐month hour year” (actually day and month abbreviated). this does not make much sense for a french speaker as the convention is “day number‐in‐month month year, hour”.

examining the source files `/usr/share/i18n/locales/fr_*`, i found that the french locales shipped in Archlinux have a correct `LC_TIME.d_t_fmt` (for joint date and time), but that their value of `LC_TIME.date_fmt` (the fomat used by the program `date`) is that of en_US —thus incorrect:

%a %b %e %H:%M:%S %Z %Y

i compared those files with the ones i found on a Debian machine, and i found the latter has a correct value of:

%A %-e %B %Y, %H:%M:%S (UTC%z)

(which could by simplified into:

%A %-d %B %Y, %T (UTC%z)

for coherence with `LC_TIME.d_t_fmt`).

additionally the Debian version adds things like the fields `LC_ADDRESS.country_{name,post,isbn}` and `LC_NAME.name_{mr,mrs}` which are missing in the Archlinux version.

could it be considered to update the Archlinux’ locales? diffing Archlinux and Debian’s files gives me this patch:

--- archlinux/fr_BE	2016-02-20 01:52:59.000000000 +0100
+++ debian/fr_BE	2016-02-29 21:38:22.291020377 +0100
@@ -117,9 +117,10 @@
 t_fmt   "<U0025><U0054>"
 am_pm   "";""
 t_fmt_ampm ""
-date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-<U0025><U005A><U0020><U0025><U0059>"
+date_fmt "<U0025><U0041><U0020><U0025><U002D><U0065><U0020>/
+<U0025><U0042><U0020><U0025><U0059><U002C><U0020>/
+<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0028><U0055><U0054><U0043><U0025><U007A><U0029>"
 
 week    7;19971130;4
 first_weekday 2
@@ -146,8 +147,7 @@
 END LC_MEASUREMENT
 
 LC_NAME
-name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
-<U0025><U006D><U0025><U0074><U0025><U0066>"
+copy "fr_FR"
 END LC_NAME
 
 LC_ADDRESS
@@ -159,6 +159,9 @@
 country_ab2 "<U0042><U0045>"
 country_ab3 "<U0042><U0045><U004C>"
 country_num 056
+country_name "<U0042><U0065><U006C><U0067><U0069><U0071><U0075><U0065>"
+country_post "<U0042><U0045>"
+country_isbn 2
 % B
 country_car    "<U0042>"
 % Français
--- archlinux/fr_CA	2016-02-20 01:52:59.000000000 +0100
+++ debian/fr_CA	2016-02-29 21:38:22.474353718 +0100
@@ -14,6 +14,7 @@
 % Revision: 4.3
 % Date: 1996-10-15
 % Users: general
+% Repertoiremap: mnemonic.ds
 % Charset: ISO-8859-1
 % Distribution and use is free, also
 % for commercial purposes.
@@ -114,9 +115,12 @@
 t_fmt   "<U0025><U0054>"
 am_pm   "";""
 t_fmt_ampm ""
-date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-<U0025><U005A><U0020><U0025><U0059>"
+date_fmt "<U0025><U0041><U0020><U0025><U002D><U0065><U0020>/
+<U0025><U0042><U0020><U0025><U0059><U002C><U0020>/
+<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0028><U0055><U0054><U0043><U0025><U007A><U0029>"
+week    7;19971130;4
+first_weekday 2
 END LC_TIME
 
 LC_PAPER
@@ -133,8 +137,7 @@
 END LC_MEASUREMENT
 
 LC_NAME
-name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
-<U0025><U006D><U0025><U0074><U0025><U0066>"
+copy "fr_FR"
 END LC_NAME
 
 LC_ADDRESS
@@ -146,6 +149,9 @@
 country_ab2 "<U0043><U0041>"
 country_ab3 "<U0043><U0041><U004E>"
 country_num 124
+country_name "<U0043><U0061><U006E><U0061><U0064><U0061>"
+country_post "<U0043><U0041>"
+country_isbn 2
 % CDN
 country_car    "<U0043><U0044><U004E>"
 % Français
--- archlinux/fr_CH	2016-02-20 01:52:59.000000000 +0100
+++ debian/fr_CH	2016-02-29 21:38:22.781020395 +0100
@@ -14,6 +14,7 @@
 % Revision: 4.3
 % Date: 1996-10-15
 % Users: general
+% Repertoiremap: mnemonic.ds
 % Charset: ISO-8859-1
 % Distribution and use is free, also
 % for commercial purposes.
@@ -101,9 +102,12 @@
 t_fmt   "<U0025><U0054>"
 am_pm   "";""
 t_fmt_ampm ""
-date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-<U0025><U005A><U0020><U0025><U0059>"
+date_fmt "<U0025><U0041><U0020><U0025><U002D><U0065><U0020>/
+<U0025><U0042><U0020><U0025><U0059><U002C><U0020>/
+<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0028><U0055><U0054><U0043><U0025><U007A><U0029>"
+week    7;19971130;4
+first_weekday 2
 END LC_TIME
 
 LC_PAPER
@@ -125,8 +129,7 @@
 END LC_MEASUREMENT
 
 LC_NAME
-name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
-<U0025><U006D><U0025><U0074><U0025><U0066>"
+copy "fr_FR"
 END LC_NAME
 
 LC_ADDRESS
@@ -138,6 +141,9 @@
 country_ab2 "<U0043><U0048>"
 country_ab3 "<U0043><U0048><U0045>"
 country_num 756
+country_name "<U0053><U0075><U0069><U0073><U0073><U0065>"
+country_post "<U0043><U0048>"
+country_isbn 2
 % CH
 country_car    "<U0043><U0048>"
 % Français
--- archlinux/fr_FR	2016-02-29 22:55:57.067886167 +0100
+++ debian/fr_FR	2016-02-29 21:38:22.904353737 +0100
@@ -137,9 +137,10 @@
 t_fmt   "<U0025><U0054>"
 am_pm   "";""
 t_fmt_ampm ""
-date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-<U0025><U005A><U0020><U0025><U0059>"
+date_fmt "<U0025><U0041><U0020><U0025><U002D><U0065><U0020>/
+<U0025><U0042><U0020><U0025><U0059><U002C><U0020>/
+<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0028><U0055><U0054><U0043><U0025><U007A><U0029>"
 
 week    7;19971130;4
 first_weekday 2
@@ -167,6 +168,11 @@
 LC_NAME
 name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
 <U0025><U006D><U0025><U0074><U0025><U0066>"
+name_gen    ""
+name_mr     "<U004D><U002E>"
+name_mrs    "<U004D><U006D><U0065>"
+name_miss   "<U004D><U006C><U006C><U0065>"
+name_ms     ""
 END LC_NAME
 
 LC_ADDRESS
@@ -178,6 +184,9 @@
 country_ab2 "<U0046><U0052>"
 country_ab3 "<U0046><U0052><U0041>"
 country_num 250
+country_name "<U0046><U0072><U0061><U006E><U0063><U0065>"
+country_post "<U0046><U0052>"
+country_isbn 2
 % F
 country_car    "<U0046>"
 % Français
--- archlinux/fr_LU	2016-02-20 01:52:59.000000000 +0100
+++ debian/fr_LU	2016-02-29 21:38:23.231020418 +0100
@@ -117,9 +117,10 @@
 t_fmt   "<U0025><U0054>"
 am_pm   "";""
 t_fmt_ampm ""
-date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-<U0025><U005A><U0020><U0025><U0059>"
+date_fmt "<U0025><U0041><U0020><U0025><U002D><U0065><U0020>/
+<U0025><U0042><U0020><U0025><U0059><U002C><U0020>/
+<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0028><U0055><U0054><U0043><U0025><U007A><U0029>"
 first_workday 2
 first_weekday 2
 END LC_TIME
@@ -143,8 +144,7 @@
 END LC_MEASUREMENT
 
 LC_NAME
-name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
-<U0025><U006D><U0025><U0074><U0025><U0066>"
+copy "fr_FR"
 END LC_NAME
 
 LC_ADDRESS
@@ -156,6 +156,9 @@
 country_ab2 "<U004C><U0055>"
 country_ab3 "<U004C><U0055><U0058>"
 country_num 442
+country_name "<U004C><U0075><U0078><U0065><U006D><U0062><U006F><U0075><U0072><U0067>"
+country_post "<U004C><U0055>"
+country_isbn 2
 % L
 country_car    "<U004C>"
 % Français

pacman says me `/usr/share/i18n/locales/` belongs to the package `glibc`.

Offline

#2 2016-03-01 01:21:45

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,390
Website

Re: [glibc] incomplete french locales in Archlinux’ glibc

We ship the locale files provided by glibc unpatched.  Any changes need to be made upstream.

Offline

Board footer

Powered by FluxBB