私は自分のWebページに多言語サポートを実装しています。ページのリロードによるページの点滅を最小限に抑えたいので、ページ全体を強制的にリロードせずにページの言語を変更することにしました。これを達成するために、私の頭に浮かぶ唯一の方法は、JavaScriptを使用することです。
- 適切な言語の.jsファイルを適切な翻訳で動的にロードします
- ページ上のすべてのテキストオブジェクトを手動で調べ、適切な新しいテキスト値を再送信して更新します
サンプルコードを提供するために、送信ボタンだけを更新するコードを貼り付けます。言語の変更時に、適切な.js言語ファイルを動的にロードする関数を呼び出します。
var fileRef = LoadJsCssFile("Language/svk.js", "js", UpdateLanguage);
言語の.jsファイルが完全に読み込まれた後、Webページ上のテキストを含むすべての要素を更新する関数を呼び出します。
function UpdateLanguage()
{
var buttons = document.getElementsByClassName("submit_button");
for (buttonID in buttons)
{
buttons[buttonID].innerHTML = lang.SUBMIT;
}
};
Webページ内のすべてのテキストオブジェクトを手動で更新することは複雑で、エラーが発生しやすくなります。私はまだJavaScriptの経験が浅いので、Webページを点滅させることなく1つのJavaScriptコマンドでWebページのすべての主要な要素を単純に更新する方法があるかどうかを考えていました。
他に何かアイデアがあれば、ページを点滅させずに言語の変更を効果的に実装する方法を知りたいと思います。:-)