vis.js时间轴中的项目和组的本地化

时间:2017-05-06 19:01:58

标签: localization timeline vis.js

我们使用vis.js创建时间轴,我们需要本地化组的名称和不同语言的项目内容。我们尝试使用$ translate = $ filter(' translate')来翻译angularjs中的组名,但只有在我们重新加载屏幕时它才有效。我们还试图翻译项目以使用模板把手引擎来翻译项目但问题是当我们放置" {{' timeline.content&#时,Angular似乎不会继续使用Handlebars使用的模板。 39; |翻译}}它给出了一个错误。那么是否有任何想法或方法来本地化vis.js中的组和项目的名称。

1 个答案:

答案 0 :(得分:0)

您可以使用配置功能 groupTemplate 模板

var config = {
  ...
  groupTemplate: function (group) {
    var groupTemplate = document.createElement('div');
    // assuming that you have stored the label key in the content, instead of text.
    groupTemplate.innerText = translate.get(group.content);
    // or whatever function call you need to make to get the translated label;
    return groupTemplate;
    }
  ...
  }

您可以对时间轴中的实际项目执行相同操作。

var config = {
  ...
  template: function (item) {
    var itemTemplate = document.createElement('div');
    // assuming that you have stored the labels in the content, instead of text.
    itemTemplate.innerText = translate.get(item.content) 
    // or whatever function call you need to make to get the translated label;
    return itemTemplate;
    }
  ...
  }

您还可以附加事件侦听器,或者在渲染到常用DOM元素时对模板执行任何操作。

希望这有帮助。