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 | |||||