下面介绍使用 Zend_Translate_Adapter_Tmx 翻译适配器
mytranslation.tmx
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
<header creationtoolversion="1.0.0" datatype="winres" segtype="sentence"
adminlang="en-us" srclang="de-at" o-tmf="abc"
creationtool="XYZTool" >
</header>
<body>
<tu tuid='message1'>
<tuv xml:lang="de"><seg>Nachricht1</seg></tuv>
<tuv xml:lang="en"><seg>message1</seg></tuv>
<tuv xml:lang="zh"><seg>消息1</seg></tuv>
<tuv xml:lang="ja"><seg>新たな需要1</seg></tuv>
<tuv xml:lang="ar"><seg>الطلب الجديد1</seg></tuv>
</tu>
<tu tuid='message2'>
<tuv xml:lang="de"><seg>Nachricht2</seg></tuv>
<tuv xml:lang="en"><seg>message2</seg></tuv>
<tuv xml:lang="zh"><seg>消息2</seg></tuv>
<tuv xml:lang="ja"><seg>新たな需要2</seg></tuv>
<tuv xml:lang="ar"><seg>الطلب الجديد2</seg></tuv>
</tu>
<tu tuid='message3'>
<tuv xml:lang="de"><seg>Nachricht3</seg></tuv>
<tuv xml:lang="en"><seg>message3</seg></tuv>
<tuv xml:lang="zh"><seg>消息3</seg></tuv>
<tuv xml:lang="ja"><seg>新たな需要3</seg></tuv>
<tuv xml:lang="ar"><seg>الطلب الجديد3</seg></tuv>
</tu>
<tu tuid='hello world'>
<tuv xml:lang="de"><seg>Nachricht4</seg></tuv>
<tuv xml:lang="en"><seg>message4</seg></tuv>
<tuv xml:lang="zh"><seg>世界 你好!</seg></tuv>
<tuv xml:lang="ja"><seg>新たな需要4</seg></tuv>
<tuv xml:lang="ar"><seg>الطلب الجديد4</seg></tuv>
</tu>
</body>
</tmx>
Controller.php
public function indexAction()
{
//echo time();
$path = dirname(dirname(dirname(dirname(dirname(__FILE__))))).DIRECTORY_SEPARATOR.'languages'.DIRECTORY_SEPARATOR;
//echo $path; exit();
$frontendOptions = array(
'lifetime' => 10,
'automatic_serialization' => true);
$backendOptions = array(
//'cache_dir' => dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'systemcache'.DIRECTORY_SEPARATOR,
'cache_dir' => dirname(dirname(dirname(dirname(__FILE__)))).DIRECTORY_SEPARATOR.'systemcache'.DIRECTORY_SEPARATOR,
);
//$cache = Zend_Cache::factory('Page', 'File', $frontendOptions, $backendOptions);
$cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);
Zend_Translate::setCache($cache);
$translate = new Zend_Translate(
array(
'adapter' => 'Tmx',//Tbx Tmx
//'content' => 'path/to/mytranslation.tmx',
//'content' => $path.'multi.xml',
//'content' => $path.'aaa.xml',
'content' => $path.'mytranslation.tmx',
//'content' => 'mytranslation.tmx',
'locale' => 'ar'
)
);
//$translate->setLocale('en');
print $translate->_("message1") . "\n <br />";
print $translate->_("message2") . "\n <br />";
print $translate->_("message3") . "\n <br />";
print $translate->_("hello world") . "\n <br />";
//print $translate->_("New Demand") . "\n <br />";
}