Domanda

ho una conferma javascript. Il mio testo è in inglese, ma se cambierò la lingua / cultura del mio asp.net mvc progetto conferma è di cource ancora inglese.

I può controllare manualmente e basta scrivere due metodi javascript (per entrambe le lingue), ma non è così pulito penso. E se avrò più di 3 lingue la sua sarà più sporca.

Potreste darmi qualche consiglio su come posso risolvere il mio problema?

migliore per me è quello di avere conferma con un po 'metatag o qualcosa in cui posso dare il mio testo da file di risorse fuori.

È stato utile?

Soluzione

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

// use confirmMessage when showing confirm popup
...
</script>

Altri suggerimenti

Si può fare di file js separato solo con le stringhe, per esempio:.

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];
    }
};
file

E di make generato dinamicamente js con le informazioni che è impostata la lingua:

var currentLanguage = 'en';

È anche possibile ottenere queste informazioni dal modo diverso (ad esempio AJAX), ma la soluzione di cui sopra ha questo vantaggio, che il codice è già caricato e currentLanguage è impostato.

Poi, nel tuo inserire il codice:

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

Si consiglia di avvolgere tutto in 1 variabile globale, che sarebbe più accurato. Ricorda anche di non il metodo di sovrascrittura MultilanguageStrings.get.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top