All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.dongliu.apk.parser.bean.Locale Maven / Gradle / Ivy

package net.dongliu.apk.parser.bean;

/**
 * The java use ISO-639 and ISO-3166 to represent a local, with language lower case and country upper case.
 * 

* Note: we do not use java.util.Locale here. *

* * @author dongliu */ public class Locale { private String country; private String language; /** * when do localize, any locale will match this */ public static final Locale any = new Locale(""); /** * do not translate any resource to localize text */ public static final Locale none = new Locale("none"); // the most widely used locales public static final Locale en = new Locale("en"); public static final Locale en_US = new Locale("en", "US"); /** * Chinese */ public static final Locale zh_CN = new Locale("zh", "CN"); public static final Locale zh_TW = new Locale("zh", "TW"); public static final Locale zh_HK = new Locale("zh", "HK"); public static final Locale zh = new Locale("zh"); /** * Japanese */ public static final Locale ja = new Locale("ja"); /** * German */ public static final Locale de = new Locale("de"); /** * Korean */ public static final Locale ko = new Locale("ko"); /** * French */ public static final Locale fr = new Locale("fr"); /** * Spanish; Castilian */ public static final Locale es = new Locale("es"); /** * Russian */ public static final Locale ru = new Locale("ru"); public Locale(String language) { setLanguage(language); setCountry(""); } public Locale(String language, String country) { setLanguage(language); setCountry(country); } public void setCountry(String country) { if (country == null || country.isEmpty() || country.charAt(0) == 0) { this.country = ""; } else { this.country = country; } } public void setLanguage(String language) { if (language == null || language.isEmpty() || language.charAt(0) == 0) { this.language = ""; } else { this.language = language; } } public String toString() { if (!this.country.isEmpty()) { return this.language + "_" + this.country; } else { return this.language; } } public int match(Locale locale) { if (this.language.equals(locale.language)) { if (this.country.isEmpty() || this.country.equals(locale.country)) { return 2; } else { return 1; } } else { return 0; } } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Locale locale = (Locale) o; return language.equals(locale.language) && country.equals(locale.country); } @Override public int hashCode() { int result = language.hashCode(); result = 31 * result + country.hashCode(); return result; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy