我的项目中有一些代码不是我的angular应用程序的一部分。此代码使用<script type="text/x-jquery-tmpl"...在ngInclude模板中进行伪装,本质上只是我的angular应用程序动态使用的模板。
我希望能够翻译这些模板以及。有没有什么办法可以用html模板调用$translate服务,并翻译一些变量,它可以将翻译后的模板作为字符串返回给我,我可以在应用程序中使用它?
我查阅了api文档,但找不到任何相关的东西。
谢谢!
发布于 2016-04-19 22:34:36
我认为你可以通过Ajax加载你的可翻译模板并得到原始的响应。此响应应为包含de文档内容的字符串。
在此之后,您只需转换此字符串并将其作为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" />https://stackoverflow.com/questions/36721231
复制相似问题