Er du ny her på Codefinder?
Del på:
Tweet
Hej kære alle med-udviklere :)
Jeg sysler lidt med muligheden for at oversætte mit website til andre sprog end dansk og har fundet GetText rimelig passende, da det eftersigende skulle være nemt og lækkert at benytte når man har +10 undersider.
Er der nogle herinde der har erfaring med GetText og POedit (windåse) og som gerne vil hjælpe mig lidt i gang?
Jeg har hentet POedit og forsøger at oprette et nyt katalog, men programmet fortæller at det ikke fandt nogle filer. Jeg har googlet en del omkring POedit og GetText men syntes ikke rigtigt jeg bliver klogere :)
Hvad hulen skal man skrive som basissti?
Er der eventuelt nogle af jer som har et simpelt eksempel af hvordan en .mo fil skal se ud?
Håber I vil hjælpe mig lidt i gang.
Åh hat, prøv at køre lokalt sagde manden...
Nu fik jeg da genereret en .mo + .po fil, men hvordan hulen får jeg min PHP fil oversat?
Jeg har fundet Simon Jensen's "guide" -> http://www.simon-jensen.net/saadan-oversaetter-du-din-webapplikation.html og lavet stisystemet som han skriver, men den giver bare blank side med følgende kode;
<?php
gettext("Hej verden");
?>
I min .po har jeg (udover indstillingerne) følgende;
#: F:\Network\www\Mikkel\Lagersystem/test.php:2
msgid "Hej verden"
msgstr "Hello world"
test.php returnerer bare med blank side.
Jeg plejer at bruge array metoden som ham Simon beskriver på sin hjemmeside. Jeg syntes ikke rigtigt at hans argumenter holder tæt mht. hvis man laver en stavefejl.
Anyway jeg plejer at gøre det at jeg laver en fil f.eks. lang/da.php og i min fil med klasser osv. laver jeg en klasse kun til sprog.
Nogen i den her stil:
class Lang {
protected $lang;
public function __construct($lang){
$this->lang = $lang;
}
public function get($var){
include('lang/'.$this->lang.'.php');
return $da[$var];
}
}
Og i de klasser jeg så bruger det, gør jeg sådan her:
class main {
// Bla bla bla
public $lang;
public function helloWorld(){
$this->lang = new Lang('da')
echo $this->lang->get('HelloWorld');
}
}
Det er jo egentlig meget simpelt, men ja jeg ved godt det ikke rigtigt svarer dig på dit oprindelige spørgsmål.
#3 Jaeh jeg havde også overvejet at benytte arrays, men kom i tanke om en artikel jeg har læst om netop den måde, hvor forfatteren virkelig pointerede hvorfor man ikke bør gøre det på denne måde - især hvis websitet har mange undersider etc.
Jeg fandt en løsning ved at bruge php-gettext, som virker ganske forbløffende på samme måde som selve modulet gettext. Og med denne løsning virker den kode som jeg skrev i tråden.
Så d'et bar dajligt
:-)