当用户选择不同的语言时,我需要翻译我的highcharts。我有一个图表服务,它监听translationService,并将从translationService接收的值分配给图表的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是唯一没有被翻译的东西。欢迎提供任何指导。
我正在使用
- 角度8
- "highcharts":"6.1.1">
- "highcharts export csv":"=1.4.8">
- "highcharts模式填充":"3.0.3">
当前,您的代码执行的操作如下演示所示: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);