J'étais un peu inquiet de la façon d'utiliser Locale lorsque j'ai touché Java pour la première fois depuis longtemps et pris en charge plusieurs langues, j'ai donc créé un code pour vérifier.
Je veux obtenir la valeur de Locale et changer le traitement de la langue automatiquement. J'ai comparé le résultat de Locale.getDefault () avec Locale.JAPANESE, qui représente le japonais, et j'ai essayé d'afficher un message japonais s'ils étaient identiques, mais la valeur n'était pas celle attendue.
La valeur de Locale.getDefault () était ja_JP, mais la valeur de Locale.JAPANESE était ja, donc il ne pouvait pas être affiché en japonais même lorsque comparé. Puisque la valeur de Locale.JAPAN était ja_JP, dois-je comparer et juger la valeur de Locale.getDefault () et Locale.JAPAN pour afficher le japonais?
Locale.JAPAN signifie Japon (pays) et Locale.JAPANESE signifie japonais (langue). Même si vous vivez au Japon, certaines personnes utilisent l'anglais comme langue, c'est donc dommage de le comparer avec Locale.JAPAN. Il est bon de comparer la valeur obtenue par Locale.getDefault (). GetLanguage () avec la valeur de Locale.JAPANESE.getLanguage ().
L'anglais trouble comprend l'anglais américain en_US, l'anglais britannique en_GB et l'anglais australien en_AU, mais l'affichage est correct en anglais. L'anglais britannique doit-il changer mon pour moi ou être des verbes comme Cockney? Est-ce que ce sera un soi-disant mockney, comme l'étrange valve Kansai parlée par les gens de Tokyo? : en pensant:
import java.util.Locale;
public class LocaleTest{
public static void main(String[] args){
Locale localization=Locale.getDefault();
System.out.println("java.version:" + System.getProperty("java.version"));
System.out.println ("localization.toString ():" + localization.toString ()); // Afficher le type de paramètres régionaux sous forme de chaîne
System.out.println ("localization.getCountry ():" + localization.getCountry ()); // Pays
System.out.println ("localization.getLanguage ():" + localization.getLanguage ()); // Langue
System.out.println ("localization.getDisplayVariant ():" + localization.getDisplayVariant ()); // Variante
System.out.println ("Locale.getDefault ():" + localisation); // Type de paramètres régionaux
System.out.println ("localization.getLanguage ():" + localization.getLanguage ()); // Type de chaîne
System.out.println ("Locale.JAPAN (country):" + Locale.JAPAN);
System.out.println ("Locale.JAPAN (country.getCountry ()):" + Locale.JAPAN.getCountry ());
System.out.println ("Locale.JAPAN (Country.getLanguage ()):" + Locale.JAPAN.getLanguage ());
? String msg = localisation == Locale.JAPAN "! Hello world": "Hello World";
System.out.println(msg);
System.out.println ("Locale.JAPANESE (japonais):" + Locale.JAPANESE);
System.out.println ("Locale.JAPANESE (Japanese.getCountry ()):" + Locale.JAPANESE.getCountry ());
System.out.println ("Locale.JAPANESE (Japanese.getLanguage ()):" + Locale.JAPANESE.getLanguage ());
? Msg = localisation == Locale.JAPANESE "! Hello world": "Hello World";
System.out.println(msg);
System.out.println("localization.getLanguage()==Locale.JAPANESE.getLanguage()");
? Msg = localization.getLanguage () == Locale.JAPANESE.getLanguage () "! Hello world": "Hello World";
System.out.println(msg);
}
}
java.version:1.8.0_181
localization.toString():ja_JP
localization.getCountry() :JP
localization.getLanguage() :ja
localization.getDisplayVariant():
Locale.getDefault():ja_JP
localization.getLanguage():ja
Locale.JAPAN (country): ja_JP
Locale.JAPAN (Country.getCountry ()): JP
Locale.JAPAN (country.getLanguage ()): ja
Bonjour le monde!
Locale.JAPANESE (japonais): ja
Locale.JAPANESE (Japanese.getCountry ()):
Locale.JAPANESE (Japanese.getLanguage ()): ja
Hello World
localization.getLanguage()==Locale.JAPANESE.getLanguage()
Bonjour le monde!
Recommended Posts