【问题标题】:i18n using AOT in Angular 4i18n 在 Angular 4 中使用 AOT
【发布时间】:2018-08-06 08:42:31
【问题描述】:

我们有一个要求并要求使用 Angular 4,我正在努力实现国际化。由于我是 angular 新手,我正在浏览 i18n,发现带有 AOT 的 i18n 目前仅支持模板中的翻译。 当他们说支持仅在模板中时是什么意思,任何人都可以用一些例子来解释。

有没有很好的例子来实现 i18n 以及基于浏览器语言环境进行渲染。

【问题讨论】:

    标签: angular localization internationalization angular2-aot


    【解决方案1】:

    这意味着您无法从 TypeScript 代码中翻译文本;只能翻译静态 HTML 内容。

    可以翻译

    <p i18n>Text in a paragraph</p>
            ^^^^^^^^^^^^^^^^^^
    <my-component title="My Title" i18n-title></my-component>
                         ^^^^^^^
    

    无法翻译

    if (hasError) {
      showErrorMessage('An error has occured');
                       ^^^^^^^^^^^^^^^^^^^^^^
    }
    

    如果你想从你的代码中翻译消息,你必须自己实现某种I18nService,或者使用像ngx-translate这样的替代库之一

    更多深入了解,请关注官方docs

    【讨论】:

    • 我的应用程序中可以同时使用 ngx-translate 和 i18n 吗?对于模板,我将使用 i18n,前端验证使用像 ngx-translate 这样的库。服务器可以根据发送的语言处理后端验证。
    • 除了要同时维护两个不同的系统之外,我不明白为什么会出现问题。不过我自己没试过。
    猜你喜欢
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 2018-02-14
    • 2017-09-02
    • 2018-06-04
    • 2018-01-05
    • 1970-01-01
    • 2017-12-22
    相关资源
    最近更新 更多