]> _ Git - fluidbook-html5.git/commitdiff
(no commit message)
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 16 Aug 2013 13:55:37 +0000 (13:55 +0000)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 16 Aug 2013 13:55:37 +0000 (13:55 +0000)
js/libs/fluidbook/fluidbook.js
js/libs/fluidbook/fluidbook.l10n.js
js/libs/fluidbook/fluidbook.nav.js

index a8bd278f6ae2b2747b2710581eaad7c31c65d4a5..fa709b5a0981ed543b048caa83b96faadcfd3b04 100644 (file)
@@ -932,7 +932,21 @@ Fluidbook.prototype = {
                        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
index ce12e3332e328eed181042a6d60c1d382f66cb01..599666e1859a3c2ed4f29bdc4231def79b9ad46d 100644 (file)
@@ -1,6 +1,6 @@
 function FluidbookL10N(fluidbook, lang) {
        this.translations = {};
-       this.multilang = {};
+       this.multilang = [];
        this.multilangEnabled = false;
        this.fluidbook = fluidbook;
 
@@ -38,11 +38,43 @@ FluidbookL10N.prototype = {
 
                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'));
index bc73e42edd1c05d1c548fca9a5cc3eecb210ba1b..e61180eff1c0cc21de5a20a3e52b9c8716bf962f 100644 (file)
@@ -136,7 +136,10 @@ FluidbookNav.prototype = {
        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")');