php – Zend Framework中的多语言网站

前端之家收集整理的这篇文章主要介绍了php – Zend Framework中的多语言网站前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在一个网站上工作,包括多语言支持.
我可以使用Zend_Translate翻译字符串,但内容呢?
例如,我是否必须为每种语言为同一产品添加多条记录?或者还有其他方法吗?
我是多语种的新手,请帮忙.
提前致谢.

—加法—————————–

好吧,我决定使用混合解决方案来使用谷歌翻译api并将其存储在数据库中以供进一步编辑.那么存储翻译的数据库结构应该是什么?

>我应该将不同语言的翻译保存在与父记录相同的表中.即产品表中的产品,附加一列标识语言.
>用于存储所有表的所有翻译的通用单表.例如翻译(id bigint,table_name vc(50),table_id bigint,langugae,column_name vc(50),翻译)

我应该在相关表中保存记录

几种可能的方法

>使用gettext(或像Poedit这样的软件)从内容提取数据.可以使用变量插值.
>创建视图过滤器,如:Zend Framework and Translation中所述
>在数据库中具有单独的数据内容.
如果您以标记(例如Markdown)格式存储内容,任何人都可以轻松翻译.用不同的语言创建搜索引擎很容易.

似乎第三种方法需要付出最大的努力,但这是值得的.

评论后更新

我假设您将产品数据存储在数据库中,如下所示:

- product_data
-- id
-- price
-- name
-- description
-- etc…

所以你应该修改它,为每种语言的翻译字符串添加字段:

- product_data
-- id
-- price

- product_data_translations
-- product_id
-- language (e.g. en)
-- name
-- description
-- etc

然后,您可以轻松地构建SQL查询提取product_id = x和language =“fr”的翻译数据.

您也可以使用Doctrine I18N自动为您完成.

您需要手动翻译内容(或使用Google API自动翻译),但是,您可以使用例如Zend_Search_Lucene轻松地对其进行索引.

原文链接:https://www.f2er.com/php/138541.html

猜你在找的PHP相关文章