Skip to content

Commit d757ed4

Browse files
committed
[locale-conf] Added locale configurations file
1 parent e156f25 commit d757ed4

File tree

7 files changed

+70
-97
lines changed

7 files changed

+70
-97
lines changed

frontend/express/app.js

+11-7
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ var versionInfo = require('./version.info'),
3535
ip = require('../../api/parts/mgmt/ip.js'),
3636
url = require('url'),
3737
authorize = require('../../api/utils/authorizer.js'), //for token validations
38+
languages = require('../../frontend/express/locale.conf'),
3839
render = require('../../api/utils/render.js');
3940

4041

@@ -665,6 +666,7 @@ function renderDashboard(req, res, next, member, adminOfApps, userOfApps, countl
665666
_.extend(req.config, configs);
666667
var countlyGlobal = {
667668
countlyTitle: req.countly.title,
669+
languages: languages,
668670
countlyVersion: req.countly.version,
669671
countlyFavicon: req.countly.favicon,
670672
pluginsSHA: sha1Hash(plugins.getPlugins()),
@@ -684,6 +686,7 @@ function renderDashboard(req, res, next, member, adminOfApps, userOfApps, countl
684686

685687
var toDashboard = {
686688
countlyTitle: req.countly.title,
689+
languages: languages,
687690
countlyFavicon: req.countly.favicon,
688691
adminOfApps: adminOfApps,
689692
userOfApps: userOfApps,
@@ -857,7 +860,7 @@ app.get(countlyConfig.path + '/setup', function(req, res) {
857860
res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');
858861
res.header('Expires', '0');
859862
res.header('Pragma', 'no-cache');
860-
res.render('setup', {countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "csrf": req.csrfToken(), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template});
863+
res.render('setup', { languages: languages, countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "csrf": req.csrfToken(), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template});
861864
}
862865
else if (err) {
863866
res.status(500).send('Server Error');
@@ -884,7 +887,7 @@ app.get(countlyConfig.path + '/login', function(req, res) {
884887
res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');
885888
res.header('Expires', '0');
886889
res.header('Pragma', 'no-cache');
887-
res.render('login', { countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "message": req.flash('info'), "csrf": req.csrfToken(), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template });
890+
res.render('login', { languages: languages, countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "message": req.flash('info'), "csrf": req.csrfToken(), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template });
888891
}
889892
else {
890893
res.redirect(countlyConfig.path + '/setup');
@@ -904,7 +907,7 @@ app.get(countlyConfig.path + '/forgot', function(req, res) {
904907
res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');
905908
res.header('Expires', '0');
906909
res.header('Pragma', 'no-cache');
907-
res.render('forgot', { countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "csrf": req.csrfToken(), "message": req.flash('info'), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template});
910+
res.render('forgot', { languages: languages, countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "csrf": req.csrfToken(), "message": req.flash('info'), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template});
908911
}
909912
});
910913

@@ -926,7 +929,7 @@ app.get(countlyConfig.path + '/reset/:prid', function(req, res) {
926929
res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');
927930
res.header('Expires', '0');
928931
res.header('Pragma', 'no-cache');
929-
res.render('reset', { countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "csrf": req.csrfToken(), "prid": req.params.prid, "message": "", path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template });
932+
res.render('reset', { languages: languages, countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "csrf": req.csrfToken(), "prid": req.params.prid, "message": "", path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template });
930933
}
931934
}
932935
else {
@@ -961,12 +964,13 @@ app.post(countlyConfig.path + '/reset', function(req, res, next) {
961964
});
962965
}
963966
else {
964-
res.render('reset', { countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "csrf": req.csrfToken(), "prid": req.body.prid, "message": "", path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template });
967+
res.render('reset', { languages: languages, countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "csrf": req.csrfToken(), "prid": req.body.prid, "message": "", path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template });
965968
}
966969
}
967970
else {
968971
res.render('reset',
969972
{
973+
languages: languages,
970974
countlyFavicon: req.countly.favicon,
971975
countlyTitle: req.countly.title,
972976
countlyPage: req.countly.page,
@@ -993,11 +997,11 @@ app.post(countlyConfig.path + '/forgot', function(req, res, next) {
993997
countlyDb.collection('password_reset').insert({"prid": prid, "user_id": member._id, "timestamp": timestamp}, {safe: true}, function() {
994998
countlyMail.sendPasswordResetInfo(member, prid);
995999
plugins.callMethod("passwordRequest", {req: req, res: res, next: next, data: req.body});
996-
res.render('forgot', { countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "message": "forgot.result", "csrf": req.csrfToken(), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template});
1000+
res.render('forgot', { languages: languages, countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "message": "forgot.result", "csrf": req.csrfToken(), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template});
9971001
});
9981002
}
9991003
else {
1000-
res.render('forgot', { countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "message": "forgot.result", "csrf": req.csrfToken(), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template});
1004+
res.render('forgot', { languages: languages, countlyFavicon: req.countly.favicon, countlyTitle: req.countly.title, countlyPage: req.countly.page, "message": "forgot.result", "csrf": req.csrfToken(), path: countlyConfig.path || "", cdn: countlyConfig.cdn || "", themeFiles: req.themeFiles, inject_template: req.template});
10011005
}
10021006
});
10031007
}

frontend/express/locale.conf.js

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var localeConf = [
2+
{ "code": "tr", "name": "Türkçe" },
3+
{ "code": "de", "name": "Deusch" },
4+
{ "code": "et", "name": "Eesti" },
5+
{ "code": "en", "name": "English" },
6+
{ "code": "es", "name": "Español" },
7+
{ "code": "el", "name": "Ελληνικά" },
8+
{ "code": "fr", "name": "Français" },
9+
{ "code": "it", "name": "Italiano" },
10+
{ "code": "lv", "name": "Latviski" },
11+
{ "code": "hu", "name": "Magyar" },
12+
{ "code": "nl", "name": "Nederlands" },
13+
{ "code": "pt", "name": "Português" },
14+
{ "code": "ru", "name": "Русский язык" },
15+
{ "code": "vi", "name": "Tiếng Việt" },
16+
{ "code": "zh", "name": "中文" },
17+
{ "code": "ja", "name": "日本語" },
18+
{ "code": "ko", "name": "한국어" }
19+
];
20+
try {
21+
var plugins = require('../../plugins/pluginManager.js');
22+
plugins.extendModule("locale.conf", localeConf);
23+
}
24+
catch (_) {
25+
//silent try
26+
}
27+
module.exports = localeConf;

frontend/express/views/dashboard.html

+3-17
Original file line numberDiff line numberDiff line change
@@ -208,23 +208,9 @@
208208
<div class="empty-state reveal-language-menu">EN</div>
209209
<div class="menu right" style="width: 150px;">
210210
<div id="language-menu" class="list">
211-
<a data-language-code="de" class="item">Deutsch</a>
212-
<a data-language-code="et" class="item">Eesti</a>
213-
<a data-language-code="en" class="item">English</a>
214-
<a data-language-code="es" class="item">Español</a>
215-
<a data-language-code="el" class="item">Ελληνικά</a>
216-
<a data-language-code="fr" class="item">Français</a>
217-
<a data-language-code="it" class="item">Italiano</a>
218-
<a data-language-code="lv" class="item">Latviski</a>
219-
<a data-language-code="hu" class="item">Magyar</a>
220-
<a data-language-code="nl" class="item">Nederlands</a>
221-
<a data-language-code="pt" class="item">Português</a>
222-
<a data-language-code="ru" class="item">Русский язык</a>
223-
<a data-language-code="vi" class="item">Tiếng Việt</a>
224-
<a data-language-code="tr" class="item">Türkçe</a>
225-
<a data-language-code="zh" class="item">中文</a>
226-
<a data-language-code="ja" class="item">日本語</a>
227-
<a data-language-code="ko" class="item">한국어</a>
211+
<% for(var i=0, l=languages.length; i<l; i++) {%>
212+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
213+
<% } %>
228214
</div>
229215
</div>
230216
</div>

frontend/express/views/forgot.html

+7-18
Original file line numberDiff line numberDiff line change
@@ -37,26 +37,15 @@
3737
<div class="top-button" id="select-lang">
3838
<div id="active-lang">EN</div>
3939
<div id="langs">
40-
<div class="group">
41-
<a data-language-code="de" class="item">Deutsch</a>
42-
<a data-language-code="en" class="item">English</a>
43-
<a data-language-code="es" class="item">Español</a>
44-
<a data-language-code="fr" class="item">Français</a>
45-
<a data-language-code="it" class="item">Italiano</a>
46-
<a data-language-code="nl" class="item">Nederlands</a>
47-
<a data-language-code="lv" class="item">Latviski</a>
48-
<a data-language-code="hu" class="item">Magyar</a>
49-
<a data-language-code="el" class="item">Ελληνικά</a>
40+
<div class="group">
41+
<% for(var i=0, l=(languages.length/2); i<l; i++) {%>
42+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
43+
<% } %>
5044
</div>
5145
<div class="group">
52-
<a data-language-code="et" class="item">Eesti</a>
53-
<a data-language-code="pt" class="item">Português</a>
54-
<a data-language-code="ru" class="item">Русский язык</a>
55-
<a data-language-code="tr" class="item">Türkçe</a>
56-
<a data-language-code="zh" class="item">中文</a>
57-
<a data-language-code="ja" class="item">日本語</a>
58-
<a data-language-code="ko" class="item">한국어</a>
59-
<a data-language-code="vi" class="item">Tiếng Việt</a>
46+
<% for(var i=(parseInt(languages.length/2) + 1), l=languages.length; i<l; i++) {%>
47+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
48+
<% } %>
6049
</div>
6150
</div>
6251
</div>

frontend/express/views/login.html

+6-17
Original file line numberDiff line numberDiff line change
@@ -38,25 +38,14 @@
3838
<div id="active-lang">EN</div>
3939
<div id="langs">
4040
<div class="group">
41-
<a data-language-code="de" class="item">Deutsch</a>
42-
<a data-language-code="en" class="item">English</a>
43-
<a data-language-code="es" class="item">Español</a>
44-
<a data-language-code="fr" class="item">Français</a>
45-
<a data-language-code="it" class="item">Italiano</a>
46-
<a data-language-code="nl" class="item">Nederlands</a>
47-
<a data-language-code="lv" class="item">Latviski</a>
48-
<a data-language-code="hu" class="item">Magyar</a>
49-
<a data-language-code="el" class="item">Ελληνικά</a>
41+
<% for(var i=0, l=(languages.length/2); i<l; i++) {%>
42+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
43+
<% } %>
5044
</div>
5145
<div class="group">
52-
<a data-language-code="et" class="item">Eesti</a>
53-
<a data-language-code="pt" class="item">Português</a>
54-
<a data-language-code="ru" class="item">Русский язык</a>
55-
<a data-language-code="tr" class="item">Türkçe</a>
56-
<a data-language-code="zh" class="item">中文</a>
57-
<a data-language-code="ja" class="item">日本語</a>
58-
<a data-language-code="ko" class="item">한국어</a>
59-
<a data-language-code="vi" class="item">Tiếng Việt</a>
46+
<% for(var i=(parseInt(languages.length/2) + 1), l=languages.length; i<l; i++) {%>
47+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
48+
<% } %>
6049
</div>
6150
</div>
6251
</div>

frontend/express/views/reset.html

+7-18
Original file line numberDiff line numberDiff line change
@@ -37,26 +37,15 @@
3737
<div class="top-button" id="select-lang">
3838
<div id="active-lang">EN</div>
3939
<div id="langs">
40-
<div class="group">
41-
<a data-language-code="de" class="item">Deutsch</a>
42-
<a data-language-code="en" class="item">English</a>
43-
<a data-language-code="es" class="item">Español</a>
44-
<a data-language-code="fr" class="item">Français</a>
45-
<a data-language-code="it" class="item">Italiano</a>
46-
<a data-language-code="nl" class="item">Nederlands</a>
47-
<a data-language-code="lv" class="item">Latviski</a>
48-
<a data-language-code="hu" class="item">Magyar</a>
49-
<a data-language-code="el" class="item">Ελληνικά</a>
40+
<div class="group">
41+
<% for(var i=0, l=(languages.length/2); i<l; i++) {%>
42+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
43+
<% } %>
5044
</div>
5145
<div class="group">
52-
<a data-language-code="et" class="item">Eesti</a>
53-
<a data-language-code="pt" class="item">Português</a>
54-
<a data-language-code="ru" class="item">Русский язык</a>
55-
<a data-language-code="tr" class="item">Türkçe</a>
56-
<a data-language-code="zh" class="item">中文</a>
57-
<a data-language-code="ja" class="item">日本語</a>
58-
<a data-language-code="ko" class="item">한국어</a>
59-
<a data-language-code="vi" class="item">Tiếng Việt</a>
46+
<% for(var i=(parseInt(languages.length/2) + 1), l=languages.length; i<l; i++) {%>
47+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
48+
<% } %>
6049
</div>
6150
</div>
6251
</div>

frontend/express/views/setup.html

+9-20
Original file line numberDiff line numberDiff line change
@@ -36,26 +36,15 @@
3636
<div id="active-lang">EN</div>
3737
<div id="langs">
3838
<div class="group">
39-
<a data-language-code="de" class="item">Deutsch</a>
40-
<a data-language-code="en" class="item">English</a>
41-
<a data-language-code="es" class="item">Español</a>
42-
<a data-language-code="fr" class="item">Français</a>
43-
<a data-language-code="it" class="item">Italiano</a>
44-
<a data-language-code="nl" class="item">Nederlands</a>
45-
<a data-language-code="lv" class="item">Latviski</a>
46-
<a data-language-code="hu" class="item">Magyar</a>
47-
<a data-language-code="el" class="item">Ελληνικά</a>
48-
</div>
49-
<div class="group">
50-
<a data-language-code="et" class="item">Eesti</a>
51-
<a data-language-code="pt" class="item">Português</a>
52-
<a data-language-code="ru" class="item">Русский язык</a>
53-
<a data-language-code="tr" class="item">Türkçe</a>
54-
<a data-language-code="zh" class="item">中文</a>
55-
<a data-language-code="ja" class="item">日本語</a>
56-
<a data-language-code="ko" class="item">한국어</a>
57-
<a data-language-code="vi" class="item">Tiếng Việt</a>
58-
</div>
39+
<% for(var i=0, l=(languages.length/2); i<l; i++) {%>
40+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
41+
<% } %>
42+
</div>
43+
<div class="group">
44+
<% for(var i=(parseInt(languages.length/2) + 1), l=languages.length; i<l; i++) {%>
45+
<a data-language-code="<%=languages[i].code%>" class="item"><%=languages[i].name%></a>
46+
<% } %>
47+
</div>
5948
</div>
6049
</div>
6150
</div>

0 commit comments

Comments
 (0)