2016-08-24 68 views
1

这是怎么了我目前建立基本状态在我的角度应用角本地化的网址,使用的UI路由器

$stateProvider.state(AppState.APP, { 
    abstract: true, 
    url: '/{locale:(?:en|ja)}', 
    views: { 
     app: { 
     template: '<div ui-view></div>' 
     } 
    } 
    }); 

还有的将您重定向到domain.com/{locale}/逻辑如果您访问domain.com/

假设我的网站的默认语言是英语,我想从网址中删除en。例如:

有没有做到这一点的好办法?

回答

0

我想,也许这篇文章可以帮助你:https://fadeit.dk/blog/2015/03/12/angularjs-seo-for-angular-translate/

在这篇文章中,它提供了AngularJS搜索引擎友好翻译的一步一步的教程。但是,在本文中,其默认语言设置为'da',因此您只需将默认语言更改为'en',将其他语言更改为'jp',它也允许进行多语言缩放。

例如更改默认'en'的:

var absUrl = $location.absUrl(); 
if(absUrl.indexOf('/jp/') !== -1){ 
    $scope.activeLang = 'jp'; 
} 
else{ 
    $scope.activeLang = 'en'; 
} 
$translate.use($scope.activeLang); 

//Construct url base 
var port = $location.port(); 
//Port can be omitted on 80 or 443 
port = (port === 80 || port === 443) ? '' : ':' + port; 
var urlBase = $location.protocol() + '://' + $location.host() + port; 

$rootScope.$on('$stateChangeSuccess',function(){ 
    $scope.jpUrl = urlBase + '/jp' + $location.url(); 
    $scope.enUrl = urlBase + $location.url(); 
}); 

希望这有助于你,请告诉我,如果我误解你的问题:)。