From ed0c2bbf2e5f956b5b8b0bcf309fab8d9d56be3e Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 1 Apr 2020 17:27:54 +0400 Subject: [PATCH 1/3] PHRAS-2992 fix date translation --- lib/classes/phraseadate.php | 41 +++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/lib/classes/phraseadate.php b/lib/classes/phraseadate.php index a9732e7822..b4a53e11b9 100644 --- a/lib/classes/phraseadate.php +++ b/lib/classes/phraseadate.php @@ -149,17 +149,24 @@ class phraseadate */ private function formatDate(DateTime $date, $locale, $format) { - switch ($locale) { default: case 'fr': switch ($format) { default: case 'DAY_MONTH': - $date_formated = strftime("%e %B", $date->format('U')); + $formatM = new IntlDateFormatter( + $locale, + NULL, NULL, NULL, NULL, 'dd MMMM' + ); + $date_formated = $formatM->format($date); break; case 'DAY_MONTH_YEAR': - $date_formated = strftime("%e %B %Y", $date->format('U')); + $formatY = new IntlDateFormatter( + $locale, + NULL, NULL, NULL, NULL, 'dd MMMM yyyy' + ); + $date_formated = $formatY->format($date); break; } break; @@ -167,10 +174,18 @@ class phraseadate switch ($format) { default: case 'DAY_MONTH': - $date_formated = strftime("%B %e", $date->format('U')); + $formatM = new IntlDateFormatter( + $locale, + NULL, NULL, NULL, NULL, 'MMMM dd' + ); + $date_formated = $formatM->format($date); break; case 'DAY_MONTH_YEAR': - $date_formated = strftime("%B %e %Y", $date->format('U')); + $formatY = new IntlDateFormatter( + $locale, + NULL, NULL, NULL, NULL, 'MMMM dd yyyy' + ); + $date_formated = $formatY->format($date); break; } break; @@ -178,18 +193,26 @@ class phraseadate switch ($format) { default: case 'DAY_MONTH': - $date_formated = strftime("%e. %B", $date->format('U')); + $formatM = new IntlDateFormatter( + $locale, + NULL, NULL, NULL, NULL, 'dd MMMM' + ); + $date_formated = $formatM->format($date); break; case 'DAY_MONTH_YEAR': - $date_formated = strftime("%e. %B %Y", $date->format('U')); + $formatY = new IntlDateFormatter( + $locale, + NULL, NULL, NULL, NULL, 'dd MMMM yyyy' + ); + $date_formated = $formatY->format($date); break; } - break; } - return $date_formated; } + + /** * * @param string $isodelimdate From eddf95e71b6e6d1275e6a811a58e397ab419170e Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 1 Apr 2020 17:40:01 +0400 Subject: [PATCH 2/3] PHRAS-2992 --- lib/classes/phraseadate.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/classes/phraseadate.php b/lib/classes/phraseadate.php index b4a53e11b9..16990a65d4 100644 --- a/lib/classes/phraseadate.php +++ b/lib/classes/phraseadate.php @@ -206,13 +206,12 @@ class phraseadate ); $date_formated = $formatY->format($date); break; - } - } + }; + break; + } return $date_formated; } - - /** * * @param string $isodelimdate From 1b752fde1cd19501bcfd56559aede9fc0783b6b2 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 1 Apr 2020 17:42:36 +0400 Subject: [PATCH 3/3] PHRAS-2992 code factoring --- lib/classes/phraseadate.php | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/lib/classes/phraseadate.php b/lib/classes/phraseadate.php index 16990a65d4..e6599283cc 100644 --- a/lib/classes/phraseadate.php +++ b/lib/classes/phraseadate.php @@ -151,6 +151,7 @@ class phraseadate { switch ($locale) { default: + case 'de': case 'fr': switch ($format) { default: @@ -189,26 +190,7 @@ class phraseadate break; } break; - case 'de': - switch ($format) { - default: - case 'DAY_MONTH': - $formatM = new IntlDateFormatter( - $locale, - NULL, NULL, NULL, NULL, 'dd MMMM' - ); - $date_formated = $formatM->format($date); - break; - case 'DAY_MONTH_YEAR': - $formatY = new IntlDateFormatter( - $locale, - NULL, NULL, NULL, NULL, 'dd MMMM yyyy' - ); - $date_formated = $formatY->format($date); - break; - }; - break; - } + } return $date_formated; }