【问题标题】:How do I translate const files if I can't import TranslocoService?如果无法导入 TranslocoService,如何翻译 const 文件?
【发布时间】:2021-07-05 15:12:36
【问题描述】:

简介

你好,我有一个 Angular+Ionic 项目,我正在使用 Transloco 翻译一些文本。

问题

我有一个 consts 文件,其中包含字符串,我希望能够在同一个文件中翻译它们,但我不知道如何执行此操作,因为我无法在 consts 文件中导入 TranslocoService。

代码

test.consts.ts

 export const LABELS = {
      hello_world: 'Hello World!',
      goodbye: "Goodbye"
    }

es.json

{
    "label_1": "Hola mundo!",
    "label_2": "Adios"
}

替代方案

我想了一个替代方案,以防无法在 consts 文件上进行翻译:

  1. 使用翻译键代替短语:例如将Hello World! 替换为label_1。然后在使用 consts 文件时,我必须翻译该值,例如:this.translocoSrv.t(LABELS.label_1)

虽然这种替代方案有效,但实施起来需要很多时间。我将不得不替换每个 consts 文件并重构每个使用 consts 文件的组件、模板等。

提前致谢。

【问题讨论】:

    标签: angular transloco


    【解决方案1】:

    如果我理解正确,您的问题与类型“const”有关。 在没有使用过 transloco 的情况下,我通常会建议您查看他们在 stackblitz 上的示例解决方案。

    查看这个项目:https://stackblitz.com/edit/ngneat-transloco?file=src%2Fassets%2Fi18n%2Fes.json

    我没有发现他们使用任何“const”文件,他们似乎只是将数据存储在 .json 文件中。

    在这里您可以看到他们将翻译作为 json 存储在 assets 文件夹中

    【讨论】:

    • 你好,不。 consts 和翻译文件是两种不同类型的文件。 json 文件用于翻译,consts 文件是 Angular 项目中用于存储常量的文件。
    • 我现在添加了一个更好的示例,以便更容易理解我的问题。
    猜你喜欢
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    相关资源
    最近更新 更多