php - Multi language in FuelCMS -


i'm trying make multilanguage site in codeigniter fuelcms. have figured out things:

i have added multilanguage option in my_fuel.php

$config['language_mode'] = 'segment'; $config['settings']['languages'] =  array(                         'type' => 'keyval',                         'fields' => array(                                 'key' => array('ignore_representative' => true),                                 'label' => array('ignore_representative' => true),                             ),                         'class' => 'repeatable',                         'repeatable' => true,                         'ignore_representative' => true                     ); 

i have set navigation different languages.

<?php echo fuel_nav(array('container_tag_id' => 'mastermenu', 'item_id_prefix' => 'menu-item','subcontainer_tag_class' => array("submenu"),'language' => $this->fuel->language->selected())); ?> 

the navigation like:

default en:

  • about
  • products/producta
  • products/productb

and other language:

nl:

  • overons
  • producten/producta
  • producten/productb

it shows correct navigation. selected language isn't "imported" in url. dissapears always.

example: if i'm on page (english default) , change language nl. still shows page, correct dutch navigation. have questions it.

  • (solved part) there possibility have language in url? looked in menu class (http://docs.getfuelcms.com/libraries/menu) couldn't add it.

  • can have 1 page in cms has multilanguage in it? if change language, show correct dutch text?

something like

{language=en}about company{/language} {language=nl}over het bedrijf{/language} 
  • or there solution? if change language, maybe go homepage of language?

i managed solve 1 part of problem.

i added page "overons" (language parameter nl, location overons) , manually added navigation page location parameter nl/overons. works.

only if change language while i'm on english page, stays in english. can't link pages translated pages.

it seems possible if add them manually in viewfolder. don't know how fix in cms.

view pages

additionally, if pages using views , there language value set user using fuel_language, first view file in views/language/{language}/ folder , if doesn't find it, default views folder.

edit:

i have used method solve it. not yet imported cms.

i have created following structure in views:

language/

language/fr/

language/fr/home.php

language/fr/company.php

-

language/nl/

language/nl/home.php

language/nl/company.php

and in global views map, added home & company.php.

and correct menu have code in views/_variables/nav.php

if($this->fuel->language->selected() == "nl"){  $nav['home'] = 'home'; $nav['contact'] = 'contact'; $nav['company'] = 'over ons';  } if($this->fuel->language->selected() == "en"){      $nav['home'] = 'home';     $nav['contact'] = 'contact';     $nav['company'] = 'about us';  }  if($this->fuel->language->selected() == "fr"){      $nav['home'] = 'accueil';     $nav['contact'] = 'contact';     $nav['company'] = 'société';  } 

Comments