From ff2c5a3da10f41f9692b01cdafee2e8185167c65 Mon Sep 17 00:00:00 2001 From: Dan Cryer Date: Sun, 7 Dec 2014 11:39:33 +0000 Subject: [PATCH] Moving languages to two letter locales where the four-letter equivalent is not necessary. --- PHPCI/Helper/Lang.php | 8 +++++--- PHPCI/Languages/lang.en-us.php | 14 -------------- PHPCI/Languages/{lang.en-gb.php => lang.en.php} | 0 PHPCI/Languages/{lang.ru-ru.php => lang.ru.php} | 0 4 files changed, 5 insertions(+), 17 deletions(-) delete mode 100644 PHPCI/Languages/lang.en-us.php rename PHPCI/Languages/{lang.en-gb.php => lang.en.php} (100%) rename PHPCI/Languages/{lang.ru-ru.php => lang.ru.php} (100%) diff --git a/PHPCI/Helper/Lang.php b/PHPCI/Helper/Lang.php index f96109c2..f6a6440b 100644 --- a/PHPCI/Helper/Lang.php +++ b/PHPCI/Helper/Lang.php @@ -42,10 +42,12 @@ class Lang { // Try user language: if (isset($_SERVER) && array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER)) { - $matches = array(); + $langs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); - if (preg_match('/([a-zA-Z]{2}\-[a-zA-Z]{2})/', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches)) { - self::$language = strtolower($matches[1]); + foreach ($langs as $lang) { + $parts = explode(';', $lang); + + self::$language = strtolower($parts[0]); self::$strings = self::loadLanguage(); if (!is_null(self::$strings)) { diff --git a/PHPCI/Languages/lang.en-us.php b/PHPCI/Languages/lang.en-us.php deleted file mode 100644 index cb5c0661..00000000 --- a/PHPCI/Languages/lang.en-us.php +++ /dev/null @@ -1,14 +0,0 @@ - 'test'); -} diff --git a/PHPCI/Languages/lang.en-gb.php b/PHPCI/Languages/lang.en.php similarity index 100% rename from PHPCI/Languages/lang.en-gb.php rename to PHPCI/Languages/lang.en.php diff --git a/PHPCI/Languages/lang.ru-ru.php b/PHPCI/Languages/lang.ru.php similarity index 100% rename from PHPCI/Languages/lang.ru-ru.php rename to PHPCI/Languages/lang.ru.php