我正在使用Ionic框架编写移动应用程序,它有两种语言:英语和西班牙语,我希望能够切换导航视图(作为模板),以英语或西班牙语显示,具体取决于用户选择语言
我正在尝试在我的StateProvider定义上执行此操作,这是我的代码的一部分:
(function(){
'use strict';
angular
.module('app.core')
.config(['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'app/auth/login/login.html',
controller: 'LoginCtrl',
})
.state('loginEs', {
url: '/loginEs',
templateUrl: 'app/auth/login/loginEs.html',
controller: 'LoginCtrl',
})
.state('tabs', {
url: '/tab',
abstract: true,
templateUrl: 'templates/tabs.html'
})
.state('tabsEs', {
url: '/tabEs',
abstract: true,
templateUrl: 'templates/tabsEs.html'
})
.state('tabs.dashboard', {
url: '/dashboard',
views: {
'tab-dash': {
templateUrl: 'app/dashboard.html',
//controller: 'SignupCtrl',
}
}
})
.state('tabsEs.dashboardEs', {
url: '/dashboard',
views: {
'tabEs-dash': {
templateUrl: 'app/dashboardEs.html',
//controller: 'SignupCtrl',
}
}
})
.state('tabs.adults', {
url: '/adults',
views: {
'tab-dash': {
templateUrl: 'templates/tab-adults.html',
//controller: 'DashCtrl'
}
}
})
.state('tabs.adultsEs', {
url: '/adultsEs',
views: {
'tab-dash': {
templateUrl: 'templates/tab-adultsEs.html',
controller: 'customersCtrl'
}
}
})
.state('passwordResetForm', {
url: '/passwordResetForm',
templateUrl: 'app/auth/login/passwordResetForm.html',
controller: 'PasswordResetCtrl',
});
$urlRouterProvider.otherwise('login');
}]);
})();
当状态为tabsEs.dashboardE时,它会从templates / tabsEs.html正确显示我的西班牙语导航栏。但是,当状态改变为tabs.adultsE时,我一直在努力做同样的事情,但是不起作用,总是显示模板/ tabs.html(英文)。 有人看到错误,或者给我一个提示吗?
此致 维克多
答案 0 :(得分:1)
不要复制模板,使用像angular-translate这样的插件为您的应用添加国际化。探索文档,它非常简单。