Changeset View
Changeset View
Standalone View
Standalone View
src/internationalization/PhutilLocale.php
Show First 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | abstract class PhutilLocale extends Phobject { | ||||
/** | /** | ||||
* Load all available locales. | * Load all available locales. | ||||
* | * | ||||
* @return map<string, PhutilLocale> Map from codes to locale objects. | * @return map<string, PhutilLocale> Map from codes to locale objects. | ||||
*/ | */ | ||||
public static function loadAllLocales() { | public static function loadAllLocales() { | ||||
static $locales; | static $locales; | ||||
if ($locales === null) { | if ($locales === null) { | ||||
$objects = id(new PhutilSymbolLoader()) | $objects = id(new PhutilClassMapQuery()) | ||||
->setAncestorClass(__CLASS__) | ->setAncestorClass(__CLASS__) | ||||
->loadObjects(); | ->execute(); | ||||
$locale_map = array(); | $locale_map = array(); | ||||
foreach ($objects as $object) { | foreach ($objects as $object) { | ||||
$locale_code = $object->getLocaleCode(); | $locale_code = $object->getLocaleCode(); | ||||
if (empty($locale_map[$locale_code])) { | if (empty($locale_map[$locale_code])) { | ||||
$locale_map[$locale_code] = $object; | $locale_map[$locale_code] = $object; | ||||
} else { | } else { | ||||
throw new Exception( | throw new Exception( | ||||
▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines |