【问题标题】:How to translate the "Start" and "End" label in the tooltip of a Highcharts Gantt?如何翻译 Highcharts Gantt 工具提示中的“开始”和“结束”标签?
【发布时间】:2021-02-04 16:04:16
【问题描述】:

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

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

【问题讨论】:

    标签: javascript highcharts highcharts-gantt


    【解决方案1】:

    那是由默认的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

    【讨论】:

    • 是的,行得通!请注意,由于我使用的是 Typescript,我必须将 point 转换为 Highcharts.GanttPointOptionsObject 才能访问 startend 属性。
    猜你喜欢
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    相关资源
    最近更新 更多