当用户选择其他语言时,我需要翻译我的图表。我有一个chartservice,它侦听translationService并将从translationService接收的值分配给chart的downloadCSV属性。这是代码“
private downloadCsvText= '';
this._translateService.get('TL_DOWNLOAD_CSV').subscribe((res: string) => this.downloadCsvText=res);
Highcharts.setOptions({
global: { useUTC: false },
lang: {
noData: this.chartNoData,
downloadCSV: this.downloadCsvText
}
});
以及在我创建图表的方法中:
exporting: {
filename: 'MyChart',
buttons: {
contextButton: {
menuItems: ['downloadCSV']
}
},
csv: {
itemDelimiter: ';'
},
fallbackToExportServer: false
}
但是,在用户更改语言的那一刻,menuItems是唯一未翻译的内容。任何指导表示赞赏。
我正在使用
当前,您的代码执行的操作类似于本演示中的示例:https://jsfiddle.net/BlackLabel/kL5xahve/-这是错误的,因为在初始化图表之后就定义了选项。
最简单的解决方案是销毁图表并在更改语言后再次对其进行初始化。
演示:https://jsfiddle.net/BlackLabel/wLhxc0qb/
var chartOptions = {
series: [{
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
}],
exporting: {
buttons: {
contextButton: {
menuItems: ["downloadCSV"]
}
},
}
};
var chart = Highcharts.chart('container', chartOptions);
Highcharts.setOptions({
lang: {
downloadCSV: 'test'
}
});
chart.destroy();
Highcharts.chart('container', chartOptions);