Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsgiehl <stefan@piwik.org>2015-07-04 22:32:48 +0300
committersgiehl <stefan@piwik.org>2015-09-25 21:07:47 +0300
commit557c1b9bad6c7f7119dba49243eb641a9eb70778 (patch)
tree0c8adff8ba118df6efe453edb7645be1f5da4191 /plugins/Intl
parent4e6f8349ac42dd26917687d873e935a6afb34642 (diff)
fetch some date/time formats from cldr; improved internal names
Diffstat (limited to 'plugins/Intl')
-rw-r--r--plugins/Intl/Commands/GenerateIntl.php53
1 files changed, 35 insertions, 18 deletions
diff --git a/plugins/Intl/Commands/GenerateIntl.php b/plugins/Intl/Commands/GenerateIntl.php
index 7a8a3dd3f3..0c027000fa 100644
--- a/plugins/Intl/Commands/GenerateIntl.php
+++ b/plugins/Intl/Commands/GenerateIntl.php
@@ -91,7 +91,7 @@ class GenerateIntl extends ConsoleCommand
setlocale(LC_ALL, $langCode);
- $translations = (array)@json_decode(file_get_contents(sprintf($writePath, $langCode)), true);
+ $translations = array();
$this->fetchLanguageData($output, $transformedLangCode, $requestLangCode, $translations);
$this->fetchTerritoryData($output, $transformedLangCode, $requestLangCode, $translations);
@@ -234,8 +234,10 @@ class GenerateIntl extends ConsoleCommand
$calendarData = $calendarData['main'][$requestLangCode]['dates']['calendars']['gregorian'];
for ($i = 1; $i <= 12; $i++) {
- $translations['Intl']['ShortMonth_' . $i] = $this->transform($calendarData['months']['format']['abbreviated'][$i]);
- $translations['Intl']['LongMonth_' . $i] = $this->transform($calendarData['months']['format']['wide'][$i]);
+ $translations['Intl']['Month_Short_' . $i] = $this->transform($calendarData['months']['format']['abbreviated'][$i]);
+ $translations['Intl']['Month_Long_' . $i] = $this->transform($calendarData['months']['format']['wide'][$i]);
+ $translations['Intl']['Month_Short_StandAlone_' . $i] = $this->transform($calendarData['months']['stand-alone']['abbreviated'][$i]);
+ $translations['Intl']['Month_Long_StandAlone_' . $i] = $this->transform($calendarData['months']['stand-alone']['wide'][$i]);
}
$days = array(
@@ -249,23 +251,29 @@ class GenerateIntl extends ConsoleCommand
);
foreach ($days AS $nr => $day) {
- $translations['Intl']['ShortDay_' . $nr] = $this->transform($calendarData['days']['format']['abbreviated'][$day]);
- $translations['Intl']['LongDay_' . $nr] = $this->transform($calendarData['days']['format']['wide'][$day]);
+ $translations['Intl']['Day_Min_' . $nr] = $this->transform($calendarData['days']['format']['short'][$day]);
+ $translations['Intl']['Day_Short_' . $nr] = $this->transform($calendarData['days']['format']['abbreviated'][$day]);
+ $translations['Intl']['Day_Long_' . $nr] = $this->transform($calendarData['days']['format']['wide'][$day]);
+ $translations['Intl']['Day_Min_StandAlone_' . $nr] = $this->transform($calendarData['days']['stand-alone']['short'][$day]);
+ $translations['Intl']['Day_Short_StandAlone_' . $nr] = $this->transform($calendarData['days']['stand-alone']['abbreviated'][$day]);
+ $translations['Intl']['Day_Long_StandAlone_' . $nr] = $this->transform($calendarData['days']['stand-alone']['wide'][$day]);
}
- $days = array(
- 'Mo' => 'mon',
- 'Tu' => 'tue',
- 'We' => 'wed',
- 'Th' => 'thu',
- 'Fr' => 'fri',
- 'Sa' => 'sat',
- 'Su' => 'sun'
- );
-
- foreach ($days AS $nr => $day) {
- $translations['Intl']['Day' . $nr] = $this->transform($calendarData['days']['format']['short'][$day]);
+ $translations['Intl']['Time_AM'] = $calendarData['dayPeriods']['format']['wide']['am'];
+ $translations['Intl']['Time_PM'] = $calendarData['dayPeriods']['format']['wide']['pm'];
+ $translations['Intl']['Format_Time'] = $calendarData['timeFormats']['medium'];
+ $translations['Intl']['Format_Date_Long'] = $calendarData['dateFormats']['full'];
+ $translations['Intl']['Format_Date_Day_Month'] = $calendarData['dateTimeFormats']['availableFormats']['MMMEd'];
+ $translations['Intl']['Format_Date_Short'] = $calendarData['dateFormats']['medium'];
+ $translations['Intl']['Format_Month_Short'] = $calendarData['dateTimeFormats']['availableFormats']['yMMM'];
+ $translations['Intl']['Format_Month_Long'] = $this->transformDateFormat($calendarData['dateTimeFormats']['availableFormats']['yMMM'], array('MMM' => 'MMMM', 'LLL' => 'LLLL'));
+ if (isset($calendarData['dateTimeFormats']['availableFormats']['yMMMM'])) {
+ $translations['Intl']['Format_Month_Long'] = $calendarData['dateTimeFormats']['availableFormats']['yMMMM'];
}
+ $translations['Intl']['Format_Year'] = $calendarData['dateTimeFormats']['availableFormats']['y'];
+
+ $translations['Intl']['Format_DateTime_Long'] = $calendarData['dateFormats']['full'] . ' ' . $calendarData['timeFormats']['medium'];
+ $translations['Intl']['Format_DateTime_Short'] = $calendarData['dateFormats']['medium'] . ' ' . $calendarData['timeFormats']['medium'];
$output->writeln('Saved calendar data for ' . $langCode);
@@ -284,7 +292,7 @@ class GenerateIntl extends ConsoleCommand
$translations['Intl']['PeriodYear'] = $dateFieldData['year']['displayName'];
$translations['Intl']['PeriodDay'] = $dateFieldData['day']['displayName'];
$translations['Intl']['PeriodMonth'] = $dateFieldData['month']['displayName'];
- $translations['Intl']['YearShort'] = $dateFieldData['year-narrow']['displayName'];
+ $translations['Intl']['Year_Short'] = $dateFieldData['year-narrow']['displayName'];
$translations['Intl']['Today'] = $this->transform($dateFieldData['day']['relative-type-0']);
$translations['Intl']['Yesterday'] = $this->transform($dateFieldData['day']['relative-type--1']);
@@ -294,6 +302,15 @@ class GenerateIntl extends ConsoleCommand
}
}
+ protected function transformDateFormat($dateFormat, $changes=array())
+ {
+ if(!empty($changes)) {
+ $dateFormat = str_replace(array_keys($changes), array_values($changes), $dateFormat);
+ }
+
+ return $dateFormat;
+ }
+
protected function fetchUnitData(OutputInterface $output, $langCode, $requestLangCode, &$translations)
{
$unitsUrl = 'https://raw.githubusercontent.com/unicode-cldr/cldr-units-full/master/main/%s/units.json';