2011-11-09 6 views
3

私は本当に面倒な作業があります。ローカライズする必要がある既存のWebプロジェクト(2つのHTMLファイル、いくつかのプラグイン、およそ2000行のコードを持つ1つのメインJavaScriptファイル)があります。これは早い時期に検討されていたはずですが、彼らはそれを見逃してしまいました。あなたはそれのための解決策を見つけるためにどうやって行きますか?既存のJavaScript Webアプリケーションをローカライズするにはどうすればよいですか?

ページが最初に読み込まれるときに存在するテキスト要素がいくつかありますが、いくつかの要素があります。しかし、多くのDOM要素とエラー警告が動的に追加および削除されています(jQueryを使用)。

私は、サーバー(.NET/C#)上で一意の名前/番号を持つテキストリソース(どの種類のファイルですか?)を持っていると思います。 Webページを読み込んでいる間に、ユーザーエージェントの言語を検出してサーバーに送信し、 "it"が適切なリソースを準備できるようにしました。そして、私はgetText(uniqueName)のような方法で、AJAX経由で正しいテキストをサーバーに要求する必要があります。しかし、これはAJAXの要求が大量に発生します。

私はいくつかの考えを持っていますが、まだ「実際」はありません。

アイデアをお役立てください。サーバーは何を処理する必要があり、スクリプトは何を処理し、どのように処理しますか?

Thx。

+0

この質問への答えにいくつかのまともなアイデアがあるかもしれません:http://stackoverflow.com/questions/104022/localize-strings-in-javascript –

+0

何あなたのサーバー側の技術ですか? PHP? asp.net? asp.net mvc? – Patricia

+0

遅れて申し訳ありません:asp.net .. –

答えて

3

を使用することができますLocalize text in JavaScript files in ASP.NET

で見たいと思うかもしれません。私は.jsファイルを自分のユーザーDBの設定に基づいて動的にロードします。

デモ:http://jsfiddle.net/ThinkingStiff/uUTkN/

文字列-en.js:

var STRINGS = { 

    "userLabel": "username", 
    "userPlaceholder": "enter username..." 

    //... 

}; 

HTML:

<script src="strings-en.js"></script> 

<label id="user-label" for="user"></label> 
<input id="user" /> 

CSS:

#user-label::after 
{ 
content: ":"; 
} 

スクリプト:

document.getElementById('user-label').textContent = STRINGS.userLabel; 
document.getElementById('user').setAttribute('placeholder', STRINGS.userPlaceholder); 

出力:

enter image description here

1

あなたのRESXファイル内あなたの翻訳をしたい場合、あなたは純粋なクライアント側のローカライズをしたい場合は、私がstrings-en.jsのような別の.jsファイルを使用jquery.localize

関連する問題