Re: Preposition in IntlDateFormatter

From: Date: Mon, 20 Nov 2017 10:03:23 +0000
Subject: Re: Preposition in IntlDateFormatter
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-101145@lists.php.net to get a copy of this message
On Sun, 19 Nov 2017, Markus Fasselt wrote: > I just noticed an issue with PHP's DateFormatter and some locales. > > Consider this example code: > > > foreach (['en', 'de', 'da', 'pt', 'fr', > > 'cs'] as $locale) { > > $df = new IntlDateFormatter($locale, IntlDateFormatter::LONG, > > IntlDateFormatter::SHORT); > > var_dump($locale . ': ' . $df->format(new DateTime())); > > } > > which will output the following: > > > string(33) "en: November 19, 2017 at 10:28 PM" > > string(30) "de: 19. November 2017 um 22:28" > > string(31) "da: 19. november 2017 kl. 22.28" > > string(32) "pt: 19 de novembro de 2017 22:28" > > string(29) "fr: 19 novembre 2017 à 22:28" > > string(28) "cs: 19. listopadu 2017 22:28" > > As you can see, the first examples all have a preposition before the time. But > there is none for the Czech language - there should be a "v". > > Some other languages are missing their prepositions as well, e.g. pl and se > (and probably more). > > Is this a bug? I am no native speaker in these languages, but got a bug report > from a user and did some research. In my opinion, the prepositions are > missing. The information used for this is not part of the PHP source or code, but comes out of ICU, which uses CLDR for its localisation information. CLDR doesn't include the "v" for Cs. From common/main/cs.xml: <dateTimeFormats> <dateTimeFormatLength type="full"> <dateTimeFormat> <pattern>{1} {0}</pattern> From common/main/de.xml: <dateTimeFormats> <dateTimeFormatLength type="full"> <dateTimeFormat> <pattern>{1} 'um' {0}</pattern> CLDR can be downloaded at http://cldr.unicode.org/index/downloads, and bugs can be file at http://cldr.unicode.org/index/bug-reports cheers, Derick -- https://derickrethans.nl | https://xdebug.org | https://dram.io Like Xdebug? Consider a donation: https://xdebug.org/donate.php twitter: @derickr and @xdebug

« previous php.internals (#101145) next »