本文整理汇总了PHP中jLocale::langToLocale方法的典型用法代码示例。如果您正苦于以下问题:PHP jLocale::langToLocale方法的具体用法?PHP jLocale::langToLocale怎么用?PHP jLocale::langToLocale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jLocale
的用法示例。
在下文中一共展示了jLocale::langToLocale方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
function __construct($sel, $locale = null, $charset = null)
{
if ($locale === null) {
$locale = jApp::config()->locale;
}
if ($charset === null) {
$charset = jApp::config()->charset;
}
if (strpos($locale, '_') === false) {
$locale = jLocale::langToLocale($locale);
}
$this->locale = $locale;
$this->charset = $charset;
$this->_suffix = '.' . $charset . '.properties';
$this->_compilerPath = JELIX_LIB_CORE_PATH . 'jLocalesCompiler.class.php';
if (jelix_scan_locale_sel($sel, $this)) {
if ($this->module == '') {
$this->module = jApp::getCurrentModule();
}
$this->_createPath();
$this->_createCachePath();
} else {
throw new jExceptionSelector('jelix~errors.selector.invalid.syntax', array($sel, $this->type));
}
}
示例2: create
/**
* Create a jurl object with the given action data
* @param jUrlAction $url information about the action
* @return jUrl the url correspondant to the action
* @author Laurent Jouanneau
* @copyright 2005 CopixTeam, 2005-2006 Laurent Jouanneau
* very few lines of code are copyrighted by CopixTeam, written by Laurent Jouanneau
* and released under GNU Lesser General Public Licence,
* in an experimental version of Copix Framework v2.3dev20050901,
* http://www.copix.org.
*/
public function create($urlact)
{
if ($this->dataCreateUrl == null) {
$sel = new jSelectorUrlCfgSig(jApp::config()->urlengine['significantFile']);
jIncluder::inc($sel);
$this->dataCreateUrl =& $GLOBALS['SIGNIFICANT_CREATEURL'];
}
$url = new jUrl('', $urlact->params, '');
$module = $url->getParam('module', jApp::getCurrentModule());
$action = $url->getParam('action');
// let's try to retrieve informations corresponding
// to the given action. this informations will allow us to build
// the url
$id = $module . '~' . $action . '@' . $urlact->requestType;
$urlinfo = null;
if (isset($this->dataCreateUrl[$id])) {
$urlinfo = $this->dataCreateUrl[$id];
$url->delParam('module');
$url->delParam('action');
} else {
$id = $module . '~*@' . $urlact->requestType;
if (isset($this->dataCreateUrl[$id])) {
$urlinfo = $this->dataCreateUrl[$id];
if ($urlinfo[0] != 3 || $urlinfo[3] === true) {
$url->delParam('module');
}
} else {
$id = '@' . $urlact->requestType;
if (isset($this->dataCreateUrl[$id])) {
$urlinfo = $this->dataCreateUrl[$id];
} else {
throw new Exception("Significant url engine doesn't find corresponding url to this action :" . $module . '~' . $action . '@' . $urlact->requestType);
}
}
}
/*
urlinfo =
or array(0,'entrypoint', https true/false, 'handler selector', 'basepathinfo')
or array(1,'entrypoint', https true/false,
array('year','month',), // list of dynamic values included in the url
array(true, false..), // list of integers which indicates for each
// dynamic value: 0: urlencode, 1:urlencode except '/', 2:escape
"/news/%1/%2/", // the url
true/false, // false : this is a secondary action
array('bla'=>'whatIWant' ) // list of static values
)
or array(2,'entrypoint', https true/false), // for the patterns "@request"
or array(3,'entrypoint', https true/false), // for the patterns "module~@request"
or array(4, array(1,...), array(1,...)...)
*/
if ($urlinfo[0] == 4) {
// an action is mapped to several urls
// so it isn't finished. Let's find building information
// into the array
$l = count($urlinfo);
$urlinfofound = null;
for ($i = 1; $i < $l; $i++) {
$ok = true;
// verify that given static parameters of the action correspond
// to those defined for this url
foreach ($urlinfo[$i][7] as $n => $v) {
// specialStatic are static values for which the url engine
// can compare not only with a given url parameter value, but
// also with a value stored some where (typically, a configuration value)
$specialStatic = !empty($v) && $v[0] == '$';
$paramStatic = $url->getParam($n, null);
if ($specialStatic) {
// special statique value
$typePS = $v[1];
$v = substr($v, 2);
if ($typePS == 'l') {
if ($paramStatic === null) {
$paramStatic = jLocale::getCurrentLang();
} else {
if (preg_match('/^(\\w{2,3})_\\w{2,3}$/', $paramStatic, $m)) {
// if the value is a locale instead of lang, translate it
$paramStatic = $m[1];
}
}
} elseif ($typePS == 'L') {
if ($paramStatic === null) {
$paramStatic = jApp::config()->locale;
} else {
if (preg_match('/^\\w{2,3}$/', $paramStatic, $m)) {
// if the value is a lang instead of locale, translate it
$paramStatic = jLocale::langToLocale($paramStatic);
}
}
}
//.........这里部分代码省略.........
示例3: langToLocale
/**
* returns the locale corresponding to a lang.
*
* The file lang_to_locale give corresponding locale, but you can override these
* association into the langToLocale section of the main configuration
* @param string $lang a lang code (xx)
* @return string the corresponding locale (xx_YY)
*/
static function langToLocale($lang)
{
$conf = jApp::config();
if (isset($conf->langToLocale[$lang])) {
return $conf->langToLocale[$lang];
}
if (is_null(self::$langToLocale)) {
self::$langToLocale = @parse_ini_file(JELIX_LIB_CORE_PATH . 'lang_to_locale.ini.php');
}
if (isset(self::$langToLocale[$lang])) {
return self::$langToLocale[$lang];
}
return '';
}
示例4: create
public function create($urlact)
{
if ($this->dataCreateUrl == null) {
$sel = new jSelectorUrlCfgSig(jApp::config()->urlengine['significantFile']);
jIncluder::inc($sel);
$this->dataCreateUrl =& $GLOBALS['SIGNIFICANT_CREATEURL'];
}
$url = new jUrl('', $urlact->params, '');
$module = $url->getParam('module', jContext::get());
$action = $url->getParam('action');
$id = $module . '~' . $action . '@' . $urlact->requestType;
$urlinfo = null;
if (isset($this->dataCreateUrl[$id])) {
$urlinfo = $this->dataCreateUrl[$id];
$url->delParam('module');
$url->delParam('action');
} else {
$id = $module . '~*@' . $urlact->requestType;
if (isset($this->dataCreateUrl[$id])) {
$urlinfo = $this->dataCreateUrl[$id];
if ($urlinfo[0] != 3 || $urlinfo[3] === true) {
$url->delParam('module');
}
} else {
$id = '@' . $urlact->requestType;
if (isset($this->dataCreateUrl[$id])) {
$urlinfo = $this->dataCreateUrl[$id];
} else {
throw new Exception("Significant url engine doesn't find corresponding url to this action :" . $module . '~' . $action . '@' . $urlact->requestType);
}
}
}
if ($urlinfo[0] == 4) {
$l = count($urlinfo);
$urlinfofound = null;
for ($i = 1; $i < $l; $i++) {
$ok = true;
foreach ($urlinfo[$i][7] as $n => $v) {
$specialStatic = $v[0] == '$';
$paramStatic = $url->getParam($n, null);
if ($specialStatic) {
$typePS = $v[1];
$v = substr($v, 2);
if ($typePS == 'l') {
if ($paramStatic === null) {
$paramStatic = jLocale::getCurrentLang();
} else {
if (preg_match('/^(\\w{2,3})_\\w{2,3}$/', $paramStatic, $m)) {
$paramStatic = $m[1];
}
}
} elseif ($typePS == 'L') {
if ($paramStatic === null) {
$paramStatic = jApp::config()->locale;
} else {
if (preg_match('/^\\w{2,3}$/', $paramStatic, $m)) {
$paramStatic = jLocale::langToLocale($paramStatic);
}
}
}
}
if ($paramStatic != $v) {
$ok = false;
break;
}
}
if ($ok) {
$urlinfofound = $urlinfo[$i];
break;
}
}
if ($urlinfofound !== null) {
$urlinfo = $urlinfofound;
} else {
$urlinfo = $urlinfo[1];
}
}
$url->scriptName = jApp::config()->urlengine['basePath'] . $urlinfo[1];
if ($urlinfo[2]) {
$url->scriptName = jApp::coord()->request->getServerURI(true) . $url->scriptName;
}
if ($urlinfo[1] && !jApp::config()->urlengine['multiview']) {
$url->scriptName .= jApp::config()->urlengine['entrypointExtension'];
}
if (in_array($urlact->requestType, array('xmlrpc', 'jsonrpc', 'soap'))) {
$url->clearParam();
return $url;
}
if ($urlinfo[0] == 0) {
$s = new jSelectorUrlHandler($urlinfo[3]);
$c = $s->resource . 'UrlsHandler';
$handler = new $c();
$handler->create($urlact, $url);
if ($urlinfo[4] != '') {
$url->pathInfo = $urlinfo[4] . $url->pathInfo;
}
} elseif ($urlinfo[0] == 1) {
$pi = $urlinfo[5];
foreach ($urlinfo[3] as $k => $param) {
$typeParam = $urlinfo[4][$k];
//.........这里部分代码省略.........