slightly offtopic, het zetten van de locale zoals je dat nu doet is best link vanwege de volgende redenen:
• je weet niet op welk platform je zit te werken, hetgeen belangrijk is voor sommige dingen in strftime (zoals dagnummer).
• je gaat er vanuit dat het zetten van de locale altijd lukt
• je gaat in de problemen komen met kommagetallen bij het gebruik van LC_ALL, vooral icm SQL databases.
ik gebruik dit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| $phpVersion = explode(".",phpversion());
$localeCategory = ($phpVersion[0] == 4 && $phpVersion[1] < 2) ? "LC_TIME" : LC_TIME;
$lc = setlocale($localeCategory, 'nld_nld');
if($lc) {
define("SITE_DATE_FORMAT", "%A %#d %B %Y");
define("SITE_SHORT_DATE_FORMAT", "%#d %B %Y");
}
else {
$lc = setlocale($localeCategory, 'nl_NL');
define("SITE_DATE_FORMAT", "%A %e %B %Y");
define("SITE_SHORT_DATE_FORMAT", "%e %B %Y");
}
define("TRANSLATE_DATES", ($lc == false)); |
Als het zetten van de locale niet gelukt is (zo heb ik bijvoorbeeld een hoster die op z'n server niet beschikt over de nederlandse locale), dan is TRANSLATE_DATES == true. Ergens anders in m'n code daarom:
PHP:
1
2
3
| if(TRANSLATE_DATES) {
$days = str_replace (array_keys($GLOBALS['dutchDates']), $GLOBALS['dutchDates'], $days);
} |
die z'n data haalt uit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| global $dutchDates;
$dutchDates = array(
"January" => "januari",
"February" => "februari",
"March" => "maart",
"April" => "april",
"May" => "mei",
"June" => "juni",
"July" => "juli",
"August" => "augustus",
"September" => "september",
"October" => "oktober",
"November" => "november",
"December" => "december",
"Monday" => "maandag",
"Tuesday" => "dinsdag",
"Wednesday" => "woensdag",
"Thursday" => "donderdag",
"Friday" => "vrijdag",
"Saturday" => "zaterdag",
"Sunday" => "zondag"
); |
[
Voor 42% gewijzigd door
Genoil op 31-03-2005 12:44
]