| @@ -19,6 +19,9 @@ updated languages: | |||
| * ur (Urdu) -- Ejaz Shah | |||
| * zh (Chinese) -- Silas S. Brown | |||
| new languages: | |||
| * uk (Ukrainian) -- Valdis Vitolins | |||
| ### 1.50 - 2019-11-29 | |||
| * Add a `--disable-rpath` option to prevent libtool hardcoding rpaths in the executable. | |||
| @@ -548,6 +548,7 @@ dictionaries: \ | |||
| espeak-ng-data/tr_dict \ | |||
| espeak-ng-data/tt_dict \ | |||
| espeak-ng-data/ur_dict \ | |||
| espeak-ng-data/uk_dict \ | |||
| espeak-ng-data/uz_dict \ | |||
| espeak-ng-data/vi_dict \ | |||
| espeak-ng-data/zh_dict \ | |||
| @@ -834,6 +835,9 @@ espeak-ng-data/tr_dict: dictsource/tr_list dictsource/tr_rules dictsource/tr_ext | |||
| tt: espeak-ng-data/tt_dict | |||
| espeak-ng-data/tt_dict: dictsource/tt_list dictsource/tt_rules dictsource/tt_extra | |||
| uk: espeak-ng-data/uk_dict | |||
| espeak-ng-data/uk_dict: dictsource/uk_list dictsource/uk_rules dictsource/uk_extra | |||
| ur: espeak-ng-data/ur_dict | |||
| espeak-ng-data/ur_dict: dictsource/ur_list dictsource/ur_rules dictsource/ur_extra dictsource/ur_emoji | |||
| @@ -0,0 +1,82 @@ | |||
| // This file is UTF8 encoded | |||
| // Spelling-to-phoneme words for Ukrainian | |||
| // Letter names | |||
| а a | |||
| _б bE | |||
| б bE $atend | |||
| _в vE | |||
| в vE $atend | |||
| г gE | |||
| ґ gE | |||
| д dE | |||
| е e | |||
| є je | |||
| _ж ZE | |||
| ж ZE $atend | |||
| з zE | |||
| и i | |||
| і i | |||
| ї ji | |||
| й jot | |||
| к kA | |||
| л El | |||
| м Em | |||
| н En_ | |||
| о o | |||
| п pE | |||
| р Er | |||
| _с Es | |||
| с Es $atend | |||
| т tE | |||
| у u | |||
| ф Ef | |||
| х xA | |||
| ц tsE | |||
| ч tS;e | |||
| ш SA | |||
| щ S;ja | |||
| ь m;'jak;I#jzn'Ak | |||
| ю ju | |||
| я ja | |||
| // Numbers | |||
| _0 nul;j | |||
| _1 od;'in | |||
| _2 dv'a | |||
| _3 tR;'i | |||
| _4 tS;otiR;i | |||
| _5 p;j'at; | |||
| _6 S'is;t; | |||
| _7 s;'im | |||
| _8 v'is;im | |||
| _9 d;'evjat; | |||
| _10 d;'esjat; | |||
| _11 od;'inadtsjat; | |||
| _12 dv;'anadtsjat; | |||
| _13 trin'adtsjat; | |||
| _14 tSot'irnadtsjat; | |||
| _15 pjatn'adtsjat; | |||
| _16 Sistn'adtsjat; | |||
| _17 simn'adtsjat; | |||
| _18 visimn'adtsjat; | |||
| _19 d;ev;jatn'adtsjat; | |||
| _2X dv'adtsjat; | |||
| _3X tr'idtsjat; | |||
| _4X s'orok | |||
| _5X pjatdesj'at; | |||
| _6X Sistdesj'at; | |||
| _7X s;imd;es;jat; | |||
| _8X vis;imdesj;at; | |||
| _9X d;ev;jan'osto | |||
| _0C st'o | |||
| _2C dv;'es;t;I | |||
| _3C tr;'ista | |||
| _4C tS;It'yr;esta | |||
| _5C p;,It;s'ot | |||
| _6C S,es;t;s'ot | |||
| _7C s;,Ims'ot | |||
| _8C vOs;Ims'ot | |||
| _9C d;ev;Vts'ot | |||
| _0M1 t'isjatSa | |||
| _dpt _:'i_: | |||
| @@ -0,0 +1,109 @@ | |||
| // This file is UTF8 encoded | |||
| // Translation rules for Ukrainian | |||
| // Special characters: | |||
| // A vowel: а е ё и о у ы э ю я ә ө ұ ү і | |||
| // B soft consonant: ь й ч щ | |||
| // C any consonant: б в г д ж з й к л м н п р с т ф х ц ч ш щ ъ ь қ ң һ | |||
| // F consonant, not hard: б в г д з й к л м н п р с т ф х ч щ ь | |||
| // G voiced: б в г д ж з | |||
| // H hard consonant: ъ ж ц ш | |||
| // Y iotated vowel, softsign: ь ю я ё | |||
| .group а | |||
| а a | |||
| .group б | |||
| б b | |||
| .group в | |||
| в v | |||
| .group г | |||
| г g | |||
| .group д | |||
| д d | |||
| .group е | |||
| е e | |||
| .group є | |||
| є e | |||
| .group ж | |||
| ж Z | |||
| .group з | |||
| з z | |||
| .group и | |||
| и i | |||
| .group і | |||
| і i | |||
| .group ї | |||
| ї i | |||
| .group й | |||
| й j | |||
| .group к | |||
| к k | |||
| .group л | |||
| л l | |||
| .group м | |||
| м m | |||
| .group н | |||
| н n | |||
| .group о | |||
| о o | |||
| .group п | |||
| п p | |||
| .group р | |||
| р r | |||
| .group с | |||
| с s | |||
| .group т | |||
| т t | |||
| .group у | |||
| у u | |||
| .group ф | |||
| ф f | |||
| .group х | |||
| х x | |||
| .group ц | |||
| ц ts | |||
| .group ч | |||
| ч tS; | |||
| .group ш | |||
| ш S | |||
| .group щ | |||
| щ S; | |||
| .group ь | |||
| ь ; | |||
| .group ю | |||
| ю ju | |||
| .group я | |||
| я ja | |||
| @@ -0,0 +1,3 @@ | |||
| name Ukrainian | |||
| language uk | |||
| status testing | |||
| @@ -1996,6 +1996,8 @@ include ph_serbian | |||
| phonemetable ru-lv ru | |||
| include ph_russian_lv | |||
| phonemetable uk ru | |||
| phonemetable az tr | |||
| include ph_azerbaijani | |||
| @@ -1488,8 +1488,7 @@ Translator *SelectTranslator(const char *name) | |||
| break; | |||
| case L('u', 'k'): // Ukrainian | |||
| { | |||
| SetCyrillicLetters(tr); | |||
| tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x432; // [v] don't count this character at start of word | |||
| Translator_Russian(tr); | |||
| } | |||
| break; | |||
| case L('u', 'r'): // Urdu | |||