繁体   English   中英

Angular-gettext翻译服务似乎不起作用。

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM