本文整理匯總了PHP中CAppUI::splitLocale方法的典型用法代碼示例。如果您正苦於以下問題:PHP CAppUI::splitLocale方法的具體用法?PHP CAppUI::splitLocale怎麽用?PHP CAppUI::splitLocale使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CAppUI
的用法示例。
在下文中一共展示了CAppUI::splitLocale方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: tr
/**
* Localize given statement
*
* @param string $str Statement to translate
* @param array|mixed $args Array or any number of sprintf-like arguments
*
* @return string translated statement
*/
static function tr($str, $args = null)
{
if (empty($str)) {
return "";
}
$str = trim($str);
// Defined and not empty
if (self::$localize) {
list($_prefix, $_rest) = CAppUI::splitLocale($str);
$_lang_prefix = self::$lang . $_prefix;
// Not in self::$locales cache
if (empty(self::$locales_loaded[$_lang_prefix])) {
$shared_name = "locales-" . self::$lang . "-" . $_prefix;
if (SHM::exists($shared_name)) {
$_loc = SHM::get($shared_name);
if (empty(self::$locales[$_prefix])) {
self::$locales[$_prefix] = $_loc;
} else {
self::$locales[$_prefix] = array_merge(self::$locales[$_prefix], $_loc);
}
}
self::$locales_loaded[$_lang_prefix] = true;
}
// dereferecing makes the systme a lots slower ! :(
//$by_prefix = array_key_exists($_prefix, self::$locales) ? self::$locales[$_prefix] : null;
//$by_prefix = self::$locales[$_prefix];
if (isset(self::$locales[$_prefix][$_rest]) && self::$locales[$_prefix][$_rest] !== "") {
$str = self::$locales[$_prefix][$_rest];
} elseif (self::$lang) {
if (!in_array($str, self::$unlocalized) && !preg_match(self::$localize_ignore, $str)) {
self::$unlocalized[] = $str;
}
// ... and decorate
if (self::$locale_mask) {
$str = sprintf(self::$locale_mask, $str);
}
}
}
if ($args !== null) {
if (!is_array($args)) {
$args = func_get_args();
unset($args[0]);
}
if ($args) {
$str = vsprintf($str, $args);
}
}
return nl2br($str);
}