首页 > 解决方案 > 如果无法导入 TranslocoService,如何翻译 const 文件?

问题描述

介绍

您好,我有一个 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 文件的组件、模板等。

提前致谢。

标签: angulartransloco

解决方案


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

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

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

在这里,您可以看到他们将翻译作为 json 存储在 assets 文件夹中 在此处输入图像描述


推荐阅读