summaryrefslogtreecommitdiffstats
path: root/lib/l10n.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/l10n.php')
-rw-r--r--lib/l10n.php20
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/l10n.php b/lib/l10n.php
index f172710e5d7..f70dfa5e34e 100644
--- a/lib/l10n.php
+++ b/lib/l10n.php
@@ -115,10 +115,12 @@ class OC_L10N{
$i18ndir = self::findI18nDir($app);
// Localization is in /l10n, Texts are in $i18ndir
// (Just no need to define date/time format etc. twice)
- if((OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC_App::getAppPath($app).'/l10n/') ||
- OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC::$SERVERROOT.'/core/l10n/') ||
- OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC::$SERVERROOT.'/lib/l10n/') ||
- OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC::$SERVERROOT.'/settings')) && file_exists($i18ndir.$lang.'.php')) {
+ if((OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC_App::getAppPath($app).'/l10n/')
+ || OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC::$SERVERROOT.'/core/l10n/')
+ || OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC::$SERVERROOT.'/lib/l10n/')
+ || OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC::$SERVERROOT.'/settings')
+ )
+ && file_exists($i18ndir.$lang.'.php')) {
// Include the file, save the data from $CONFIG
include strip_tags($i18ndir).strip_tags($lang).'.php';
if(isset($TRANSLATIONS) && is_array($TRANSLATIONS)) {
@@ -294,8 +296,14 @@ class OC_L10N{
}
foreach($accepted_languages as $i) {
$temp = explode(';', $i);
- if(array_search($temp[0], $available) !== false) {
- return $temp[0];
+ $temp[0] = str_replace('-', '_', $temp[0]);
+ if( ($key = array_search($temp[0], $available)) !== false) {
+ return $available[$key];
+ }
+ foreach($available as $l) {
+ if ( $temp[0] == substr($l, 0, 2) ) {
+ return $l;
+ }
}
}
}