我正在开发一个商业目录的网站。这些业务按类别分组,存储在数据库中。我现在的问题是这个网站将是多语言的,类别的名称需要存储在语言文件中。我可以简单地在category表中添加一个名为“language_index”的列,然后像这样调用它......
foreach($query_categories->result_array() as $cat){
$title = $this->lang->line($cat['language_index']);
}
但更大的问题是如果在数据库中添加,修改或删除类别,则修改语言文件以更改,添加或删除某一行。在我创建类别的表单中,我可以遍历所有语言,然后为每种语言添加一个表单字段,以便为每个语言文件保存不同的类别名称...例如:
<input type="text" name="english_cat_title">
<input type="text" name="filipino_cat_title">
但同样,我需要能够轻松修改category_names语言文件。有人有什么建议吗?
答案 0 :(得分:0)
我认为最简单的方式:
您可以存储以下类别:
id_category | lang | name
------------------------------
1 | en | Cat
1 | fr | Chat
....
您可以制作主键id_category + lang。
然后按照语言获取您的分类:
$category = $this->db->get_where('categories', array('lang' => $user_lang))->row();
然后将结果添加到全局语言中:
$category_lang['category_name'] = $category->name;
$this->lang->language = array_merge($this->lang->language, $category_lang);
echo $this->lang('category_name');
如果你有几行或其他什么,你当然可以适应。