Hallöchen, habs nun doch ausprobiert und bekomme sowohl bei /cake/libs/controller/ app_controller.php | pages_controller.php
folgende fehlermeldung: Notice (8): Undefined property: PagesController::$Setting [CORE\cake \libs\controller\app_controller.php, line 68] Fatal error: Call to a member function field() on a non-object in G: \NStarke\cake\libs\controller\app_controller.php on line 68 On 25 Jul., 20:56, Davor Ilic <[email protected]> wrote: > du kannst natürlich die ganze language sache statt in den > pages_controller.php in dein app_controller.php reinhauen ich hab das nicht > gebraucht deswegen nur in dem controller > > Am 25. Juli 2011 20:46 schrieb gloop <[email protected]>: > > > > > > > > > Danke ich werde das morgen mal ausprobieren. > > > LG Steffen > > > On 25 Jul., 20:25, Davor Ilic <[email protected]> wrote: > > > du brauchst nur die $pageLang varibale die unteren sind special languages > > > für die überstungen von widgets wie facebook und co > > > > 2011/7/25 Davor Ilic <[email protected]> > > > > > ok zuerst definiere im router deine lang parameter. > > > > ich hab folgendes: > > > > > Router::connect('/:lang', > > > > array('controller'=>'pages','action'=>'index')); > > > > Router::connect('/:lang/:controller/:action/*', array('controller' => > > > > 'pages', 'action' => 'index')); > > > > > dann tue ich hardcoded in meinem controller den paramter rausnehmen und > > > > mache dies hier im 'pages_controller.php' : > > > > > function language() { > > > > if(!isset($this->params['lang']) && > > empty($this->params['lang'])) > > > > { > > > > $lang = explode('-', $_SERVER['HTTP_ACCEPT_LANGUAGE']); // > > hier > > > > setze ich fest welche spache der user schon vorgewählt hat um im schon > > auf > > > > die richtige language zu lotzen > > > > $language = array('lang'=>$lang[0]); > > > > > }else{ > > > > $language = array('lang' => $this->params['lang']); > > > > } > > > > > switch($language['lang']) { > > > > > case 'de': > > > > $pageLang = 'de'; > > > > $spLang = 'de_DE'; > > > > break; > > > > case 'en': > > > > $pageLang = 'en'; > > > > $spLang = 'en_US'; > > > > break; > > > > > default: > > > > $pageLang = 'de'; > > > > $spLang = 'de_DE'; > > > > break; > > > > } > > > > > $this->params['splang'] = $spLang; > > > > > return $this->params['lang'] = $pageLang; > > > > } > > > > > das wäre dann die methode die ich dann in meinem beforefilter > > reinschmeße: > > > > > function beforefilter() { > > > > parent::beforeFilter(); > > > > $this->language();//Sprachausgabe nur in en und de derzeit moeglich > > > > $this->set('home', $this->Setting->field('set_kat_id')); > > > > if($this->language()=='en') {// hier lege ich fest welche default.po > > er > > > > wählen soll eng oder ger > > > > $translate = 'eng'; > > > > }else{ > > > > $translate = 'ger';// ger habe ich nicht eingespeist das heißt wenn er > > > > nichts findet verwendet er normal __('Senden') anstelle noch extra eine > > > > translate file anzugeben weil es eben nicht nötig ist > > > > } > > > > Configure::write('Config.language', $translate); > > > > > $this->Session->write('Config.language', $translate);// hier > > lege > > > > ich fest dann welche sprache gewählt wurde und speichere sie in einer > > > > session das er auch vortlaufend die sprache beibehält ist etwas > > > > optimierungswürdig aber hatte keine zeit bisher > > > > } > > > > > und mein folder wo die '.po' ist sieht folgendermaßen aus: > > > > > - /app > > > > -- /locale > > > > --- /eng > > > > ---- /LC_MESSAGES > > > > -- /default.po > > > > > wie du siehst habe ich keinen ger ordner aber falls ich es mal brauche > > habe > > > > ich es schon so voreingestellt > > > > und in der default.po kommt dann deine übersetzung rein > > > > > msgid "Anfrage Senden" > > > > msgstr "Send request" > > > > > bei mir ist halt die sprache die ich brauche eingestellt vom user > > abhängig > > > > > hoffe das hilft dir > > > > > 2011/7/25 gloop <[email protected]> > > > > >> Im from germany ;) > > > > >> Die englische übersetzung klappt, aber auch nur, weil englisch die > > > >> voreinstellung von cake php ist. > > > > >> mit __('id', true); klappt es nicht, aber ich habe auch gelesen, dass > > > >> dies für die rückgabe einer variable ist und nicht die ausgabe direkt. > > > > >> Configure::write('Config.language', 'de'); << das funktioniert leider > > > >> nicht. > > > > >> On 25 Jul., 19:18, Davor Ilic <[email protected]> wrote: > > > >> > in your default.po you write this > > > > >> > msgid "Anfrage Senden" > > > >> > msgstr "Send request" > > > > >> > and with the gloabl func __('Anfrage Senden', true); > > > > >> > be sure to write it corectly or your translate won´t work > > > > >> > or did you mean some other stuff > > > > >> > where you from? i´m from austria... if it´s easier for you to write > > in > > > >> > german then do this please it´s also for me easier :D > > > > >> > 2011/7/25 gloop <[email protected]> > > > > >> > > OH i try it again and with Configure::write('Config.language', > > 'en'); > > > >> > > it works fine! > > > > >> > > How can i include the german language? > > > > >> > > On 25 Jul., 17:03, Davor Ilic <[email protected]> wrote: > > > >> > > > i´ve use it like that __('test', true); > > > > >> > > > but also you have to define some vars to switch did from en to > > other > > > >> lang > > > >> > > > you? > > > > >> > > > 2011/7/25 gloop <[email protected]> > > > > >> > > > > Hello, > > > > >> > > > > i search a whole time in the web for multilanguage in CakePHP. > > I > > > >> found > > > >> > > > > that must create a folder in /app/locale/deu/LC_MESSAGE with a > > > >> file > > > >> > > > > default.po. These musst filled with: > > > > >> > > > > msgid "test" > > > >> > > > > msgstr "here the text" > > > > >> > > > > that could use in the *.ctp with: > > > > >> > > > > <?php __('test');?> > > > > >> > > > > if the entry not found it would write "test". > > > > >> > > > > Default is in CakePHP "en". > > > > >> > > > > Now i've write in /app/locale/eng/LC_MESSAGE/default.po for > > > >> testing > > > >> > > > > the same text like in the german version, but it writes always > > the > > > >> > > > > "msgid". > > > > >> > > > > I've never managed to write the "msgstr". > > > > >> > > > > Can anyone help me with my problem :( > > > > >> > > > > Kind regards > > > >> > > > > gloop > > > > >> > > > > -- > > > >> > > > > Our newest site for the community: CakePHP Video Tutorials > > > >> > > > >http://tv.cakephp.org > > > >> > > > > Check out the new CakePHP Questions > > > >> sitehttp://ask.cakephp.organdhelp > > > >> > > > > others with their CakePHP related questions. > > > > >> > > > > To unsubscribe from this group, send email to > > > >> > > > > [email protected] For more options, visit > > > >> this > > > >> > > group > > > >> > > > > athttp://groups.google.com/group/cake-php > > > > >> > > -- > > > >> > > Our newest site for the community: CakePHP Video Tutorials > > > >> > >http://tv.cakephp.org > > > >> > > Check out the new CakePHP Questions > > sitehttp://ask.cakephp.organdhelp > > > >> > > others with their CakePHP related questions. > > > > >> > > To unsubscribe from this group, send email to > > > >> > > [email protected] For more options, visit > > this > > > >> group > > > >> > > athttp://groups.google.com/group/cake-php > > > > >> -- > > > >> Our newest site for the community: CakePHP Video Tutorials > > > >>http://tv.cakephp.org > > > >> Check out the new CakePHP Questions sitehttp://ask.cakephp.organdhelp > > > >> others with their CakePHP related questions. > > > > >> To unsubscribe from this group, send email to > > > >> [email protected] For more options, visit this > > group > > > >> athttp://groups.google.com/group/cake-php > > > -- > > Our newest site for the community: CakePHP Video Tutorials > >http://tv.cakephp.org > > Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help > > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > > [email protected] For more options, visit this group > > athttp://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
