【问题标题】:angular-translate not working on templates角度翻译不适用于模板
【发布时间】:2015-08-19 21:47:22
【问题描述】:

我正在尝试使用 angular-translate 进行本地化,但我遇到了一个问题,它只能在主页上使用。点击链接后,下一页根本没有翻译。

奇怪的是导航栏翻译(位于 index.html 上)仍然可以正确翻译,但 ngview 中的内容没有翻译。其他页面的控制器当前为空。

-App.js
var myApp = angular.module('myApp', ['ngRoute', 'pascalprecht.translate']);

myApp.config(
function ($routeProvider) {
    $routeProvider.
  when('/signup', {
        templateUrl: 'partials/signup.html',
        controller: 'SignUpControllers'
    }).
  otherwise({
        templateUrl: 'partials/home.html'
    });
})
.config(function ($translateProvider) {
$translateProvider.useStaticFilesLoader({
    prefix: '/languages/',
    suffix: '.json'
});
$translateProvider.preferredLanguage('en');
});

我注意到的另一件事是 home.html 上的默认页面内容已正确翻译,但任何其他页面均未正确翻译。

Plunker Example - 示例工作正常

【问题讨论】:

  • 你能设置一个 plunkr 来演示这个问题吗?
  • @DanPantry 我添加了一个显示问题的插件。

标签: angularjs angular-translate


【解决方案1】:

您的设置中存在错误,导致无法正确加载未翻译的路线。来自您的 plunkr:

Error: [ng:areq] Argument 'SignUpControllers' is not a function, got undefined

这表明您没有在模块配置中正确设置SignUpControllers。实际上,您实际上并没有在 plunker 中定义该控制器。

【讨论】:

  • 对不起,在发布链接之前我还没有完成 plunker。没想到回复这么快!控制器已定义,但翻译仍未出现。但是,不声明控制器(例如关于页面)可以让翻译工作。
  • 我明白了。我没有正确声明控制器,而是创建了一个新模块。用正确的代码更新了 plunkr,所以现在似乎一切正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多