Come posso impostare automaticamente la cultura dell'interfaccia utente in base al browser dell'utente? Tutto quello che ho trovato su questo è Globalize.culture("pt-BR");
Ma imposta pt-BR
come predefinito e non voglio impostare questo di default! Voglio impostarlo solo se l'utente è pt-BR! Come posso fare questo? E i metodi di validazione, come posso impostarli per una cultura specifica?Impostare uiCulture automaticamente in base al browser accetta la lingua
risposta
In un MVC ASP.NET il web.config
è il posto giusto. C'è un breve riepilogo, il primo snippet mostra, come potrebbe esserlo per es. pt-BR
cultura costretto
<globalization
enableClientBasedCulture="false"
uiCulture="pt-BR"
culture="pt-BR" />
Se l'applicazione è pronta ad accettare la cultura dal client (browser), le impostazioni dovrebbero essere
<globalization
enableClientBasedCulture="true"
uiCulture="auto"
culture="auto" />
L'impostazione di cui sopra avrà un Lingua selezionato nel browser client (ad esempio, cs-CZ
nel mio caso). Se nessuno è definito, verranno utilizzate le impostazioni di sistema. spettacoli frammento finali, come consentire ai client di impostare e inviare la cultura intesa, ma nel caso in cui non Lingua è pre-selezionato, ignorare l'impostazione con qualche altro valore predefinito pt-BR
<globalization
enableClientBasedCulture="true"
uiCulture="auto:pt-BR"
culture="auto:pt-BR" />
sistema estesi: impostazioni cultura per jQuery
validator
e input numerico
Nota: io non sono sicuramente un esperto di jQuery
e globalizzazione tecniche. Questo è ad esempio come fare regolare validator
di elaborare correttamente qualsiasi input numerico
rasoio Visualizza Parte (X()
è una scorciatoia per new HtmlString()
):
var defaultThousandSeprator = "@X(culture.NumberFormat.NumberGroupSeparator)";
var defaultDecimalSeprator = "@X(culture.NumberFormat.NumberDecimalSeparator)";
jQuery parte (metodi personalizzati per min e 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;
});
E poi jQuery.validator viene valutata valori di ingresso per cs-CZ: 10 000,00
correttamente e en-US: 10,000.00
.
è necessario scrivere la sceneggiatura dalla pagina web (o pagina master):
<script type="text/javascript">
Globalize.culture("<% = CultureInfo.CurrentCulture.ToString() %>");
</script>
Questo è tutto. Intendiamoci, che ho usato CurrentCulture
invece di CurrentUICulture
, in quanto questo è quello che dovresti usare per la formattazione. Se hai bisogno delle traduzioni (che non farei in questo modo perché danneggerebbe la localizzazione), avrai bisogno del tuo originale CurrentUICulture
.
- 1. Rileva automaticamente la lingua e reindirizza l'utente
- 2. Come riscrivere la posizione in nginx in base alla lingua del browser client?
- 3. qTranslate per Wordpress non mi dà automaticamente la lingua corretta
- 4. Come impostare la lingua nell'helper render_to_string?
- 5. Come classificare automaticamente le immagini in base al colore dominante?
- 6. Dove dovrei impostare la lingua (CurrentThread.CurrentCulture)?
- 7. Allinea automaticamente il testo in UILabel in base alla lingua del testo
- 8. Come impostare la lingua/lingua della console eclipse
- 9. Controllare la lingua del browser tramite PHP?
- 10. jQuery lingua del browser rilevamento
- 11. Come ridimensionare automaticamente JFrame in base al contenuto
- 12. Rileva automaticamente la lingua di un testo in Java (Android)
- 13. Tempo di conversione WCF in base al fuso orario automaticamente
- 14. Angularjs - cambia visualizzazione in base al browser/piattaforma?
- 15. Come posso ottenere la lingua del browser in node.js (express.js)?
- 16. Come impostare l'altezza di UIWebView in base al contenuto HTML?
- 17. Cambia dimensione carattere in base alla lingua
- 18. Come impostare l'indice selezionato JComboBox in base al valore
- 19. come impostare la lingua desiderata in git-gui?
- 20. impostare l'altezza iframe automaticamente
- 21. Impostare una lingua diversa per gli errori MVC ASP.NET
- 22. Come cambio la lingua del browser con Javascript
- 23. Il browser Android ridimensiona automaticamente il testo
- 24. Accetta il trascinamento dell'immagine da un'altra finestra del browser
- 25. Localizzazione .NET - come impostare una lingua?
- 26. Webpack lancia automaticamente il browser
- 27. Impostare l'altezza div per adattarsi al browser usando il CSS
- 28. Come impostare la lingua nel riconoscimento vocale su Android?
- 29. LayoutManager per RecyclerView per impostare automaticamente il numero di colonne in base alla larghezza degli articoli
- 30. Come posso impostare la lingua predefinita di LLDB su Swift?
Ma cambiare questa influenza di doest'n in validatori jQuery (le convalide mantiene lo stesso), quindi ho bisogno di cambiare la cultura con Globalize.js. – MuriloKunze
Ok, non conosco Globalize.js. Per gestire le cose JS, utilizzo variabili JS generate dinamicamente e.g .: 'var defaultCulture =" @ (CultureInfo.CurrentCulture.Name) "'; e quindi estendere componenti JS come '$ .datepicker.regional [defaultCulture || '']; '.Ma la mia risposta è stata spiegare come consentire l'utilizzo della cultura del cliente, come richiesto ... Potrebbe esserci un valore predefinito, ma sovrascritto con il client, se fornito –
Sì, grazie. Ma ho bisogno di sapere come lavorare anche con la globalizzazione e le convalide. – MuriloKunze