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

使用ngx-translate将动态字符串转换为角度10

如何解决使用ngx-translate将动态字符串转换为角度10

我正在使用一些动态值来创建一个字符串,并将其发送到sweetalert config

我想知道有什么方法可以在发送到config之前转换字符串吗?

我看到了几种解决方案,我们可以将变量传递给翻译方法,但是还有其他解决方案可以使用吗?

我应该在en.json中添加什么?

let status = '';
switch (action?.innerText) {
    case 'Accept': {
        status = 'Accepted';
        break;
    }
    case 'Approve': {
        status = 'Approved';
        break;
    }
    case 'Delete': {
        status = 'Deleted';
        break;
    }
    case 'Reject': {
        status = 'Rejected';
        break;
    }
}

//You have ${status} a Request for $${this.data?.details?.amount}
let transalteTitle;
this.translate.get('You have',{
    value: status
},' a Request for',{
    value: this.data?.details?.amount
}).subscribe(res => {
    transalteTitle = res;
});

const configval = {
    title: transalteTitle,text: 'Do you want to continue?',showCancelButton: true,icon: 'warning',confirmButtonText: 'YES',cancelButtonText: 'NO'
};


//en.json

{
    "title": "You have ${status} a Request for ${val}"
    "status_accepted": "accepeted","status_rejected": "rejected"
}

解决方法

let status = '';
switch (action?.innerText) {
    case 'Accept': {
        status = 'status_accepted';
        break;
    }
    case 'Approve': {
        status = 'status_approve';
        break;
    }
    case 'Delete': {
        status = 'status_delete';
        break;
    }
    case 'Reject': {
        status = 'status_rejected';
        break;
    }
}

//You have ${status} a Request for $${this.data?.details?.amount}
let transalteTitle;
this.translate.get(status).pipe(switchMap(translatedStatus =>
    this.translate.get('title',{
        status: translatedStatus,val:
            this.data?.details?.amount
    }))).subcribe(translatedTilte => {
    const configval = {
        title: transalteTitle,text: 'Do you want to continue?',showCancelButton: true,icon: 'warning',confirmButtonText: 'YES',cancelButtonText: 'NO'
    };
})


//en.json

{
    "title": "You have ${status} a Request for ${val}"
    "status_accepted": "accepeted","status_rejected": "rejected"
}`enter code here`

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