From f45779c3f83a209ca9da9f74a41e24da1c58f671 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sun, 31 Jan 2016 14:47:01 +0900 Subject: [PATCH] Simplify loading function for supported language list --- classes/context/Context.class.php | 17 +++++----------- common/{defaults.php => defaults/config.php} | 0 common/defaults/lang.php | 21 ++++++++++++++++++++ common/framework/lang.php | 16 ++++++++++++--- 4 files changed, 39 insertions(+), 15 deletions(-) rename common/{defaults.php => defaults/config.php} (100%) create mode 100644 common/defaults/lang.php diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 3c2d982ed..9c28000eb 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -664,18 +664,7 @@ class Context */ public static function loadLangSupported() { - static $lang_supported = null; - if(!$lang_supported) - { - $langs = file(_XE_PATH_ . 'common/lang/lang.info'); - foreach($langs as $val) - { - list($lang_prefix, $lang_text) = explode(',', $val); - $lang_text = trim($lang_text); - $lang_supported[$lang_prefix] = $lang_text; - } - } - return $lang_supported; + return Rhymix\Framework\Lang::getSupportedList(); } /** @@ -708,6 +697,10 @@ class Context foreach($langs as $val) { list($lang_prefix, $lang_text) = explode(',', $val); + if($lang_prefix === 'jp') + { + $lang_prefix = 'ja'; + } $lang_text = trim($lang_text); $lang_selected[$lang_prefix] = $lang_text; } diff --git a/common/defaults.php b/common/defaults/config.php similarity index 100% rename from common/defaults.php rename to common/defaults/config.php diff --git a/common/defaults/lang.php b/common/defaults/lang.php new file mode 100644 index 000000000..7317918b5 --- /dev/null +++ b/common/defaults/lang.php @@ -0,0 +1,21 @@ + '한국어', + 'en' => 'English', + 'ja' => '日本語', + 'zh-CN' => '中文(中国)', + 'zh-TW' => '中文(臺灣)', + 'de' => 'Deutsch', + 'es' => 'Español', + 'fr' => 'Français', + 'mn' => 'Mongolian', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'vi' => 'Tiếng Việt', +); diff --git a/common/framework/lang.php b/common/framework/lang.php index 7790fcaad..8e99473cb 100644 --- a/common/framework/lang.php +++ b/common/framework/lang.php @@ -45,7 +45,7 @@ class Lang */ protected function __construct($language) { - $this->_language = strtolower(preg_replace('/[^a-z0-9_-]/i', '', $language)); + $this->_language = preg_replace('/[^a-z0-9_-]/i', '', $language); } /** @@ -154,7 +154,7 @@ class Lang foreach ($subitem->value as $value) { $attribs = $value->attributes('xml', true); - if (strtolower($attribs['lang']) === $language) + if (strval($attribs['lang']) === $language) { $lang[$name][$subname] = strval($value); break; @@ -167,7 +167,7 @@ class Lang foreach ($item->value as $value) { $attribs = $value->attributes('xml', true); - if (strtolower($attribs['lang']) === $language) + if (strval($attribs['lang']) === $language) { $lang[$name] = strval($value); break; @@ -187,6 +187,16 @@ class Lang return $cache_filename; } + /** + * Get the list of supported languages. + * + * @return array + */ + public function getSupportedList() + { + return (include RX_BASEDIR . 'common/defaults/lang.php'); + } + /** * Magic method for translations with arguments. *