[PATCH 0/2] Multiple locales: Use the correct date and time formats (bug 10496, 23724).

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH 0/2] Multiple locales: Use the correct date and time formats (bug 10496, 23724).

Rafal Luzynski
This is to some extent a continuation of the previous thread. [1]
I publish these patches in order to gather more feedback, both from
this list and from other sources.  I hesitate to commit immediately
because they change as many as 80 locales which I have almost no
knowledge about.  If anybody can see any problem here then please say.
Otherwise, if I don't get any sustained objection in a week I will push
these patches to master.

Helpful questions:

1. Is it OK to use variable width date formats?
   (Thank you TAMUKI Shoichi for raising this concern [2])
2. Is it OK to use "%l" (hour, 1-12, space padded) instead of
   "%I" (hour, 01-12, zero padded) when CLDR uses "h" (hour, no padding)?

Regards,

Rafal


[1] https://sourceware.org/ml/libc-alpha/2018-11/msg00041.html
[2] https://sourceware.org/ml/libc-alpha/2018-11/msg00064.html
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/2] sq_AL: Use the correct date and time formats (bug 10496, 23724).

Rafal Luzynski
Albanian locale uses the 12-hour clock but some time formats did not
use any AM/PM indicator making the time ambiguous.  This commit adds
"%p" wherever it was missing.

It also sets the correct date format because the old "%Y-%b-%d" produced
rather weird results like "2018-Sht-28".

All time formats come from CLDR but as few changes have been introduced
by this commit as possible.  Some articles from MSDN and other available
online sources have been also taken into account.

        [BZ #10496]
        [BZ #23724]
        * localedata/locales/sq_AL (t_fmt): Set to "%l:%M:%S.%p %Z".
        (t_fmt_ampm): Likewise.
        (d_t_fmt): Set to "%a %-d %b %Y %l:%M:%S.%p".
        (date_fmt): Add, set to "%a %-d %b %Y %l:%M:%S.%p %Z".
        (d_fmt): Set to "%-d.%-m.%y".
---
 localedata/locales/sq_AL | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/localedata/locales/sq_AL b/localedata/locales/sq_AL
index 9cec37a..a90251f 100644
--- a/localedata/locales/sq_AL
+++ b/localedata/locales/sq_AL
@@ -303,16 +303,19 @@ mon         "janar";/
 am_pm       "PD";"MD"
 %
 % Appropriate date and time representation
-d_t_fmt     "%Y-%b-%d %I.%M.%S.%p %Z"
+d_t_fmt     "%a %-d %b %Y %l:%M:%S.%p"
+%
+% Appropriate date representation for date(1)
+date_fmt    "%a %-d %b %Y %l:%M:%S.%p %Z"
 %
 % Appropriate date representation
-d_fmt       "%Y-%b-%d"
+d_fmt       "%-d.%-m.%y"
 %
 % Appropriate time representation
-t_fmt       "%I.%M.%S. %Z"
+t_fmt       "%l:%M:%S.%p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I.%M.%S.%p %Z"
+t_fmt_ampm  "%l:%M:%S.%p %Z"
 week 7;19971130;1
 first_weekday 2
 END LC_TIME
--
2.7.5
Reply | Threaded
Open this post in threaded view
|

[PATCH 2/2] Multiple locales: Use the correct 12-hour time formats (bug 10496).

Rafal Luzynski
In reply to this post by Rafal Luzynski
It has been disovered that some locales use the 12-hour time formats but
do not use any AM/PM indicator thus making the time ambiguous.  This
commit adds "%p" wherever it was missing.  In some cases it has been
identified that a locale should use 24-hour time format rather than
12-hour.  All time formats come from CLDR but this commit introduces as
few changes as possible (for example, it tries not to change the time zone
display).  For the locales which are not supported by CLDR the consistency
with similar locales (which means the same language or the same country)
has been preserved: if the time formats were the same before the change
then they are still the same after the change.

The time format updates can be roughly summarized as follows:

* Most of the locales of Djibouti, Eritrea, and Ethiopia now use
"%l:%M:%S %p".
* Most of the locales of India and some surrounding countries (Bangladesh,
Nepal etc.) now use "%l:%M:%S %p %Z".
* Most of the Arabic locales now use "%Z %l:%M:%S %p".
* Ge'ez language (Eritrea and Ethiopia) now uses "%l:%M:%S፡%p" (note the
consistent use of Ethiopic wordspace character).
* Gujarati, Kannada, and Sanskrit (India) now use "%I:%M:%S %p %Z".
* Tamil (India) now uses "%p %l:%M:%S %Z".
* Chinese (Hong Kong) now uses "%p%I:%M:%S".
* Additionally, the following locales have been switched from 12-hour time
formats to 24-hour, according to CLDR: Arabic (Morocco), Maltese, Somali
(Kenya), and Tamil (Sri Lanka).
* Finally, the Bulgarian, Czech, and Slovak locales used 24-hour time
format correctly but their t_fmt_ampm field was not empty containing
12-hour time format which was incorrect so it is now replaced with an
empty string.

        [BZ #10496]
        * localedata/locales/aa_DJ (t_fmt): Set to "%l:%M:%S %p".
        (t_fmt_ampm): Likewise.
        * localedata/locales/aa_ER (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/aa_ER@saaho (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/aa_ET (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/am_ET (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/byn_ER (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/om_ET (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/sid_ET (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/so_DJ (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/so_ET (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/so_SO (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ti_ER (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ti_ET (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/tig_ER (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/wal_ET (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.

        * localedata/locales/anp_IN (t_fmt): Set to "%l:%M:%S %p %Z".
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/bhb_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/bho_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/bi_VU (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/bn_BD (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/bn_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/brx_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/doi_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/en_HK (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/en_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/en_PH (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/hi_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/hif_FJ (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/hne_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/kok_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ks_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ks_IN@devanagari (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/mag_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/mai_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/mjw_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ml_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/mni_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/mr_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ms_MY (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/pa_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/raj_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/sat_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/sd_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/sd_IN@devanagari (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/tcy_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/the_NP (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/to_TO (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ur_IN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.

        * localedata/locales/hif_FJ (d_t_fmt): Set to
        "%A %d %b %Y %l:%M:%S %p".
        (date_fmt): Add, set to "%A %d %b %Y %l:%M:%S %p %Z".

        * localedata/locales/ar_AE (t_fmt): Set to "%Z %l:%M:%S %p".
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_BH (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_DZ (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_EG (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_IQ (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_JO (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_KW (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_LB (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_LY (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_OM (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_QA (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_SD (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_SS (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_SY (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_TN (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.
        * localedata/locales/ar_YE (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.

        * localedata/locales/gez_ER (t_fmt): Set to "%l:%M:%S<U1361>%p".
        (t_fmt_ampm): Likewise.
        * localedata/locales/gez_ET (t_fmt): Likewise.
        (t_fmt_ampm): Likewise.

        * localedata/locales/gu_IN (t_fmt): Set to "%I:%M:%S %p %Z".
        * localedata/locales/kn_IN (t_fmt): Likewise.
        * localedata/locales/sa_IN (t_fmt): Likewise.

        * localedata/locales/ta_IN (t_fmt): Set to "%p %l:%M:%S %Z".
        (t_fmt_ampm): Likewise.
        (d_t_fmt): Set to "%A %d %B %Y %p %I:%M:%S %Z".

        * localedata/locales/zh_HK (t_fmt_ampm): Set to "%p%I:%M:%S".
        (t_fmt): Set to "%p%I<U6642>%M<U5206>%S<U79D2> %Z"

        * localedata/locales/ar_MA (t_fmt_ampm): Set to "" (empty string)
        because this locale does not use the 12-hour clock.
        (t_fmt): Set to "%Z %H:%M:%S".
        (d_t_fmt): Set to "%d %b, %Y %Z %H:%M:%S".

        * localedata/locales/mt_MT (t_fmt_ampm): Set to "" (empty string)
        because this locale does not use the 12-hour clock.
        (t_fmt): Set to "%H:%M:%S %Z".
        (d_t_fmt): Set to "%A, %d ta %b, %Y %H:%M:%S %Z".

        * localedata/locales/so_KE (t_fmt_ampm): Set to "" (empty string)
        because this locale does not use the 12-hour clock.
        (t_fmt): Set to "%T".
        (d_t_fmt): Set to "%A, %B %e, %Y %X %Z".
        (date_fmt: Set to "%A, %B %e, %X %Z %Y".

        * localedata/locales/ta_LK (t_fmt_ampm): Set to "" (empty string)
        because this locale does not use the 12-hour clock.
        (t_fmt): Set to "%H:%M:%S %Z".
        (d_t_fmt): Set to "%A %d %B %Y %H:%M:%S %Z".

        * localedata/locales/bg_BG (t_fmt_ampm): Set to "" (empty string)
        because this locale does not use the 12-hour clock.
        * localedata/locales/cs_CZ (t_fmt_ampm): Likewise.
        * localedata/locales/sk_SK (t_fmt_ampm): Likewise.
---
 localedata/locales/aa_DJ            | 4 ++--
 localedata/locales/aa_ER            | 4 ++--
 localedata/locales/aa_ER@saaho      | 4 ++--
 localedata/locales/aa_ET            | 4 ++--
 localedata/locales/am_ET            | 4 ++--
 localedata/locales/anp_IN           | 4 ++--
 localedata/locales/ar_AE            | 4 ++--
 localedata/locales/ar_BH            | 4 ++--
 localedata/locales/ar_DZ            | 4 ++--
 localedata/locales/ar_EG            | 4 ++--
 localedata/locales/ar_IN            | 4 ++--
 localedata/locales/ar_IQ            | 4 ++--
 localedata/locales/ar_JO            | 4 ++--
 localedata/locales/ar_KW            | 4 ++--
 localedata/locales/ar_LB            | 4 ++--
 localedata/locales/ar_LY            | 4 ++--
 localedata/locales/ar_MA            | 6 +++---
 localedata/locales/ar_OM            | 4 ++--
 localedata/locales/ar_QA            | 4 ++--
 localedata/locales/ar_SD            | 4 ++--
 localedata/locales/ar_SS            | 4 ++--
 localedata/locales/ar_SY            | 4 ++--
 localedata/locales/ar_TN            | 4 ++--
 localedata/locales/ar_YE            | 4 ++--
 localedata/locales/bg_BG            | 2 +-
 localedata/locales/bhb_IN           | 4 ++--
 localedata/locales/bho_IN           | 4 ++--
 localedata/locales/bi_VU            | 4 ++--
 localedata/locales/bn_BD            | 4 ++--
 localedata/locales/bn_IN            | 4 ++--
 localedata/locales/brx_IN           | 4 ++--
 localedata/locales/byn_ER           | 4 ++--
 localedata/locales/cs_CZ            | 2 +-
 localedata/locales/doi_IN           | 4 ++--
 localedata/locales/en_HK            | 4 ++--
 localedata/locales/en_IN            | 4 ++--
 localedata/locales/en_PH            | 4 ++--
 localedata/locales/gez_ER           | 4 ++--
 localedata/locales/gez_ET           | 4 ++--
 localedata/locales/gu_IN            | 2 +-
 localedata/locales/hi_IN            | 4 ++--
 localedata/locales/hif_FJ           | 9 ++++++---
 localedata/locales/hne_IN           | 4 ++--
 localedata/locales/kn_IN            | 2 +-
 localedata/locales/kok_IN           | 4 ++--
 localedata/locales/ks_IN            | 4 ++--
 localedata/locales/ks_IN@devanagari | 4 ++--
 localedata/locales/mag_IN           | 4 ++--
 localedata/locales/mai_IN           | 4 ++--
 localedata/locales/mjw_IN           | 4 ++--
 localedata/locales/ml_IN            | 4 ++--
 localedata/locales/mni_IN           | 4 ++--
 localedata/locales/mr_IN            | 4 ++--
 localedata/locales/ms_MY            | 4 ++--
 localedata/locales/mt_MT            | 6 +++---
 localedata/locales/om_ET            | 4 ++--
 localedata/locales/pa_IN            | 4 ++--
 localedata/locales/raj_IN           | 4 ++--
 localedata/locales/sa_IN            | 2 +-
 localedata/locales/sat_IN           | 4 ++--
 localedata/locales/sd_IN            | 4 ++--
 localedata/locales/sd_IN@devanagari | 4 ++--
 localedata/locales/sid_ET           | 4 ++--
 localedata/locales/sk_SK            | 2 +-
 localedata/locales/so_DJ            | 4 ++--
 localedata/locales/so_ET            | 5 +++--
 localedata/locales/so_KE            | 8 ++++----
 localedata/locales/so_SO            | 4 ++--
 localedata/locales/ta_IN            | 6 +++---
 localedata/locales/ta_LK            | 6 +++---
 localedata/locales/tcy_IN           | 4 ++--
 localedata/locales/the_NP           | 4 ++--
 localedata/locales/ti_ER            | 4 ++--
 localedata/locales/ti_ET            | 4 ++--
 localedata/locales/tig_ER           | 4 ++--
 localedata/locales/to_TO            | 6 ++----
 localedata/locales/ur_IN            | 4 ++--
 localedata/locales/wal_ET           | 4 ++--
 localedata/locales/zh_HK            | 6 +++---
 79 files changed, 164 insertions(+), 162 deletions(-)

diff --git a/localedata/locales/aa_DJ b/localedata/locales/aa_DJ
index fcb9af8..98e1505 100644
--- a/localedata/locales/aa_DJ
+++ b/localedata/locales/aa_DJ
@@ -220,10 +220,10 @@ am_pm    "saaku";"carra"
 d_fmt   "%d.%m.%Y"
 %
 % Appropriate time representation (%X)
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 d_t_fmt    "%a %d %b %Y %r %Z"
diff --git a/localedata/locales/aa_ER b/localedata/locales/aa_ER
index 1c6ce6b..6d20ae9 100644
--- a/localedata/locales/aa_ER
+++ b/localedata/locales/aa_ER
@@ -194,10 +194,10 @@ am_pm    "saaku";"carra"
 d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 d_t_fmt    "%A, %B %e, %Y %r %Z"
diff --git a/localedata/locales/aa_ER@saaho b/localedata/locales/aa_ER@saaho
index ac1124e..1a2b166 100644
--- a/localedata/locales/aa_ER@saaho
+++ b/localedata/locales/aa_ER@saaho
@@ -179,10 +179,10 @@ am_pm    "saaku";"carra"
 d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 d_t_fmt    "%A, %B %e, %Y %r %Z"
diff --git a/localedata/locales/aa_ET b/localedata/locales/aa_ET
index 770820d..93fcdb7 100644
--- a/localedata/locales/aa_ET
+++ b/localedata/locales/aa_ET
@@ -196,10 +196,10 @@ am_pm    "saaku";"carra"
 d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 d_t_fmt    "%A, %B %e, %Y %r %Z"
diff --git a/localedata/locales/am_ET b/localedata/locales/am_ET
index e5fe88a..7846d62 100644
--- a/localedata/locales/am_ET
+++ b/localedata/locales/am_ET
@@ -1039,10 +1039,10 @@ am_pm    "<U1321><U12CB><U1275>";/
 d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 % "%A፣ %B %e ቀን %Y %r %Z
diff --git a/localedata/locales/anp_IN b/localedata/locales/anp_IN
index b65c873..621d9e8 100644
--- a/localedata/locales/anp_IN
+++ b/localedata/locales/anp_IN
@@ -130,10 +130,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/ar_AE b/localedata/locales/ar_AE
index be1caf4..c3579c3 100644
--- a/localedata/locales/ar_AE
+++ b/localedata/locales/ar_AE
@@ -133,10 +133,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_BH b/localedata/locales/ar_BH
index ff744df..87c269e 100644
--- a/localedata/locales/ar_BH
+++ b/localedata/locales/ar_BH
@@ -137,10 +137,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_DZ b/localedata/locales/ar_DZ
index 2b744fc..9c4f358 100644
--- a/localedata/locales/ar_DZ
+++ b/localedata/locales/ar_DZ
@@ -142,10 +142,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_EG b/localedata/locales/ar_EG
index c8cb318..40bf7ea 100644
--- a/localedata/locales/ar_EG
+++ b/localedata/locales/ar_EG
@@ -140,10 +140,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_IN b/localedata/locales/ar_IN
index 82fa3a6..285943f 100644
--- a/localedata/locales/ar_IN
+++ b/localedata/locales/ar_IN
@@ -106,10 +106,10 @@ d_t_fmt     "%A %d %B %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 %
 week 7;19971130;1
 END LC_TIME
diff --git a/localedata/locales/ar_IQ b/localedata/locales/ar_IQ
index 333871c..f78f96f 100644
--- a/localedata/locales/ar_IQ
+++ b/localedata/locales/ar_IQ
@@ -142,10 +142,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_JO b/localedata/locales/ar_JO
index 748515e..3fe19c9 100644
--- a/localedata/locales/ar_JO
+++ b/localedata/locales/ar_JO
@@ -154,10 +154,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_KW b/localedata/locales/ar_KW
index 617df5d..c5c72e5 100644
--- a/localedata/locales/ar_KW
+++ b/localedata/locales/ar_KW
@@ -136,10 +136,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_LB b/localedata/locales/ar_LB
index 85a38c2..b86ae43 100644
--- a/localedata/locales/ar_LB
+++ b/localedata/locales/ar_LB
@@ -153,10 +153,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 2
 END LC_TIME
diff --git a/localedata/locales/ar_LY b/localedata/locales/ar_LY
index bcf04f0..1f9bd92 100644
--- a/localedata/locales/ar_LY
+++ b/localedata/locales/ar_LY
@@ -136,10 +136,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_MA b/localedata/locales/ar_MA
index 78e10ab..88890f7 100644
--- a/localedata/locales/ar_MA
+++ b/localedata/locales/ar_MA
@@ -136,16 +136,16 @@ mon         "<U064A><U0646><U0627><U064A><U0631>";/
 am_pm       "<U0635>";"<U0645>"
 %
 % Appropriate date and time representation
-d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
+d_t_fmt     "%d %b, %Y %Z %H:%M:%S"
 %
 % Appropriate date representation
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %H:%M:%S"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  ""
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_OM b/localedata/locales/ar_OM
index 950f60c..d150ccf 100644
--- a/localedata/locales/ar_OM
+++ b/localedata/locales/ar_OM
@@ -136,10 +136,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_QA b/localedata/locales/ar_QA
index f0f2e0c..382d93e 100644
--- a/localedata/locales/ar_QA
+++ b/localedata/locales/ar_QA
@@ -136,10 +136,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_SD b/localedata/locales/ar_SD
index d5d89b1..bf4efa9 100644
--- a/localedata/locales/ar_SD
+++ b/localedata/locales/ar_SD
@@ -142,10 +142,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_SS b/localedata/locales/ar_SS
index 24b8595..c885803 100644
--- a/localedata/locales/ar_SS
+++ b/localedata/locales/ar_SS
@@ -141,10 +141,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 2
 END LC_TIME
diff --git a/localedata/locales/ar_SY b/localedata/locales/ar_SY
index 996df66..b6db62d 100644
--- a/localedata/locales/ar_SY
+++ b/localedata/locales/ar_SY
@@ -153,10 +153,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_weekday 7
 first_workday 1
diff --git a/localedata/locales/ar_TN b/localedata/locales/ar_TN
index e0033f9..8cb03ea 100644
--- a/localedata/locales/ar_TN
+++ b/localedata/locales/ar_TN
@@ -142,10 +142,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_workday 1
 END LC_TIME
diff --git a/localedata/locales/ar_YE b/localedata/locales/ar_YE
index ba4d9f9..9864343 100644
--- a/localedata/locales/ar_YE
+++ b/localedata/locales/ar_YE
@@ -136,10 +136,10 @@ d_t_fmt     "%d %b, %Y %Z %I:%M:%S %p"
 d_fmt       "%d %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%Z %I:%M:%S "
+t_fmt       "%Z %l:%M:%S %p"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%Z %I:%M:%S %p"
+t_fmt_ampm  "%Z %l:%M:%S %p"
 week 7;19971130;1
 first_workday 1
 END LC_TIME
diff --git a/localedata/locales/bg_BG b/localedata/locales/bg_BG
index 7a9cfa0..f2136cd 100644
--- a/localedata/locales/bg_BG
+++ b/localedata/locales/bg_BG
@@ -276,7 +276,7 @@ d_t_fmt    "%x (%a) %X %Z"
 d_fmt      "%e.%m.%Y"
 t_fmt      "%k:%M:%S"
 am_pm      "";""
-t_fmt_ampm "%l:%M:%S"
+t_fmt_ampm ""
 %
 week 7;19971130;4
 first_weekday 2
diff --git a/localedata/locales/bhb_IN b/localedata/locales/bhb_IN
index 42b95c6..a549f96 100644
--- a/localedata/locales/bhb_IN
+++ b/localedata/locales/bhb_IN
@@ -111,10 +111,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/bho_IN b/localedata/locales/bho_IN
index d96cc4a..67997fa 100644
--- a/localedata/locales/bho_IN
+++ b/localedata/locales/bho_IN
@@ -117,10 +117,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/bi_VU b/localedata/locales/bi_VU
index 88bf70a..6603539 100755
--- a/localedata/locales/bi_VU
+++ b/localedata/locales/bi_VU
@@ -102,12 +102,12 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%A %d %b %Y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S %Z"
+t_fmt       "%l:%M:%S %p %Z"
 % Equivalent of AM PM
 am_pm "AM";"PM"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm "%I:%M:%S %p %Z"
+t_fmt_ampm "%l:%M:%S %p %Z"
 END LC_TIME
 %
 LC_NUMERIC
diff --git a/localedata/locales/bn_BD b/localedata/locales/bn_BD
index 73efd1c..b8a4c8c 100644
--- a/localedata/locales/bn_BD
+++ b/localedata/locales/bn_BD
@@ -137,8 +137,8 @@ mon
        "<U099C><U09BE><U09A8><U09C1><U09AF><U09BC><U09BE><U09B0><U09C0>";/
 am_pm
      "<U09AA><U09C2><U09B0><U09CD><U09AC><U09BE><U09B9><U09CD><U09A3>";"<U0985><U09AA><U09B0><U09BE><U09B9><U09CD><U09A3>"
 d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
-t_fmt       "%I:%M:%S  %Z"
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt       "%l:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 first_weekday 6
 END LC_TIME
diff --git a/localedata/locales/bn_IN b/localedata/locales/bn_IN
index 72bbae6..95e10af 100644
--- a/localedata/locales/bn_IN
+++ b/localedata/locales/bn_IN
@@ -124,10 +124,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 %
 week 7;19971130;1
 END LC_TIME
diff --git a/localedata/locales/brx_IN b/localedata/locales/brx_IN
index 7d253ef..18f0f49 100644
--- a/localedata/locales/brx_IN
+++ b/localedata/locales/brx_IN
@@ -120,10 +120,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-m//%-d//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/byn_ER b/localedata/locales/byn_ER
index 53ed959..608378d 100644
--- a/localedata/locales/byn_ER
+++ b/localedata/locales/byn_ER
@@ -196,11 +196,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 % "%A፡ %B %e ዮም %Y %r %Z
diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ
index 41fbd2b..f6b9731 100644
--- a/localedata/locales/cs_CZ
+++ b/localedata/locales/cs_CZ
@@ -367,7 +367,7 @@ d_fmt "%-d.%-m.%Y"
 
 t_fmt "%H:%M:%S"
 
-t_fmt_ampm "%I:%M:%S"
+t_fmt_ampm ""
 
 am_pm   "";""
 
diff --git a/localedata/locales/doi_IN b/localedata/locales/doi_IN
index 02dce6b..b815a12 100644
--- a/localedata/locales/doi_IN
+++ b/localedata/locales/doi_IN
@@ -119,10 +119,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/en_HK b/localedata/locales/en_HK
index 2caf8de..f8e02ba 100644
--- a/localedata/locales/en_HK
+++ b/localedata/locales/en_HK
@@ -127,10 +127,10 @@ d_t_fmt     "%A, %B %d, %Y %p%I:%M:%S %Z"
 d_fmt       "%A, %B %d, %Y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%p%I:%M:%S %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 %
 week 7;19971130;1
 END LC_TIME
diff --git a/localedata/locales/en_IN b/localedata/locales/en_IN
index 32cfe85..98b29a9 100644
--- a/localedata/locales/en_IN
+++ b/localedata/locales/en_IN
@@ -108,10 +108,10 @@ d_t_fmt     "%A %d %B %Y %I:%M:%S %p %Z"
 d_fmt       "%d//%m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 %
 week 7;19971130;1
 END LC_TIME
diff --git a/localedata/locales/en_PH b/localedata/locales/en_PH
index 074c9a5..601f4bd 100644
--- a/localedata/locales/en_PH
+++ b/localedata/locales/en_PH
@@ -130,10 +130,10 @@ d_t_fmt     "%A, %d %B, %Y %I:%M:%S %p %Z"
 d_fmt       "%A, %d %B, %Y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 %
 week 7;19971130;1
 END LC_TIME
diff --git a/localedata/locales/gez_ER b/localedata/locales/gez_ER
index 351c8e9..261f9da 100644
--- a/localedata/locales/gez_ER
+++ b/localedata/locales/gez_ER
@@ -192,11 +192,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S<U1361>%p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X<U1361>%p"
+t_fmt_ampm "%l:%M:%S<U1361>%p"
 %
 % Appropriate date and time representation (%c)
 % "%A፥%B፡%e፡መዓልት፡%Y፡%r፡%Z"
diff --git a/localedata/locales/gez_ET b/localedata/locales/gez_ET
index ae38783..bc8e0d3 100644
--- a/localedata/locales/gez_ET
+++ b/localedata/locales/gez_ET
@@ -193,11 +193,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S<U1361>%p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X<U1361>%p"
+t_fmt_ampm "%l:%M:%S<U1361>%p"
 %
 % Appropriate date and time representation (%c)
 % "%A፥%B፡%e፡መዓልት፡%Y፡%r፡%Z"
diff --git a/localedata/locales/gu_IN b/localedata/locales/gu_IN
index cd7e23a..e80d551 100644
--- a/localedata/locales/gu_IN
+++ b/localedata/locales/gu_IN
@@ -151,7 +151,7 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%I:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
 t_fmt_ampm  "%I:%M:%S %p %Z"
diff --git a/localedata/locales/hi_IN b/localedata/locales/hi_IN
index a943655..46ccd91 100644
--- a/localedata/locales/hi_IN
+++ b/localedata/locales/hi_IN
@@ -167,10 +167,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/hif_FJ b/localedata/locales/hif_FJ
index 5433bb4..1bdaae8 100644
--- a/localedata/locales/hif_FJ
+++ b/localedata/locales/hif_FJ
@@ -96,16 +96,19 @@ mon     "January";/
 am_pm   "Purvahan";"Aparaahna"
 %
 % Appropriate date and time representation
-d_t_fmt "%A %d %b %Y %I:%M:%S %Z"
+d_t_fmt "%A %d %b %Y %l:%M:%S %p"
+%
+% Appropriate date and time representation for date(1)
+date_fmt "%A %d %b %Y %l:%M:%S %p %Z"
 %
 % Appropriate date representation
 d_fmt   "%A %d %b %Y"
 %
 % Appropriate time representation
-t_fmt   "%I:%M:%S %Z"
+t_fmt   "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 END LC_TIME
 %
 LC_NUMERIC
diff --git a/localedata/locales/hne_IN b/localedata/locales/hne_IN
index 3de008e..3af516a 100644
--- a/localedata/locales/hne_IN
+++ b/localedata/locales/hne_IN
@@ -117,10 +117,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/kn_IN b/localedata/locales/kn_IN
index b6443d1..4b3b5cf 100644
--- a/localedata/locales/kn_IN
+++ b/localedata/locales/kn_IN
@@ -154,7 +154,7 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%I:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
 t_fmt_ampm  "%I:%M:%S %p %Z"
diff --git a/localedata/locales/kok_IN b/localedata/locales/kok_IN
index 5eed1af..f2dca24 100644
--- a/localedata/locales/kok_IN
+++ b/localedata/locales/kok_IN
@@ -117,10 +117,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d-%-m-%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/ks_IN b/localedata/locales/ks_IN
index 9ab8707..dfdaa51 100644
--- a/localedata/locales/ks_IN
+++ b/localedata/locales/ks_IN
@@ -127,10 +127,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-m//%-d//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/ks_IN@devanagari
b/localedata/locales/ks_IN@devanagari
index 72841eb..c9c62cb 100644
--- a/localedata/locales/ks_IN@devanagari
+++ b/localedata/locales/ks_IN@devanagari
@@ -119,10 +119,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-m//%-d//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/mag_IN b/localedata/locales/mag_IN
index 93282a9..6d3e291 100644
--- a/localedata/locales/mag_IN
+++ b/localedata/locales/mag_IN
@@ -118,10 +118,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/mai_IN b/localedata/locales/mai_IN
index a8fdc86..e53e0d9 100644
--- a/localedata/locales/mai_IN
+++ b/localedata/locales/mai_IN
@@ -120,10 +120,10 @@ d_t_fmt "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt   "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt   "%I:%M:%S  %Z"
+t_fmt   "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/mjw_IN b/localedata/locales/mjw_IN
index cc573cf..13c4846 100644
--- a/localedata/locales/mjw_IN
+++ b/localedata/locales/mjw_IN
@@ -92,10 +92,10 @@ d_t_fmt     "%A %d %B %Y %I:%M:%S %p %Z"
 d_fmt        "%-d//%-m//%y"
 
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 
 week 7;19971130;1
 first_weekday 1
diff --git a/localedata/locales/ml_IN b/localedata/locales/ml_IN
index d7a8f43..d8bfbad 100644
--- a/localedata/locales/ml_IN
+++ b/localedata/locales/ml_IN
@@ -298,10 +298,10 @@ d_t_fmt     "%A %d %B %Y %I:%M:%S %p %Z"
 d_fmt     "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt     "%I:%M:%S  %Z"
+t_fmt     "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm     "%I:%M:%S %p %Z"
+t_fmt_ampm     "%l:%M:%S %p %Z"
 %
 week 7;19971130;1
 END LC_TIME
diff --git a/localedata/locales/mni_IN b/localedata/locales/mni_IN
index 256c8db..14da63f 100644
--- a/localedata/locales/mni_IN
+++ b/localedata/locales/mni_IN
@@ -119,10 +119,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/mr_IN b/localedata/locales/mr_IN
index 0ad08f7..1912ff7 100644
--- a/localedata/locales/mr_IN
+++ b/localedata/locales/mr_IN
@@ -194,10 +194,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/ms_MY b/localedata/locales/ms_MY
index 66b5dd9..9867b4a 100644
--- a/localedata/locales/ms_MY
+++ b/localedata/locales/ms_MY
@@ -138,10 +138,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%A %d %b %Y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 %
 week 7;19971130;1
 first_weekday 2
diff --git a/localedata/locales/mt_MT b/localedata/locales/mt_MT
index a6ab7b1..b56b6ba 100644
--- a/localedata/locales/mt_MT
+++ b/localedata/locales/mt_MT
@@ -212,16 +212,16 @@ mon         "Jannar";/
 am_pm       "";""
 %
 % Appropriate date and time representation
-d_t_fmt     "%A, %d ta %b, %Y %I:%M:%S %p %Z"
+d_t_fmt     "%A, %d ta %b, %Y %H:%M:%S %Z"
 %
 % Appropriate date representation
 d_fmt       "%A, %d ta %b, %Y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%H:%M:%S %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  ""
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/om_ET b/localedata/locales/om_ET
index dcef30e..881b43f 100644
--- a/localedata/locales/om_ET
+++ b/localedata/locales/om_ET
@@ -208,10 +208,10 @@ am_pm    "WD";"WB"
 d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 d_t_fmt    "%A, %B %e, %Y %r %Z"
diff --git a/localedata/locales/pa_IN b/localedata/locales/pa_IN
index ca28f21..8e213c4 100644
--- a/localedata/locales/pa_IN
+++ b/localedata/locales/pa_IN
@@ -146,10 +146,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/raj_IN b/localedata/locales/raj_IN
index e4d30b7..1d0104e 100644
--- a/localedata/locales/raj_IN
+++ b/localedata/locales/raj_IN
@@ -129,10 +129,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/sa_IN b/localedata/locales/sa_IN
index 4eaf6fe..362294a 100644
--- a/localedata/locales/sa_IN
+++ b/localedata/locales/sa_IN
@@ -155,7 +155,7 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d-%m-%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%I:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
 t_fmt_ampm  "%I:%M:%S %p %Z"
diff --git a/localedata/locales/sat_IN b/localedata/locales/sat_IN
index d7b92f6..7583180 100644
--- a/localedata/locales/sat_IN
+++ b/localedata/locales/sat_IN
@@ -119,10 +119,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/sd_IN b/localedata/locales/sd_IN
index e5ab80b..abf2d8b 100644
--- a/localedata/locales/sd_IN
+++ b/localedata/locales/sd_IN
@@ -127,10 +127,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/sd_IN@devanagari
b/localedata/locales/sd_IN@devanagari
index d57cea6..6a4d224 100644
--- a/localedata/locales/sd_IN@devanagari
+++ b/localedata/locales/sd_IN@devanagari
@@ -124,10 +124,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/sid_ET b/localedata/locales/sid_ET
index ce67a7a..fd56445 100644
--- a/localedata/locales/sid_ET
+++ b/localedata/locales/sid_ET
@@ -202,11 +202,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 %
diff --git a/localedata/locales/sk_SK b/localedata/locales/sk_SK
index ac6ad6b..3d20517 100644
--- a/localedata/locales/sk_SK
+++ b/localedata/locales/sk_SK
@@ -185,7 +185,7 @@ d_fmt "%d.%m.%Y"
 
 t_fmt "%H:%M:%S"
 
-t_fmt_ampm "%I:%M:%S"
+t_fmt_ampm ""
 
 am_pm   "";""
 
diff --git a/localedata/locales/so_DJ b/localedata/locales/so_DJ
index 3fd5cc0..a212977 100644
--- a/localedata/locales/so_DJ
+++ b/localedata/locales/so_DJ
@@ -202,11 +202,11 @@ d_fmt   "%d.%m.%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 %
diff --git a/localedata/locales/so_ET b/localedata/locales/so_ET
index 4da4f15..5be1e84 100644
--- a/localedata/locales/so_ET
+++ b/localedata/locales/so_ET
@@ -199,11 +199,12 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
+%
 %
 % Appropriate date and time representation (%c)
 %
diff --git a/localedata/locales/so_KE b/localedata/locales/so_KE
index d434f37..18ef57a 100644
--- a/localedata/locales/so_KE
+++ b/localedata/locales/so_KE
@@ -199,19 +199,19 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%T"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm ""
 %
 % Appropriate date and time representation (%c)
 %
-d_t_fmt    "%A, %B %e, %Y %r %Z"
+d_t_fmt    "%A, %B %e, %Y %X %Z"
 %
 % Appropriate date representation (date(1))
 %
-date_fmt    "%A, %B %e, %r %Z %Y"
+date_fmt    "%A, %B %e, %X %Z %Y"
 %
 week 7;19971130;1
 END LC_TIME
diff --git a/localedata/locales/so_SO b/localedata/locales/so_SO
index 713bf79..b0a935e 100644
--- a/localedata/locales/so_SO
+++ b/localedata/locales/so_SO
@@ -247,11 +247,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 %
diff --git a/localedata/locales/ta_IN b/localedata/locales/ta_IN
index 5a083d2..f299d42 100644
--- a/localedata/locales/ta_IN
+++ b/localedata/locales/ta_IN
@@ -127,16 +127,16 @@ mon
        "<U0B9C><U0BA9><U0BB5><U0BB0><U0BBF>";"<U0BAA><U0BBF><U0BAA><U0BCD><
 am_pm       "<U0B95><U0BBE><U0BB2><U0BC8>";"<U0BAE><U0BBE><U0BB2><U0BC8>"
 %
 % Appropriate date and time representation
-d_t_fmt     "%A %d %B %Y %I:%M:%S %p %Z"
+d_t_fmt     "%A %d %B %Y %p %I:%M:%S %Z"
 %
 % Appropriate date representation
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%p %l:%M:%S %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%p %l:%M:%S %Z"
 %
 week 7;19971130;1
 END LC_TIME
diff --git a/localedata/locales/ta_LK b/localedata/locales/ta_LK
index c843f89..ca5c116 100644
--- a/localedata/locales/ta_LK
+++ b/localedata/locales/ta_LK
@@ -85,10 +85,10 @@ mon
        "<U0B9C><U0BA9><U0BB5><U0BB0><U0BBF>";"<U0BAA><U0BBF><U0BAA><U0BCD><

            "<U0B9A><U0BC6><U0BAA><U0BCD><U0B9F><U0BAE><U0BCD><U0BAA><U0BB0><U0BCD>";"<U0B85><U0B95><U0BCD><U0B9F><U0BCB><U0BAA><U0BB0><U0BCD>";/

            "<U0BA8><U0BB5><U0BAE><U0BCD><U0BAA><U0BB0><U0BCD>";"<U0B9F><U0BBF><U0B9A><U0BAE><U0BCD><U0BAA><U0BB0><U0BCD>"
 am_pm       "<U0B95><U0BBE><U0BB2><U0BC8>";"<U0BAE><U0BBE><U0BB2><U0BC8>"
-d_t_fmt     "%A %d %B %Y %I:%M:%S %p %Z"
+d_t_fmt     "%A %d %B %Y %H:%M:%S %Z"
 d_fmt       "%-d//%-m//%y"
-t_fmt       "%I:%M:%S  %Z"
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt       "%H:%M:%S %Z"
+t_fmt_ampm  ""
 
 week 7;19971130;1
 first_weekday 2
diff --git a/localedata/locales/tcy_IN b/localedata/locales/tcy_IN
index ba93d67..3dfa5f6 100644
--- a/localedata/locales/tcy_IN
+++ b/localedata/locales/tcy_IN
@@ -130,10 +130,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/the_NP b/localedata/locales/the_NP
index 993e62f..ebaec5c 100644
--- a/localedata/locales/the_NP
+++ b/localedata/locales/the_NP
@@ -121,10 +121,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%A %d %b %Y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 %
 %  FIXME: found in CLDR
 week 7;19971130;1
diff --git a/localedata/locales/ti_ER b/localedata/locales/ti_ER
index 77b9666..890bbb6 100644
--- a/localedata/locales/ti_ER
+++ b/localedata/locales/ti_ER
@@ -239,11 +239,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 % "%A፡ %B %e መዓልቲ %Y %r %Z
diff --git a/localedata/locales/ti_ET b/localedata/locales/ti_ET
index 6c38760..e7c8ec3 100644
--- a/localedata/locales/ti_ET
+++ b/localedata/locales/ti_ET
@@ -1040,11 +1040,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 % "%A፣ %B %e መዓልቲ %Y %r %Z
diff --git a/localedata/locales/tig_ER b/localedata/locales/tig_ER
index d6afaf1..403a919 100644
--- a/localedata/locales/tig_ER
+++ b/localedata/locales/tig_ER
@@ -196,11 +196,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 % "%A፡ %B %e ዮም %Y %r %Z
diff --git a/localedata/locales/to_TO b/localedata/locales/to_TO
index 7abe868..4f248ab 100644
--- a/localedata/locales/to_TO
+++ b/localedata/locales/to_TO
@@ -91,7 +91,6 @@ abday  "S<U0101>p";/
        "Fal";/
        "Tok"
 % Equivalent of AM PM
-% hengihengi, efiafi
 am_pm  "hengihengi";"efiafi"
 
 %
@@ -102,11 +101,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%A %d %b %Y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-% %I:%M:%S %p %Z
-t_fmt_ampm "%I:%M:%S %p %Z"
+t_fmt_ampm "%l:%M:%S %p %Z"
 END LC_TIME
 %
 LC_NUMERIC
diff --git a/localedata/locales/ur_IN b/localedata/locales/ur_IN
index 062cbf0..6c312fa 100644
--- a/localedata/locales/ur_IN
+++ b/localedata/locales/ur_IN
@@ -127,10 +127,10 @@ d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
 d_fmt       "%-d//%-m//%y"
 %
 % Appropriate time representation
-t_fmt       "%I:%M:%S  %Z"
+t_fmt       "%l:%M:%S %p %Z"
 %
 % Appropriate 12 h time representation (%r)
-t_fmt_ampm  "%I:%M:%S %p %Z"
+t_fmt_ampm  "%l:%M:%S %p %Z"
 week 7;19971130;1
 END LC_TIME
 
diff --git a/localedata/locales/wal_ET b/localedata/locales/wal_ET
index 4811bd8..65b8e5f 100644
--- a/localedata/locales/wal_ET
+++ b/localedata/locales/wal_ET
@@ -206,11 +206,11 @@ d_fmt   "%d//%m//%Y"
 %
 % Appropriate time representation (%X)
 %
-t_fmt "%l:%M:%S"
+t_fmt "%l:%M:%S %p"
 %
 % Appropriate AM/PM time representation (%r)
 %
-t_fmt_ampm "%X %p"
+t_fmt_ampm "%l:%M:%S %p"
 %
 % Appropriate date and time representation (%c)
 % "%A፣ %B %e ጋላሳ  %Y %r %Z
diff --git a/localedata/locales/zh_HK b/localedata/locales/zh_HK
index c130878..d85017b 100644
--- a/localedata/locales/zh_HK
+++ b/localedata/locales/zh_HK
@@ -133,12 +133,12 @@ d_t_fmt     "%Y<U5E74>%m<U6708>%d<U65E5> %A %H:%M:%S"
 d_fmt       "%Y<U5E74>%m<U6708>%d<U65E5> %A"
 %
 % Appropriate time representation
-% %I時%M分%S秒 %Z
-t_fmt       "%I<U6642>%M<U5206>%S<U79D2> %Z"
+% %p%I時%M分%S秒 %Z
+t_fmt       "%p%I<U6642>%M<U5206>%S<U79D2> %Z"
 %
 % Appropriate 12 h time representation (%r)
 % Update by Roger So <[hidden email]>
-t_fmt_ampm  "%p %I:%M:%S"
+t_fmt_ampm  "%p%I:%M:%S"
 week 7;19971130;1
 END LC_TIME
 
--
2.7.5