ベストプラクティスのjavascriptと多言語
2023-10-11 10:40:14
質問
javascriptでDOMを操作する多言語ウェブサイトのためのベストプラクティスは何ですか?私はjavascriptを使用してウェブサイトのいくつかの動的な部分を構築しています。私の最初の考えは、テキスト文字列とインデックスとしての言語コードで配列を使用することでした。これは良いアイデアですか?
どのように解決するのですか?
以前、多言語サイトを構築したとき (あまり大規模なものではなかったので、あまりうまくスケールしないかもしれません)、一連の "language" ファイルを保管しておきました。
- lang.en.js
- lang.it.js
- lang.fr.js
各ファイルは、基本的にキーワードから言語フレーズへのマップであるオブジェクトを宣言しています。
// lang.en.js
lang = {
greeting : "Hello"
};
// lang.fr.js
lang = {
greeting : "Bonjour"
};
これらのファイルの1つを動的にロードし、あとはマップからキーを参照するだけです。
document.onload = function() {
alert(lang.greeting);
};
もちろん、これを行うには他の多くの方法があり、このスタイルをより良く行うには多くの方法があります。すべてを関数にカプセル化して、"辞書" から失われたフレーズを優雅に処理できるようにしたり、OOP を使用して全体を行い、ファイルの動的インクルードを管理させたり、おそらくあなたのために言語セレクターなどを表示したりもできるかもしれません。
var l = new Language('en');
l.get('greeting');
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] ECMAScriptとは?
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] Javascript 空の配列の削減
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?