本文整理汇总了PHP中Translation::formatter方法的典型用法代码示例。如果您正苦于以下问题:PHP Translation::formatter方法的具体用法?PHP Translation::formatter怎么用?PHP Translation::formatter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Translation
的用法示例。
在下文中一共展示了Translation::formatter方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
/**
* Initialize the TTranslate translation components
*/
public static function init()
{
//initialized the default class wide formatter
if (is_null(self::$formatter)) {
$app = pradoGetApplication()->getGlobalization();
//var_dump($app);
$source = MessageSource::factory($app->Translation['type'], $app->Translation['source'], $app->Translation['filename']);
$source->setCulture($app->Culture);
if ($app->Cache) {
$source->setCache(new MessageCache($app->Cache));
}
self::$formatter = new MessageFormat($source, $app->Charset);
}
}
示例2: localize
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);
}
示例3: translateText
/**
* 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());
}
示例4: renderBody
/**
* 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);
}