translate.php.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 215 行

SVN-BASE
215
字号
<?php/** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category   Zend * @package    Zend_Translate * @copyright  Copyright (c) 2005-2007 Zend Technologies USA Inc. (http://www.zend.com) * @version    $Id: Date.php 2498 2006-12-23 22:13:38Z thomas $ * @license    http://framework.zend.com/license/new-bsd     New BSD License *//** Zend_Translate_Exception */require_once 'Zend/Translate/Exception.php';/** Zend_Locale */require_once 'Zend/Locale.php';/** * @category   Zend * @package    Zend_Translate * @copyright  Copyright (c) 2005-2007 Zend Technologies USA Inc. (http://www.zend.com) * @license    http://framework.zend.com/license/new-bsd     New BSD License */class Zend_Translate {    /**     * Adapter names constants     */    const AN_GETTEXT = 'gettext';    const AN_ARRAY   = 'array';    const AN_CSV     = 'csv';    const AN_TMX     = 'tmx';    const AN_XLIFF   = 'xliff';    /**     * Adapter     *     * @var Zend_Translate_Adapter     */    private $_adapter;    /**     * Generates the standard translation object     *     * @param  string              $adapter  Adapter to use     * @param  array               $options  Options for this adapter to set     *                                       Depends on the Adapter     * @param  string|Zend_Locale  $locale   OPTIONAL locale to use     * @throws Zend_Translate_Exception     */    public function __construct($adapter, $options, $locale = null)    {        $this->setAdapter($adapter, $options, $locale);    }    /**     * Sets a new adapter     *     * @param  string              $adapter  Adapter to use     * @param  array               $options  Options for the adapter to set     * @param  string|Zend_Locale  $locale   OPTIONAL locale to use     * @throws Zend_Translate_Exception     */    public function setAdapter($adapter, $options, $locale = null)    {        switch (strtolower($adapter)) {            case 'array':                /** Zend_Translate_Adapter_Array */                require_once('Zend/Translate/Adapter/Array.php');                $this->_adapter = new Zend_Translate_Adapter_Array($options, $locale);                break;            case 'gettext':                /** Zend_Translate_Adapter_Gettext */                require_once('Zend/Translate/Adapter/Gettext.php');                $this->_adapter = new Zend_Translate_Adapter_Gettext($options, $locale);                break;            case 'tmx':                /** Zend_Translate_Adapter_Tmx */                require_once('Zend/Translate/Adapter/Tmx.php');                $this->_adapter = new Zend_Translate_Adapter_Tmx($options, $locale);                break;            case 'csv':                /** Zend_Translate_Adapter_Csv */                require_once('Zend/Translate/Adapter/Csv.php');                $this->_adapter = new Zend_Translate_Adapter_Csv($options, $locale);                break;            case 'xliff':                /** Zend_Translate_Adapter_Xliff */                require_once('Zend/Translate/Adapter/Xliff.php');                $this->_adapter = new Zend_Translate_Adapter_Xliff($options, $locale);                break;            case 'qt':            case 'sql':            case 'tbx':            case 'xmltm':                throw new Zend_Translate_Exception("adapter '$adapter' is not supported for now");                break;            default:                throw new Zend_Translate_Exception('no adapter selected');                break;        }    }    /**     * Returns the adapters name and it's options     *     * @return Zend_Translate_Adapter     */    public function getAdapter()    {        return $this->_adapter;    }    /**     * Add translation data.     *     * It may be a new language or additional data for existing language     * If $clear parameter is true, then translation data for specified     * language is replaced and added otherwise     *     * @param  string|array        $options  Option for this adapter, depends on the adapter     * @param  string|Zend_Locale  $locale   Locale/Language to add to this adapter     * @param  boolean             $clear    If true the new translation is added to the existing one     */    public function addTranslation($options, $locale, $clear = false)    {        $this->_adapter->addTranslation($options, $locale, $clear);    }    /**     * Sets a new locale/language     *     * @param  string|Zend_Locale  $locale  Locale/Language to set for translations     */    public function setLocale($locale)    {        $this->_adapter->setLocale($locale);    }    /**     * Returns the actual set locale/language     *     * @return Zend_Locale|null     */    public function getLocale()    {        return $this->_adapter->getLocale();    }    /**     * Returns all avaiable locales/anguages from this adapter     *     * @return array     */    public function getList()    {        return $this->_adapter->getList();    }    /**     * is the wished language avaiable ?     *     * @param  string|Zend_Locale  $locale  Is the locale/language avaiable     * @return boolean     */    public function isAvailable($locale)    {        return $this->_adapter->isAvailable($locale);    }    /**     * Translate the given string     *     * @param  string              $messageId  Original to translate     * @param  string|Zend_Locale  $locale     OPTIONAL locale/language to translate to     * @return string     */    public function _($messageId, $locale = null)    {        return $this->_adapter->translate($messageId, $locale);    }    /**     * Translate the given string     *     * @param  string              $messageId  Original to translate     * @param  string|Zend_Locale  $locale     OPTIONAL locale/language to translate to     * @return string     */    public function translate($messageId, $locale = null)    {        return $this->_adapter->translate($messageId, $locale);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?