FuelCMS中的多语言



我试图使一个多语言的网站与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中解决这个问题。

视图页面

另外,如果您的页面使用视图并且有一种语言值设置时,它将首先查找在views/language/{language}/文件夹中查看文件,如果没有找到它,它将默认只是视图文件夹。

编辑:

我用了另一种方法来解决它。只是还没有导入到CMS中。

我已经创建了如下结构在视图:

语言/

语言/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é';
}

最新更新