MDL-74379 language: injecting am/pm in date string

patching the date_format_string() function in moodlelib to add am/pm for languages that don't suuport it.
This commit is contained in:
Aya Saad
2022-06-26 10:36:29 +02:00
parent bbff432ffa
commit e6441d7fdb
2 changed files with 19 additions and 0 deletions
+4
View File
@@ -23,6 +23,8 @@
*/
$string['alphabet'] = 'A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z';
$string['am'] = 'am';
$string['amcaps'] = 'AM';
$string['backupnameformat'] = '%Y%m%d-%H%M';
$string['dateintervaldayshoursmins'] = '%ad %hh %im'; // See https://www.php.net/manual/en/dateinterval.format.php for format.
$string['decsep'] = '.';
@@ -37,6 +39,8 @@ $string['localewin'] = 'English_Australia.1252';
$string['localewincharset'] = '';
$string['oldcharset'] = 'ISO-8859-1';
$string['parentlanguage'] = '';
$string['pm'] = 'pm';
$string['pmcaps'] = 'PM';
$string['strftimedate'] = '%d %B %Y';
$string['strftimedatemonthabbr'] = '%d %b %Y';
$string['strftimedatefullshort'] = '%d/%m/%y';
+15
View File
@@ -2353,6 +2353,21 @@ function date_format_string($date, $format, $tz = 99) {
}
date_default_timezone_set(core_date::get_user_timezone($tz));
$datearray = getdate($date);
if (nl_langinfo(AM_STR) == nl_langinfo(PM_STR)) {
$format = str_replace([
'%P',
'%p',
], [
$datearray['hours'] < 12 ? get_string('am', 'langconfig') : get_string('pm', 'langconfig'),
$datearray['hours'] < 12 ? get_string('amcaps', 'langconfig') : get_string('pmcaps', 'langconfig'),
],
$format);
}
$datestring = strftime($format, $date);
core_date::set_default_server_timezone();