SwatI18N/SwatI18NLocale.php
public static function get($locale = null)
    {
        $locale_object = null;

        if ($locale === null) {
            $locale_key = self::setlocale(LC_ALL, '0');
            if (array_key_exists($locale_key, self::$locales)) {
                $locale_object = self::$locales[$locale_key];
            }
        } elseif (is_array($locale)) {
            foreach ($locale as $locale_key) {
                if (array_key_exists($locale_key, self::$locales)) {
                    $locale_object = self::$locales[$locale_key];
                    break;
                }
            }
        } else {
            if (array_key_exists($locale, self::$locales)) {
                $locale_object = self::$locales[$locale];
            }
        }

        if ($locale_object === null) {
            $locale_object = new SwatI18NLocale($locale);
            if ($locale === null) {
                $locale_key = $locale_object->__toString();
                self::$locales[$locale_key] = $locale_object;
            } elseif (is_array($locale)) {
                foreach ($locale as $locale_key) {
                    self::$locales[$locale_key] = $locale_object;
                }
            } else {
                self::$locales[$locale] = $locale_object;
            }
        }

        return $locale_object;
    }
public static function get($locale = null)
    {
        $locale_object = null;

        if ($locale === null) {
            $locale_key = self::setlocale(LC_ALL, '0');
            if (array_key_exists($locale_key, self::$locales)) {
                $locale_object = self::$locales[$locale_key];
            }
        } elseif (is_array($locale)) {
            foreach ($locale as $locale_key) {
                if (array_key_exists($locale_key, self::$locales)) {
                    $locale_object = self::$locales[$locale_key];
                    break;
                }
            }
        } else {
            if (array_key_exists($locale, self::$locales)) {
                $locale_object = self::$locales[$locale];
            }
        }

        if ($locale_object === null) {
            $locale_object = new SwatI18NLocale($locale);
            if ($locale === null) {
                $locale_key = $locale_object->__toString();
                self::$locales[$locale_key] = $locale_object;
            } elseif (is_array($locale)) {
                foreach ($locale as $locale_key) {
                    self::$locales[$locale_key] = $locale_object;
                }
            } else {
                self::$locales[$locale] = $locale_object;
            }
        }

        return $locale_object;
    }
public static function get ( $ locale = null ) { $ locale_object = null ; if ( $ locale === null ) { $ locale_key = self :: setlocale ( LC_ALL , '0' ) ; if ( array_key_exists ( $ locale_key , self :: $ locales ) ) { $ locale_object = self :: $ locales [ $ locale_key ] ; } } elseif ( is_array ( $ locale ) ) { foreach ( $ locale as $ locale_key ) { if ( array_key_exists ( $ locale_key , self :: $ locales ) ) { $ locale_object = self :: $ locales [ $ locale_key ] ; break ; } } } else { if ( array_key_exists ( $ locale , self :: $ locales ) ) { $ locale_object = self :: $ locales [ $ locale ] ; } } if ( $ locale_object === null ) { $ locale_object = new SwatI18NLocale ( $ locale ) ; if ( $ locale === null ) { $ locale_key = $ locale_object -> __toString ( ) ; self :: $ locales [ $ locale_key ] = $ locale_object ; } elseif ( is_array ( $ locale ) ) { foreach ( $ locale as $ locale_key ) { self :: $ locales [ $ locale_key ] = $ locale_object ; } } else { self :: $ locales [ $ locale ] = $ locale_object ; } } return $ locale_object ; }
Gets a locale object

@param array|string $locale the locale identifier of this locale object.
If the locale is not valid for the current
operating system, an exception is thrown.
If no locale is specified, the current
locale is used. Multiple locale identifiers
may be specified in an array. In this case,
the first valid locale is used.

@return SwatI18NLocale a locale object for the requested <i>$locale</i>.

@throws SwatException if the specified <i>$locale</i> is not valid for
the current operating system.
Gets a locale object