if (url.substr(0, 3) == '../' && !$this.datas.standalone) {\r
url = '../' + url;\r
}\r
- view += '<li data-level="0"><a href="' + url + '" class="level0"><img src="images/flags/' + v.flag + '.png" alt="' + v.name + '" />' + v.name + '</a></li>';\r
+ /*'datas' => array(__('Langue') => 'lang',\r
+ __('Langue') . ' (' . __('Pays') . ')' => 'lang_country',\r
+ __('Pays') . ' (' . __('Langue') . ')' => 'country_lang'));*/\r
+\r
+ var name = '';\r
+ if ($this.datas.multilangDisplay == 'lang') {\r
+ name = v.langName;\r
+ } else if ($this.datas.multilangDisplay == 'lang_country') {\r
+ name = v.langName + ' (' + v.countryName + ')';\r
+ } else if ($this.datas.multilangDisplay == 'country_lang') {\r
+ name = v.countryName + ' (' + v.langName + ')';\r
+ }\r
+\r
+\r
+ view += '<li data-level="0"><a href="' + url + '" class="level0"><img src="images/flags/' + v.flag + '.png" alt="' + name + '" />' + name + '</a></li>';\r
});\r
view += '</ul>';\r
view += '</div>';\r
function FluidbookL10N(fluidbook, lang) {
this.translations = {};
- this.multilang = {};
+ this.multilang = [];
this.multilangEnabled = false;
this.fluidbook = fluidbook;
var e = ml.split("\n");
$.each(e, function(k, v) {
+ if (v == '') {
+ return;
+ }
var l = v.split(',');
- var o = {lang: l[0], flag: l[1], url: l[2], name: l[3]};
- $this.multilang[l[0]] = o;
+ if (l[0] == '') {
+ return;
+ }
+ var o = {lang: l[0], flag: l[1], url: l[2], langName: l[3], countryName: l[4]};
+
+ $this.multilang[$this.multilang.length] = o;
});
},
+ getActiveFlag: function() {
+ var active = this.getActiveLang();
+ var res = [];
+ for (var i = 0; i < this.multilang.length; i++) {
+ var l = this.multilang[i];
+ if (l.lang == active) {
+ res.push(l);
+ }
+ }
+
+ if (res.length == 1) {
+ return res[0].flag;
+ } else if (res.length == 0) {
+ return false;
+ } else {
+ if (this.fluidbook.datas.country != '') {
+ for (var i in res) {
+ if (res[i].flag == this.fluidbook.datas.country) {
+ return res[i].flag;
+ }
+ }
+ return res[0].flag;
+ }
+ }
+ },
updateTranslations: function() {
var $this = this;
$("#q").attr('placeholder', this.__('search'));
addMultilangLink: function(langs) {
var l = '<a id="locales" help="!Select language" href="#/locales"></a>';
- var flag = this.fluidbook.l10n.multilang[this.fluidbook.l10n.getActiveLang()].flag;
+ var flag = this.fluidbook.l10n.getActiveFlag();
+ if (flag === false) {
+ return;
+ }
$("#nav").append(l);
$("#nav #locales").css('background-image', 'url("images/flags/' + flag + '.png")');