Exemple #1
0
 public static function localize($text, $parameters = array(), $catalogue = null, $charset = null)
 {
     Prado::using('System.I18N.Translation');
     $app = Prado::getApplication()->getGlobalization(false);
     $params = array();
     foreach ($parameters as $key => $value) {
         $params['{' . $key . '}'] = $value;
     }
     if ($app === null || ($config = $app->getTranslationConfiguration()) === null) {
         return strtr($text, $params);
     }
     if ($catalogue === null) {
         $catalogue = isset($config['catalogue']) ? $config['catalogue'] : 'messages';
     }
     Translation::init($catalogue);
     $appCharset = $app === null ? '' : $app->getCharset();
     $defaultCharset = $app === null ? 'UTF-8' : $app->getDefaultCharset();
     if (empty($charset)) {
         $charset = $appCharset;
     }
     if (empty($charset)) {
         $charset = $defaultCharset;
     }
     return Translation::formatter($catalogue)->format($text, $params, $catalogue, $charset);
 }
 /**
  * Translates the text with subsititution.
  * @param string text for translation
  * @param array list of substitutions
  * @return string translated text
  */
 protected function translateText($text, $subs)
 {
     $app = $this->getApplication()->getGlobalization();
     //no translation handler provided
     if (($config = $app->getTranslationConfiguration()) === null) {
         return strtr($text, $subs);
     }
     $catalogue = $this->getCatalogue();
     if (empty($catalogue) && isset($config['catalogue'])) {
         $catalogue = $config['catalogue'];
     }
     if (empty($catalogue)) {
         $catalogue = 'messages';
     }
     Translation::init($catalogue);
     $key = $this->getKey();
     if (!empty($key)) {
         $text = $key;
     }
     //translate it
     return Translation::formatter($catalogue)->format($text, $subs, $catalogue, $this->getCharset());
 }
Exemple #3
0
 /**
  * Test
  *
  * @return void
  */
 public function testInit()
 {
     $this->assertNull($this->object->init());
 }
 /**
  * Display the translated string.
  */
 protected function renderBody()
 {
     $app = $this->Application->getGlobalization();
     //get the text from either Property Text or the body
     $text = $this->getText();
     if (strlen($text) == 0) {
         $text = parent::renderBody();
     }
     //trim it
     if ($this->doTrim()) {
         $text = trim($text);
     }
     //no translation handler provided
     if (empty($app->Translation)) {
         return strtr($text, $this->getParameters());
     }
     Translation::init();
     $catalogue = $this->getCatalogue();
     if (empty($catalogue) && isset($app->Translation['catalogue'])) {
         $catalogue = $app->Translation['catalogue'];
     }
     $key = $this->getKey();
     if (!empty($key)) {
         $text = $key;
     }
     $charset = $this->getCharset();
     if (empty($charset)) {
         $charset = 'UTF-8';
     }
     //translate it
     return Translation::formatter()->format($text, $this->getParameters(), $catalogue, $charset);
 }
/**
 * Localize a text to the locale/culture specified in the globalization handler.
 * @param string text to be localized.
 * @param array a set of parameters to substitute.
 * @param string a different catalogue to find the localize text.
 * @param string the input AND output charset.
 * @return string localized text. 
 * @see TTranslate::formatter()
 * @see TTranslate::init()
 */
function localize($text, $parameters = array(), $catalogue = null, $charset = null)
{
    $app = pradoGetApplication()->getGlobalization();
    $params = array();
    foreach ($parameters as $key => $value) {
        $params['{' . $key . '}'] = $value;
    }
    //no translation handler provided
    if (empty($app->Translation)) {
        return strtr($text, $params);
    }
    Translation::init();
    if (empty($catalogue) && isset($app->Translation['catalogue'])) {
        $catalogue = $app->Translation['catalogue'];
    }
    //globalization charset
    $appCharset = is_null($app) ? '' : $app->Charset;
    //default charset
    $defaultCharset = is_null($app) ? 'UTF-8' : $app->getDefaultCharset();
    //fall back
    if (empty($charset)) {
        $charset = $appCharset;
    }
    if (empty($charset)) {
        $charset = $defaultCharset;
    }
    return Translation::formatter()->format($text, $params, $catalogue, $charset);
}
/**
 * Localize a text to the locale/culture specified in the globalization handler.
 * @param string text to be localized.
 * @param array a set of parameters to substitute.
 * @param string a different catalogue to find the localize text.
 * @param string the output charset.
 * @return string localized text. 
 * @see TTranslate::formatter()
 * @see TTranslate::init()
 */
function localize($text, $parameters = array(), $catalogue = null, $charset = null)
{
    $app = pradoGetApplication()->getGlobalization();
    $params = array();
    foreach ($parameters as $key => $value) {
        $params['{' . $key . '}'] = $value;
    }
    //no translation handler provided
    if (empty($app->Translation)) {
        return strtr($text, $params);
    }
    Translation::init();
    if (empty($catalogue) && isset($app->Translation['catalogue'])) {
        $catalogue = $app->Translation['catalogue'];
    }
    return Translation::formatter()->format($text, $params, $catalogue, $charset);
}