将现有内容更改为多语言

时间:2013-05-29 10:46:13

标签: php codeigniter multilingual

我们已经用英语完成了网站内容,现在我们想在网站上添加多语言选项。英语中有更多内容,所有内容都需要转换成新语言。

我可以像这样创建一个表

 content_id
 en_title
 ar_title
 fr_title
....

但现有的更多内容都是英文版。任何指导将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以将页面分成2个表格

page
- id
- other info that is generic

part
- id
- part_id
- page_id
- language
- content

现在你可以说用语言y获取第x页的内容。你也可以“轻松”(需要翻译很多:P)添加新语言,只需将它们放入零件表中


我将part_id添加到part。通过这种方式,您可以在第x页的部分ID y中使用语言q来表达我想要的内容。

答案 1 :(得分:0)

i18n的最基本实现可以通过语言文件完成。它涉及3个主要步骤

第1步:定义语言文件

对于您的示例,定义3个文件en.php,fr.php和ar.php(或更多语言的更多文件)。最好将所有这些文件保存在“语言”文件夹中。文件内容就像

<?PHP
$LANG_LABEL_TITLE = "Title in specific language";

第2步:包含语言文件

所有可访问Web的文件都必须有一个通用脚本;中央控制器或至少一个共同的标题。在该文件中detect default browser language并将其设置为会话。再次包括那里所需的语言文件。

第3步:使用标签

一旦您需要包含语言文件,只需在所需位置使用标签,如

<title><?PHP echo $LANG_LABEL_TITLE; ?></title>

这也是最基本的实现。通过它,如果你卡在某个地方,请询问该部分的具体问题。