MVC Multi-language

Tags:    php

Jeg har i PHP kodet et simpelt MVC framework, der passer mit behov.

Men en ting jeg er itvivl om er hvordan jeg skal lave multi-language.
Jeg har kigget på .po og .mo filer, det er vidst det wordpress bruger. Er det godt, eller skal jeg bruge en .php fil jeg inkludere til at henter de nødvendige variabler.

Kom gerne med gode tips! Jeg går efter den måde der gør mit PHP script hurtigst. Men hvis der er en løsning der gør det nemt at opdatere de forskellige sprog, er jeg også nysgerrig!

På forhånd tak!



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 19 karma
Sorter efter stemmer Sorter efter dato
.po .mo filer er ikke specifikt til wordpress. Det er en del af PHP, og benyttes ifbm. gettext() http://php.net/manual/en/function.gettext.php

.po filen er den rå tekst fil som indeholder, linje for linje, den originale tekst-streng og derefter hvad den oversættes til i et givent sprog.

.mo filen er den kompilerede udgave.

poedit er et af de programmer man kan benytte til at redigerer oversættelser. Holdet bag Wordpress har også lavet web-version - husker ikke hvad den hedder.

PO/MO er generelt hurtigere da filerne indlæses i PHP's cache og lagres til fremtidige requests, hvor PHP filer indlæses i RAM pr. request. Altså opnår man med PO/MO højere hastighed og bedre udnyttelse af resourcer.



Indlæg senest redigeret d. 10.10.2014 22:24 af Bruger #10216
Jeg tror lige jeg lytter med her.

Pt gør jeg det via php-sprog filer jeg henter ind



Hold så op, det var godt nok nemt.

Nå jeg må se at få det bygget ind i mit projekt i CI.

Guides, hvis du mangler en video til det, så forklarer denne indiske gut det egentlig meget godt, omend at han har et lidt sjovt engelsk, men hey, så kan man lære og grine på samme tid.

http://www.youtube.com/watch?v=-RuqVDdC1cI

Bare lige i forlængelse af det hele Michael.
Skal man anvende locale/LC_MESSAGES, kan man ikke gå uden om det? (Jeg ved jeg er sær, men synes det ser hammer grimt ud i mine mapper)



Indlæg senest redigeret d. 11.10.2014 09:12 af Bruger #15663
Jeg mener man kan mappe direkte til en MO fil. Det er længe siden jeg har kigget på det, så det må du undersøge. Men grundlæggende passer navngivningen sammen sammen med GNU enviroment konstanterne:
LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES

Disse findes også i PHP.

Det ser dog ud til at Wordpress har en løsning uden den "grimme" navngivning. Du kan prøve at grave i den. :)



Jeg bruger selv xml filer...



Tusind tak for svarende, jeg tror jeg bruger gettext!

Og tak for video linket, han formåede virkelig at forklar hvordan man skulle sætte det op, tak!





t