'没有注册密钥'Zend_Translate'的条目

时间:2014-08-14 07:05:35

标签: php zend-framework

所以我必须更改一个在Zend框架上编写的网站。我下载了源文件,想在本地运行网站。但我一直收到这个错误'没有注册密钥'Zend_Translate'。我没有使用Zend框架的经验,所以我真的不知道现在的问题是什么。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您的申请需要翻译,并且需要在注册表中进行链接。基本上你需要添加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支持少数其他翻译文件格式的接口。