繁体   English   中英

'没有注册键'Zend_Translate'的条目

[英]'No entry is registered for key 'Zend_Translate'

因此,我必须更改一个使用Zend框架编写的网站。 我下载了源文件,并希望在本地运行该网站。 但是我一直收到此错误“密钥Zend_Translate没有注册任何条目”。 我没有Zend框架的经验,所以我真的不知道现在出了什么问题。 有人可以帮忙吗?

您的应用程序需要翻译器,并且需要在注册表中链接。 基本上,您需要添加Transaltor(如果尚未添加):

//Bootstrap.php
$locale = new Zend_Locale('en_GB'); //current locale
Zend_Registry::set('Zend_Locale', $locale); //this is optional but better to add this
$translate = new Zend_Translate(array('adapter' => 'tmx',
    'content' => APPLICATION_PATH . '/configs/translations.tmx',
    'locale' => $locale));
Zend_Registry::set('Zend_Translate', $translator); //here you add translator to registry

在这种情况下,翻译文件是translations.tmx ,其语法如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
   <body>
       <tu tuid='ADD_BASKET'>
            <tuv xml:lang="pl_PL"><seg>Dodaj do koszyka</seg></tuv>
            <tuv xml:lang="en_GB">Add to basket<seg></seg></tuv>
       </tu>
       <tu tuid='RECRIUT'>
            <tuv xml:lang="pl_PL"><seg>rekrutacja</seg></tuv>
            <tuv xml:lang="en_GB"><seg>recruit</seg></tuv>
       </tu>
   </body>
</tmx>

如果需要,Zend支持其他几种翻译文件格式的接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM