diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java index acfd6b87..6199625a 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java @@ -117,16 +117,14 @@ public class ModeABC extends InputMode { return textCase == CASE_LOWER ? "abc" : "ABC"; } - String langCode = ""; + String modeString = language.getAbcString(); + + // There are many languages written using the same alphabet, so if the user has + // enabled multiple ones, make it clear which one is it, by appending the unique + // country or language code to "ABC" or "АБВ". if (LanguageKind.isLatinBased(language) || LanguageKind.isCyrillic(language)) { - // There are many languages written using the same alphabet, so if the user has enabled multiple, - // make it clear which one is it, by appending the country code to "ABC" or "АБВ". - langCode = language.getLocale().getCountry(); - langCode = langCode.isEmpty() ? language.getLocale().getLanguage() : langCode; - langCode = langCode.isEmpty() ? language.getName() : langCode; - langCode = " / " + langCode; + modeString += " / " + language.getCode(); } - String modeString = language.getAbcString() + langCode.toUpperCase(); return (textCase == CASE_LOWER) ? modeString.toLowerCase(language.getLocale()) : modeString.toUpperCase(language.getLocale()); } diff --git a/app/src/main/java/io/github/sspanak/tt9/languages/EmojiLanguage.java b/app/src/main/java/io/github/sspanak/tt9/languages/EmojiLanguage.java index 3947ebe4..3aac1e5d 100644 --- a/app/src/main/java/io/github/sspanak/tt9/languages/EmojiLanguage.java +++ b/app/src/main/java/io/github/sspanak/tt9/languages/EmojiLanguage.java @@ -17,6 +17,7 @@ public class EmojiLanguage extends Language { id = Integer.parseInt(EMOJI_SEQUENCE); locale = Locale.ROOT; abcString = "emoji"; + code = "emj"; name = "Emoji"; } diff --git a/app/src/main/java/io/github/sspanak/tt9/languages/Language.java b/app/src/main/java/io/github/sspanak/tt9/languages/Language.java index d95e66ab..bef36b4f 100644 --- a/app/src/main/java/io/github/sspanak/tt9/languages/Language.java +++ b/app/src/main/java/io/github/sspanak/tt9/languages/Language.java @@ -10,6 +10,7 @@ import io.github.sspanak.tt9.languages.exceptions.InvalidLanguageCharactersExcep abstract public class Language { protected int id; protected String abcString; + protected String code; protected String dictionaryFile; protected Locale locale = Locale.ROOT; protected String name; @@ -25,6 +26,10 @@ abstract public class Language { return abcString; } + @NonNull public String getCode() { + return code; + } + @NonNull final public String getDictionaryFile() { return dictionaryFile; } diff --git a/app/src/main/java/io/github/sspanak/tt9/languages/NaturalLanguage.java b/app/src/main/java/io/github/sspanak/tt9/languages/NaturalLanguage.java index 82160e58..21ada504 100644 --- a/app/src/main/java/io/github/sspanak/tt9/languages/NaturalLanguage.java +++ b/app/src/main/java/io/github/sspanak/tt9/languages/NaturalLanguage.java @@ -173,6 +173,29 @@ public class NaturalLanguage extends Language implements Comparable