我在尝试使用角度平移时遇到问题,其中一些翻译值是动态的,需要先翻译。
这是一个更好地解释问题的plunker:PLUNKER
<p translate="PARAGRAPH" translate-values="{username: ('userNameTranslate' | translate)}"></p>
答案 0 :(得分:0)
只需在父翻译中添加html属性
即可 PARAGRAPH: 'Hello <strong>{{username}}</strong> love!',
userNameTranslate : 'User Name'
然后它按预期工作。
您必须仅使用translate参数添加动态内容。 例如:
javascript文件
var translations = {
PARAGRAPH: 'Hello <strong>{{username}}</strong> and then some {{additionaldata}} love!',
};
var app = angular.module('myApp', ['ngSanitize', 'pascalprecht.translate']);
app.config(['$translateProvider', function ($translateProvider) {
$translateProvider.translations('en', translations);
$translateProvider.preferredLanguage('en');
// Enable escaping of HTML
$translateProvider.useSanitizeValueStrategy('escaped');
}]);
app.controller('Ctrl', ['$scope', '$translate', '$sce', function ($scope, $translate, $sce) {
$scope.myUserName = 'my personal name';
$scope.myAdditionalData = 'hello World';
}]);
并在html文件中
<div ng-controller="Ctrl">
<p translate="PARAGRAPH" translate-values="{username:myUserName, additionaldata: myAdditionalData}"></p>
</div>