Ich war ein wenig besorgt über die Verwendung von Locale, als ich zum ersten Mal seit langer Zeit Java berührte und mehrere Sprachen unterstützte. Deshalb habe ich einen Code zum Überprüfen erstellt.
Ich möchte den Wert von Locale abrufen und die Sprachverarbeitung automatisch ändern. Ich habe das Ergebnis von Locale.getDefault () mit Locale.JAPANESE verglichen, das Japanisch darstellt, und versucht, eine japanische Nachricht anzuzeigen, wenn sie identisch sind, aber der Wert war nicht wie erwartet.
Der Wert von Locale.getDefault () war ja_JP, aber der Wert von Locale.JAPANESE war ja, sodass er selbst im Vergleich nicht auf Japanisch angezeigt werden konnte. Da der Wert von Locale.JAPAN ja_JP war, sollte ich den Wert von Locale.getDefault () und Locale.JAPAN vergleichen und beurteilen, um Japanisch anzuzeigen?
Locale.JAPAN steht für Japan (Land) und Locale.JAPANESE steht für Japanisch (Sprache). Selbst wenn Sie in Japan leben, verwenden einige Leute Englisch als Sprache, daher ist es eine Schande, es mit Locale.JAPAN zu vergleichen. Es ist gut, den von Locale.getDefault (). GetLanguage () erhaltenen Wert mit dem Wert von Locale.JAPANESE.getLanguage () zu vergleichen.
Zu störendem Englisch gehören amerikanisches Englisch en_US, britisches Englisch en_GB und australisches Englisch en_AU. Die Anzeige kann jedoch auch in Englisch erfolgen. Muss britisches Englisch mein zu mir ändern oder Verben wie Cockney sein? Wird es ein sogenannter Mockney sein, wie das seltsame Kansai-Ventil, das von Menschen in Tokio gesprochen wird? : Denken:
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 ()); // Typ des Gebietsschemas als Zeichenfolge anzeigen
System.out.println ("localization.getCountry ():" + localization.getCountry ()); // Country
System.out.println ("localization.getLanguage ():" + localization.getLanguage ()); // Sprache
System.out.println ("localization.getDisplayVariant ():" + localization.getDisplayVariant ()); // Variant
System.out.println ("Locale.getDefault ():" + Lokalisierung); // Typ des Gebietsschemas
System.out.println ("localization.getLanguage ():" + localization.getLanguage ()); // String-Typ
System.out.println ("Locale.JAPAN (Land):" + Locale.JAPAN);
System.out.println ("Locale.JAPAN (country.getCountry ()):" + Locale.JAPAN.getCountry ());
System.out.println ("Locale.JAPAN (Country.getLanguage ()):" + Locale.JAPAN.getLanguage ());
? String msg = localization == Locale.JAPAN "! Hallo Welt": "Hallo Welt";
System.out.println(msg);
System.out.println ("Locale.JAPANESE (Japanisch):" + Locale.JAPANESE);
System.out.println ("Locale.JAPANESE (Japanese.getCountry ()):" + Locale.JAPANESE.getCountry ());
System.out.println ("Locale.JAPANESE (Japanese.getLanguage ()):" + Locale.JAPANESE.getLanguage ());
Msg = localization == Locale.JAPANESE "! Hallo Welt": "Hallo Welt";
System.out.println(msg);
System.out.println("localization.getLanguage()==Locale.JAPANESE.getLanguage()");
Msg = localization.getLanguage () == Locale.JAPANESE.getLanguage () "! Hallo Welt": "Hallo Welt";
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
Gebietsschema.JAPAN (Land): ja_JP
Locale.JAPAN (Country.getCountry ()): JP
Locale.JAPAN (country.getLanguage ()): ja
Hallo Welt!
Locale.JAPANESE (Japanisch): ja
Locale.JAPANESE (Japanese.getCountry ()):
Locale.JAPANESE (Japanese.getLanguage ()): ja
Hello World
localization.getLanguage()==Locale.JAPANESE.getLanguage()
Hallo Welt!
Recommended Posts