本文整理汇总了PHP中Zend_Locale::_auto方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Locale::_auto方法的具体用法?PHP Zend_Locale::_auto怎么用?PHP Zend_Locale::_auto使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Locale
的用法示例。
在下文中一共展示了Zend_Locale::_auto方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: isLocale
/**
* Checks if a locale identifier is a real locale or not
* Examples:
* "en_XX" refers to "en", which returns true
* "XX_yy" refers to "root", which returns false
*
* @param string|Zend_Locale $locale Locale to check for
* @param boolean $create If true, create a default locale, if $locale is empty
* @return false|string false if given locale is not a locale, else the locale identifier is returned
*/
public static function isLocale($locale, $create = false)
{
if (empty($locale) and $create === true) {
$locale = new self();
}
if ($locale instanceof Zend_Locale) {
return $locale->toString();
}
if (!is_string($locale)) {
return false;
}
if (empty(self::$_auto)) {
$temp = new self($locale);
self::$_auto = $temp->getDefault(null, false);
self::$_browser = $temp->getDefault(self::BROWSER, false);
self::$_environment = $temp->getDefault(self::ENVIRONMENT, false);
}
if ($locale == 'auto') {
$locale = self::$_auto;
}
if ($locale == 'browser') {
$locale = self::$_browser;
}
if ($locale == 'environment') {
$locale = self::$_environment;
}
if (is_array($locale)) {
$locale = key($locale);
}
if (array_key_exists($locale, self::$_localeData)) {
return $locale;
} else {
$locale = explode('_', $locale);
if (array_key_exists($locale[0], self::$_localeData)) {
return $locale[0];
}
}
return false;
}
示例2: _prepareLocale
/**
* Internal function, returns a single locale on detection
*
* @param string|Zend_Locale $locale (Optional) Locale to work on
* @param boolean $strict (Optional) Strict preparation
* @throws Zend_Locale_Exception When no locale is set which is only possible when the class was wrong extended
* @return string
*/
private static function _prepareLocale($locale, $strict = false)
{
if ($locale instanceof Zend_Locale) {
$locale = $locale->toString();
}
if (is_array($locale)) {
return '';
}
if (empty(self::$_auto) === true) {
self::$_browser = self::getBrowser();
self::$_environment = self::getEnvironment();
self::$_breakChain = true;
self::$_auto = self::getBrowser() + self::getEnvironment() + self::getDefault();
}
if (!$strict) {
if ($locale === 'browser') {
$locale = self::$_browser;
}
if ($locale === 'environment') {
$locale = self::$_environment;
}
if ($locale === 'default') {
$locale = self::$_default;
}
if ($locale === 'auto' or $locale === null) {
$locale = self::$_auto;
}
if (is_array($locale) === true) {
$locale = key($locale);
}
}
// This can only happen when someone extends Zend_Locale and erases the default
if ($locale === null) {
require_once 'Zend/Locale/Exception.php';
throw new Zend_Locale_Exception('Autodetection of Locale has been failed!');
}
if (strpos($locale, '-') !== false) {
$locale = strtr($locale, '-', '_');
}
$parts = explode('_', $locale);
if (!isset(self::$_localeData[$parts[0]])) {
if (count($parts) == 1 && array_key_exists($parts[0], self::$_territoryData)) {
return self::$_territoryData[$parts[0]];
}
return '';
}
foreach ($parts as $key => $value) {
if (strlen($value) < 2 || strlen($value) > 3) {
unset($parts[$key]);
}
}
$locale = implode('_', $parts);
return (string) $locale;
}
示例3: _prepareLocale
/**
* Internal function, returns a single locale on detection
*
* @param string|Zend_Locale $locale (Optional) Locale to work on
* @param boolean $strict (Optional) Strict preparation
* @throws Zend_Locale_Exception When no locale is set which is only possible when the class was wrong extended
* @return string
*/
private static function _prepareLocale($locale, $strict = false)
{
if (is_array($locale)) {
return '';
}
if (empty(self::$_auto) === true) {
self::$_browser = self::getBrowser();
self::$_environment = self::getEnvironment();
self::$_auto = self::getBrowser() + self::getEnvironment() + self::getDefault();
}
if (!$strict) {
if ($locale === 'browser') {
$locale = self::$_browser;
}
if ($locale === 'environment') {
$locale = self::$_environment;
}
if ($locale === 'default') {
$locale = self::$_default;
}
if ($locale === 'auto' or empty($locale)) {
$locale = self::$_auto;
}
if (is_array($locale) === true) {
$locale = key($locale);
}
}
// This can only happen when someone extends Zend_Locale and erases the default
if (empty($locale)) {
require_once 'Zend/Locale/Exception.php';
throw new Zend_Locale_Exception('Autodetection of Locale has been failed!');
}
if (strpos($locale, '-') !== false) {
$locale = strtr($locale, '-', '_');
}
return (string) $locale;
}