To release quickly a first MVP (minimum viable product) of my application, in the first version I have limited the support to the first 255 characters of the Unicode table for several reasons, first of all the fact that it is used by the most common password generators, but also for the very large geographical spread of the Latin alphabet, also used in many non-European languages.
Latin and Cyrillic Alphabets, source Wikipedia
With the release of Spell 1.1.0 today on Google PlayStore I introduced support to most of the characters of the Cyrillic alphabet, used mainly in Russian and most of the Slavic languages, and thus support for the spelling of pass-phrases in these languages.
Going into details, using as a reference the official Unicode table for Cyrillic characters, I introduced support for the range 0400-045F, which includes the 33 letters used for the Russian language with both upper and lower cases, and many accented letters that are case sensitive as well. For now are excluded the letters belonging to the “historic” subsets.
For the pronunciation of the 33 uppercase cyrillic alphabet letters I used the Russian spelling alphabet, adopted by the Russian military, navy and police. For the lower case I referred to the table of most frequent words in relation to each Cyrillic character.
Taking the opportunity, I added Russian as the sixth language of the app, it will be available in presence of a Russian-language TTS engine installed, and if the system language is Russian it will be pre-selected with the first startup.
By performing this upgrade I could see that the TTS engines of western languages do not handle cyrillic characters, so that passing a cyrillic string to an Italian or English TTS will result in the smartphone staying silent.
For this reason it was necessary to include a transliteration of each item with Latin characters to make them pronounceable. The TTS of each language, however, has some peculiarities about the pronunciation of vowels, also in combination with certain consonants, so I proceeded to customize where necessary transliteration so that the sound you hear is as close as possible to the Russian version in all languages.
Clearly the Russian translation of the app was made with Google translate, so if you have knowledge of the language and notice some embarrassing mistakes do not hesitate to point them out 🙂
- Added support for cyrillic characters in the Unicode interval 1024-1119
- Added Russian translation
- Improved the pronunciation of latin alphabet characters in all languages
- Fixed number 1 “un” not pronounced by French TTS