Skip to content

Commit c66886b

Browse files
committed
Add Languages
* English * Dutch * German
1 parent efa4be8 commit c66886b

4 files changed

Lines changed: 97 additions & 66 deletions

File tree

client/app/js/app.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,17 @@ angular.module('loopbackApp', [
4343
'com.module.settings',
4444
'com.module.users'
4545
])
46-
.run(function (gettextCatalog) {
46+
.run(function($rootScope, gettextCatalog) {
47+
48+
$rootScope.langs = {
49+
pt: gettextCatalog.getString('Portuguese'),
50+
en: gettextCatalog.getString('English'),
51+
nl: gettextCatalog.getString('Dutch'),
52+
de: gettextCatalog.getString('German')
53+
};
54+
4755
var LangVar = navigator.language || navigator.userLanguage;
48-
var userLangVar = LangVar.substring (0, 2);
49-
gettextCatalog
50-
.setCurrentLanguage(userLangVar);
56+
var userLangVar = LangVar.substring(0, 2);
57+
gettextCatalog.setCurrentLanguage(userLangVar);
5158

5259
});
Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
'use strict';
2-
angular.module ('com.module.core')
2+
angular.module('com.module.core')
33
/**
44
* @ngdoc function
55
* @name com.module.core.controller:LayoutCtrl
@@ -8,49 +8,50 @@ angular.module ('com.module.core')
88
* @requires Setting
99
* @requires Env
1010
**/
11-
.controller ('LayoutCtrl', function ($scope, $rootScope, Setting, ENV) {
11+
.controller('LayoutCtrl', function($scope, $rootScope, gettextCatalog, Setting, ENV) {
12+
13+
$scope.langs = $rootScope.langs;
14+
15+
$scope.setLang = function(lang) {
16+
console.log(lang);
17+
gettextCatalog.setCurrentLanguage(lang);
18+
};
1219

1320
$scope.appName = 'LB-NG-BS';
1421
$scope.apiUrl = ENV.apiUrl;
1522
$scope.appTheme = 'skin-blue';
16-
$scope.appThemes = [
17-
{
18-
'name': 'Black',
19-
'class': 'skin-black'
20-
},
21-
{
22-
'name': 'Blue',
23-
'class': 'skin-blue'
24-
}
25-
];
23+
$scope.appThemes = [{
24+
'name': 'Black',
25+
'class': 'skin-black'
26+
}, {
27+
'name': 'Blue',
28+
'class': 'skin-blue'
29+
}];
2630
$scope.appLayout = '';
27-
$scope.appLayouts = [
28-
{
29-
'name': 'Fixed',
30-
'class': 'fixed'
31-
},
32-
{
33-
'name': 'Scrolling',
34-
'class': 'not-fixed'
35-
}
36-
];
31+
$scope.appLayouts = [{
32+
'name': 'Fixed',
33+
'class': 'fixed'
34+
}, {
35+
'name': 'Scrolling',
36+
'class': 'not-fixed'
37+
}];
3738

38-
$scope.toggleSidebar = function () {
39+
$scope.toggleSidebar = function() {
3940
var $ = angular.element;
40-
if ($ (window).width () <= 992) {
41-
$ ('.row-offcanvas').toggleClass ('active');
42-
$ ('.left-side').removeClass ('collapse-left');
43-
$ ('.right-side').removeClass ('strech');
44-
$ ('.row-offcanvas').toggleClass ('relative');
41+
if ($(window).width() <= 992) {
42+
$('.row-offcanvas').toggleClass('active');
43+
$('.left-side').removeClass('collapse-left');
44+
$('.right-side').removeClass('strech');
45+
$('.row-offcanvas').toggleClass('relative');
4546
} else {
4647
// Else, enable content streching
47-
$ ('.left-side').toggleClass ('collapse-left');
48-
$ ('.right-side').toggleClass ('strech');
48+
$('.left-side').toggleClass('collapse-left');
49+
$('.right-side').toggleClass('strech');
4950
}
5051
};
5152

5253
$scope.settings = $rootScope.settings;
5354

54-
$rootScope.loadSettings ();
55+
$rootScope.loadSettings();
5556

5657
});
Lines changed: 50 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,54 @@
11
<nav class="navbar navbar-static-top" role="navigation">
2-
<a href="" class="navbar-btn sidebar-toggle" data-toggle="offcanvas" ng-click="toggleSidebar()" role="button">
3-
<span class="sr-only" translate>Toggle navigation</span>
4-
<span class="icon-bar"></span>
5-
<span class="icon-bar"></span>
6-
<span class="icon-bar"></span>
7-
</a>
8-
<div class="navbar-right">
9-
<ul class="nav navbar-nav">
10-
<li class="dropdown user user-menu">
11-
<a href="" class="dropdown-toggle" data-toggle="dropdown">
12-
<i class="glyphicon glyphicon-user"></i>
13-
<span>{{currentUser.firstName}} {{currentUser.lastName}} <i class="caret"></i></span>
2+
<a href="" class="navbar-btn sidebar-toggle" data-toggle="offcanvas" ng-click="toggleSidebar()" role="button">
3+
<span class="sr-only" translate>Toggle navigation</span>
4+
<span class="icon-bar"></span>
5+
<span class="icon-bar"></span>
6+
<span class="icon-bar"></span>
7+
</a>
8+
<div class="navbar-right">
9+
<ul class="nav navbar-nav">
10+
<li class="dropdown tasks-menu">
11+
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
12+
<i class="fa fa-microphone"></i>
13+
<!-- <span class="label label-danger">9</span> -->
14+
</a>
15+
<ul class="dropdown-menu">
16+
<!-- <li class="header">You have {{ langs.length }} languages</li> -->
17+
<li>
18+
<!-- inner menu: contains the actual data -->
19+
<div class="slimScrollDiv" style="position: relative; overflow: hidden; width: auto; height: 200px;"><ul class="menu" style="overflow: hidden; width: 100%; height: 200px;">
20+
<li ng-repeat="(index, lang) in langs"><!-- Task item -->
21+
<a ng-click="setLang(index)">
22+
<h3> {{lang }}</h3>
1423
</a>
15-
<ul class="dropdown-menu">
16-
<li class="user-header bg-light-blue">
17-
<img gravatar-src-once="currentUser.email" class="img-circle" alt="User Image">
18-
<p>
19-
{{currentUser.firstName}} {{currentUser.lastName}}
20-
<small>{{currentUser.email}}</small>
21-
</p>
22-
</li>
23-
<li class="user-footer">
24-
<div class="pull-left">
25-
<a ui-sref="app.users.profile" href="#" class="btn btn-default btn-flat" translate>Profile</a>
26-
</div>
27-
<div class="pull-right">
28-
<a ng-click="logout()" href="#" class="btn btn-default btn-flat" translate>Sign out</a>
29-
</div>
30-
</li>
31-
</ul>
32-
</li>
24+
</li><!-- end task item -->
25+
</ul>
26+
</li>
3327
</ul>
34-
</div>
28+
</li>
29+
<li class="dropdown user user-menu">
30+
<a href="" class="dropdown-toggle" data-toggle="dropdown">
31+
<i class="glyphicon glyphicon-user"></i>
32+
<span>{{currentUser.firstName}} {{currentUser.lastName}} <i class="caret"></i></span>
33+
</a>
34+
<ul class="dropdown-menu">
35+
<li class="user-header bg-light-blue">
36+
<img gravatar-src-once="currentUser.email" class="img-circle" alt="User Image">
37+
<p>
38+
{{currentUser.firstName}} {{currentUser.lastName}}
39+
<small>{{currentUser.email}}</small>
40+
</p>
41+
</li>
42+
<li class="user-footer">
43+
<div class="pull-left">
44+
<a ui-sref="app.users.profile" href="#" class="btn btn-default btn-flat" translate>Profile</a>
45+
</div>
46+
<div class="pull-right">
47+
<a ng-click="logout()" href="#" class="btn btn-default btn-flat" translate>Sign out</a>
48+
</div>
49+
</li>
50+
</ul>
51+
</li>
52+
</ul>
53+
</div>
3554
</nav>

server/boot/02-load-users.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ module.exports = function (app) {
2222
name: 'admin',
2323
users: [
2424
{
25+
firstName: 'Administrator',
26+
lastName: 'User',
2527
email: 'admin@admin.com',
2628
username: 'admin',
2729
password: 'admin'
@@ -31,6 +33,8 @@ module.exports = function (app) {
3133
name: 'users',
3234
users: [
3335
{
36+
firstName: 'Guest',
37+
lastName: 'User',
3438
email: 'user@user.com',
3539
username: 'user',
3640
password: 'user'

0 commit comments

Comments
 (0)