added Tamazight
This commit is contained in:
parent
105749a792
commit
240e5c444a
11 changed files with 477882 additions and 16 deletions
13
app/languages/definitions/Tamazight.yml
Normal file
13
app/languages/definitions/Tamazight.yml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
locale: zgh-MA
|
||||||
|
dictionaryFile: tamazight-utf8.txt
|
||||||
|
layout:
|
||||||
|
- [SPECIAL] # 0
|
||||||
|
- [PUNCTUATION] # 1
|
||||||
|
- [ⴰ, ⴱ, ⴳ, ⴷ] # 2
|
||||||
|
- [ⴹ, ⴻ, ⴼ, ⴽ] # 3
|
||||||
|
- [ⵀ, ⵃ, ⵄ, ⵅ] # 4
|
||||||
|
- [ⵇ, ⵉ, ⵊ, ⵍ] # 5
|
||||||
|
- [ⵎ, ⵏ, ⵓ, ⵔ] # 6
|
||||||
|
- [ⵕ, ⵖ, ⵙ, ⵚ] # 7
|
||||||
|
- [ⵛ, ⵜ, ⵟ, ⵡ] # 8
|
||||||
|
- [ⵢ, ⵣ, ⵥ, ⵯ] # 9
|
||||||
14
app/languages/definitions/TamazightLatin.yml
Normal file
14
app/languages/definitions/TamazightLatin.yml
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
locale: zgh-DZ # zgh = Morroccan Tamazight, DZ = Algeria. We combine these just to get a unique ID.
|
||||||
|
name: Tamaziɣt / MA
|
||||||
|
dictionaryFile: tamazight-latin-utf8.txt
|
||||||
|
layout:
|
||||||
|
- [SPECIAL] # 0
|
||||||
|
- [PUNCTUATION] # 1
|
||||||
|
- [a, b, c] # 2
|
||||||
|
- [d, ḍ, e, f] # 3
|
||||||
|
- [g, h, ḥ, i] # 4
|
||||||
|
- [j, k, l] # 5
|
||||||
|
- [m, n, ɛ, o] # 6
|
||||||
|
- [p, q, r, ṛ, s, ṣ] # 7
|
||||||
|
- [t, ṭ, u, ɣ, v] # 8
|
||||||
|
- [w, x, y, z, ẓ, ʷ] # 9
|
||||||
238910
app/languages/dictionaries/tamazight-latin-utf8.txt
Normal file
238910
app/languages/dictionaries/tamazight-latin-utf8.txt
Normal file
File diff suppressed because it is too large
Load diff
238910
app/languages/dictionaries/tamazight-utf8.txt
Normal file
238910
app/languages/dictionaries/tamazight-utf8.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -25,10 +25,35 @@ class LocaleCompat {
|
||||||
case "yi" -> "ji";
|
case "yi" -> "ji";
|
||||||
case "he" -> "iw";
|
case "he" -> "iw";
|
||||||
case "id" -> "in";
|
case "id" -> "in";
|
||||||
|
case "zgh" -> "zg";
|
||||||
default -> language;
|
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
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -145,6 +145,7 @@ public class NaturalLanguage extends Language implements Comparable<NaturalLangu
|
||||||
return switch (getLocale().getLanguage()) {
|
return switch (getLocale().getLanguage()) {
|
||||||
case "fi" -> "su";
|
case "fi" -> "su";
|
||||||
case "sw" -> "ki";
|
case "sw" -> "ki";
|
||||||
|
case "zgh" -> "tam";
|
||||||
default -> getLocale().toString();
|
default -> getLocale().toString();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -171,22 +172,11 @@ public class NaturalLanguage extends Language implements Comparable<NaturalLangu
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public String getCode() {
|
public String getCode() {
|
||||||
if (code != null) {
|
if (code == null) {
|
||||||
return code;
|
code = new LocaleCompat(locale).getUniqueLanguageCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
String country = getLocale().getCountry().toLowerCase();
|
return code;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
4
docs/dictionaries/zghWordlistReadme.txt
Normal file
4
docs/dictionaries/zghWordlistReadme.txt
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
Tamazight wordlist by: Abdelhaque Id Ali
|
||||||
|
Version: aebb6f649ea5de27dc14730d340bfa4dd01c6bef (2024-12-18)
|
||||||
|
Source: https://github.com/abdelhaqueidali/Amazigh-User-Dictionaries
|
||||||
|
License: Public Domain; Written permission to use in: https://github.com/sspanak/tt9/issues/684
|
||||||
BIN
downloads/tamazight-latin-utf8.zip
Normal file
BIN
downloads/tamazight-latin-utf8.zip
Normal file
Binary file not shown.
BIN
downloads/tamazight-utf8.zip
Normal file
BIN
downloads/tamazight-utf8.zip
Normal file
Binary file not shown.
|
|
@ -1,6 +1,6 @@
|
||||||
TT9 е 12-клавишна Т9 клавиатура за устройства с физически бутони. Поддържа подскаващ текст на повече от 30 езика и бързи клавиши, а виртуалната клавиатура може да превърне всеки смартфон в Нокия от 2000 година. И най-хубавото — не Ви шпионира!
|
TT9 е 12-клавишна Т9 клавиатура за устройства с физически бутони. Поддържа подскаващ текст на повече от 30 езика и бързи клавиши, а виртуалната клавиатура може да превърне всеки смартфон в Нокия от 2000 година. И най-хубавото — не Ви шпионира!
|
||||||
|
|
||||||
Поддържани езици: английски, арабски, български, виетнамски, гръцки, датски, идиш, иврит, индонезийски, испански, италиански, каталонски, кисуахили, корейски, немски, норвежки, полски, португалски (европейски и бразилски), румънски, руски, тайски, унгарски, украински, финландски, френски, хинглиш, хинди (фонетичен), холандски, хърватски, чешки, шведски, турски.
|
Поддържани езици: английски, арабски, български, виетнамски, гръцки, датски, идиш, иврит, индонезийски, испански, италиански, каталонски, кисуахили, корейски, немски, норвежки, полски, португалски (европейски и бразилски), румънски, руски, тайски, марокански тамазихт (латиница и тифинаг), унгарски, украински, финландски, френски, хинглиш, хинди (фонетичен), холандски, хърватски, чешки, шведски, турски.
|
||||||
|
|
||||||
Философия и защита на личните данни:
|
Философия и защита на личните данни:
|
||||||
- Без реклами, специални или платени функции. Всичко е напълно безплатно.
|
- Без реклами, специални или платени функции. Всичко е напълно безплатно.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
TT9 is a 12-key T9 keyboard for devices with a hardware numpad. It supports predictive text typing in 30+ languages, configurable hotkeys, and an on-screen keypad that can turn your smartphone into a Nokia from the 2000s. And, best of all, it doesn't spy on you!
|
TT9 is a 12-key T9 keyboard for devices with a hardware numpad. It supports predictive text typing in 30+ languages, configurable hotkeys, and an on-screen keypad that can turn your smartphone into a Nokia from the 2000s. And, best of all, it doesn't spy on you!
|
||||||
|
|
||||||
Supported languages: Arabic, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hindi (phonetic), Hinglish, Hungarian, Indonesian, Italian, Kiswahili, Korean, Norwegian, Polish, Portuguese (European and Brazilian), Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese, Yiddish.
|
Supported languages: Arabic, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hindi (phonetic), Hinglish, Hungarian, Indonesian, Italian, Kiswahili, Korean, Norwegian, Polish, Portuguese (European and Brazilian), Romanian, Russian, Spanish, Swedish, Moroccan Tamazight (Latin and Tifinagh), Thai, Turkish, Ukrainian, Vietnamese, Yiddish.
|
||||||
|
|
||||||
Philosophy and Privacy Policy:
|
Philosophy and Privacy Policy:
|
||||||
- No ads, no premium or paid features. It's all free.
|
- No ads, no premium or paid features. It's all free.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue