0

JavaScriptで確認してもらいます。私のテキストは英語ですが、asp.net mvcプロジェクトの言語/文化を変更する場合は、英語のままであることを確認してください。

私はそれを手動で制御し、2つのjavascriptメソッド(両方の言語用)を書くことができますが、それほどきれいではないと思います。そして、私が3つ以上の言語を使用する場合、それはより汚くなります。

問題を解決するためのヒントを教えてください。

私にとって最善の方法は、リソースファイルからテキストを出力できるメタタグなどで確認することです。

4

2 に答える 2

1
<script language="javascript">
var confirmMessage = "<%= localizedConfirmMessage %>";

// use confirmMessage when showing confirm popup
...
</script>
于 2010-09-06T13:44:48.100 に答える
0

文字列のみを使用して個別のjsファイルを実行できます。例:

var MultilanguageStrings = {
    'savingConfirmation': {
        'en': 'Do you want to save changes?',
        'pl': 'Czy chcesz zapisać zmiany?'
    },
    'fatalError': {
        'en': 'Fatal error occured.',
        'pl': 'Wystąpił krytyczny błąd.'
    },
    'get': function (key, lang) {
        if (this[key] === undefined)
            return 'Error. There is no such message.';
        if (lang == 'en' && this[key]['en'] === undefined)
            return 'Error. There is no such message.';
        if (this[key][lang] === undefined)
            return this.get(key, 'en');
        return this[key][lang];
    }
};

そして、どの言語が設定されているかという情報を含む動的に生成されたjsファイルを作成するよりも:

var currentLanguage = 'en';

この情報は別の方法(AJAXなど)で取得することもできますが、上記のソリューションには、コードが既にロードされてcurrentLanguage設定されているという利点があります。

次に、コードに次のように記述します。

...
if (confirm(MultilanguageStrings.get('savingConfirmation', currentLanguage))) {
...

すべてを1つのグローバル変数にラップすることをお勧めします。これは、より適切な方法です。また、メソッドを上書きしないように注意してMultilanguageStrings.getください。

于 2010-09-06T14:09:01.820 に答える