如何翻译 Highcharts 甘特图工具提示中的 "Start" 和 "End" 标签?

How to translate the "Start" and "End" label in the tooltip of a Highcharts Gantt?

Highcharts 甘特图中的工具提示显示悬停任务的开始和结束日期,但我无法翻译使用的前缀(“开始”和“结束”):

Highcharts.lang 中没有这些文本的选项。

这是默认的pointFormatter函数造成的:

            if (!milestone) {
                retVal += 'Start: ' + start + '<br/>';
                retVal += 'End: ' + end + '<br/>';
            } else {
                retVal += start + '<br/>';
            }

源代码:https://github.com/highcharts/highcharts/blob/master/ts/Series/Gantt/GanttSeries.ts#L116

作为解决方案,您可以实施自己的 pointFormatter,例如:

    tooltip: {
        pointFormatter: function() {
            var point = this,
                H = Highcharts,
                series = point.series,
                xAxis = series.xAxis,
                startOfWeek = xAxis.options.startOfWeek,
                formats = series.tooltipOptions.dateTimeLabelFormats,
                tooltip = series.chart.tooltip,
                ttOptions = series.tooltipOptions,
                format = ttOptions.xDateFormat,
                returnVal = '<b>' + (point.name || point.yCategory) + '</b>',
                start,
                end;

            if (!format) {
                format = H.splat(tooltip.getDateFormat(xAxis.closestPointRange, point.start, startOfWeek, formats))[0];
            }

            start = series.chart.time.dateFormat(format, point.start);
            end = series.chart.time.dateFormat(format, point.end);

            returnVal += '<br/>';
            returnVal += 'A1: ' + start + '<br/>';
            returnVal += 'A2: ' + end + '<br/>';

            return returnVal;
        }
    }

现场演示: https://jsfiddle.net/BlackLabel/a839yLsd/

API参考:https://api.highcharts.com/gantt/tooltip.pointFormatter