/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
php's gettext support - nogen som har fået~
Fra : Kim Schulz


Dato : 26-09-03 08:45

hejsa
jeg har nu siddet og rodet med gettext i php i nogle dage, men kan ikke få det til at virke ordenligt. Det virker periodisk og kun på nogen maskine (ja gettext er kompileret ind alle steder) og jeg kan ikke se hvad det er som gør dem forskellige.
Nogen der har fået det til at virke stabilt og som i så fald kan give mig et fungerende eksempel??

 
 
Anders Dahl Ovesen (26-09-2003)
Kommentar
Fra : Anders Dahl Ovesen


Dato : 26-09-03 10:07

Hej Kim

Har du kigget på kommentarerne i dokumentationen på php.net ?

/Anders

"Kim Schulz" <kim@schulz.dk> wrote in message
news:20030926094439.596e250c.kim@schulz.dk...
hejsa
jeg har nu siddet og rodet med gettext i php i nogle dage, men kan ikke få
det til at virke ordenligt. Det virker periodisk og kun på nogen maskine (ja
gettext er kompileret ind alle steder) og jeg kan ikke se hvad det er som
gør dem forskellige.
Nogen der har fået det til at virke stabilt og som i så fald kan give mig et
fungerende eksempel??



Kim Schulz (26-09-2003)
Kommentar
Fra : Kim Schulz


Dato : 26-09-03 10:11

On Fri, 26 Sep 2003 11:07:28 +0200
"Anders Dahl Ovesen" <jonaside@mail.dk> wrote:

> Hej Kim
>
> Har du kigget på kommentarerne i dokumentationen på php.net ?
>
> /Anders
>
> "Kim Schulz" <kim@schulz.dk> wrote in message
> news:20030926094439.596e250c.kim@schulz.dk...
> hejsa
> jeg har nu siddet og rodet med gettext i php i nogle dage, men kan ikke få
> det til at virke ordenligt. Det virker periodisk og kun på nogen maskine (ja
> gettext er kompileret ind alle steder) og jeg kan ikke se hvad det er som
> gør dem forskellige.
> Nogen der har fået det til at virke stabilt og som i så fald kan give mig et
> fungerende eksempel??

ja og testet alle de ting som er skrevet.

Lars Dybdahl (26-09-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 26-09-03 17:47

Kim Schulz wrote:
> Nogen der har fået det til at virke stabilt og som i så fald kan give mig
et fungerende eksempel??

Jep. En ting, der kan snyde en hel del, er at du skal genstarte webserveren
hvis du udskifter/overskriver dine .mo filer. Det skyldes, at php cacher
placeringerne af teksterne i .mo filerne, og så går det meget galt, når du
udskrifter .mo filerne.

En anden mulighed, som jeg bruger, er at skifte textdomain hver gang man har
uploadet en ny .mo fil, og så kalde .mo filen noget nyt.

I øvrigt ser min start på mit eksempel sådan ud:

Header ("Content-Type: text/html; charset=utf-8");
setgettextlocale();
$domain="dxgettext001";
BindTextDomain ($domain,$_SERVER["DOCUMENT_ROOT"]."/dxgettext/locale");
TextDomain ($domain);

Her bruges denne funktion, som auto-detekterer browserens sprog og vælger
mellem dansk og engelsk som mulige sprog:

function setgettextlocale() {
global $gtlocale;
$gtlocale="C";
if (!isset($_COOKIE["english"])) {
$s=array("da","en");
$langs=explode(",",$_SERVER["HTTP_ACCEPT_LANGUAGE"]);
reset ($langs);
while (list($key,$value)=each($langs)) {
$cur=explode(";",$value);
$first=substr($cur[0],0,2);
if (in_array($first,$s)) {
$gtlocale=$first;
break;
}
}
}
putenv ("LANG=".$gtlocale);
}

Og herefter virker _("My text") ganske glimrende. Mine .mo filer ligger
sådan her:

locale/da/LC_MESSAGES:
total 78
-rw-r--r-- 1 dybdahl users 7133 Apr 12 07:43 dxgettext.mo
-rw-r--r-- 1 dybdahl users 7252 Apr 12 07:53 dxgettext.po
-rw-r--r-- 1 dybdahl users 12047 Apr 12 11:01 dxgettext001.mo
-rw-r--r-- 1 dybdahl users 12265 Apr 12 11:01 dxgettext001.po

Her kan du se to sæt .mo filer og .po filer, hvor .po filerne ikke bruges på
produktionswebsiten, og hvor dxgettext.mo er den gamle version, der ikke
bruges mere.

Hilsen,

Lars.

--
Freelance programmør
Programmering mod timebetaling

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408528
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste