【问题标题】:Configuration for angular-translate not picked up未拾取角度平移的配置
【发布时间】:2017-05-11 21:56:02
【问题描述】:

我刚刚接管了一个 AngularJS 应用程序并尝试使用 angular-translate 翻译用户界面。但是,文本没有翻译,我还在控制台中收到一条奇怪的清理消息。

这是我的申请:

'use strict';

var app = angular.module('main', [
  'main.filters',
  'main.services',
  'main.directives',
  'main.controllers',
  'pascalprecht.translate',
  'ngCookies',
  'ngSanitize'
]);

app.config['$translateProvider', function($translateProvider) {
    $translateProvider
    .useStaticFilesLoader({
        prefix: '/translations/locale-',
        suffix: '.json'
    })
    .preferredLanguage('en')
    .useLocalStorage()
    .useSanitizeValueStrategy('escape')
    .useMissingTranslationHandlerLog();
}];

这就是我包含 JS 文件的方式:

<!-- Translation -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular-cookies.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular-sanitize.min.js"></script>
<script src="../_resources/bower_components/angular-translate/angular-translate.min.js"></script>
<script src="../_resources/bower_components/angular-translate-handler-log/angular-translate-handler-log.min.js"></script>
<script src="../_resources/bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js"></script>
<script src="../_resources/bower_components/angular-translate-storage-cookie/angular-translate-storage-cookie.min.js"></script>
<script src="../_resources/bower_components/angular-translate-storage-local/angular-translate-storage-local.min.js"></script>

这是我的翻译文件之一(/translations/locale-en.json):

{
  "foo": "Foo",
  "bar": "Bar"
}

这就是我尝试在 HTML 中使用翻译的方式:

<strong translate="foo"></strong>

<strong>{{ 'bar'' | translate }}</strong>

我在浏览器控制台中得到的唯一消息是:

pascalprecht.translate.$translateSanitization:未配置任何清理策略。这可能会产生严重的安全隐患。详情请见http://angular-translate.github.io/docs/#/guide/19_security

我做错了什么?很明显,配置根本没有捡到?

【问题讨论】:

  • 查看错误,您缺少清理策略.. 尝试使用类似$translateProvider.useSanitizeValueStrategy('escaped'); 的东西也许..
  • 哦..不知道..我可以知道您使用的是哪个版本的角度翻译吗?你能用这个最少的代码装个笨蛋吗?

标签: javascript angularjs angular-translate


【解决方案1】:

好吧,我错过了一对圆括号:

app.config(['$translateProvider', function($translateProvider) {
    $translateProvider
    .useStaticFilesLoader({
        prefix: '/translations/locale-',
        suffix: '.json'
    })
    .preferredLanguage('en')
    .useLocalStorage()
    .useSanitizeValueStrategy('escape')
    .useMissingTranslationHandlerLog();
}]);

现在我的配置已按预期拾取。

【讨论】:

    猜你喜欢
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 2015-10-23
    相关资源
    最近更新 更多