Browse Source

Fix issue #546: add initial support for Ukrainian language

master
Valdis Vitolins 5 years ago
parent
commit
d17a5ecc53
7 changed files with 204 additions and 2 deletions
  1. 3
    0
      CHANGELOG.md
  2. 4
    0
      Makefile.am
  3. 82
    0
      dictsource/uk_list
  4. 109
    0
      dictsource/uk_rules
  5. 3
    0
      espeak-ng-data/lang/zle/uk
  6. 2
    0
      phsource/phonemes
  7. 1
    2
      src/libespeak-ng/tr_languages.c

+ 3
- 0
CHANGELOG.md View File

@@ -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.

+ 4
- 0
Makefile.am View File

@@ -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


+ 82
- 0
dictsource/uk_list View File

@@ -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_:

+ 109
- 0
dictsource/uk_rules View File

@@ -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


+ 3
- 0
espeak-ng-data/lang/zle/uk View File

@@ -0,0 +1,3 @@
name Ukrainian
language uk
status testing

+ 2
- 0
phsource/phonemes View File

@@ -1996,6 +1996,8 @@ include ph_serbian
phonemetable ru-lv ru
include ph_russian_lv

phonemetable uk ru

phonemetable az tr
include ph_azerbaijani


+ 1
- 2
src/libespeak-ng/tr_languages.c View File

@@ -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

Loading…
Cancel
Save