lea la cultura actual del proyecto asp.net mvc y el lenguaje Javascript a cambio de confirmar
-
01-10-2019 - |
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.
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.