Skip to content

Commit e567018

Browse files
committed
Add country flag to language selector
1 parent d5f4b14 commit e567018

File tree

15 files changed

+319
-91
lines changed

15 files changed

+319
-91
lines changed

src/main/java/ru/mystamps/web/Url.java

+3
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ public final class Url {
8585
public static final String BOOTSTRAP_CSS = "/public/bootstrap/css/bootstrap.min.css";
8686
public static final String BOOTSTRAP_JS = "/public/bootstrap/js/bootstrap.min.js";
8787
public static final String JQUERY_JS = "/public/jquery/jquery.min.js";
88+
// CheckStyle: ignore LineLength for next 1 lines
89+
public static final String BOOTSTRAP_LANGUAGE = "https://cdn.rawgit.com/usrz/bootstrap-languages/3ac2a3d2b27ac43a471cd99e79d378a03b2c6b5f/languages.min.css";
8890

8991
// CheckStyle: ignore LineLength for next 3 lines
9092
// TODO: use minimal version of CSS file when it will be available (https://github.com/webjars/selectize.js/issues/3)
@@ -126,6 +128,7 @@ public static Map<String, String> asMap(boolean serveContentFromSingleHost) {
126128
map.put("INFO_COUNTRY_PAGE", INFO_COUNTRY_PAGE);
127129
map.put("LIST_COUNTRIES_PAGE", LIST_COUNTRIES_PAGE);
128130
map.put("INFO_COLLECTION_PAGE", INFO_COLLECTION_PAGE);
131+
map.put("BOOTSTRAP_LANGUAGE", BOOTSTRAP_LANGUAGE);
129132

130133
if (serveContentFromSingleHost) {
131134
map.put("BOOTSTRAP_CSS", BOOTSTRAP_CSS);

src/main/webapp/WEB-INF/static/styles/main.css

+4
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,7 @@ label {
8282
vertical-align: middle;
8383
float: none;
8484
}
85+
86+
.dropdown-entry-lang {
87+
padding-left: 5px;
88+
}

src/main/webapp/WEB-INF/views/account/activate.html

+24-7
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<title th:text="|MyStamps: #{t_activation_title}|">MyStamps: account activation</title>
1212
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" th:href="${FAVICON_ICO}" />
1313
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" th:href="${BOOTSTRAP_CSS}" />
14+
<link rel="stylesheet" href="https://cdn.rawgit.com/usrz/bootstrap-languages/3ac2a3d2b27ac43a471cd99e79d378a03b2c6b5f/languages.min.css" th:href="${BOOTSTRAP_LANGUAGE}" />
1415
<link rel="stylesheet" href="../../static/styles/main.css" th:href="${MAIN_CSS}" />
1516
</head>
1617
<body>
@@ -22,17 +23,33 @@
2223
2324
--><div class="col-sm-1 vcenter">
2425
<div class="dropdown">
25-
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
26-
<span th:text="#{t_english}" th:if="${#locale.language == 'en'}">English</span>
27-
<!--/*/
28-
<span th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">Russian</span>
29-
/*/-->
26+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="en"></span>
27+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_english}" th:if="${#locale.language == 'en'}">
28+
English
29+
</a>
30+
31+
<!--/*/
32+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="ru"></span>
33+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">
34+
Russian
3035
</a>
36+
/*/-->
37+
3138
<span class="caret"></span>
3239
<ul class="dropdown-menu">
33-
<li><a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a></li>
40+
<li>
41+
<div class="dropdown-entry-lang">
42+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="ru"></span>
43+
<a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a>
44+
</div>
45+
</li>
3446
<!--/*/
35-
<li><a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a></li>
47+
<li>
48+
<div class="dropdown-entry-lang">
49+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="en"></span>
50+
<a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a>
51+
</div>
52+
</li>
3653
/*/-->
3754
</ul>
3855
</div>

src/main/webapp/WEB-INF/views/account/auth.html

+24-7
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<title th:text="|MyStamps: #{t_auth_title}|">MyStamps: authentication</title>
1212
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" th:href="${FAVICON_ICO}" />
1313
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" th:href="${BOOTSTRAP_CSS}" />
14+
<link rel="stylesheet" href="https://cdn.rawgit.com/usrz/bootstrap-languages/3ac2a3d2b27ac43a471cd99e79d378a03b2c6b5f/languages.min.css" th:href="${BOOTSTRAP_LANGUAGE}" />
1415
<link rel="stylesheet" href="../../static/styles/main.css" th:href="${MAIN_CSS}" />
1516
</head>
1617
<body>
@@ -22,17 +23,33 @@
2223
2324
--><div class="col-sm-1 vcenter">
2425
<div class="dropdown">
25-
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
26-
<span th:text="#{t_english}" th:if="${#locale.language == 'en'}">English</span>
27-
<!--/*/
28-
<span th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">Russian</span>
29-
/*/-->
26+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="en"></span>
27+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_english}" th:if="${#locale.language == 'en'}">
28+
English
29+
</a>
30+
31+
<!--/*/
32+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="ru"></span>
33+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">
34+
Russian
3035
</a>
36+
/*/-->
37+
3138
<span class="caret"></span>
3239
<ul class="dropdown-menu">
33-
<li><a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a></li>
40+
<li>
41+
<div class="dropdown-entry-lang">
42+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="ru"></span>
43+
<a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a>
44+
</div>
45+
</li>
3446
<!--/*/
35-
<li><a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a></li>
47+
<li>
48+
<div class="dropdown-entry-lang">
49+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="en"></span>
50+
<a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a>
51+
</div>
52+
</li>
3653
/*/-->
3754
</ul>
3855
</div>

src/main/webapp/WEB-INF/views/account/register.html

+24-7
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<title th:text="|MyStamps: #{t_registration_title}|">MyStamps: registration</title>
1212
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" th:href="${FAVICON_ICO}" />
1313
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" th:href="${BOOTSTRAP_CSS}" />
14+
<link rel="stylesheet" href="https://cdn.rawgit.com/usrz/bootstrap-languages/3ac2a3d2b27ac43a471cd99e79d378a03b2c6b5f/languages.min.css" th:href="${BOOTSTRAP_LANGUAGE}" />
1415
<link rel="stylesheet" href="../../static/styles/main.css" th:href="${MAIN_CSS}" />
1516
</head>
1617
<body>
@@ -22,17 +23,33 @@
2223
2324
--><div class="col-sm-1 vcenter">
2425
<div class="dropdown">
25-
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
26-
<span th:text="#{t_english}" th:if="${#locale.language == 'en'}">English</span>
27-
<!--/*/
28-
<span th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">Russian</span>
29-
/*/-->
26+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="en"></span>
27+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_english}" th:if="${#locale.language == 'en'}">
28+
English
29+
</a>
30+
31+
<!--/*/
32+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="ru"></span>
33+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">
34+
Russian
3035
</a>
36+
/*/-->
37+
3138
<span class="caret"></span>
3239
<ul class="dropdown-menu">
33-
<li><a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a></li>
40+
<li>
41+
<div class="dropdown-entry-lang">
42+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="ru"></span>
43+
<a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a>
44+
</div>
45+
</li>
3446
<!--/*/
35-
<li><a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a></li>
47+
<li>
48+
<div class="dropdown-entry-lang">
49+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="en"></span>
50+
<a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a>
51+
</div>
52+
</li>
3653
/*/-->
3754
</ul>
3855
</div>

src/main/webapp/WEB-INF/views/category/add.html

+24-7
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<title th:text="|MyStamps: #{t_create_category}|">MyStamps: add category</title>
1212
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" th:href="${FAVICON_ICO}" />
1313
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" th:href="${BOOTSTRAP_CSS}" />
14+
<link rel="stylesheet" href="https://cdn.rawgit.com/usrz/bootstrap-languages/3ac2a3d2b27ac43a471cd99e79d378a03b2c6b5f/languages.min.css" th:href="${BOOTSTRAP_LANGUAGE}" />
1415
<link rel="stylesheet" href="../../static/styles/main.css" th:href="${MAIN_CSS}" />
1516
</head>
1617
<body>
@@ -22,17 +23,33 @@
2223
2324
--><div class="col-sm-1 vcenter">
2425
<div class="dropdown">
25-
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
26-
<span th:text="#{t_english}" th:if="${#locale.language == 'en'}">English</span>
27-
<!--/*/
28-
<span th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">Russian</span>
29-
/*/-->
26+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="en"></span>
27+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_english}" th:if="${#locale.language == 'en'}">
28+
English
3029
</a>
30+
31+
<!--/*/
32+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="ru"></span>
33+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">
34+
Russian
35+
</a>
36+
/*/-->
37+
3138
<span class="caret"></span>
3239
<ul class="dropdown-menu">
33-
<li><a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a></li>
40+
<li>
41+
<div class="dropdown-entry-lang">
42+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="ru"></span>
43+
<a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a>
44+
</div>
45+
</li>
3446
<!--/*/
35-
<li><a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a></li>
47+
<li>
48+
<div class="dropdown-entry-lang">
49+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="en"></span>
50+
<a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a>
51+
</div>
52+
</li>
3653
/*/-->
3754
</ul>
3855
</div>

src/main/webapp/WEB-INF/views/category/info.html

+24-7
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<title th:text="|MyStamps: #{t_category_info}|">MyStamps: Category info</title>
1111
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" th:href="${FAVICON_ICO}" />
1212
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" th:href="${BOOTSTRAP_CSS}" />
13+
<link rel="stylesheet" href="https://cdn.rawgit.com/usrz/bootstrap-languages/3ac2a3d2b27ac43a471cd99e79d378a03b2c6b5f/languages.min.css" th:href="${BOOTSTRAP_LANGUAGE}" />
1314
<link rel="stylesheet" href="../../static/styles/main.css" th:href="${MAIN_CSS}" />
1415
<link rel="canonical" href="" th:href="@{${PUBLIC_URL} + ${INFO_CATEGORY_PAGE}(id=${category.id},slug=${category.slug})}" />
1516
</head>
@@ -22,17 +23,33 @@
2223
2324
--><div class="col-sm-1 vcenter">
2425
<div class="dropdown">
25-
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
26-
<span th:text="#{t_english}" th:if="${#locale.language == 'en'}">English</span>
27-
<!--/*/
28-
<span th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">Russian</span>
29-
/*/-->
26+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="en"></span>
27+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_english}" th:if="${#locale.language == 'en'}">
28+
English
3029
</a>
30+
31+
<!--/*/
32+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="ru"></span>
33+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">
34+
Russian
35+
</a>
36+
/*/-->
37+
3138
<span class="caret"></span>
3239
<ul class="dropdown-menu">
33-
<li><a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a></li>
40+
<li>
41+
<div class="dropdown-entry-lang">
42+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="ru"></span>
43+
<a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a>
44+
</div>
45+
</li>
3446
<!--/*/
35-
<li><a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a></li>
47+
<li>
48+
<div class="dropdown-entry-lang">
49+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="en"></span>
50+
<a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a>
51+
</div>
52+
</li>
3653
/*/-->
3754
</ul>
3855
</div>

src/main/webapp/WEB-INF/views/category/list.html

+24-7
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<title th:text="|MyStamps: #{t_category_list}|">MyStamps: category list</title>
1111
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" th:href="${FAVICON_ICO}" />
1212
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" th:href="${BOOTSTRAP_CSS}" />
13+
<link rel="stylesheet" href="https://cdn.rawgit.com/usrz/bootstrap-languages/3ac2a3d2b27ac43a471cd99e79d378a03b2c6b5f/languages.min.css" th:href="${BOOTSTRAP_LANGUAGE}" />
1314
<link rel="stylesheet" href="../../static/styles/main.css" th:href="${MAIN_CSS}" />
1415
</head>
1516
<body>
@@ -21,17 +22,33 @@
2122
2223
--><div class="col-sm-1 vcenter">
2324
<div class="dropdown">
24-
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
25-
<span th:text="#{t_english}" th:if="${#locale.language == 'en'}">English</span>
26-
<!--/*/
27-
<span th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">Russian</span>
28-
/*/-->
25+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="en"></span>
26+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_english}" th:if="${#locale.language == 'en'}">
27+
English
2928
</a>
29+
30+
<!--/*/
31+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="ru"></span>
32+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">
33+
Russian
34+
</a>
35+
/*/-->
36+
3037
<span class="caret"></span>
3138
<ul class="dropdown-menu">
32-
<li><a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a></li>
39+
<li>
40+
<div class="dropdown-entry-lang">
41+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="ru"></span>
42+
<a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a>
43+
</div>
44+
</li>
3345
<!--/*/
34-
<li><a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a></li>
46+
<li>
47+
<div class="dropdown-entry-lang">
48+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="en"></span>
49+
<a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a>
50+
</div>
51+
</li>
3552
/*/-->
3653
</ul>
3754
</div>

src/main/webapp/WEB-INF/views/collection/info.html

+24-7
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<title th:text="|MyStamps: #{t_collection_of(${ownerName})}|">MyStamps: John Doe's collection</title>
1111
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" th:href="${FAVICON_ICO}" />
1212
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" th:href="${BOOTSTRAP_CSS}" />
13+
<link rel="stylesheet" href="https://cdn.rawgit.com/usrz/bootstrap-languages/3ac2a3d2b27ac43a471cd99e79d378a03b2c6b5f/languages.min.css" th:href="${BOOTSTRAP_LANGUAGE}" />
1314
<link rel="stylesheet" href="../../static/styles/main.css" th:href="${MAIN_CSS}" />
1415
</head>
1516
<body>
@@ -21,17 +22,33 @@
2122
2223
--><div class="col-sm-1 vcenter">
2324
<div class="dropdown">
24-
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
25-
<span th:text="#{t_english}" th:if="${#locale.language == 'en'}">English</span>
26-
<!--/*/
27-
<span th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">Russian</span>
28-
/*/-->
25+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="en"></span>
26+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_english}" th:if="${#locale.language == 'en'}">
27+
English
28+
</a>
29+
30+
<!--/*/
31+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="ru"></span>
32+
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" th:text="#{t_russian}" th:if="${#locale.language == 'ru'}">
33+
Russian
2934
</a>
35+
/*/-->
36+
3037
<span class="caret"></span>
3138
<ul class="dropdown-menu">
32-
<li><a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a></li>
39+
<li>
40+
<div class="dropdown-entry-lang">
41+
<span th:if="${#locale.language == 'en'}" class="lang-xs" lang="ru"></span>
42+
<a href="?lang=ru" hreflang="ru" th:text="#{t_russian}" th:if="${#locale.language == 'en'}">Russian</a>
43+
</div>
44+
</li>
3345
<!--/*/
34-
<li><a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a></li>
46+
<li>
47+
<div class="dropdown-entry-lang">
48+
<span th:if="${#locale.language == 'ru'}" class="lang-xs" lang="en"></span>
49+
<a href="?lang=en" hreflang="en" th:text="#{t_english}" th:if="${#locale.language == 'ru'}">English</a>
50+
</div>
51+
</li>
3552
/*/-->
3653
</ul>
3754
</div>

0 commit comments

Comments
 (0)