我需要一个关于如何制作一个完整的多语言网站的想法。我遇到了很多方法,有些人使用 xml 文件来翻译模板位。如果我只想要主模板,这很有效。但即使是内容也会被翻译。
例如,我有一个新的英文条目,它应该被翻译成其他 4 种语言。大多数属性是通用的。
到目前为止,我通过为具有以下属性的主要网站模板创建一个表:lang、tag、value 在我的模板中,它将对 lang 和 tag 进行匹配。
翻译网站其余部分的最佳方法是什么(使用 mysql 的动态 php 页面)
我需要一个关于如何制作一个完整的多语言网站的想法。我遇到了很多方法,有些人使用 xml 文件来翻译模板位。如果我只想要主模板,这很有效。但即使是内容也会被翻译。
例如,我有一个新的英文条目,它应该被翻译成其他 4 种语言。大多数属性是通用的。
到目前为止,我通过为具有以下属性的主要网站模板创建一个表:lang、tag、value 在我的模板中,它将对 lang 和 tag 进行匹配。
翻译网站其余部分的最佳方法是什么(使用 mysql 的动态 php 页面)
您需要如下语言表:
CREATE TABLE `language` (
`langid` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`language` varchar(35) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`langid`)
) ENGINE=InnoDB
然后,例如,您有一个帖子表格,如下所示:
CREATE TABLE `post` (
`postid` int unsigned NOT NULL AUTO_INCREMENT,
`langid` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`content` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`title` varchar(35) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`postid`)
) ENGINE=InnoDB
在 post 表中,您需要一个 key like langid
,它指的是语言表中的特定语言。在您的仪表板中,您将拥有以下内容:
每个文本框都引用该特定语言。
您应该有另一个用于站点菜单的表,并将 langid 外键放在那里。你应该一切顺利。
查看 gettext 扩展 - http://php.net/manual/en/book.gettext.php
然后使用POEdit或simplepo之类的程序对语言文件进行实际编辑
IMO,这是我为多语言网站找到的最佳方式
您还可以查看Zend_Translate模块