当前位置: 首页>>代码示例>>PHP>>正文


PHP Locale::lookup方法代码示例

本文整理汇总了PHP中Locale::lookup方法的典型用法代码示例。如果您正苦于以下问题:PHP Locale::lookup方法的具体用法?PHP Locale::lookup怎么用?PHP Locale::lookup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Locale的用法示例。


在下文中一共展示了Locale::lookup方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: parseHeader

 /**
  * Parse header
  *
  * @param   null|\Zend\Http\Header\AcceptLanguage   $header
  * @return  array
  */
 public function parseHeader($header)
 {
     $locales = array();
     $controller = $this->getController();
     if ($controller instanceof ServiceLocatorAwareInterface) {
         $availables = $controller->getServiceLocator()->get('Locale')->getAvailableLocales();
     } else {
         $availables = array(IntlLocale::getDefault());
     }
     if ($header instanceof AcceptLanguage) {
         foreach ($header->getPrioritized() as $part) {
             if ($part instanceof LanguageFieldValuePart) {
                 $locale = IntlLocale::parseLocale($part->getLanguage());
                 $key = $locale['language'];
                 if (isset($locale['region'])) {
                     $key .= '_' . $locale['region'];
                 }
                 if ($availables) {
                     $key = IntlLocale::lookup($availables, $key, false, '');
                 }
                 if ($key) {
                     $locales[$key] = max($part->getPriority(), empty($locales[$key]) ? 0 : $locales[$key]);
                 }
             }
         }
     }
     return $locales;
 }
开发者ID:gridguyz,项目名称:zork,代码行数:34,代码来源:Locale.php

示例2: getBrowseAcceptLanguage

 /**
  * @param Headers $headers
  *
  * @return string|null
  */
 private function getBrowseAcceptLanguage(Headers $headers)
 {
     if ($headers->has('Accept-Language')) {
         /** @var AcceptLanguage $acceptLanguageHeader */
         $acceptLanguageHeader = $headers->get('Accept-Language');
         $locales = $acceptLanguageHeader->getPrioritized();
         $languages = $this->config->getAvailableLanguages();
         /** @var LanguageFieldValuePart $locale */
         foreach ($locales as $locale) {
             // Loop through all locales, highest priority first
             if ($browserLang = \Locale::lookup($languages, $locale->getRaw())) {
                 return $browserLang;
             }
         }
     }
     return null;
 }
开发者ID:omusico,项目名称:zf2-demo,代码行数:22,代码来源:LangRecognizer.php

示例3: detect

 /**
  * {@inheritDoc}
  */
 public function detect(Event $event)
 {
     if (!($authService = $this->getAuthenticationService())) {
         return;
     }
     if ($lookup = $event->hasLocales()) {
         $locales = $event->getLocales();
     }
     if ($authService->hasIdentity()) {
         $identity = $authService->getIdentity();
         if ($identity instanceof LocalizableInterface && $identity->getLocale()) {
             $locale = $identity->getLocale()->getCanonicalName();
             if (!$lookup) {
                 return $locale;
             }
             if (\Locale::lookup($locales, $locale)) {
                 return $locale;
             }
         }
     }
 }
开发者ID:coolms,项目名称:locale,代码行数:24,代码来源:AuthenticatedIdentityStrategy.php

示例4: detect

 /**
  * {@inheritDoc}
  */
 public function detect(Event $event)
 {
     $request = $event->getRequest();
     if (!$this->isHttpRequest($request)) {
         return;
     }
     $lookup = $event->hasLocales();
     if ($lookup) {
         $locales = $event->getLocales();
     }
     $headers = $request->getHeaders();
     if ($headers->has('Accept-Language')) {
         foreach ($headers->get('Accept-Language')->getPrioritized() as $locale) {
             $locale = $locale->getLanguage();
             if (!$lookup) {
                 return $locale;
             }
             if (\Locale::lookup($locales, $locale)) {
                 return $locale;
             }
         }
     }
 }
开发者ID:coolms,项目名称:locale,代码行数:26,代码来源:HttpAcceptLanguageStrategy.php

示例5: getI18NGlobalDirs

{
    public function getI18NGlobalDirs()
    {
        return array(dirname(__FILE__) . '/fixtures');
    }
}
$configuration = new TestConfiguration('test', true, sfConfig::get('sf_test_cache_dir', sys_get_temp_dir()));
$dispatcher = $configuration->getEventDispatcher();
$cache = new sfNoCache();
// ->initialize()
$t->diag('->initialize()');
$i18n = new sfI18N($configuration, $cache);
$dispatcher->notify(new sfEvent(null, 'user.change_culture', array('culture' => 'fr')));
$t->is($i18n->getCulture(), 'fr', '->initialize() connects to the user.change_culture event');
// passing a "culture" option to initialize() should set PHP locale
if (version_compare(PHP_VERSION, '5.3', '<') && class_exists('Locale') && ($en = Locale::lookup(array('en-US'), 'en-US', true)) && ($fr = Locale::lookup(array('fr-FR'), 'fr-FR', true))) {
    $i18n = new sfI18N($configuration, $cache, array('culture' => $fr));
    $frLocale = localeconv();
    $i18n = new sfI18N($configuration, $cache, array('culture' => $en));
    $enLocale = localeconv();
    $t->isnt(serialize($frLocale), serialize($enLocale), '->initialize() sets the PHP locale when a "culture" option is provided');
} else {
    $t->skip('PHP version > 5.2 or Locale class or English and French locales are not installed');
}
// ->getCulture() ->setCulture()
$t->diag('->getCulture() ->setCulture()');
$i18n = new sfI18N($configuration, $cache);
$t->is($i18n->getCulture(), 'en', '->getCulture() returns the current culture');
$i18n->setCulture('fr');
$t->is($i18n->getCulture(), 'fr', '->setCulture() sets the current culture');
// ->__()
开发者ID:sabaki-dev,项目名称:symfony1,代码行数:31,代码来源:sfI18NTest.php

示例6: getI18NGlobalDirs

{
    public function getI18NGlobalDirs()
    {
        return array(dirname(__FILE__) . '/fixtures');
    }
}
$configuration = new TestConfiguration('test', true, sfConfig::get('sf_test_cache_dir', sys_get_temp_dir()));
$dispatcher = $configuration->getEventDispatcher();
$cache = new sfNoCache();
// ->initialize()
$t->diag('->initialize()');
$i18n = new sfI18N($configuration, $cache);
$dispatcher->notify(new sfEvent(null, 'user.change_culture', array('culture' => 'fr')));
$t->is($i18n->getCulture(), 'fr', '->initialize() connects to the user.change_culture event');
// passing a "culture" option to initialize() should set PHP locale
if (class_exists('Locale') && ($en = Locale::lookup(array('en-US'), 'en-US', true)) && ($fr = Locale::lookup(array('fr-FR'), 'fr-FR', true))) {
    $i18n = new sfI18N($configuration, $cache, array('culture' => $fr));
    $frLocale = localeconv();
    $i18n = new sfI18N($configuration, $cache, array('culture' => $en));
    $enLocale = localeconv();
    $t->isnt(serialize($frLocale), serialize($enLocale), '->initialize() sets the PHP locale when a "culture" option is provided');
} else {
    $t->skip('Locale class or English and French locales are not installed');
}
// ->getCulture() ->setCulture()
$t->diag('->getCulture() ->setCulture()');
$i18n = new sfI18N($configuration, $cache);
$t->is($i18n->getCulture(), 'en', '->getCulture() returns the current culture');
$i18n->setCulture('fr');
$t->is($i18n->getCulture(), 'fr', '->setCulture() sets the current culture');
// ->__()
开发者ID:hunde,项目名称:bsc,代码行数:31,代码来源:sfI18NTest.php

示例7: detectMatchingLocale

 protected function detectMatchingLocale()
 {
     $this->logger->debug(__FUNCTION__);
     // Now iterate through all `detectedLanguages` and stop at the first
     // that matches an entry on the `supported_locales` list:
     foreach ($this->detectedLanguages as $language) {
         // $matchedLocale will contain an empty string if current
         // $language did not match any locale in $supportedLocales.
         $matchedLocale = \Locale::lookup($this->cfg['supported_locales'], $language);
         // Found match:
         if (!empty($matchedLocale)) {
             $this->locale = $matchedLocale;
             break;
         }
     }
     // If no matching locale was found at all:
     if (empty($matchedLocale)) {
         // falling back to the configured default locale
         $this->locale = $this->cfg['default_locale'];
     }
     $this->logger->debug($this->locale);
     //
     return $this;
 }
开发者ID:websafe,项目名称:zf-mod-language,代码行数:24,代码来源:WebsafeZfModLanguageService.php

示例8: foreach

// Register events
foreach (config()->events as $event => $class) {
    event($event, NULL, $class);
}
/*
if(preg_match_all('/[\-a-z]{2,}/i', getenv('HTTP_ACCEPT_LANGUAGE'), $locales))
{
	$locales = $locales[0];
}
*/
// Get locale from user agent
if (isset($_COOKIE['lang'])) {
    $preference = $_COOKIE['lang'];
} else {
    $preference = Locale::acceptFromHttp(getenv('HTTP_ACCEPT_LANGUAGE'));
}
// Match preferred language to those available, defaulting to generic English
$locale = Locale::lookup(config()->languages, $preference, false, 'en');
// Default Locale
Locale::setDefault($locale);
setlocale(LC_ALL, $locale . '.utf-8');
//putenv("LC_ALL", $locale);
// Default timezone of server
date_default_timezone_set('UTC');
// iconv encoding
iconv_set_encoding("internal_encoding", "UTF-8");
// multibyte encoding
mb_internal_encoding('UTF-8');
// Enable global error handling
set_error_handler(array('\\Micro\\Error', 'handler'));
register_shutdown_function(array('\\Micro\\Error', 'fatal'));
开发者ID:PermeAgility,项目名称:FrameworkBenchmarks,代码行数:31,代码来源:Bootstrap.php

示例9: var_dump

<?php

var_dump(Locale::lookup(new stdclass(), 'foo'));
var_dump(Locale::lookup(STDIN, 'foo'));
开发者ID:badlamer,项目名称:hhvm,代码行数:4,代码来源:coerce.php

示例10: lookup

 /**
  * Searches the language tag list for the best match to the language
  *
  * @param  array  $langtag      An array containing a list of language tags to compare to locale.
  *     Maximum 100 items allowed.
  * @param  array  $canonicalize If true, the arguments will be converted to canonical form before matching.
  * @param  array  $default      The locale to use if no match is found.
  * @return string The closest matching language tag or default value.
  */
 public function lookup(array $langtag, $canonicalize = false, $default = '')
 {
     return IntlLocale::lookup($langtag, $this->getLocale(), $canonicalize, $default);
 }
开发者ID:ledgr,项目名称:localefacade,代码行数:13,代码来源:LocaleFacade.php

示例11: detectN2nLocale

 private function detectN2nLocale(array $n2nLocales)
 {
     $n2nLocale = null;
     if (!empty($n2nLocales)) {
         $n2nLocale = reset($n2nLocales);
     } else {
         $n2nLocale = N2nLocale::getDefault();
     }
     if (!isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
         return $n2nLocale;
     }
     if (null !== ($n2nLocaleId = N2nLocale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']))) {
         if (isset($n2nLocales[$n2nLocaleId])) {
             return $n2nLocales[$n2nLocaleId];
         }
         $n2nLocaleId = \Locale::lookup(array_keys($n2nLocales), $n2nLocaleId);
         if ($n2nLocaleId) {
             return $n2nLocales[$n2nLocaleId];
         }
     }
     return $n2nLocale;
 }
开发者ID:n2n,项目名称:n2n,代码行数:22,代码来源:N2N.php

示例12: setLocale

 /**
  * Set the default locale for this request
  *
  * @param string $locale The locale desired
  */
 public static function setLocale($locale)
 {
     // Match preferred language to those available, defaulting to generic English
     $locale = Locale::lookup(config()->languages, $locale, false, 'en');
     Locale::setDefault($locale);
     setlocale(LC_ALL, $locale . '.utf-8');
     //putenv("LC_ALL", $locale);
 }
开发者ID:xeoncross,项目名称:kit,代码行数:13,代码来源:Core.php

示例13: findLocale

 protected function findLocale($locale)
 {
     return \Locale::lookup(array_keys($this->moment_locales), $locale, false, 'en-US');
 }
开发者ID:neonbug,项目名称:meexo-common,代码行数:4,代码来源:FormatterHelper.php

示例14: setLocale

 /**
  * Sets the locale of the application, if this locale is available.
  * @param string $locale the new locale.
  */
 public function setLocale($locale = null)
 {
     if (class_exists('\\Locale')) {
         $this->locale = \Locale::lookup($this->getAvailableLocales(), $locale, true, $this->getSettings()->locale->default);
     }
     if (empty($this->locale)) {
         $this->locale = $this->getSettings()->locale->default;
     }
     // Set up locale environment for gettext.
     bindtextdomain(self::TEXT_DOMAIN_NAME, self::TEXT_DOMAIN_LOCATION);
     bind_textdomain_codeset(self::TEXT_DOMAIN_NAME, 'UTF-8');
     textdomain(self::TEXT_DOMAIN_NAME);
     putenv('LANG=' . $this->locale);
     putenv('LC_MESSAGES=' . $this->locale);
     $locale = setlocale(LC_MESSAGES, $this->locale);
     Logger::get()->info(sprintf('Locale is now %s [%s] (domain "%s" at %s)', $locale, $this->locale, self::TEXT_DOMAIN_NAME, realpath(self::TEXT_DOMAIN_LOCATION)));
 }
开发者ID:eix,项目名称:core,代码行数:21,代码来源:Application.php


注:本文中的Locale::lookup方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。