From 235086c7dec474eea538822386c093cf9e1fb93e Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Sat, 07 Jun 2008 07:22:59 -0400
Subject: [PATCH] Cleaned up localization names to unique language_COUNTRY schema according to ISO 639-1 and ISO 3166-1

---
 program/include/rcmail.php |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 5b8e74c..b01e5fd 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -186,10 +186,18 @@
     if (!isset($rcube_languages[$lang]) && isset($rcube_language_aliases[$lang])) {
       $lang = $rcube_language_aliases[$lang];
     }
-
+    
     // try the first two chars
-    if (!isset($rcube_languages[$lang]) && strlen($lang)>2) {
-      $lang = $this->language_prop(substr($lang, 0, 2));
+    else if (!isset($rcube_languages[$lang]) && strlen($lang) > 2) {
+      $short = $this->language_prop(substr($lang, 0, 2));
+      
+      // check if we have an alias for the short language code
+      if (!isset($rcube_languages[$short]) && isset($rcube_language_aliases[$short])) {
+        $lang = $rcube_language_aliases[$short];
+      }
+      else {  // expand 'de' to 'de_DE'
+        $lang = $short.'_'.strtoupper($short);
+      }
     }
 
     if (!isset($rcube_languages[$lang]) || !is_dir(INSTALL_PATH . 'program/localization/' . $lang)) {

--
Gitblit v1.9.1