首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend Framework:模型中的可翻译内容

Zend Framework:模型中的可翻译内容
EN

Stack Overflow用户
提问于 2011-02-02 17:03:28
回答 1查看 1.6K关注 0票数 3

我的应用程序中有一个模型,负责创建初始数据库结构(类似于安装程序)。我最近添加了可翻译的内容(使用gettext)。我想让初始的内容依赖于语言。

在模型中使用可翻译内容的最佳方式是什么?有没有办法在模型内部使用view->translate()函数,或者我需要从外部传递已经翻译好的字符串,例如作为参数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-02 19:53:44

假设您已经启动了Zend_Locale和Zend_Translate,并将它们保存在Zend_Registry中(默认情况下,它们分别位于注册表的'Zend_Locale‘和'Zend_Translate’下),您可以在模型中访问translate()方法,如下所示:

代码语言:javascript
复制
    /*@var $translator Zend_Translate */
    $translator = Zend_Registry::get('Zend_Translate');

    /*@var $adapter Zend_Translate_Adapter */
    $adapter = $translator->getAdapter();

    var_dump($adapter->translate('Text to be translated'));

上面示例中的转换将根据您的Zend_Locale执行。

在您的模型中转换数据的最佳方式是什么?我没有把握。如果你想让翻译对你的控制器甚至模型是“不可见的”或“透明的”,你可以重载Zend_DB_Table_Row和embed translate()方法的__get和__set方法。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4872461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档