Next: , Up: Languages Which Aspell can Support


B.1 Supported

Aspell 0.60 should be able to support the following languages:

Code Language Name Script Dictionary Available Gettext Translation

aa Afar Latin - -
af Afrikaans Latin 0.50 -
ak Akan Latin Maybe -
am Amharic Ethiopic 0.60 -
ar Arabic Arabic 0.60 -
as Assamese Bengali - -
av Avar Cyrillic - -
ay Aymara Latin - -
az Azerbaijani Cyrillic, Latin 0.60 -

ba Bashkir Cyrillic - -
be Belarusian Cyrillic 0.50 Incomplete
bg Bulgarian Cyrillic 0.50 -
bh Bihari Devanagari - -
bm Bambara Latin - -
bn Bengali Bengali 0.60 -
bo Tibetan Tibetan - -
br Breton Latin 0.50 -
bs Bosnian Latin Maybe -

ca Catalan / Valencian Latin 0.50 Yes
ce Chechen Cyrillic - -
co Corsican Latin Maybe -
cop Coptic Greek Maybe -
cs Czech Latin 0.50 Yes
csb Kashubian Latin 0.60 -
cv Chuvash Cyrillic - -
cy Welsh Latin 0.50 -

da Danish Latin 0.50 Incomplete
de German Latin 0.50 Yes
dyu Dyula - Maybe -

ee Ewe Latin - -
el Greek Greek 0.50 -
en English Latin 0.50 Yes
eo Esperanto Latin 0.50 -
es Spanish Latin 0.50 Incomplete
et Estonian Latin 0.60 -
eu Basque Latin Maybe -

fa Persian Arabic 0.60 -
ff Fulah Latin Maybe -
fi Finnish Latin 0.60 -
fj Fijian Latin Maybe -
fo Faroese Latin 0.50 -
fr French Latin 0.50 Yes
fur Friulian Latin Maybe -
fy Frisian Latin 0.60 -

ga Irish Latin 0.50 Yes
gd Scottish Gaelic Latin 0.50 -
gl Gallegan Latin 0.50 -
gn Guarani Latin Maybe -
gu Gujarati Gujarati 0.60 -
gv Manx Gaelic Latin 0.50 -

ha Hausa Latin Maybe -
he Hebrew Hebrew 0.60 -
hi Hindi Devanagari 0.60 -
hil Hiligaynon Latin 0.50 -
ho Hiri Motu Latin - -
hr Croatian Latin 0.50 -
hsb Upper Sorbian Latin 0.60 -
ht Haitian Creole Latin Maybe -
hu Hungarian Latin 0.60 -
hy Armenian Armenian 0.60 -
hz Herero Latin - -

ia Interlingua (IALA) Latin 0.50 -
id Indonesian Arabic, Latin 0.50 -
ig Igbo Latin Maybe -
ii Sichuan Yi Yi - -
io Ido Latin - -
is Icelandic Latin 0.50 -
it Italian Latin 0.50 Yes

jv Javanese Javanese, Latin Maybe -

ka Georgian Georgian - -
kg Kongo Latin Maybe -
ki Kikuyu / Gikuyu Latin - -
kj Kwanyama Latin - -
kk Kazakh Cyrillic - -
km Khmer Khmer Maybe -
kn Kannada Kannada Planned -
kr Kanuri Latin - -
ks Kashmiri Arabic, Devanagari - -
ku Kurdish Arabic, Cyrillic, Latin 0.50 -
kv Komi Cyrillic - -
ky Kirghiz Arabic, Cyrillic, Latin Maybe -

la Latin Latin 0.60 -
lb Luxembourgish Latin Maybe -
lg Ganda Latin Maybe -
li Limburgian Latin Maybe -
ln Lingala Latin Maybe -
lt Lithuanian Latin 0.60 -
lu Luba-Katanga Latin - -
lv Latvian Latin 0.60 -

mg Malagasy Latin 0.50 -
mi Maori Latin 0.50 -
mk Macedonian Cyrillic 0.50 -
ml Malayalam Latin, Malayalam 0.60 -
mn Mongolian Cyrillic, Mongolian 0.60 Incomplete
mo Moldavian Cyrillic - -
mos Mossi - Maybe -
mr Marathi Devanagari 0.60 -
ms Malay Arabic, Latin 0.50 -
mt Maltese Latin 0.50 -
my Burmese Myanmar - -

nb Norwegian Bokmal Latin 0.50 -
nd North Ndebele Latin Maybe -
nds Low Saxon Latin 0.60 -
ne Nepali Devanagari Maybe -
ng Ndonga Latin Maybe -
nl Dutch Latin 0.50 Yes
nn Norwegian Nynorsk Latin 0.50 -
nr South Ndebele Latin Maybe -
nso Northern Sotho Latin Maybe -
nv Navajo Latin Maybe -
ny Nyanja Latin 0.50 -

oc Occitan / Provencal Latin Maybe -
om Oromo Ethiopic, Latin - -
or Oriya Oriya 0.60 -
os Ossetic Cyrillic - -

pa Punjabi Gurmukhi 0.60 -
pl Polish Latin 0.50 -
ps Pushto Arabic - -
pt Portuguese Latin 0.50 Incomplete

qu Quechua Latin 0.60 -

rn Rundi Latin Maybe -
ro Romanian Latin 0.50 Incomplete
ru Russian Cyrillic 0.50 Yes
rw Kinyarwanda Latin 0.50 -

sc Sardinian Latin 0.50 -
sd Sindhi Arabic - -
sg Sango Latin Maybe -
si Sinhalese Sinhala - -
sk Slovak Latin 0.50 Yes
sl Slovenian Latin 0.50 Yes
sm Samoan Latin Maybe -
sn Shona Latin Maybe -
so Somali Latin Maybe -
sq Albanian Latin Maybe -
sr Serbian Cyrillic, Latin 0.60 Incomplete
ss Swati Latin Maybe -
st Southern Sotho Latin Maybe -
su Sundanese Latin Maybe -
sv Swedish Latin 0.50 Incomplete
sw Swahili Latin 0.50 -

ta Tamil Tamil 0.60 -
te Telugu Telugu 0.60 -
tet Tetum Latin 0.50 -
tg Tajik Arabic, Cyrillic, Latin Maybe Incomplete
ti Tigrinya Ethiopic Maybe -
tk Turkmen Arabic, Cyrillic, Latin 0.50 -
tl Tagalog Latin, Tagalog 0.50 -
tn Tswana Latin 0.50 -
to Tonga Latin Maybe -
tr Turkish Arabic, Latin 0.50 -
ts Tsonga Latin Maybe -
tt Tatar Cyrillic - -
tw Twi Latin - -
ty Tahitian Latin Maybe -

ug Uighur Arabic, Cyrillic, Latin - -
uk Ukrainian Cyrillic 0.50 Yes
ur Urdu Arabic Maybe -
uz Uzbek Cyrillic, Latin 0.60 -

ve Venda Latin Maybe -
vi Vietnamese Latin 0.60 Yes

wa Walloon Latin 0.50 Incomplete
wo Wolof Latin Maybe -

xh Xhosa Latin Maybe -

yi Yiddish Hebrew 0.60 -
yo Yoruba Latin Maybe -

za Zhuang Latin - -
zu Zulu Latin 0.50 -

Dictionaries marked as 0.50 are available for Aspell 0.50. Ones marked as 0.60 are available for Aspell 0.60 only. Ones marked as Planned should eventually be available. Ones marked as Maybe might be available in the future. See Planned Dictionaries, for more info.

B.1.1 Notes on Latin Languages

Any word that can be written using one of the Latin ISO-8859 character sets (ISO-8859-1,2,3,4,9,10,13,14,15,16) can be written, in decomposed form, using the ASCII characters, the 23 additional letters:

     U+00C6 LATIN CAPITAL LETTER AE
     U+00D0 LATIN CAPITAL LETTER ETH
     U+00D8 LATIN CAPITAL LETTER O WITH STROKE
     U+00DE LATIN CAPITAL LETTER THORN
     U+00DE LATIN SMALL LETTER THORN
     U+00DF LATIN SMALL LETTER SHARP S
     U+00E6 LATIN SMALL LETTER AE
     U+00F0 LATIN SMALL LETTER ETH
     U+00F8 LATIN SMALL LETTER O WITH STROKE
     U+0110 LATIN CAPITAL LETTER D WITH STROKE
     U+0111 LATIN SMALL LETTER D WITH STROKE
     U+0126 LATIN CAPITAL LETTER H WITH STROKE
     U+0127 LATIN SMALL LETTER H WITH STROKE
     U+0131 LATIN SMALL LETTER DOTLESS I
     U+0138 LATIN SMALL LETTER KRA
     U+0141 LATIN CAPITAL LETTER L WITH STROKE
     U+0142 LATIN SMALL LETTER L WITH STROKE
     U+014A LATIN CAPITAL LETTER ENG
     U+014B LATIN SMALL LETTER ENG
     U+0152 LATIN CAPITAL LIGATURE OE
     U+0153 LATIN SMALL LIGATURE OE
     U+0166 LATIN CAPITAL LETTER T WITH STROKE
     U+0167 LATIN SMALL LETTER T WITH STROKE

and the 14 modifiers:

     U+0300 COMBINING GRAVE ACCENT
     U+0301 COMBINING ACUTE ACCENT
     U+0302 COMBINING CIRCUMFLEX ACCENT
     U+0303 COMBINING TILDE
     U+0304 COMBINING MACRON
     U+0306 COMBINING BREVE
     U+0307 COMBINING DOT ABOVE
     U+0308 COMBINING DIAERESIS
     U+030A COMBINING RING ABOVE
     U+030B COMBINING DOUBLE ACUTE ACCENT
     U+030C COMBINING CARON
     U+0326 COMBINING COMMA BELOW
     U+0327 COMBINING CEDILLA
     U+0328 COMBINING OGONEK

Which is a total of 37 additional Unicode code points.

All ISO-8859 character leaves the characters 0x00 - 0x1F, and 0x80 - 0x9F unmapped as they are generally used as control characters. Of those, 0x01 - 0x0F, 0x11 - 0x1F and 0x80 - 0x9F may be mapped to anything in Aspell. This is a total of 62 characters which can be remapped in any ISO-8859 character set. Thus, by remapping 37 of the 62 characters to the previously specified Unicode code-points, any modified ISO-8859 character set can be used for any Latin languages covered by ISO-8859. Of course decomposing every single accented character wastes a lot of space, so only characters that cannot be represented in the precomposed form should be broken up. By using this trick it is possible to store foreign words in the correctly accented form in the dictionary even if the precomposed character is not in the current character set.

Any letter in the Unicode range U+0000 - U+0249, U+1E00 - U+1EFF (Basic Latin, Latin-1 Supplement, Latin Extended-A, Latin Extended-B, and Latin Extended Additional) can be represented using around 175 basic letters, and 25 modifiers which is less than 210 and can thus fit in an Aspell 8-bit character set. Since this Unicode range covers any possible Latin language this special character set can be used to represent any word written using the Latin script if so desired.

B.1.2 Syllabic

Syllabic languages use a separate symbol for each syllable of the language. Even thought most of them have more than 210 distinct symbols Aspell can still support them by breaking them up.

B.1.2.1 The Ethiopic Syllabary

Even though the Ethiopic script has more than 210 distinct characters Aspell can still handle it. The idea is to split each character into two parts based on the Consonant and Vowel parts. This encoding of the syllabary is far more useful to Aspell than if they were stored in UTF-8 or UTF-16. In fact, the exiting suggestion strategy of Aspell will work well with this encoding without any additional modifications. However, additional improvements may be possible by taking advantage of the consonant-vowel structure of this encoding.

In fact, the split consonant-vowel representation may prove to be so useful that it may be beneficial to encode other syllabary in this fashion, even if they are less than 210 of them.

The code to break up a syllabary into the consonant-vowel part is part of the Unicode normalization process.

B.1.2.2 The Yi Syllabary

A very large syllabary with 819 distinct symbols. However, like Ethiopic, it should be possible to support this script by breaking it up.

B.1.2.3 The Ojibwe Syllabary

With only 120 distinct symbols, Aspell can actually support this one as is. However, as previously mentioned, it may be beneficial to break it up into the consonant-vowel representation anyway.