使用zend框架将英语翻译成其他语言

时间:2011-12-22 10:05:36

标签: php zend-framework

我是Zend Framework的初学者。

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

2 个答案:

答案 0 :(得分: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";

答案 1 :(得分:0)

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

通常你必须:

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

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