【发布时间】:2012-10-16 16:32:16
【问题描述】:
我正在创建一个网站,它必须是多语言的。必须进行翻译并加上前缀 (没有自动翻译 api)。我的问题是,什么更有效?:
- 为每种语言创建一个文件集。
- 创建一个文件集并通过 PHP 常量显示文本。
- 我还想过做一个 MySql 查询来获取一个包含文档开头所有翻译的数组。
注意:*不会有很大的文本。
【问题讨论】:
标签: php constants multilingual
我正在创建一个网站,它必须是多语言的。必须进行翻译并加上前缀 (没有自动翻译 api)。我的问题是,什么更有效?:
注意:*不会有很大的文本。
【问题讨论】:
标签: php constants multilingual
从长远来看,您最好的选择是为每种语言使用一个文件集。如果您使用行业标准格式,例如 GNU gettext,PHP 有built in support。此外,第三方翻译公司和翻译工具通常支持该格式,因此长期网站维护对开发人员的依赖较少。
【讨论】:
我正在为我正在开发的网站使用Zend Translate。
Zend Framework 中的大部分组件都可以作为独立组件使用。我正在使用完整的堆栈,但仅使用 Zend Translate 应该不是什么大问题。
至于使用数据库获取翻译,我认为这取决于您处理的内容类型。例如,对于 Joomla!有一些组件以不同的语言存储同一篇文章的不同版本。
我会推荐 Zend Translate,因为您有不同的选项来获取翻译:PHP 数组、INI 文件、gettext、xml。
您可以事件扩展适配器类以创建数据库后端适配器。
希望对你有帮助。
【讨论】:
translate($message) 函数以从数组中获取字符串,不应该更复杂。
我想它会帮助你:http://www.youtube.com/watch?v=v7vCp_TFcdU
它使用session 来存储选择的语言并为每种语言使用一个数组。
【讨论】: