Sto avendo tutti i miei valori di resourcebundle nella tabella e formattato come da requisito. Devo cambiare le lingue nel sito Web in base alla selezione dell'utente nel menu a discesa nella parte superiore della pagina. Se uso il codice della lingua come en_US, allora funziona correttamente. se io uso en-Us come codice della lingua, allora non funziona. Quale potrebbe essere il problema Quale è corretto da seguire?Qual è la differenza tra la creazione di impostazioni locali per en-US e en_US?
risposta
"en" è il codice della lingua specifiche ISO 639. mentre gli Stati Uniti è il codice paese designata dal 3166.
In Java, l'oggetto Locale riconosce il linguaggio come languageCode_countryCode (ad esempio en_US) e non come languageCode- countryCode.
"en-US" è un IETF language tag. Mentre la classe Java'a Locale era chiaramente basata su tag linguaggio IETF, utilizza underscore al posto di trattini quando si separano i codici lingua dai codici paese (e anche varianti), quindi chiamare toString()
sull'equivalente Locale
ti darà en_US
.
A partire da Java 7 è possibile utilizzare Locale.forLanguageTag(String)
e toLanguageTag()
per la conversione tra tag di lingua e oggetti Locale
.
Quando si convertono le stringhe in oggetti Locale
, è consigliabile normalizzare suddividendo i componenti in trattini e caratteri di sottolineatura, in minuscolo il primo componente (il codice lingua) e il maiuscolo il secondo componente (il codice paese).
Oppure è possibile utilizzare Locale us = Locale.forLanguageTag("en-US")
e us.toLanguageTag()
e questo eseguirà la conversione per te senza dover creare la propria implementazione soggetta a errori. .
A partire dal Java8, l'inizializzazione del locale dovrebbe essere fatto utilizzando il tag di lingua "en-US" Locale.forLanguageTag ("en-US") toString(); restituisce l'output: en_US
Dove come Locale.forLinguaTag ("en_US") non crea le impostazioni internazionali richieste. Verrà impostato come predefinito sul sistema. Locale.forLanguageTag ("en_US"). ToString() restituisce null
- 1. Java: qual è la differenza tra le impostazioni locali sv e sv_SE?
- 2. Qual è la differenza tra "Architetture" e "Architetture valide" nelle Impostazioni di creazione Xcode?
- 3. Qual è la differenza tra = e: =
- 4. Qual è la differenza tra dict() e {}?
- 5. Qual è la differenza tra Verilog! e ~?
- 6. qual è la differenza tra:.! e: r !?
- 7. Qual è la differenza tra $ e $$?
- 8. Qual è la differenza tra {0} e +?
- 9. Qual è la differenza tra ("") e (null)
- 10. Qual è la differenza tra URLWithString e fileURLWithPath di NSURL?
- 11. Qual è la differenza tra? : e ||
- 12. qual è la differenza tra [[], []] e [[]] * 2
- 13. Qual è la differenza tra " " e ""?
- 14. Qual è la differenza tra {0} e ""?
- 15. Qual è la differenza tra `##` e `hashCode`?
- 16. Qual è la differenza tra .ToString() e + ""
- 17. Qual è la differenza tra android.text.format.DateFormat e java.text.DateFormat
- 18. Qual è la differenza tra CoCreateInstance() e CoGetClassObject() durante la creazione di oggetti sulla stessa macchina?
- 19. Qual è la differenza tra WebRequest.DefaultWebProxy e WebRequest.GetSystemWebProxy()?
- 20. Qual è la differenza tra Media e MediaTemplate in WIX?
- 21. Unix: Qual è la differenza tra la fonte e l'esportazione?
- 22. Qual è la differenza tra GHC e la piattaforma Haskell?
- 23. Qual è la differenza tra la funzione() {}() e function() {}()
- 24. Qual è la differenza tra la [OptionalField] e [NonSerialized]
- 25. Qual è la differenza tra ::: e ++ per le liste?
- 26. Qual è la differenza tra "Set" e "Aggiungi" per ObjectCache?
- 27. Qual è la differenza tra = e => per una variabile?
- 28. Qual è la differenza tra la serratura e RLock
- 29. Qual è la differenza tra la lista() e []
- 30. Qual è la differenza tra logcat e dmesg?
Questa risposta è la migliore risposta per cosa fare nel codice java. Per altri linguaggi/framework, non così tanto. Quando si effettuano chiamate tra framework con diverse convenzioni, si ha una "pratfall" del coder che ha bisogno di sapere che è necessaria una conversione. consiglia di utilizzare la convenzione del framework da cui stai chiamando. Quando si effettuano chiamate a un altro framework, fornire "proxy" che effettuano la conversione. Perché? elimina la necessità di sapere che il framework chiamato utilizza una convenzione diversa. I contributori "vedranno" SOLO una convenzione usando quella che eviterà la caduta. – DaBlick