Skip to content

Commit 0d8fa74

Browse files
committed
account for many languages
1 parent 9a8a4c3 commit 0d8fa74

File tree

2 files changed

+63
-13
lines changed

2 files changed

+63
-13
lines changed

config.json

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,23 @@
7777
"type": "text",
7878
"repeatable": false,
7979
"default": "100px"
80-
},
80+
},
81+
{
82+
"key": "start-screen-width",
83+
"name": "Start Up Screen Width (ex. 220px, expand initial screen if using many languages)",
84+
"required": false,
85+
"type": "text",
86+
"repeatable": false,
87+
"default": ""
88+
},
89+
{
90+
"key": "show-start-screen",
91+
"name": "Show Start Up Screen when changing languages (instead of jumping to next language)",
92+
"required": false,
93+
"type": "checkbox",
94+
"repeatable": false,
95+
"default": ""
96+
},
8197
{
8298
"key": "save-return-later",
8399
"name": "Save & Return Later Text",

js/multilingual_survey.js

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,33 @@
4141
$('#changeLang').css('background','#505050');
4242
$('#changeLang').css('color','#CCCCCC');
4343
$('#changeLang').css('opacity','0.5');
44-
langReady = 0;
45-
var id;
46-
for(id in languages){
47-
if(languages[id] == lang){
48-
break;
44+
45+
//if show start screen is checked, show all languages when changing language
46+
if(settings['show-start-screen'] && settings['show-start-screen']['value'] == true){
47+
$('#p1000Overlay').show();
48+
$('#p1000ChooseLang').show();
49+
50+
if($('#p1000ChooseLang').html() == ''){
51+
addLanguageButtons();
52+
if(settings['start-screen-width'] && settings['start-screen-width']['value']){
53+
$('#p1000ChooseLang').css('width', settings['start-screen-width']['value']);
54+
}
4955
}
5056
}
51-
id++;
52-
if(id == (totalLanguages + 1)){
53-
id = 1;
57+
else{
58+
langReady = 0;
59+
var id;
60+
for(id in languages){
61+
if(languages[id] == lang){
62+
break;
63+
}
64+
}
65+
id++;
66+
if(id == (totalLanguages + 1)){
67+
id = 1;
68+
}
69+
getLanguage(languages[id]);
5470
}
55-
getLanguage(languages[id]);
5671
}
5772
});
5873

@@ -144,7 +159,7 @@
144159

145160
//startUp
146161
$('body').append('<div id="p1000Overlay" style="text-align:center;vertical-align:middle;display:none;z-index:10000;position:fixed;top:0px;bottom:0px;right:0px;left:0px;background-color:rgba(0, 0, 0, 0.7);"></div>');
147-
$('#p1000Overlay').append('<div id="p1000ChooseLang" style="display:none;position:absolute;top:30%;transform: translateY(-50%);left:50%;transform: translateX(-50%);"></div>');
162+
$('#p1000Overlay').append('<div id="p1000ChooseLang" style="display:none;position:fixed;top:50%;left:50%;transform: translate(-50%, -50%);width:;"></div>');
148163
});
149164

150165
function getSettings(){
@@ -305,6 +320,19 @@
305320
$('#dpop').children().children().children(1).children().children().children().children().html(settings['save-return-later-text']['value'][langKey] + '<br>' + b);
306321
}
307322
}
323+
324+
function addLanguageButtons(){
325+
var i;
326+
for(i in languages){
327+
$('#p1000ChooseLang').append('<p><div class="setLangButtons" id="changeLang1" name="' + languages[i] + '" style="display:none;float:left;width:' + (settings['button-width'] && settings['button-width']['value'] ? settings['button-width']['value'] : '100px') + ';color:' + (settings['font-color'] && settings['font-color']['value'] ? settings['font-color']['value'] : '') + ';background:' + (settings['background-color'] && settings['background-color']['value'] ? settings['background-color']['value'] : '') + ';margin-top:20px;" onclick="$(\'#p1000Overlay\').fadeOut();$(\'#p1000ChooseLang\').fadeOut();">' + languages[i] + '</div></p>');
328+
}
329+
330+
var timing = 300;
331+
$('.setLangButtons').each(function(){
332+
$(this).fadeIn(timing);
333+
timing += 150;
334+
});
335+
}
308336

309337
function translate(){
310338
if(langReady == 1 && !settings['empty']){
@@ -313,7 +341,13 @@
313341

314342
//add buttons to startUp
315343
if($('#p1000Overlay').is(':visible') && $('#p1000ChooseLang').html() == ''){
316-
var i;
344+
//set width of start up screen (expand when using many languages)
345+
if(settings['start-screen-width'] && settings['start-screen-width']['value']){
346+
$('#p1000ChooseLang').css('width', settings['start-screen-width']['value']);
347+
}
348+
349+
addLanguageButtons();
350+
/* var i;
317351
for(i in languages){
318352
$('#p1000ChooseLang').append('<p><div class="setLangButtons" id="changeLang1" name="' + languages[i] + '" style="display:none;float:left;width:' + (settings['button-width'] && settings['button-width']['value'] ? settings['button-width']['value'] : '100px') + ';color:' + (settings['font-color'] && settings['font-color']['value'] ? settings['font-color']['value'] : '') + ';background:' + (settings['background-color'] && settings['background-color']['value'] ? settings['background-color']['value'] : '') + ';margin-top:20px;" onclick="$(\'#p1000Overlay\').fadeOut();$(\'#p1000ChooseLang\').fadeOut();">' + languages[i] + '</div></p>');
319353
}
@@ -322,7 +356,7 @@
322356
$('.setLangButtons').each(function(){
323357
$(this).fadeIn(timing);
324358
timing += 150;
325-
});
359+
}); */
326360
}
327361

328362
//required fields popup

0 commit comments

Comments
 (0)