【发布时间】:2014-07-31 01:57:09
【问题描述】:
我想在我的 Angular 应用程序中使用 i18n 和 i10n。
如果我理解正确,我可以将脚本注入我的index.html,并且有关语言的更改将即时更改。我对其进行了测试,当我手动添加脚本并刷新页面时它可以工作。
不幸的是,我正在尝试动态注入正确语言的脚本。 我创建了一个按钮,我想在点击按钮上添加葡萄牙语脚本。
app.controller('appController', ['$scope', '$route', 'UserTopBarWidget',
function($scope, $route, UserTopBarWidgetService){
$scope.topBarWidget = UserTopBarWidget;
$scope.topBarWidget.loadTopBarWidget();
}
}]);
在这个文件中,我只加载了我创建的名为UserTopBarWidget 的服务。
UserTopBarWidget:
app.service('UserTopBarWidgetService', function($http){
this.loadTopBarWidget = function(){
//loading something
};
this.loadPortugueseLanguage = function(){
var locale = "pt-pt";
$.getScript("https://code.angularjs.org/1.2.16/i18n/angular-locale_" + locale + ".js");
}
});
我有一个名为 index.html 的页面 html 并将我的 html 文件注入其中:
index.html:
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="../common/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="../common/css/style.css" />
<title></title>
</head>
<body ng-controller="AppCtrl">
<div id="container" ng-view></div>
</body>
</html>
注入的html:
<button type="button" id="searchButton" class="btn btn-default" ng-click="topBarWidget.loadPortugueseLanguage()">Portugese</button>
<h2>{{date | date: 'fullDate' }}</h2>
<h2>{{money | currency}}</h2>
我得到的答案:
Tuesday, June 10, 2014
$500.00
我想看葡萄牙语。 我做错了什么?
【问题讨论】:
标签: javascript angularjs internationalization