微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果无法导入 TranslocoService,如何翻译 const 文件?

如何解决如果无法导入 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 文件的组件、模板等。

提前致谢。

解决方法

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

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

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

在这里你可以看到他们将他们的翻译作为 json 存储在 assets 文件夹中 enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。