2022-07-25 00:02:08 |
Robert Lyon |
description |
Display the dates in correct language
If we have a multi tenancy site then the PHP language may not be set to the one a person is viewing the site with so that PHP created strings, like a date may be in wrong language, eg
EN 24 July 2022, 08:37
DE 24. July 2022, 08:37
We can't use the PHP setlocale() function because it can cause issues on a multithreaded server
Now that we are including PHP intl module by default we can use some of it's functions to get what we need,
eg:
$cl = current_language();
// Remove the '.utf8' from the language
$cl = preg_replace('/\.utf8$/','',$cl);
$langobject = datefmt_create($cl, IntlDateFormatter::LONG, IntlDateFormatter::SHORT);
$langstring = datefmt_format($langobject, 1658651838);
log_debug($langstring); |
Display the dates in correct language
If we have a multi tenancy site then the PHP language may not be set to the one a person is viewing the site with so that PHP created strings, like a date may be in wrong language, eg
EN 24 July 2022, 08:37
DE 24. July 2022, 08:37
We can't use the PHP setlocale() function because it can cause issues on a multithreaded server
Now that we are including PHP intl module by default we can use some of it's functions to get what we need,
eg:
$cl = current_language();
// Remove the '.utf8' from the language
$cl = preg_replace('/\.utf8$/','',$cl);
$langobject = $te($cl, IntlDateFormatter::LONG, IntlDateFormatter::SHORT, null, null, 'dd. MMMM yyyy, hh:HH');
$langstring = datefmt_format($langobject, 1658651838);
log_debug($langstring); |
|
2022-09-05 04:05:50 |
Robert Lyon |
description |
Display the dates in correct language
If we have a multi tenancy site then the PHP language may not be set to the one a person is viewing the site with so that PHP created strings, like a date may be in wrong language, eg
EN 24 July 2022, 08:37
DE 24. July 2022, 08:37
We can't use the PHP setlocale() function because it can cause issues on a multithreaded server
Now that we are including PHP intl module by default we can use some of it's functions to get what we need,
eg:
$cl = current_language();
// Remove the '.utf8' from the language
$cl = preg_replace('/\.utf8$/','',$cl);
$langobject = $te($cl, IntlDateFormatter::LONG, IntlDateFormatter::SHORT, null, null, 'dd. MMMM yyyy, hh:HH');
$langstring = datefmt_format($langobject, 1658651838);
log_debug($langstring); |
Display the dates in correct language
If we have a multi tenancy site then the PHP language may not be set to the one a person is viewing the site with so that PHP created strings, like a date may be in wrong language, eg
EN 24 July 2022, 08:37
DE 24. July 2022, 08:37
We can't use the PHP setlocale() function because it can cause issues on a multithreaded server
Now that we are including PHP intl module by default we can use some of it's functions to get what we need,
eg:
$cl = current_language();
// Remove the '.utf8' from the language
$cl = preg_replace('/\.utf8$/','',$cl);
$langobject = datefmt_create($cl, IntlDateFormatter::LONG, IntlDateFormatter::SHORT, null, null, 'dd. MMMM yyyy, hh:HH');
$langstring = datefmt_format($langobject, 1658651838);
log_debug($langstring); |
|