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 edbedcd2..68bf98e4 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 @@ -13,7 +13,7 @@ import io.github.sspanak.tt9.util.Text; import io.github.sspanak.tt9.util.chars.Characters; -public class NaturalLanguage extends TranscribedLanguage implements Comparable { +public class NaturalLanguage extends TranscribedLanguage { final public static String SPECIAL_CHAR_KEY = "0"; final public static String PUNCTUATION_KEY = "1"; final public static String PREFERRED_CHAR_SEQUENCE = "00"; @@ -143,8 +143,12 @@ public class NaturalLanguage extends TranscribedLanguage implements Comparable { @Override public boolean isValidWord(String word) { @@ -13,4 +13,19 @@ abstract class TranscribedLanguage extends Language { return (LanguageKind.isKorean(this) && TextTools.isHangul(word)) || (LanguageKind.isChinese(this) && TextTools.isChinese(word)); } + + + /** + * These are usually languages with special scripts, such as Chinese, Korean, etc. They can't + * be sorted alphabetically so just put them at the end. + */ + protected String getSortingId() { + return getName(); + } + + + @Override + public int compareTo(TranscribedLanguage other) { + return getSortingId().compareTo(other.getSortingId()); + } }