使用angular-translate翻译角度外的代码

时间:2016-04-19 14:23:17

标签: angularjs angular-translate

我的项目中有一些代码不属于我的角度应用程序。此代码使用<script type="text/x-jquery-tmpl"...在ngInclude模板中设置,基本上只是我的角度应用程序动态使用的模板。

我希望能够翻译这些模板。无论如何我可以使用html模板调用$ translate服务,还有一些要翻译的变量,它可以将翻译后的模板作为字符串返回给我,我可以在我的应用程序中使用它吗?

我查看了api文档,但找不到任何相关内容。

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您可以通过Ajax加载可翻译的模板并获得原始响应。此响应应该是包含de document content的字符串。

之后,您只需翻译此字符串并将其作为script type="text/ng-template"注入您的文档。

它应该是这样的:

<script type="text/ng-template" id="bar.html">
  // your content should be injected here
</script>

现在,您只需将其称为路线的常规模板,将路线指向bar.html

这样的东西
$routeProvider.
  when("/foo",{ controller: "MyController", templateUrl: "bar.html"});

另一种方法是创建一个指令来为您完成这项工作。也许扩展<script type="text/ng-template"指令,允许它接收可翻译的文档URL并进行翻译。

类似的东西:

<script type="text/ng-template" id="foo.html" doc-url="translatableDoc.html" attr-language="English" />