Pregunta

Tengo una confirman Javascript. Mi texto está en Inglés, pero si voy a cambiar el idioma / cultura de mi proyecto asp.net mvc confirmar es de cource todavía Inglés.

Me puede CONTROLL de forma manual y acaba de escribir dos métodos javascript (para los dos idiomas), pero no es tan limpia que pienso. Y si voy a tener más de 3 idiomas su Habrá más sucio.

Podría darme algunos consejos y recomendaciones de cómo puedo solucionar mi problema?

Lo mejor para mí es tener confirman con un poco de metatag o algo así, ¿dónde puedo dar mi texto de archivos de recursos a cabo.

¿Fue útil?

Solución

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

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

Otros consejos

Puede hacer js separado con sólo cadenas, por ejemplo:.

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

Y que marca genera dinámicamente js archivo con la información que el lenguaje se establece:

var currentLanguage = 'en';

También puede obtener esta información de manera diferente (por ejemplo AJAX), pero por encima de solución tiene la ventaja de que el código ya está cargado y es currentLanguage conjunto.

A continuación, en su puesto de código:

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

Es posible que desee para envolver todo en 1 variable global, que sería más limpio. Asimismo, recuerda que no MultilanguageStrings.get método de sobreescritura.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top