* @param string $locale * @return boolean */ protected static function _isValidLocale($locale) { if (!is_string($locale)) { return false; } return preg_match('|^[a-z]{2}_[A-Z]{2}$|', $locale); } /** * Get fallback value * * @param string $component * @param string $key * @param string|null $default * @param string $locale */ protected static function _getFallback($component, $key, $default, $locale) { assert('is_string($component)'); assert('is_string($key)'); assert('is_null($default) || is_string($default)'); if (self::$_fallbackLocale == $locale) { return $default; } return self::get($component, $key, $default, self::$_fallbackLocale); } } FWI18N::addDirectory(dirname(__FILE__) . '/../../i18n');