zend-framework - Zend Translate 找不到语言

标签 zend-framework internationalization zend-translate

我遇到了 Zend Translate 问题。我已经在 Bootstrap 中配置了 zend 翻译,如下所示

public function _initTranslate() {
    $locale = new Zend_Locale();
    Zend_Registry::set('Zend_Locale', $locale);

    $translate = new Zend_Translate(array(
                'adapter' => 'ini'
                    )
    );

    $translate->addTranslation(
            array(
                'content' => APPLICATION_PATH . '/configs/languages/pt.ini',
                'locale' => 'pt'
            )
    );
    $translate->addTranslation(
            array(
                'content' => APPLICATION_PATH . '/configs/languages/en.ini',
                'locale' => 'en'
            )
    );

    $translate->setLocale($locale);
    Zend_Registry::set('Zend_Translate', $translate);
}

我已经添加了语言,在我看来我使用了翻译助手,但它显示了以下错误

Notice: The language 'en' has to be added before it can be used. 
in C:\xampp\ZendFramework-1.11.10\library\Zend\Translate\Adapter.php 
on line 443
Notice: No translation for the language 'en' available. 
in C:\xampp\ZendFramework-1.11.10\library\Zend\Translate\Adapter.php 
on line 456

我遵循了 zendframework 引用指南。我做错了什么?

最佳答案

您是否尝试将语言传递给 Zend_Locale

$locale = new Zend_Locale('en_US');

此外,我找到了解决方法:

$locale = new Zend_Locale(Zend_Locale::BROWSER);

$translate = new Zend_Translate(
    'ini',
    $yourPath,
    null,
    array('scan' => Zend_Translate::LOCALE_DIRECTORY));

// setting the right locale
if ($translate->isAvailable($locale->getLanguage())) {
    $translate->setLocale($locale);
} else {
    $translate->setLocale('en_US');
}

参见http://framework.zend.com/issues/browse/ZF-6612更多细节。注意:这是 1.8 的一个错误,我看到您正在使用 1.10,但解决方法可能仍然有效。

这也是一个很好的帖子:http://zend-framework-community.634137.n4.nabble.com/how-handle-Locale-td659923.html

此外,Zend_Translate 还提供了一个选项来禁用专门针对该类的通知。如果内容正在被翻译,那么这(根据Zend)不是“错误”并且应该禁用通知。

// as a fourth parameter to Zend_Translate pass it:
array('disableNotices' => true);

关于zend-framework - Zend Translate 找不到语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8480115/

相关文章:

php - 什么是全页缓存

zend-framework - 在 ViewScript 中显示 Zend_Form 表单错误

python - 是否可以从 Sphinx 文档生成单个 .pot 文件?

internationalization - 谷歌地图地理编码 API : How to get city/region names *consistently* in English or local language?

iphone - Xcode Base 国际化不起作用

php - Zend Framework 2 模型中的转换器

zend-framework - Zend 表单更改元素所需的选项在运行时为 false

zend-framework - Zend 框架 2 : How to set locale globaly?

PHP/Gettext 问题

php - 在 Zend Framework 应用程序中从模型/ View / Controller 中抛出异常