1
0
Fork 0

added Tamazight

This commit is contained in:
sspanak 2024-12-26 15:33:22 +02:00 committed by Dimo Karaivanov
parent 105749a792
commit 240e5c444a
11 changed files with 477882 additions and 16 deletions

View file

@ -25,10 +25,35 @@ class LocaleCompat {
case "yi" -> "ji";
case "he" -> "iw";
case "id" -> "in";
case "zgh" -> "zg";
default -> language;
};
}
public String getUniqueLanguageCode() {
if (locale == null) {
return "";
}
String country = locale.getCountry().toLowerCase();
String language = locale.getLanguage().toLowerCase();
switch (language) {
case "en":
if ("in".equals(country)) { // en-IN = Hinglish
return "hi";
}
// otherwise, fall-through to return "en"
case "ca":
return language;
case "ji":
return "yi";
case "zgh":
return "tmz";
default:
return country;
}
}
@NonNull
@Override

View file

@ -145,6 +145,7 @@ public class NaturalLanguage extends Language implements Comparable<NaturalLangu
return switch (getLocale().getLanguage()) {
case "fi" -> "su";
case "sw" -> "ki";
case "zgh" -> "tam";
default -> getLocale().toString();
};
}
@ -171,22 +172,11 @@ public class NaturalLanguage extends Language implements Comparable<NaturalLangu
@NonNull
@Override
public String getCode() {
if (code != null) {
return code;
if (code == null) {
code = new LocaleCompat(locale).getUniqueLanguageCode();
}
String country = getLocale().getCountry().toLowerCase();
String language = getLocale().getLanguage().toLowerCase();
if ("en".equals(language) && "in".equalsIgnoreCase(country)) {
return code = "hi";
}
if ("ar".equals(language) || "ca".equals(language) || "en".equals(language)) {
return code = language;
}
return code = country.equals("ji") ? "yi" : country;
return code;
}