Avatar billede weblance Nybegynder
14. marts 2008 - 21:09 Der er 22 kommentarer og
1 løsning

Få måned vist på dansk i stedet for engelsk

Når jeg skriver:

<?php echo date('F'); ?>

Får jeg "March" - hvordan får jeg den til at skrive "Marts" i stedet?
Avatar billede amews_aj Nybegynder
14. marts 2008 - 21:17 #1
<?php

$months_danish = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December");

echo $months_danish[date('n')-1];

?>
Avatar billede weblance Nybegynder
14. marts 2008 - 21:27 #2
Takker
Avatar billede dkfire Nybegynder
14. marts 2008 - 21:30 #3
Hvorfor ikke bare:

setlocale(LC_ALL, 'danish');
Avatar billede weblance Nybegynder
14. marts 2008 - 21:51 #4
Det virker ikke
Avatar billede amews_aj Nybegynder
14. marts 2008 - 21:58 #5
Må indrømme jeg ikke kendte til at php havde danske oversættelser af dens indbyggede funktioner.
setlocale burde virke weblance.
Prøv lige igen.
Du skal jo så skrive

<?php
setlocale(LC_ALL, 'danish');

echo date('F'),
?>

Hvis det virker så sig lige til, så skal dkfire da have pointene for en meget simplere løsning ;)
Avatar billede amews_aj Nybegynder
14. marts 2008 - 22:03 #6
dkfire, nogle servere har åbenbart problemer med denne, skal installeres.
Se her: http://dk.php.net/manual/da/function.setlocale.php
Gå ned til ca. halvvejs og læs kommentar af: "Edwin Martin 20-Feb-2006 01:29"
Avatar billede amews_aj Nybegynder
14. marts 2008 - 22:06 #7
Kan sige det heller ikke virker ved det webhotel jeg bruger.
(Forresten der mangler lige ; efter date('F') i mit sidste eksempel.
Avatar billede weblance Nybegynder
14. marts 2008 - 22:51 #8
Mit webhotel understøtter åbenbart heller ikke denne funktion.
Avatar billede dkfire Nybegynder
14. marts 2008 - 23:21 #9
Læg mærke til at der er forskellige muligheder for at sætte det lokale sprog:

setlocale(LC_ALL, 'danish');
setlocale(LC_ALL, 'da_DA');
setlocale(LC_ALL, 'dan');

Men hvis I kører på danske webservere burde de have installeret dansk sprog, hvis ikke vil ja da mene det er en stor fejl.
Avatar billede dkfire Nybegynder
14. marts 2008 - 23:31 #10
Vær opmærksom på at, alt efter hvilket styresystem din webserver kører på, skal du bruge forskellige værdier, men det kan klares med en linje:

setlocale(LC_ALL, 'danish', 'da_DA', 'dan');
Avatar billede amews_aj Nybegynder
14. marts 2008 - 23:34 #11
stadig "march" her
Avatar billede dkfire Nybegynder
14. marts 2008 - 23:38 #12
Så har de højst sandsynligt ikke installeret dansk sprog på den server du kører på.
Avatar billede amews_aj Nybegynder
14. marts 2008 - 23:40 #13
Har jeg også konkluderet, og har skrevet til dem om det allerede.
Avatar billede alodia Nybegynder
16. marts 2008 - 17:20 #14
setlocale(LC_ALL, 'danish');
    echo "<div id='date'>".strftime("%d %B %Y", strtotime($row['date']))."</div>";

den her virker så den skriver 12.Juli 2006(bare et eksempel)
Avatar billede weblance Nybegynder
16. marts 2008 - 20:29 #15
01 January 1970 siger min.
Avatar billede amews_aj Nybegynder
17. marts 2008 - 21:02 #16
Fordi der er endnu en lille fejl
Jeg har nu testet det her på min server, og det virker:
<?
setlocale(LC_ALL, 'danish');
echo "<div id='date'>".strftime("%d %B %Y", time())."</div>";
?>

alodia, du kom med den egentlige løsning.
Sig til hvis du vil have point, så får jeg givet dig nogle ;)
Avatar billede dkfire Nybegynder
17. marts 2008 - 21:09 #17
Hmm og hvad er det lige som du laver anderledes end det jeg hele tiden har sagt ??
Avatar billede amews_aj Nybegynder
17. marts 2008 - 21:21 #18
Jeg gør ikke noget anderledes
Problemet var bare ikke at sprog var forkert angivet.
Problemet var at date() ikke anvender locale.
strftime gør.
Avatar billede weblance Nybegynder
17. marts 2008 - 21:42 #19
Min siger "17 March 2008" - så den er helt gal med webhotellet
Avatar billede alodia Nybegynder
22. marts 2008 - 12:17 #20
hey.... godt at kunne hjælpe! sad lige med en opgave der omhandlede date og joh tak point er altid godt!!*s*
forsøgte mig med at sætte locale op til da_DA og til dan men de virkede ikke så resultatet blev til danish. Om jeg har gjort noget anderledes end dkfire ved jeg ikke men jeg fik det til at virke GG
en skam med webhotellet, men de må da have en mulighed for at lave det om!
iøvrigt GOD PÅSKE allesammen.
Avatar billede dkfire Nybegynder
22. marts 2008 - 14:15 #21
Nåå jeg kom nu bare med noget forslag.
Alt efter hvordan dit system er sat op og hvilke system du bruger, så burde en af de tre muligheder virke.
Avatar billede amews_aj Nybegynder
22. marts 2008 - 15:31 #22
Avatar billede weblance Nybegynder
22. marts 2008 - 16:00 #23
Jeg har været i kontakt med dem der hoster mit webhotel. Det viser sig at de kører FreeBSD og det virker åbenbart lidt anderledes. Der skal skrives setlocale(LC, ALL, 'da_DK.ISO8859-1') for at virke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester