angular - 如果无法导入 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 文件上进行翻译:
- 使用翻译键而不是短语:例如替换
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 文件中。
推荐阅读
- javascript - 谷歌图表自定义绘图(箭头、箭头附近的文本、彩色文本标签和抛物线)
- python - 如何删除发送的硒键python
- graph-algorithm - GraphX 或 GraphFrame - 无向加权图中的社区检测
- amazon-web-services - 亚马逊 MWS - 节流对我来说是个大问题
- db2 - Websphere Liberty 中的 DB2 驱动程序设置
- mysql - 查找每个部门中最年轻和最年长员工的工资
- python - 如何在简单的numpy数组上移动轴
- laravel - 如何在两个不同的路由组中使用相同的路由
- sql-server - SQL Server - MERGE : MATCHED 两次更新 - 基于同一表中第一次更新的记录的第二次更新
- python - Weasyprint/Cairo 在转换为 PDF 时会丢失 SVG 文本标签