这是我如何解决的。
1 - 我在页面中添加了一个 div
<div id="legend" style="visibility:hidden"></div>
2 - 在chart.draw之后,我在这个div中写下图例
function TranslateGetLegenGraph()
{
legend = parent.document.getElementById("legend")
legend.innerHTML = "";
g = this.document.getElementsByTagName("g");
//first g tag is legend
text = g[0].getElementsByTagName("text");
for (ii = 0; ii < text.length; ii++)
{
legend.innerHTML += "<ttt>" + text[ii].textContent + "</ttt>";
}
}
3 - 然后,我在 1 秒后重新加载我在 div 标签中写入的值
function TranslateGraph(delay)
{
setTimeout(function ()
{
legend = parent.document.getElementById("legend").getElementsByTagName("ttt");
g = this.document.getElementsByTagName("g");
text = g[0].getElementsByTagName("text");
for (y = 0; y < legend.length; y++)
{
//google add some "font" tag after translation
text[y].textContent = (legend[y].getElementsByTagName("font").length == 0 ? legend[y].innerHTML : legend[y].getElementsByTagName("font")[0].getElementsByTagName("font")[0].innerHTML);
}
}, delay);
}