Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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_Constants_Multilingual - Fatal编程技术网

Php 创建多语言网站-静态还是动态?

Php 创建多语言网站-静态还是动态?,php,constants,multilingual,Php,Constants,Multilingual,我正在创建一个网站,它必须是多语言的。必须进行翻译并添加前缀(无自动翻译api)。我的问题是,什么更有效率 为每种语言创建一个文件集 创建一个文件集并通过PHP常量显示文本 我还考虑进行一个MySql查询,以获得一个在文档开头包含所有翻译的数组 注意:*不会有太大的文本。从长远来看,最好的选择是为每种语言使用一个文件集。如果您使用行业标准格式,如GNU gettext,则PHP具有。此外,第三方翻译公司和翻译工具通常支持这种格式,因此长期的网站维护需要较少的对开发人员的依赖。长期而言,您最好

我正在创建一个网站,它必须是多语言的。必须进行翻译并添加前缀(无自动翻译api)。我的问题是,什么更有效率

  • 为每种语言创建一个文件集
  • 创建一个文件集并通过PHP常量显示文本
  • 我还考虑进行一个MySql查询,以获得一个在文档开头包含所有翻译的数组

注意:*不会有太大的文本。

从长远来看,最好的选择是为每种语言使用一个文件集。如果您使用行业标准格式,如GNU gettext,则PHP具有。此外,第三方翻译公司和翻译工具通常支持这种格式,因此长期的网站维护需要较少的对开发人员的依赖。

长期而言,您最好的选择是为每种语言使用一个文件集。如果您使用行业标准格式,如GNU gettext,则PHP具有。此外,第三方翻译公司和翻译工具通常支持这种格式,因此长期的网站维护需要较少的对开发人员的依赖。

我正在为一个网站工作

Zend Framework中的大多数组件都可以用作独立组件。我正在使用完整的堆栈,但是只使用Zend Translate应该不是一个大问题

至于使用数据库获取翻译,我认为这取决于您处理的内容类型。例如,为了乔姆拉!有一些组件以不同的语言存储同一篇文章的不同版本

我推荐Zend Translate,因为您可以从以下不同的选项获取翻译:PHP数组、INI文件、gettext、xml

您可以通过事件扩展适配器类来创建数据库后端适配器

希望能有所帮助。

我正在为一个网站工作

Zend Framework中的大多数组件都可以用作独立组件。我正在使用完整的堆栈,但是只使用Zend Translate应该不是一个大问题

至于使用数据库获取翻译,我认为这取决于您处理的内容类型。例如,为了乔姆拉!有一些组件以不同的语言存储同一篇文章的不同版本

我推荐Zend Translate,因为您可以从以下不同的选项获取翻译:PHP数组、INI文件、gettext、xml

您可以通过事件扩展适配器类来创建数据库后端适配器

希望它能帮上忙。

我想它会帮到你:
它使用
session
存储所选语言,并为每种语言使用一个数组。

我认为它将帮助您:

它使用
session
存储所选语言,并为每种语言使用一个数组。

这可能是一个选项,但我并不真正需要这种解决方案,因为我不需要处理大型翻译。大的内容直接以各自的语言显示(并且不会被翻译),正如我所说的,使用Zend Translate作为独立组件应该会有任何问题,只需要告诉适配器您的文件在哪里。这些可以是格式为:TRANSLATION\u MESSAGE\u ID=“嘿,我即将被翻译”的纯文本INI文件。它实际上可以检测文件夹结构。否则,您可以使用一个简单的function.Perfect实现一个简单的PHP数组方法。而且,使用Zend Translate这样的框架和使用自己的数组有什么区别?我的意思是,为了简单的目的,框架不是太复杂了吗?是的,您可以只包含所需的PHP语言文件并返回包含由消息ID索引的翻译的数组,然后编写
translate($message)
函数从数组中获取字符串,不应该更复杂。您可以使用此工具或其他工具在线翻译,但内容的完整性无法通过引用Google提供的工具(如Google trasnlate、ajax Google等)来保证。这可能是一个选项,但我并不真正需要此类解决方案,因为我不处理大型翻译。大的内容直接以各自的语言显示(并且不会被翻译),正如我所说的,使用Zend Translate作为独立组件应该会有任何问题,只需要告诉适配器您的文件在哪里。这些可以是格式为:TRANSLATION\u MESSAGE\u ID=“嘿,我即将被翻译”的纯文本INI文件。它实际上可以检测文件夹结构。否则,您可以使用一个简单的function.Perfect实现一个简单的PHP数组方法。而且,使用Zend Translate这样的框架和使用自己的数组有什么区别?我的意思是,为了简单的目的,框架不是太复杂了吗?是的,您可以只包含所需的PHP语言文件并返回包含由消息ID索引的翻译的数组,然后编写
translate($message)
函数从数组中获取字符串,不应该更复杂。您可以使用此工具或其他工具在线翻译,但内容的完整性无法通过引用Google提供的工具(如Google trasnlate、ajax Google等)来保证。我将对此进行研究。例如,你认为像facebook这样的系统是如何建立的?单个文件?我想你可以到这个问题去探索更多的细节,我将要研究它。例如,你认为像facebook这样的系统是如何建立的?单个文件?我想你可以进入这个问题来探索更多细节,因为这个问题专门问什么更有效。如果youtube视频回答了这个问题,你能在这里把它压缩成文本吗?这个问题特别问什么更有效。如果youtube视频回答了这个问题,你能在这里把它压缩成文本吗?