add language select menu & option

This commit is contained in:
OldHawk
2017-05-06 15:04:22 +08:00
parent eb371527a9
commit 04ebf3a49e
7 changed files with 50 additions and 16 deletions

View File

@@ -3,8 +3,8 @@
module.exports = {
meanTorrentConfig: {
language: [
{name: 'en', css: '.flag-icon-gb'},
{name: 'zh', css: '.flag-icon-cn'}
{name: 'en', index: 0, class: 'flag-icon-gb', title: 'English'},
{name: 'zh', index: 1, class: 'flag-icon-cn', title: '中文'}
],
announce: {
url: 'http://127.0.0.1:3000/announce',

View File

@@ -5,10 +5,11 @@
.module('core')
.controller('HeaderController', HeaderController);
HeaderController.$inject = ['$scope', '$state', 'Authentication', 'menuService'];
HeaderController.$inject = ['$scope', '$state', '$translate', 'Authentication', 'menuService', 'MeanTorrentConfig', 'localStorageService'];
function HeaderController($scope, $state, Authentication, menuService) {
function HeaderController($scope, $state, $translate, Authentication, menuService, MeanTorrentConfig, localStorageService) {
var vm = this;
vm.language = MeanTorrentConfig.meanTorrentConfig.language;
vm.accountMenu = menuService.getMenu('account').items[0];
vm.authentication = Authentication;
@@ -21,5 +22,13 @@
// Collapsing the menu after navigation
vm.isCollapsed = false;
}
vm.changeLanguage = function (langKey) {
console.log('langKey=' + langKey);
localStorageService.set('storage_user_lang', langKey);
$translate.use(langKey);
$state.reload();
};
}
}());

View File

@@ -13,7 +13,6 @@
vm.movieTopList = undefined;
vm.info_is_ready = false;
//$translate.use('en');
vm.COMING = 'coming soon...';

View File

@@ -507,4 +507,27 @@
margin-bottom: 15px;
margin-top: 5px;
}
}
.lang-list {
margin-left: 10px;
line-height: 2;
.flag-icon {
font-size: 18px;
margin-left: 10px;
&,
&:hover,
&:focus {
cursor: pointer;
}
}
}
.lang-footer {
margin-left: 0;
.flag-icon {
font-size: 15px;
margin-left: 0px;
margin-right: 10px;
}
}

View File

@@ -1,8 +1,13 @@
<div class="container-fluid" style="padding-top: 30px; padding-bottom: 30px;">
<div class="container-fluid" style="padding-top: 30px; padding-bottom: 30px;" ng-controller="HeaderController as vm">
<div class="container">
<div class="row view-footer">
<div class="col-sm-7 col-sm-offset-1">
<ul>
<li>
<span class="lang-list lang-footer">
<span class="flag-icon {{l.class}}" title="{{l.title}}" ng-click="vm.changeLanguage(l.name);" ng-repeat="l in vm.language | orderBy: '-index'"></span>
</span>
</li>
<li translate="GIT_REPO"></li>
<li translate="MIT_PROTOCOL"></li>
</ul>

View File

@@ -36,6 +36,12 @@
<span ng-bind="vm.authentication.user.displayName"></span> <b class="caret"></b>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<span class="lang-list">
<span class="flag-icon {{l.class}}" title="{{l.title}}" ng-click="vm.changeLanguage(l.name);" ng-repeat="l in vm.language | orderBy: '-index'"></span>
</span>
</li>
<li class="divider"></li>
<li ui-sref-active="active" ng-repeat="item in vm.accountMenu.items">
<a ui-sref="{{item.state}}" ng-bind="item.title" menu-title="{{item.title}}"></a>
</li>

View File

@@ -5,21 +5,13 @@
.module('vip')
.controller('VipController', VipController);
VipController.$inject = ['$scope', '$translate', 'localStorageService'];
VipController.$inject = ['$scope', '$translate'];
function VipController($scope, $translate, localStorageService) {
function VipController($scope, $translate) {
var vm = this;
vm.init = function () {
var o = localStorageService.get('storage_user_lang');
if (o === 'en') {
localStorageService.set('storage_user_lang', 'zh');
$translate.use('zh');
} else {
localStorageService.set('storage_user_lang', 'en');
$translate.use('en');
}
};
}
}());