我试图使一个多语言的网站与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:
- 对
- 产品/有的时候
- 产品/productb
另一种语言:
问:
- overons
- producten/有的时候
- producten/productb
显示正确的导航。但是所选语言并没有在url中"导入"。所以它总是消失。
的例子:如果我在about页面(默认为英语),我将语言更改为nl。它仍然显示about页面,但是有正确的荷兰语导航。所以我有一些问题。
(解决了这部分)是否有可能在url中始终使用该语言?我查看了菜单类(http://docs.getfuelcms.com/libraries/menu),但无法添加
我可以在CMS中有多语言的1页吗?如果我改变语言,它会显示正确的荷兰语文本吗?
{language=en}About the company{/language}
{language=nl}Over het bedrijf{/language}
- 还是有其他解决方案?如果我改变语言,也许总是要去那个语言的主页?
我总算解决了一部分问题。
我添加了一个页面"overons"(语言参数到NL,位置overons)然后我用位置参数nl/overons手动添加了这个页面的导航。这工作。
只有当我在英语页面上更改语言时,它才会保持英语。所以我无法将这些页面链接到翻译后的页面。
如果我在viewfolder中手动添加它们似乎是可能的。但是我不知道如何在CMS中解决这个问题。
编辑:我用了另一种方法来解决它。只是还没有导入到CMS中。视图页面
另外,如果您的页面使用视图并且有一种语言值设置时,它将首先查找在views/language/{language}/文件夹中查看文件,如果没有找到它,它将默认只是视图文件夹。
我已经创建了如下结构在视图:
语言/语言/fr/语言/fr/home。
语言/fr/company.php
语言/问/
语言/问/home。
语言/问/company.php
在全局视图地图中,我添加了home &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é';
}