Angular 翻译问题

Issue with Angular Translate

我有一个如下所示的 span 标签。

<span translate="footer.copyright">Copyright</span>

在我的 Json 文件中,我有如下数据,

"footer": {
      "copyright": "Copyright ©"
    },

它也工作正常。但是,如果 json 文件没有数据,我想翻译以显示 span 标记之间可用的任何内容,在本例中为 Copyright。但它没有获取内容而是显示空标签。请帮我解决这个问题。

使用 translate-default 代替 translate

所以你的HTML看起来像

<span translate-default="footer.copyright">Copyright</span>

这会在某种程度上回避这里的问题,但最终你会得到看起来像

的标签
<ANY translate="missing.id" translate-default="This is some text"></ANY>

哪里写

<ANY translate="missing.id">This is some text</ANY> 

看起来更干净、更简单,并且在出现阻止 Angular/Angular-Translate 工作的 JS 错误或直接打开视图模板时实际上会显示占位符文本。

注意: 请记住,最初发生此问题的情况是翻译文件尚未加载时,例如由于互联网连接速度慢。所以在那个时候,Angular Translate 可能还不知道它必须为内容使用 translate-default 属性。只需尝试自定义 $missingTranslationHandlerFactory.

只需将 translate-default 添加到您的标签即可:

<span translate="footer.copyright" translate-default="Copyright">Copyright</span>

您可以阅读更多内容here