This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 4/4] ja_JP locale: Add entry for the new Japanese era [BZ #22964]


On 4/1/19 12:00 AM, TAMUKI Shoichi wrote:
The Japanese era name will be changed on May 1, 2019.  The Japanese
government made a preliminary announcement on April 1, 2019.

The glibc ja_JP locale must be updated to include the new era name for
strftime's alternative year format support.

Checked on x86_64-linux-gnu.

OK for master.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

ChangeLog:

	[BZ #22964]
	* localedata/locales/ja_JP (LC_TIME): Add entry for the new Japanese
	era.
	* time/tst-strftime2.c (dates): Add 2019-04-30 and 2019-05-01.
	(mkreftable): Add rules for the new Japanese era and the new dates.
---
  NEWS                     |  2 ++
  localedata/locales/ja_JP |  6 ++++--
  time/tst-strftime2.c     | 13 ++++++++-----
  3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/NEWS b/NEWS
index 684752ed53..4ad1ae65af 100644
--- a/NEWS
+++ b/NEWS
@@ -22,6 +22,8 @@ Major new features:
    alternative calendar for the following locales: zh_TW, cmn_TW, hak_TW,
    nan_TW, lzh_TW.
+* The entry for the new Japanese era has been added for ja_JP locale.

OK. I'm ok with a short entry here, there isn't really much more to say.

+
  Deprecated and removed features, and other changes affecting compatibility:
* The functions clock_gettime, clock_getres, clock_settime,
diff --git a/localedata/locales/ja_JP b/localedata/locales/ja_JP
index cb51e6d69d..c727997b6b 100644
--- a/localedata/locales/ja_JP
+++ b/localedata/locales/ja_JP
@@ -14952,7 +14952,7 @@ t_fmt_ampm "%p%I<U6642>%M<U5206>%S<U79D2>"
  %
  % The following dates and their names are recorded below in descending
  % date order (note that <U5E74> or <NEN> follows each date).
-% <HEISEI> -> <SHOWA> -> <TAISHO> -> <MEIJI> -> <AD> -> <BC>
+% <REIWA> -> <HEISEI> -> <SHOWA> -> <TAISHO> -> <MEIJI> -> <AD> -> <BC>

OK. Confirmed.

  %
  % Each string is an era description segment with the format:
  % "direction:offset:start_date:end_date:era_name:era_format"
@@ -14964,7 +14964,9 @@ t_fmt_ampm "%p%I<U6642>%M<U5206>%S<U79D2>"
  % - The last entry <U7D00><U5143><U524D> in era_name means BC.
  % - The second-to-last entry <U897F><U66A6> in era_name means AD.
  %
-era	"+:2:1990//01//01:+*:<U5E73><U6210>:%EC%Ey<U5E74>";/
+era	"+:2:2020//01//01:+*:<U4EE4><U548C>:%EC%Ey<U5E74>";/

OK, 2 year offset from 2020-01-01 onwards. The choice of U4EE4 is correct
because it has a Shift-JIS equivalent and matches new era. The choice of
U548C is correct and has a Shift-JIS equivlaent.

+	"+:1:2019//05//01:2019//12//31:<U4EE4><U548C>:%EC<U5143><U5E74>";/

OK, 1 year offset for first year using <U5143> and is correct.

+	"+:2:1990//01//01:2019//04//30:<U5E73><U6210>:%EC%Ey<U5E74>";/

OK, adjust previous final element to end 2019-04-30, and that matches
the end of April before transition.

  	"+:1:1989//01//08:1989//12//31:<U5E73><U6210>:%EC<U5143><U5E74>";/
  	"+:2:1927//01//01:1989//01//07:<U662D><U548C>:%EC%Ey<U5E74>";/
  	"+:1:1926//12//25:1926//12//31:<U662D><U548C>:%EC<U5143><U5E74>";/
diff --git a/time/tst-strftime2.c b/time/tst-strftime2.c
index 2c94bf592e..532e68f7d3 100644
--- a/time/tst-strftime2.c
+++ b/time/tst-strftime2.c
@@ -54,7 +54,9 @@ static const date_t dates[] =
    {  1,  4, 1997 },
    {  1,  4, 1998 },
    {  1,  4, 2010 },
-  {  1,  4, 2011 }
+  {  1,  4, 2011 },
+  { 30,  4, 2019 },

OK, end of HEISEI era.

+  {  1,  5, 2019 }

OK, start of RAIWA era.

  };
static char ref[array_length (locales)][array_length (formats)]
@@ -84,20 +86,20 @@ mkreftable (void)
    static const int yrj[] =
    {
      43, 44, 45, 2,
-    63, 64, 1, 2, 9, 10, 22, 23
+    63, 64, 1, 2, 9, 10, 22, 23, 31, 1

OK, add two more years to the era tests.

    };
    /* Buddhist calendar year to be checked.  */
    static const int yrb[] =
    {
      2453, 2454, 2455, 2456,
-    2531, 2532, 2532, 2533, 2540, 2541, 2553, 2554
+    2531, 2532, 2532, 2533, 2540, 2541, 2553, 2554, 2562, 2562

OK, add two more years to the buddhist calendar.

    };
    /* R.O.C. calendar year to be checked.  Negative number is prior to
       Minguo counting up.  */
    static const int yrc[] =
    {
      -2, -1, 1, 2,
-    77, 78, 78, 79, 86, 87, 99, 100
+    77, 78, 78, 79, 86, 87, 99, 100, 108, 108

OK, add two more years to the R.O.C. calendar.

    };
for (i = 0; i < array_length (locales); i++)
@@ -109,7 +111,8 @@ mkreftable (void)
  	      era = (is_before (k, 30,  7, 1912)) ? "\u660e\u6cbb"
  		  : (is_before (k, 25, 12, 1926)) ? "\u5927\u6b63"
  		  : (is_before (k,  8,  1, 1989)) ? "\u662d\u548c"
-						  : "\u5e73\u6210";
+		  : (is_before (k,  1,  5, 2019)) ? "\u5e73\u6210"
+						  : "\u4ee4\u548c";

OK add the REIWA dates to the table to test.

  	      yr = yrj[k], sfx = "\u5e74";
  	    }
  	  else if (i == 1)  /* lo_LA  */



--
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]