我试图使用fuelCMS在codeigniter中创建一个多语言网站。我找到了一些东西:
我在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:
- 约
- 产品/产品A
- 产品/产品B
另一种语言:
NL:
- overons
- producten /产品A
- producten /产品B
显示正确的导航。但所选择的语言并没有被导入&#34;在网址中。所以它总是消失。
实施例: 如果我在关于页面(英文默认)并且我将语言更改为nl。它仍然显示关于页面,但具有正确的荷兰导航。所以我对此有一些疑问。
(已解决此部分)是否有可能始终在网址中使用该语言?我查看了菜单类(http://docs.getfuelcms.com/libraries/menu),但无法添加。
我可以在CMS中有1个具有多语言的页面吗?如果我改变语言,它会显示正确的荷兰文本吗?
像
这样的东西{language=en}About the company{/language}
{language=nl}Over het bedrijf{/language}
答案 0 :(得分:0)
我设法解决了问题的一部分。
我添加了一个页面“overons”(NL的语言参数,位置overons) 然后我手动添加了此页面的导航,其中包含位置参数nl / overons。这很有效。
只有当我在英文页面上更改语言时,才会保留英语。所以我无法将页面链接到翻译的页面。
如果我在viewfolder中手动添加它们似乎是可能的。但我不知道如何在CMS中解决这个问题。
查看页面
此外,如果您的网页使用的是视图且有语言 用户使用Fuel_language设置的值,它首先会查找一个 在views / language / {language} /文件夹中查看文件,如果没有 找到它,它将默认为只有views文件夹。
编辑:
我用另一种方法来解决它。尚未导入CMS。
我在视图中创建了以下结构:
语言/
语言/ FR /
语言/ FR / home.php
语言/ FR / company.php
-
语言/ NL /
语言/ NL / home.php
语言/ NL / company.php
在全局视图中,我添加了home&amp; 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é';
}