Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php多语言网站_Php_Multilingual - Fatal编程技术网

Php多语言网站

Php多语言网站,php,multilingual,Php,Multilingual,我在一个网站上工作,要求用两种语言,即冰岛语和英语。 就像facebook和其他google一样,如果用户选择了一种语言,那么网站就会被翻译成该语言。 我不允许使用谷歌翻译。 在Php中还有其他方法可以做到这一点吗 提前感谢我使用了一个es.php(西班牙语,不知道冰岛语是什么),并根据它构建了所有的mod_重写。如果它是英语的index.php,您会将其视为完全相同的内容。要将数据输入数据库,请为语言设置一列。所有调用数据的查询都将以语言作为条件。您可以使用“gettext”,但如果您和您的客

我在一个网站上工作,要求用两种语言,即冰岛语和英语。 就像facebook和其他google一样,如果用户选择了一种语言,那么网站就会被翻译成该语言。 我不允许使用谷歌翻译。 在Php中还有其他方法可以做到这一点吗


提前感谢

我使用了一个es.php(西班牙语,不知道冰岛语是什么),并根据它构建了所有的mod_重写。如果它是英语的index.php,您会将其视为完全相同的内容。要将数据输入数据库,请为语言设置一列。所有调用数据的查询都将以语言作为条件。

您可以使用“gettext”,但如果您和您的客户非常了解,请他也以英语以外的语言提供数据,然后在DB表中会有一列“language”,其中“ic”或“en”标志将是数据,在任何地方获取数据时,根据语言,sql查询将包含该语言作为where条件,并将所需标志作为其值

嗯,我从来没有做过,但我确实想过:),对我来说,我必须从头开始做这样的事情

首先,不要回显硬编码的字符串,创建一个字典,这个字典可以是任何格式,可以是php文件、xml文件、json。您还可以通过在其中添加数据库来扩展该功能。其主要思想是创建一个字典,其中包含所有消息,这些消息将以您希望显示的所有语言显示给用户

考虑一下,如果您使用普通的PHP文件,使用OOP构建的类,比如Message,然后作为类的属性添加您必须使用的几种语言以及一些setter和getter

e、 g

然后在PHP中,当您回显消息时,尝试获取您想要使用的语言,然后 做这样的事

echo message.getEnglishMessage();
听着,我已经非常通用了,现在决定要使用的文件类型并构建字典


希望有帮助:-)

您是从头开始构建框架还是使用CMS?我正在从头开始定制php,可能是重复的
echo message.getEnglishMessage();