Wie kann ich die Kultur der Ui automatisch basierend auf dem Benutzerbrowser einstellen? Alles, was ich darüber gefunden habe, ist Globalize.culture("pt-BR");
Aber es setzt pt-BR
als Standard und ich möchte das nicht standardmäßig festlegen! Ich möchte das nur einstellen, wenn der Benutzer pt-BR ist! Wie kann ich das tun? Und die Validator-Methoden, wie kann ich sie für eine bestimmte Kultur festlegen?Set uiCulture automatisch basierend auf Browser akzeptieren Sprache
Antwort
In einem ASP.NET MVC ist der web.config
der richtige Ort. Es gibt eine kurze Zusammenfassung, der erste Ausschnitt zeigt, wie z. pt-BR
Kultur gezwungen
<globalization
enableClientBasedCulture="false"
uiCulture="pt-BR"
culture="pt-BR" />
Wenn die Anwendung bereit ist, die Kultur vom Client (Browser) zu akzeptieren, sollten Einstellungen seinen
<globalization
enableClientBasedCulture="true"
uiCulture="auto"
culture="auto" />
Die obige Einstellung wird eine Sprache in Client-Browser ausgewählt (zB cs-CZ
in meinem Fall). Wenn keine definiert ist, werden die Systemeinstellungen verwendet. Abschluss Schnipsel zeigt, wie Client zu ermöglichen, setzen und sollte Kultur senden, aber in dem Fall, dass keine Sprache vorgewählt, außer Kraft gesetzt, das System mit einem anderen Standardwert Einstellung pt-BR
<globalization
enableClientBasedCulture="true"
uiCulture="auto:pt-BR"
culture="auto:pt-BR" />
Erweitern: Kultureinstellungen für jQuery
validator
und numerische Eingabe
Hinweis: ich bin definitiv kein Experte in jQuery
und Globalisierung Techniken. Dies ist beispielsweise, wie ich validator
tue richtig einstellen beliebige numerische Eingabe
Rasierer anzeigen Teil (X()
ist eine Abkürzung für new HtmlString()
) zu verarbeiten:
var defaultThousandSeprator = "@X(culture.NumberFormat.NumberGroupSeparator)";
var defaultDecimalSeprator = "@X(culture.NumberFormat.NumberDecimalSeparator)";
jQuery Teil (benutzerdefinierte Methoden für min und max)
$.validator.addMethod("min", function (value, element, param)
{
var num = value.replace(RegExp(" ", "g"), "") // remove spaces
.replace(RegExp('\\' + defaultThousandSeprator, "g"), "") // thousand separator
.replace(RegExp("\\" + defaultDecimalSeprator, "g"), "."); // fix decimals
return this.optional(element) || num >= param;
});
$.validator.addMethod("max", function (value, element, param)
{
var num = value.replace(RegExp(" ", "g"), "") // remove spaces
.replace(RegExp('\\' + defaultThousandSeprator, "g"), "") // thousands
.replace(RegExp("\\" + defaultDecimalSeprator, "g"), "."); // decimals
return this.optional(element) || num <= param;
});
Und dann wertet jQuery.validator Eingabewerte für cs-CZ: 10 000,00
korrekt sowie de-DE: 10,000.00
.
Sie müssen das Skript von der Webseite (oder Master-Seite) schreiben:
<script type="text/javascript">
Globalize.culture("<% = CultureInfo.CurrentCulture.ToString() %>");
</script>
Das ist es. Beachten Sie, dass ich CurrentCulture
anstelle von CurrentUICulture
verwendet habe, da dies zum Formatieren verwendet werden sollte. Wenn Sie die Übersetzungen benötigen (was ich nicht tun würde, da dies die Lokalisierbarkeit beeinträchtigen würde), benötigen Sie Ihr Original CurrentUICulture
.
- 1. Redirect Benutzer basierend auf Browser-Sprache (nicht in PHP)
- 2. Sichtbarkeit von div Tags basierend auf Browser-Sprache umschalten
- 3. .htaccess neu schreiben/Sprache akzeptieren
- 4. Set Sprache auf Französisch in Android DatePickerDialog
- 5. symfony Sprache wählen basierend auf Sub-Domain
- 6. Ändern der Schriftgröße basierend auf Sprache
- 7. set jquery ThickBox Größe auf automatisch
- 8. Set Sprache nicht funktioniert select2
- 9. Set Sprache mit htaccess URLrewrite
- 10. Set Likes basierend auf 2 Parametern
- 11. Set Header in Htacces basierend auf Umgebungsvariable
- 12. Set Dropdownlist des SelectValue basierend auf Datenbank
- 13. Set DataGridViewComboBoxColumn Wert Basierend auf einer Datentabelle
- 14. Sprache automatisch erkennen und Benutzer umleiten
- 15. Webpack Start-Browser automatisch
- 16. qTranslate für Wordpress gibt mir nicht automatisch die richtige Sprache
- 17. Wie stelle ich die Sprache basierend auf dem Benutzerprofil ein?
- 18. Outlook automatisch Erinnerung basierend auf Kategorie ändern
- 19. WCF-Konvertierung Zeit basierend auf Zeitzone automatisch
- 20. set alle href-Wert automatisch
- 21. Tabelle Offset Ändern basierend auf Browser
- 22. Angularjs - Ansicht basierend auf Browser/Plattform ändern?
- 23. Erstellt Okta automatisch einen Session-Cookie auf Browser-Ebene?
- 24. Android Browser skaliert Text automatisch
- 25. Kann akzeptieren akzeptieren Sprache Header aber nicht Connection-Header? PhantomJS (Selenium WebDriver mit Python)
- 26. ionischer Text-zu-Sprache auf Browser nicht funktioniert
- 27. Globalisierung uiCulture wird nicht während des Startens von ASP.NET angewendet
- 28. Sprache ändern basierend auf Ressourcen-Dateien in ASP.NET MVC 4
- 29. offen Warenkorb 2.2 ändern style.css basierend auf Sprache oder Richtung
- 30. Inhalt Verhandlung basierend auf Sprache in asp.net web.api
Aber das Ändern dieses Einflusses in jquery-Validatoren (die Validierungen bleiben gleich), muss ich die Kultur mit Globalize.js ändern. – MuriloKunze
Ok, ich weiß nicht, Globalize.js. Um JS-Sachen zu behandeln, verwende ich dynamisch generierte JS-Variablen wie: 'var defaultCulture =" @ (CultureInfo.CurrentCulture.Name) "'; und dann JS-Komponenten wie '$ .datepicker.regional [defaultCulture || ']; '.Aber meine Antwort war zu erklären, wie Client-Kultur verwendet werden kann, wie Sie gefragt ... Es könnte Standard sein, aber mit Client überschreiben, wenn –
Ja, danke. Aber ich muss wissen, wie man mit globalisieren und den Validierungen auch arbeitet. – MuriloKunze