如何使用ngx-translate翻译输入?

时间:2018-10-15 07:42:19

标签: firebase angular6 ngx-translate

<input type="text" name="title" [(ngModel)]="dataAdd.titleEN">
<input type="text" name="title" [(ngModel)]="dataAdd.titleFR">  

我需要显示两个标题但使用不同的语言

如果我点击按钮,则会显示英文文本或fr文字法语

并保存为变量字符串

注意:我需要在Firestore中进行唯一数据插入的唯一变量

    dataAdd = {
    titleEN: '',
    titleFR: '',
    }

    this.translateList = this.afs.collection('translates');
    this.translateList.doc('en').set({
    TITLE_FOR_RENT: this.dataAdd.titleEN,
    });

    this.translateList = this.afs.collection('translates');
    this.translateList.doc('fr').set({
    TITLE_FOR_RENT: this.dataAdd.titleFR,
    });

1 个答案:

答案 0 :(得分:0)

我认为您误认为了 ngx-translate 的用法,此软件包用于支持多种预定义的语言,例如,如果您想支持 en fr 事先,您必须为每种所需的语言拥有一个.json文件,并具有以下 KvP结构 =>其中的键是通用键(每个json文件中的某些字符串相同),用于将值映射到翻译中的 .json个文件。您可以查看官方StackBlitz Demo以获得用法的详细示例。

为了获得您所描述的结果,我建议使用Google提供的类似Cloud Translation API的功能,该功能可以翻译实时用户输入(或您传递给API),之后根据您的策略,您可以直接显示来自API的响应给客户端,或先将其加载到ngx-translate中,然后再显示给客户。

注意:

我会选择第一种方法,因为我认为在您的情况下,不需要填充浏览器内存(因为在 ngx-translate 中加载翻译槽时,您只是觉得后面有一个大js对象场景)