2

我正在我的网页中实现多语言支持。我想尽量减少页面重新加载引起的页面闪烁,我想在不强制重新加载整个页面的情况下更改页面语言。为了实现这一点,我想到的唯一可能的方法是使用 JavaScript:

  1. 我用适当的翻译动态加载适当的语言 .js 文件
  2. 我手动浏览页面上的每个文本对象并通过重新发送适当的新文本值来更新它

为了向您提供示例代码,我粘贴了一个仅更新提交按钮的代码。在语言更改时,我调用了一个动态加载适当的 .js 语言文件的函数。

var fileRef = LoadJsCssFile("Language/svk.js", "js", UpdateLanguage);

语言 .js 文件完全加载后,我调用更新网页上每个包含文本的元素的函数:

function UpdateLanguage()
{
    var buttons = document.getElementsByClassName("submit_button");
    for (buttonID in buttons)
    {           
            buttons[buttonID].innerHTML = lang.SUBMIT;
    }                   
};

手动更新网页中的每个文本对象是复杂且容易出错的。由于我对 JavaScript 还不是很有经验,所以我在想,是否有一种方法可以用一个 JavaScript 命令简单地刷新网页中的所有关键元素,而不用让网页闪烁?

如果您有任何其他想法,如何在不闪烁页面的情况下有效地实现语言更改,我很想知道。:-)

4

1 回答 1

1

I found a solution on my own:

  1. I prepare several javascript language files containing strings per every keyword
  2. On language selection button, I import appropriate language file for the language I wish to use
  3. I manually update every text on the webpage through javascript.

The above solution is suitable for smaller sites. for large ones, that would be a lot of work, to update every single text string through javascript.

于 2012-08-27T11:32:49.823 回答