[英]Angular-gettext translation service doesn't appear to be working.
我很难理解我做错了什么,我希望有人可以提供帮助。 我需要构建一个小应用程序,只是为了练习angular-gettext。 我按照这里的教程: http : //lostechies.com/gabrielschenker/2014/02/11/angularjspart-12-multi-language-support/
但是,我的项目不会翻译。 我在控制台中没有出现任何错误。 我有所有必要的依赖项,一切似乎都正常工作(咕噜咕噜,凉亭等),所以它必须在实际的代码中。 可能是大括号或其他东西。
这是我的app.js文件:
var app = angular.module('app', ['gettext']);
app.controller("TestCtrl", function($scope){
app.run(function(gettextCatalog){
gettextCatalog.currentLanguage = 'de';
gettextCatalog.debug = true;
});
});
index.html的:
<!DOCTYPE html>
<html>
<head>
<title>Translation Sample</title>
<link rel="stylesheet" type="text/css"
href="bower_components/bootstrap/dist/css/bootstrap.css"/>
</head>
<body ng-app="app">
<div ng-controller="TestCtrl">
<p translate>Welcome to my app</p>
<p translate>We want to test globalization and localization</p>
</div>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-gettext/dist/angular-gettext.js"></script>
<script src="app.js"></script>
<script src="translations.js"></script>
</body>
</html>
Gruntfile.js:
module.exports = function(grunt){
grunt.loadNpmTasks('grunt-angular-gettext');
grunt.initConfig({
nggettext_extract:{
pot: {
files: {
'po/template.pot': ['**/*.html']
}
}
},
nggettext_compile:{
all: {
files: {
'translations.js': ['po/*.po']
}
}
}
})
};
Translations.js:
angular.module('gettext').run(['gettextCatalog', function (gettextCatalog) {
gettextCatalog.setStrings('de', {
"We want to test globalization and localization":"Wir wollen testen, Globalisierung und Lokalisierung",
"Welcome to my app":"Willkommen auf meiner App"
});
}]);
我知道这很长。 感谢阅读并提前感谢任何建议。
这可能是一个angular-gettext错误:在设置语言后加载字符串。 随着angular.js最近的变化,这可能会破裂。
我会解决这个问题。
更新:angular-gettext 1.1.2发布时已修复此问题(试一试)。 请注意,在最近的版本中,不推荐使用currentLanguage
。 您应该使用gettextCatalog.setCurrentLanguage('de')
。
https://angular-gettext.rocketeer.be/dev-guide/api/angular-gettext/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.