angular - ngx-translate angular5 自定义元素
问题描述
我正在尝试翻译一个应用程序,其中jointjs用于创建元素。如果自定义元素模板包含 ex:{{ 'EXAMPLE' | translate }}
则显示为{{ 'EXAMPLE' | translate }}
且不翻译。在 ngx-translate 完成之前有没有生成组件的解决方案?谢谢
编辑
具有ElementBuilder
与jointjs一起构建的TS类,具有TS类的元素使用ExampleElement
继承自ElementBuilder
ExampleElement模板的HTML模板:{{ 'EXAMPLE' | translate }}
未翻译。
尝试 1:向构造函数添加TranslateService
,并在调用ExampleElement
translateService 时传递。没有变化,没有翻译
解决方案
例如,您可以在资产中的某处创建一个文件夹并进入您需要哪种语言的文件夹,然后在 ts 文件中调用 ngx-translate
这是我所做的翻译的一个例子。资产中的代码
英文文件需要是json文件
{
"button": {
"#save": "Save",
"#cancel": "Cancel"
}
}
德国语
{
"button": {
"#save": "Speichern",
"#cancel": "Abbrechen"
}
}
您需要在 TS 文件的构造函数中定义
constructor(private translate: TranslateService) {}
html代码
<button matTooltip="{{'button.#add' | translate}}" matTooltipPosition="below">
</button>
推荐阅读
- c++ - 如何获取当前DLL的目录
- c++ - C++ 双指针赋值
- python - 如何更改 kivymd 的 MdTextField 中的前景色?
- phpunit - 如何检查 Laravel 刀片组件是否已加载?
- r - 闪亮的应用程序与服务器断开连接。没有错误
- c++ - 为什么 code::blocks 在编译 C++ 文件时出现问题
- python - 如何在 Web IDE 中使用 IPython 模块
- android - > 任务 :app:transformDexArchiveWithDexMergerForRelease 失败(重复类问题)
- java - 如何将微调器中的 Integer[] 转换为 int 或 Integer 以进行计算
- asp.net-mvc - 模型未传递给控制器(MVC 核心)