Многоязычность в FuelCMS

Я пытаюсь сделать мультиязычный сайт в codeigniter с fuelCMS. Я выяснил некоторые вещи:

Я добавил многоязычную опцию в 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
);

Я настроил навигацию для разных языков.

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

Навигация похожа на:

по умолчанию en:

  • около
  • Продукты / producta
  • Продукты / productb

И другой язык:

п:

  • overons
  • Продукты / producta
  • Продукты / productb

Это показывает правильную навигацию. Но выбранный язык не «импортируется» в URL. Так что исчезает всегда.

Пример:
Если я на странице о (английский по умолчанию), и я меняю язык на nl. Это все еще показывает страницу о, но с правильной голландской навигацией. У меня есть несколько вопросов по этому поводу.

  • (Решено в этой части) Есть ли возможность, чтобы язык всегда был в URL? Я посмотрел в меню класс (http://docs.getfuelcms.com/libraries/menu) но не мог добавить это.

  • Могу ли я иметь 1 страницу в CMS с мультиязычностью? Если я поменяю язык, то он покажет правильный голландский текст?

Что-то вроде

{language=en}About the company{/language}
{language=nl}Over het bedrijf{/language}
  • Или есть другое решение? Если я поменяю язык, возможно, всегда зайду на домашнюю страницу этого языка?

1

Решение

Мне удалось решить одну часть моей проблемы.

Я добавил страницу «overons» (параметр языка для NL, местоположение overons)
А потом я вручную добавил навигацию для этой страницы с параметром местоположения nl / overons. Это работает.

Только если я меняю язык, пока я на английской странице, он остается на английском. Поэтому я не могу связать страницы с переведенными страницами.

Кажется возможным, если я добавлю их вручную в папке просмотра. Но я не знаю, как это исправить в CMS.

Просмотр страниц

Кроме того, если ваши страницы используют представления и есть язык
значение, установленное пользователем с помощью Fuel_language, он сначала будет искать
просмотреть файл в папке views / language / {language} /, и если это не так
найти его, по умолчанию будет только папка просмотров.

РЕДАКТИРОВАТЬ:

Я использовал другой метод, чтобы решить это. Только еще не импортированы в CMS.

Я создал следующая структура в представлениях:

язык /

язык / фр /

язык / фр / home.php

язык / фр / company.php

язык / нл /

язык / нл / home.php

язык / нл / company.php

И в карта глобальных видов, я добавлен дом & company.php.

И для правильного меню у меня есть этот код в
просмотров / _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é';

}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]