【问题标题】:Translating English to other language using zend framework使用zend框架将英语翻译成其他语言
【发布时间】:2011-12-22 10:05:35
【问题描述】:

我是 Zend 框架的初学者。

我有一个简单的英语小型 Web 应用程序。我想把它翻译成印地语。我提到了 Zend_Translate 但我无法理解它是如何工作的,有人可以帮助我吗? 我不知道zend_translate ...... 请给我一个控制器、引导程序和表单代码,将一个简单的英文字符串翻译成印地语......

【问题讨论】:

    标签: php zend-framework


    【解决方案1】:

    Zend_Translate 是一个用于本地化的组件,该组件使您能够以各种格式(XML、PHP、CSV、gettext)存储不同的翻译字符串。加载翻译后的内容后,您可以使用该组件在视图中显示已翻译的片段。

    这里是从手册中摘录的示例

    $translate = new Zend_Translate(
        array(
            'adapter' => 'gettext',
            'content' => '/my/path/source-de.mo',
            'locale'  => 'de'
        )
    );
    $translate->addTranslation(
        array(
            'content' => '/path/to/translation/fr-source.mo',
            'locale'  => 'fr'
        )
    );
    
    print $translate->_("Example") . "\n";
    print "=======\n";
    print $translate->_("Here is line one") . "\n";
    printf($translate->_("Today is the %1\$s") . "\n", date('d.m.Y'));
    print "\n";
    
    $translate->setLocale('fr');
    print $translate->_("Here is line two") . "\n";
    

    【讨论】:

      【解决方案2】:

      您必须执行的步骤取决于您选择的适配器(例如 gettext 需要对 .po 文件使用编辑器 (Poedit))。

      通常你必须:

        1) 选择并配置一个可用的适配器。
        2)将所有要翻译的文本放在翻译函数中,如RageZ post所示(但是有些源是自动翻译的,例如:如果你有 Zend_Form 类的函数 setLabel() 你不必额外调用翻译函数 - Zend_Form开箱即用地与 Zend_Translate 集成)
        3) 提供翻译后的数据(数据格式取决于所选适配器)

      在我看来,zendframework.com 上有关 Zend_Translate 的文档非常好,根据参考指南中的信息,应该能够开始使用翻译。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多