mirror of
https://github.com/ONLYOFFICE/web-apps.git
synced 2026-07-24 12:05:33 +08:00
Add default languages map
This commit is contained in:
@ -441,20 +441,30 @@ Common.util.LanguageInfo = new(function() {
|
||||
0x0433 : ["ven-ZA", "South Africa", "South Africa"]
|
||||
};
|
||||
|
||||
var defLanguages = {
|
||||
'ar': 0x0401, // ar-SA
|
||||
'az': 0x042C, // az-Latn-AZ
|
||||
'en': 0x0409, // en-US
|
||||
'sr': 0x241A, // sr-Latn-RS
|
||||
'zh': 0x0004, // zh-Hans
|
||||
};
|
||||
|
||||
var _getLocalLanguageCode = function(name) {
|
||||
if (name) {
|
||||
for (var code in localLanguageName) {
|
||||
if (localLanguageName[code][0].toLowerCase()===name.toLowerCase())
|
||||
return code;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
return {
|
||||
getLocalLanguageName: function(code) {
|
||||
return localLanguageName[code] || ['', code];
|
||||
},
|
||||
|
||||
getLocalLanguageCode: function(name) {
|
||||
if (name) {
|
||||
for (var code in localLanguageName) {
|
||||
if (localLanguageName[code][0].toLowerCase()===name.toLowerCase())
|
||||
return code;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
getLocalLanguageCode: _getLocalLanguageCode,
|
||||
|
||||
/**
|
||||
* @typedef {Object} LangDisplayName
|
||||
@ -490,6 +500,14 @@ Common.util.LanguageInfo = new(function() {
|
||||
return null;
|
||||
},
|
||||
|
||||
getDefaultLanguageCode: function(name) {
|
||||
name = name.toLowerCase();
|
||||
if (defLanguages[name])
|
||||
return defLanguages[name];
|
||||
name += '-' + name.toUpperCase();
|
||||
return _getLocalLanguageCode(name);
|
||||
},
|
||||
|
||||
getLanguages: function() {
|
||||
return localLanguageName;
|
||||
}
|
||||
|
||||
@ -2824,10 +2824,14 @@ define([
|
||||
arr = []; // system languages can be 'en'... (MacOs)
|
||||
sLangs.forEach(function(lang) {
|
||||
let rec = _.findWhere(me.languages, {value: lang});
|
||||
if (!rec) {
|
||||
rec = Common.util.LanguageInfo.getDefaultLanguageCode(lang);
|
||||
rec && (rec = _.findWhere(me.languages, {value: Common.util.LanguageInfo.getLocalLanguageName(rec)[0]}));
|
||||
}
|
||||
if (!rec)
|
||||
rec = _.find(me.languages, function(item) {
|
||||
return item.spellcheck && (item.value.indexOf(lang.toLowerCase())===0);
|
||||
});
|
||||
return item.spellcheck && (item.value.indexOf(lang.toLowerCase())===0);
|
||||
});
|
||||
if (!rec)
|
||||
rec = _.find(me.languages, function(item) {
|
||||
return (item.value.indexOf(lang.toLowerCase())===0);
|
||||
|
||||
@ -2374,6 +2374,10 @@ define([
|
||||
arr = []; // system languages can be 'en'... (MacOs)
|
||||
sLangs.forEach(function(lang) {
|
||||
let rec = _.findWhere(me.languages, {value: lang});
|
||||
if (!rec) {
|
||||
rec = Common.util.LanguageInfo.getDefaultLanguageCode(lang);
|
||||
rec && (rec = _.findWhere(me.languages, {value: Common.util.LanguageInfo.getLocalLanguageName(rec)[0]}));
|
||||
}
|
||||
if (!rec)
|
||||
rec = _.find(me.languages, function(item) {
|
||||
return item.spellcheck && (item.value.indexOf(lang.toLowerCase())===0);
|
||||
|
||||
@ -2940,6 +2940,11 @@ define([
|
||||
arr = []; // system languages can be 'en'... (MacOs)
|
||||
sLangs.forEach(function(lang) {
|
||||
let rec = me.languages.indexOf(Common.util.LanguageInfo.getLocalLanguageCode(lang).toString())<0 ? null : lang;
|
||||
if (!rec) {
|
||||
rec = Common.util.LanguageInfo.getDefaultLanguageCode(lang);
|
||||
rec = rec && me.languages.indexOf(rec.toString())>-1 ? rec : null;
|
||||
rec && (rec = Common.util.LanguageInfo.getLocalLanguageName(parseInt(rec))[0]);
|
||||
}
|
||||
if (!rec) {
|
||||
rec = _.find(me.languages, function(code) {
|
||||
return (Common.util.LanguageInfo.getLocalLanguageName(parseInt(code))[0].indexOf(lang.toLowerCase())===0);
|
||||
|
||||
Reference in New Issue
Block a user