Avatar billede bravida Nybegynder
13. juni 2006 - 16:49 Der er 10 kommentarer og
1 løsning

Hvordan virker denne kode

'Nye varer for %s');

Den henviser til måned og skifter automastik hver måned, men skriver ikke korrekt for maj, juni. Den skriver may, june selvom den er sat til Langvages danish.
Hvor retter jeg dette i programmet.
Avatar billede nielle Nybegynder
13. juni 2006 - 21:16 #1
Prøv at poste noget mere af din kode.

"%s" i sig selv gør ikke noget, men markere blot at "her skal indsættes noget tekst". Det er sandsynligvis der hvor den tekst skal komme fra at fejlen er.

PS: Lær mere om %s og dens søskene på:

http://dk.php.net/sprintf

- og:

http://dk.php.net/printf
Avatar billede bravida Nybegynder
13. juni 2006 - 22:23 #2
ok - hvis jeg viste hvor den henter sin tekst fra var der ingen problem, men det kan jeg ikke finde. Har prøvet at søge i alle mapper og rettet alle June til Juni og oploadet dette uden held. Så den må gemme sig godt.
Avatar billede nielle Nybegynder
13. juni 2006 - 22:25 #3
Prøv at poste hele filen.
Avatar billede bravida Nybegynder
13. juni 2006 - 22:26 #4
Her er noget mere kode.

define('TABLE_HEADING_NEW_PRODUCTS', 'Nye varer for %s');
define('TABLE_HEADING_UPCOMING_PRODUCTS', 'Kommende Varer');
define('TABLE_HEADING_DATE_EXPECTED', 'Forventes d.');
define('TABLE_HEADING_DEFAULT_SPECIALS', 'Tilbud For %s');
Avatar billede nielle Nybegynder
13. juni 2006 - 22:35 #5
"define" opretter en konstant, f.eks. TABLE_HEADING_NEW_PRODUCTS, med noget indhold, her teksten 'Nye varer for %s'.

Man kan så efterfølgende bruge konstanten i stedet for teksten.

Hvis du skal finde fejlen i din kode, så er du altså nødt til at lede efter de steder hvor TABLE_HEADING_NEW_PRODUCTS bliver brugt.

PS: Lær mere om define her:

http://dk2.php.net/define
Avatar billede bravida Nybegynder
13. juni 2006 - 22:57 #6
Jo, men det virker også og skifter automatisk hver måned, bortset fra at jeg ikke kan finde og rette June til Juni i mappen hvor oplysningen ligger.
Avatar billede nielle Nybegynder
13. juni 2006 - 23:02 #7
Du må finde de steder i koden hvor TABLE_HEADING_NEW_PRODUCTS bliver brugt - det er der fejlen høest sandsynligvis befinder sig.
Avatar billede bravida Nybegynder
13. juni 2006 - 23:28 #8
De findes her, men kan ikke se en kode fejl.

1: define('TABLE_HEADING_NEW_PRODUCTS', 'Nye varer for %s');
2: define('TABLE_HEADING_NEW_PRODUCTS', 'New Products For %s');
3: define('TABLE_HEADING_NEW_PRODUCTS', 'Nuevos Productos en %s');
4: define('TABLE_HEADING_NEW_PRODUCTS', 'Neue Artikel im %s');
5:  $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')));
6:  $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')));
7:
Avatar billede nielle Nybegynder
14. juni 2006 - 06:33 #9
Denne her:

sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B'))

- skal læses sådan at det er funktionen strftime() som udregner tiden, og at det færdige resultat så bliver indsat der hvor der står %s i TABLE_HEADING_NEW_PRODUCTS (sltså i 'Nye varer for %s').

I følge dokumentetaionen betyder "%B" at det er dette som indsættes: "full month name according to the current locale". Siden at den skrive månedsnavnene på engelsk må det betyde at "locale" (altså stedet) er sat op til engelsk.

Du startede med at fortælle at languages var sat op til danish; Jeg er ikke 100% sikker på hvad du eksakt mener med dette, men det lader altså til at dette ikke helt er tilfældet alligevel. For at strftime() skal fungere korrekt, så skal du have denne linje et eller andet sted i din kode:

setlocale(LC_ALL, 'danish');

PS: Lær mere om strftime og setlocale her:

http://dk2.php.net/strftime
http://dk2.php.net/setlocale
Avatar billede bravida Nybegynder
14. juni 2006 - 14:48 #10
Mange tak for de gode svar, finder selv ud af hvor koden skal ligge.
nielle, du lægger lige et svar.
Avatar billede nielle Nybegynder
14. juni 2006 - 15:20 #11
Svar :^)
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