gpt4 book ai didi

php - Zend 框架中的多语言站点

转载 作者:行者123 更新时间:2023-12-02 07:50:37 24 4
gpt4 key购买 nike

我正在开发一个包含多语言支持的网站。我可以使用 Zend_Translate 翻译字符串,但是内容呢?例如,我是否必须为每种语言的同一产品添加多个记录?或者还有其他方法吗?我是多语言新手,请帮忙。提前致谢。

--- 加法-----------------

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

  1. 我是否应该将不同语言的翻译保存在同一个表中作为父记录。即对于产品表中的产品,在标识语言中有一个额外的列。
  2. 一个通用的单个表,用于存储所有表的所有翻译。例如翻译(id bigint,table_name vc(50),table_id bigint, langugae, column_name vc(50), translation)

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

最佳答案

几种可能的方法:

  1. 使用 gettext(或类似 Poedit 的软件)从内容中提取数据。可以使用变量插值。
  2. 创建 View 过滤器,如下所述:Zend Framework and Translation
  3. 在数据库中拥有独立的数据内容。
    如果您以标记(例如 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 查询以提取翻译后的数据where product_id=x and language="fr"

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

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

关于php - Zend 框架中的多语言站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4057386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com