I18n angularjs
I18n in angularjs
I18n 键:
"step1.download":"{{n0}} Download {{n1}} Some text."
在我的 html:
<span translate=step1.download translate-values="{ n0: '{{info0}}', n1: '{{info1}}'}"></span>
在我的控制器中:
$scope.download = function(){
alert("fun executed");
};
$scope.info0="<button ng-click=download()>";
$scope.info1="</button>";
我得到一个错误,下载功能没有定义,我想是因为 html 在 angular 编译之前解析了,所以有什么办法可以解决这个问题。替代解决方案也很受欢迎。
两件事:
- 您在翻译指令中放置了一个指令。您的代码无法正常工作,因为 ng-click 将在 angular 解析后放入 DOM。
- 将 HTML 作为翻译指令中的值不是一个好主意。该模块用于处理文本值而不是 HTML 语法。
对于你的问题,你必须做这样的事情:
{
"step1.download":"Download",
"step1.someText":"some text."
}
在你的 html 中:
<span>
<button ng-click="download()">
{{'step1.download'|translate}}
</button>
{{'step1.someText'|translate}}
</span>
在 html 中使用 "translate-compile" 像这样:
<span translate="step1.download" translate-compile translate-values="{ n0: '{{info0}}', n1: '{{info1}}'}"></span>
处理过我的情况,这可能取决于你是什么翻译器 using.It 如果你使用 "angular-translate.js" 就可以。
I18n 键:
"step1.download":"{{n0}} Download {{n1}} Some text."
在我的 html:
<span translate=step1.download translate-values="{ n0: '{{info0}}', n1: '{{info1}}'}"></span>
在我的控制器中:
$scope.download = function(){
alert("fun executed");
};
$scope.info0="<button ng-click=download()>";
$scope.info1="</button>";
我得到一个错误,下载功能没有定义,我想是因为 html 在 angular 编译之前解析了,所以有什么办法可以解决这个问题。替代解决方案也很受欢迎。
两件事:
- 您在翻译指令中放置了一个指令。您的代码无法正常工作,因为 ng-click 将在 angular 解析后放入 DOM。
- 将 HTML 作为翻译指令中的值不是一个好主意。该模块用于处理文本值而不是 HTML 语法。
对于你的问题,你必须做这样的事情:
{
"step1.download":"Download",
"step1.someText":"some text."
}
在你的 html 中:
<span>
<button ng-click="download()">
{{'step1.download'|translate}}
</button>
{{'step1.someText'|translate}}
</span>
在 html 中使用 "translate-compile" 像这样:
<span translate="step1.download" translate-compile translate-values="{ n0: '{{info0}}', n1: '{{info1}}'}"></span>
处理过我的情况,这可能取决于你是什么翻译器 using.It 如果你使用 "angular-translate.js" 就可以。