diff --git a/assets/languages/dictionaries/en-utf8.csv b/assets/languages/dictionaries/en-utf8.csv
index 6c2d04d1..f7614e94 100644
--- a/assets/languages/dictionaries/en-utf8.csv
+++ b/assets/languages/dictionaries/en-utf8.csv
@@ -4,7 +4,6 @@
'll
're
've
-I
abs 62
cia 118
co
diff --git a/assets/languages/dictionaries/es-utf8.csv b/assets/languages/dictionaries/es-utf8.csv
index f8d9a0d9..51512c84 100644
--- a/assets/languages/dictionaries/es-utf8.csv
+++ b/assets/languages/dictionaries/es-utf8.csv
@@ -1540,7 +1540,6 @@ Bélgica 116
Bétera
Bóntoc
Búrbura
-C
CD
CFE
CNDH
@@ -4020,7 +4019,6 @@ Fátima
Félix 111
Fómeque
Fúquene
-G
GPS
Gabaldón
Gaban
@@ -4858,7 +4856,6 @@ Huépil
Hábita
Héctor
Héroes 118
-I
IMSS 89
INE 124
INEGI 100
@@ -6829,7 +6826,6 @@ Múgica
Múnera
Mútis
Múzquiz
-N
NIF
Naaguán
Naborot
@@ -7106,7 +7102,6 @@ Nísperos 60
Nóvita
Núcleo 138
Núñez
-O 184
ONG
ONU
Oasis 101
@@ -7340,7 +7335,6 @@ Ozuluama
Ozumba
Ozámiz
Oñate
-P
PEMEX
Pabellón 117
Pabla
@@ -8519,7 +8513,6 @@ Quiñota
Quíbor
Quícharo
Quípama
-R
RAE 92
Rabanedo
Rabolargo
@@ -8804,7 +8797,6 @@ Rímac 80
Río 159
Ríos 139
Rómulo
-S
SAT
SEDENA
SEP
@@ -11117,7 +11109,6 @@ Yáñez
Yécora
Yésica
Yólox
-Z
Zaachila
Zabache
Zabaleta
diff --git a/build.gradle b/build.gradle
index ff109092..2d516bba 100644
--- a/build.gradle
+++ b/build.gradle
@@ -131,7 +131,7 @@ static def validateDictionaryWord(String word, int lineNumber, String validChara
errors += "${errorMsgPrefix}. Found a garbage word: '${word}' on line ${lineNumber}.\n"
}
- if (word.matches("^.\$") && !Character.isUpperCase(word.charAt(0))) {
+ if (word.matches("^.\$")) {
errorCount++
errors += "${errorMsgPrefix}. Found a single letter: '${word}' on line ${lineNumber}. Only uppercase single letters are allowed. The rest of the alphabet will be added automatically.\n"
}
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 56659433..4e6258d4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -13,7 +13,7 @@
Add
Blank word not added.
- Word \"%1$s\" already in the dictionary.
+ Word \"%1$s\" is already in the dictionary.
Cannot add a word when no language is selected.
Add Word
Type a word…
diff --git a/src/io/github/sspanak/tt9/db/DictionaryDb.java b/src/io/github/sspanak/tt9/db/DictionaryDb.java
index 042332ee..40de59d2 100644
--- a/src/io/github/sspanak/tt9/db/DictionaryDb.java
+++ b/src/io/github/sspanak/tt9/db/DictionaryDb.java
@@ -101,15 +101,6 @@ public class DictionaryDb {
}
- public static boolean doesWordExistSync(Language language, String word) {
- if (language == null || word == null || word.equals("")) {
- return false;
- }
-
- return getInstance().wordsDao().doesWordExist(language.getId(), word) > 0;
- }
-
-
public static void deleteWords(Runnable notification) {
deleteWords(notification, null);
}
diff --git a/src/io/github/sspanak/tt9/db/DictionaryLoader.java b/src/io/github/sspanak/tt9/db/DictionaryLoader.java
index 084eaa1f..fb063bfc 100644
--- a/src/io/github/sspanak/tt9/db/DictionaryLoader.java
+++ b/src/io/github/sspanak/tt9/db/DictionaryLoader.java
@@ -10,6 +10,7 @@ import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
+import java.util.Locale;
import io.github.sspanak.tt9.ConsumerCompat;
import io.github.sspanak.tt9.Logger;
@@ -168,11 +169,11 @@ public class DictionaryLoader {
private void importLetters(Language language) {
ArrayList letters = new ArrayList<>();
+ boolean isEnglish = language.getLocale().equals(Locale.ENGLISH);
+
for (int key = 2; key <= 9; key++) {
for (String langChar : language.getKeyCharacters(key, false)) {
- if (DictionaryDb.doesWordExistSync(language, langChar.toUpperCase(language.getLocale()))) {
- continue;
- }
+ langChar = (isEnglish && langChar.equals("i")) ? langChar.toUpperCase(Locale.ENGLISH) : langChar;
Word word = new Word();
word.langId = language.getId();