public static function cascade($locale) {
		$locales[] = $locale;

		if ($locale === 'root') {
			return $locales;
		}
		$tags = static::decompose($locale);

		while (count($tags) > 1) {
			array_pop($tags);
			$locales[] = static::compose($tags);
		}
		$locales[] = 'root';
		return $locales;
	}
public static function cascade($locale) {
		$locales[] = $locale;

		if ($locale === 'root') {
			return $locales;
		}
		$tags = static::decompose($locale);

		while (count($tags) > 1) {
			array_pop($tags);
			$locales[] = static::compose($tags);
		}
		$locales[] = 'root';
		return $locales;
	}
public static function cascade ( $ locale ) { $ locales [ ] = $ locale ; if ( $ locale === 'root' ) { return $ locales ; } $ tags = static :: decompose ( $ locale ) ; while ( count ( $ tags ) > 1 ) { array_pop ( $ tags ) ; $ locales [ ] = static :: compose ( $ tags ) ; } $ locales [ ] = 'root' ; return $ locales ; }
Cascades a locale.

Usage:
```
Locale::cascade('en_US');
// returns ['en_US', 'en', 'root']

Locale::cascade('zh_Hans_HK_REVISED');
// returns ['zh_Hans_HK_REVISED', 'zh_Hans_HK', 'zh_Hans', 'zh', 'root']
```

@link http://www.unicode.org/reports/tr35/tr35-13.html#Locale_Inheritance
@param string $locale A locale in an arbitrary form (i.e. `'en_US'` or `'EN-US'`).
@return array Indexed array of locales (starting with the most specific one).
Cascades a locale .