本文整理汇总了PHP中Locale::getAllVariants方法的典型用法代码示例。如果您正苦于以下问题:PHP Locale::getAllVariants方法的具体用法?PHP Locale::getAllVariants怎么用?PHP Locale::getAllVariants使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Locale
的用法示例。
在下文中一共展示了Locale::getAllVariants方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateLocaleName
private function generateLocaleName($locale, $displayLocale)
{
$name = null;
$lang = \Locale::getPrimaryLanguage($locale);
$script = \Locale::getScript($locale);
$region = \Locale::getRegion($locale);
$variants = \Locale::getAllVariants($locale);
// Currently the only available variant is POSIX, which we don't want
// to include in the list
if (count($variants) > 0) {
return null;
}
// Some languages are translated together with their region,
// i.e. "en_GB" is translated as "British English"
// we don't include these languages though because they mess up
// the name sorting
// $name = $this->langBundle->getLanguageName($displayLocale, $lang, $region);
// Some languages are simply not translated
// Example: "az" (Azerbaijani) has no translation in "af" (Afrikaans)
if (null === ($name = $this->languageBundle->getLanguageName($lang, null, $displayLocale))) {
return null;
}
// "as" (Assamese) has no "Variants" block
//if (!$langBundle->get('Variants')) {
// continue;
//}
$extras = array();
// Discover the name of the script part of the locale
// i.e. in zh_Hans_MO, "Hans" is the script
if ($script) {
// Some scripts are not translated into every language
if (null === ($scriptName = $this->languageBundle->getScriptName($script, $lang, $displayLocale))) {
return null;
}
$extras[] = $scriptName;
}
// Discover the name of the region part of the locale
// i.e. in de_AT, "AT" is the region
if ($region) {
// Some regions are not translated into every language
if (null === ($regionName = $this->regionBundle->getCountryName($region, $displayLocale))) {
return null;
}
$extras[] = $regionName;
}
if (count($extras) > 0) {
// Remove any existing extras
// For example, in German, zh_Hans is "Chinesisch (vereinfacht)".
// The latter is the script part which is already included in the
// extras and will be appended again with the other extras.
if (preg_match('/^(.+)\\s+\\([^\\)]+\\)$/', $name, $matches)) {
$name = $matches[1];
}
$name .= ' (' . implode(', ', $extras) . ')';
}
return $name;
}
示例2: variants
/**
* Returns the variants of a locale.
*
* @return CArrayObject The locale's variants of type `CUStringObject` (always uppercased).
*/
public function variants()
{
assert('$this->hasVariants()', vs(isset($this), get_defined_vars()));
$variants = Locale::getAllVariants($this->m_name);
if (is_cmap($variants)) {
return oop_a(CArray::fromPArray($variants));
} else {
return oop_a(CArray::make());
}
}
示例3: load_resource_bundle
// Don't include ICU's root resource bundle
if ($translatedLocale === 'root') {
continue;
}
$langBundle = load_resource_bundle($translatedLocale, $langDir);
$regionBundle = load_resource_bundle($translatedLocale, $regionDir);
$localeNames = array();
foreach ($supportedLocales as $supportedLocale) {
// Don't include ICU's root resource bundle
if ($supportedLocale === 'root') {
continue;
}
$lang = \Locale::getPrimaryLanguage($supportedLocale);
$script = \Locale::getScript($supportedLocale);
$region = \Locale::getRegion($supportedLocale);
$variants = \Locale::getAllVariants($supportedLocale);
// Currently the only available variant is POSIX, which we don't want
// to include in the list
if (count($variants) > 0) {
continue;
}
$langName = $langBundle->get('Languages')->get($lang);
$extras = array();
// Some languages are simply not translated
// Example: "az" (Azerbaijani) has no translation in "af" (Afrikaans)
if (!$langName) {
continue;
}
// "af" (Afrikaans) has no "Scripts" block
if (!$langBundle->get('Scripts')) {
continue;
示例4: getAllVariants
/**
* Gets the variants for the input locale
*
* @return array A list of all variants subtag for the locale or NULL if not present
*/
public function getAllVariants()
{
return IntlLocale::getAllVariants($this->getLocale());
}