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

Message ID 22392248.253331.1541631211954@poczta.nazwa.pl
State Superseded
Headers

Commit Message

Rafal Luzynski Nov. 7, 2018, 10:53 p.m. UTC
  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(-)
  

Comments

TAMUKI Shoichi Dec. 8, 2018, 12:32 p.m. UTC | #1
Hello Rafal,

From: Rafal Luzynski <digitalfreak@lingonborough.com>
Subject: [PATCH 2/2] Multiple locales: Use the correct 12-hour time formats (bug 10496).
Date: Wed, 7 Nov 2018 23:53:31 +0100 (CET)

> 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.

I think that the change to use the correct 12-hour time formats needs
to be carefully considered.  In some locales, although 12-hour formats
are commonly used, there seem to be cases where there is no custom of
using the AM/PM indicator.

In this case, although it certainly becomes ambiguous, it seems that
there is a case where it can be judged in the context or supplemented
by adding "in the morning" to avoid ambiguity for example.

So, I think that it needs to take it into account to change 12-hour
time format to 24-hour time format.

Regards,
TAMUKI Shoichi
  
Rafal Luzynski Dec. 21, 2018, 10:10 a.m. UTC | #2
8.12.2018 13:32 TAMUKI Shoichi <tamuki@linet.gr.jp> wrote:
> [...]
> I think that the change to use the correct 12-hour time formats needs
> to be carefully considered.

OK, you have convinced me partially and I will prepare new versions
of these patches where I will not change zero-padded hour indicators
into non-zero-padded ones.  This bug report was not about it, it was
only about the missing AM/PM indicator.

> In some locales, although 12-hour formats
> are commonly used, there seem to be cases where there is no custom of
> using the AM/PM indicator.
> 
> In this case, although it certainly becomes ambiguous, it seems that
> there is a case where it can be judged in the context or supplemented
> by adding "in the morning" to avoid ambiguity for example.

Well, that's what AM/PM means: "AM" = "ante meridiem" = "before noon"
= "in the morning".  I definitely do not agree that we should not use
any AM/PM indicator because there is no such custom in some countries
(while using 12-hour clock at the same time).  I believe that these
countries have already invented some form of AM/PM indicator or have
directly adapted the one used in English speaking countries, also
I think that CLDR and glibc already provide any indicators (sorry,
I am unable to verify all 80 locales while writing this email).
They must have faced the same problems multiple times in the past
in the context of dates and times processed by computers.

> So, I think that it needs to take it into account to change 12-hour
> time format to 24-hour time format.

As far as I know people tend not to understand 24-hour clock in the
countries where 12-hour clock is commonly used.  Finally, let's rely
on CLDR which has a huge multinational support (which we don't have
here in glibc).  What I'm trying to do here is to synchronize our
locale data with CLDR, I'm trying to avoid my own guesses and my own
research because they may be misleading.

Regards,

Rafal
  
TAMUKI Shoichi Dec. 22, 2018, 10:44 a.m. UTC | #3
Hello Rafal,

From: Rafal Luzynski <digitalfreak@lingonborough.com>
Subject: Re: [PATCH 2/2] Multiple locales: Use the correct 12-hour time formats
Date: Fri, 21 Dec 2018 11:10:34 +0100 (CET)

> > I think that the change to use the correct 12-hour time formats needs
> > to be carefully considered.
> 
> OK, you have convinced me partially and I will prepare new versions
> of these patches where I will not change zero-padded hour indicators
> into non-zero-padded ones.  This bug report was not about it, it was
> only about the missing AM/PM indicator.
> 
> > In some locales, although 12-hour formats
> > are commonly used, there seem to be cases where there is no custom of
> > using the AM/PM indicator.
> > 
> > In this case, although it certainly becomes ambiguous, it seems that
> > there is a case where it can be judged in the context or supplemented
> > by adding "in the morning" to avoid ambiguity for example.
> 
> Well, that's what AM/PM means: "AM" = "ante meridiem" = "before noon"
> = "in the morning".  I definitely do not agree that we should not use
> any AM/PM indicator because there is no such custom in some countries
> (while using 12-hour clock at the same time).  I believe that these
> countries have already invented some form of AM/PM indicator or have
> directly adapted the one used in English speaking countries, also
> I think that CLDR and glibc already provide any indicators (sorry,
> I am unable to verify all 80 locales while writing this email).
> They must have faced the same problems multiple times in the past
> in the context of dates and times processed by computers.

OK.  I agreed.

> > So, I think that it needs to take it into account to change 12-hour
> > time format to 24-hour time format.
> 
> As far as I know people tend not to understand 24-hour clock in the
> countries where 12-hour clock is commonly used.  Finally, let's rely
> on CLDR which has a huge multinational support (which we don't have
> here in glibc).  What I'm trying to do here is to synchronize our
> locale data with CLDR, I'm trying to avoid my own guesses and my own
> research because they may be misleading.

Agreed.  I think it is a good idea to rely on CLDR.  In addition,
by considering the customs/opinions of the local people, it will
become more certain.

Regards,
TAMUKI Shoichi
  
Rafal Luzynski Dec. 27, 2018, 11:33 a.m. UTC | #4
22.12.2018 11:44 TAMUKI Shoichi <tamuki@linet.gr.jp> wrote:
> [...]
> OK.  I agreed.

Thank you for your feedback.  Having seen this answer repeated multiple
times I am going to push these two patches tomorrow.

> [...]
> Agreed.  I think it is a good idea to rely on CLDR.  In addition,
> by considering the customs/opinions of the local people, it will
> become more certain.

This is exactly what I'm trying to do all the time.  Whenever possible
I'm trying to contact the actual speakers of the language.  However,
it is often impossible and also I was told by more experienced maintainers
that I should more rely on CLDR because it is often reviewed by official
and scientific institutions.

Regards,

Rafal
  
Rafal Luzynski Dec. 28, 2018, 9:24 p.m. UTC | #5
27.12.2018 12:33 Rafal Luzynski <digitalfreak@lingonborough.com> wrote:
> 
> 22.12.2018 11:44 TAMUKI Shoichi <tamuki@linet.gr.jp> wrote:
> > [...]
> > OK.  I agreed.
> 
> Thank you for your feedback.  Having seen this answer repeated multiple
> times I am going to push these two patches tomorrow.

Pushed to master with minor edits of the change log:

1. sq_AL:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=27841a7d5abe36c48b41b33d39ca8e5e14b9d36f
2. Other locales:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=989182c40a54c3022ff75c3c313479231dd36602

Regards,

Rafal
  

Patch

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 <roger.so@sw-linux.com>
-t_fmt_ampm  "%p %I:%M:%S"
+t_fmt_ampm  "%p%I:%M:%S"
 week 7;19971130;1
 END LC_TIME