Fixes for Ukrainian language (#1480)

This commit is contained in:
Juho Hiltunen
2022-11-01 22:13:32 +02:00
committed by GitHub
7 changed files with 321 additions and 128 deletions
+1
View File
@@ -35,6 +35,7 @@ updated languages:
* shn (Shan Tay Yai) -- ronaldaug
* tk (Turkmen) -- Andiv06
* tr (Turkish) -- Gurbuzguven, Qchristensen
* uk (Ukrainian) -- Andrij Mizyk
* uz (Uzbek) -- Andiv06
new languages:
+223 -80
View File
@@ -1,82 +1,225 @@
// This file is UTF8 encoded
// Spelling-to-phoneme words for Ukrainian
// This file is UTF-8 encoded
/// pronunciation of signs, numbers and exceptional words
// Author: Andrij Mizyk <andm1zyk@proton.me>, 2022
// 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
// all words must be LOWER CASE (although the initial letter will be
// automatically converted if it's a 7bit ascii character)
//
// You can use the uk_extra file, rather than this one
// to add your own pronunciation definitions.
//
// if they are spoken as a single character in text precede by _
// to distinguish from pronunciation as a language word
// 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_:
// CHARACTERS
//***********
! zn'ak||'okleku
" podv'i:jna||l'apka
# RES'i:tka
$ d'olaR
% vi:ds'otok
& ampeRs'and
//' odIn'aRna||l'apka
//( Bi:dkR'eta||d'uZka
//) zakR'eta||d'uZka
* z'i:RotSka
+ pl^'us
, k'oma
- m'i:nus
. kR'apka
/ kos'a||R'Iska
: dB'i:||kR'apkI
; kR'apka||z||k'omoju
< m'EnSE
= R'i:vnE
> b'i:l^SE
//? zn'ak||pIt'an:ja // не читає
@ sob'atSka
[ Bi:dkR'eta||kBadR'atna||d'uZka
\ ob'ERnEna||kos'a||R'Iska
] zakR'eta||kBadR'atna||d'uZka
^ daS'ok
\\_ n'IZn^e||pi:dkR'EslEn:ja
` hRaf'i:s
{ B'i:dkReta||fi:h'uRna||d'uZka
| BERtIk'al^na||R'Iska
} zakR'eta||fi:h'uRna||d'uZka
~ t'Il^da
ʼ ap'ostRof
« B'i:dkRIti:||lapk'I
» z'akRIti:||lapk'I
… tR'e||kR'apkI
// NUMBERS
//********
_0 n'ul^
_1 od'en
_2 dB'a
_3 tR'I
_4 tSot'eRe
_5 pj'at;
_6 S'i:st;
_7 s'i:m
_8 v'i:si:m
_9 d'Evjat;
_10 d'Esjat;
_11 oden'adsjat;
_12 dvan'adsjat;
_13 tRen'adsjat;
_14 tSoteRn'adsjat;
_15 pjatn'adsjat;
_16 Si:stn'adsjat;
_17 si:mn'adsjat;
_18 vi:si:mn'adsjat;
_19 devjatn'adsjat;
_2X dv'adsjat;
_3X tR'edsjat;
_4X s'oRok
_5X pjatdesj'at;
_6X Si:stdesj'at;
_7X si:mdesj'at;
_8X vi:si:mdesj'at;
_9X devjan'osto
_1C st'o
_2C dv'i:sti:
_3C tR'esta
_4C tSot'eResta
_5C pjats'ot
_6C Si:sts'ot
_7C si:ms'ot
_8C vi:si:ms'ot
_9C devjats'ot
// large numbers, short scale
_0C st'o
_0M1 t'esjatSa
_0M2 mi:l;j'on
_0M3 bi:l;j'on
_0M4 tRel;j'on
_0M5 kvadRal;j'on
_0M6 kvi:ntel;j'on
_0M7 sEkstel;j'on
_0M8 sEptel;j'on
_0M9 oktel;j'on
_0M10 nonel;j'on
// LETTERS
//********
_б bE
_в BE
г hE
ґ gE
д dE
_ж ZE
_з zE
_й jot
к ka
л El^
м Em
н En
п pE
р ER
с Es
т tE
ф Ef
х xa
ц tsE
ч tSa
ш Sa
щ StSa
ь m|jak'Ij||zn'ak
// ABBREVIATIONS
//**************
зсу $abbrev
// MAIN WORD DICTIONARY
//*********************
// дні
вівторок $2
середа $2
четвер $2
пʼятниця $1
// місяці
березень $1
вересень $1
// свята
різдво $2
// міста
вінниця $1
дніпро $2
запоріжжя $3
ужгород 'uZhoRod
херсон $2
чернівці $3
// країни
україна $3
австрія $1
англія $1
боснія $1
герцеговина $4
греція $1
грузія $2
данія $1
латвія $1
литва $2
нідерланди $3
сербія $1
франція $1
чехія $1
швеція $1
//-------------
або $2
ага $2
агов $2
але $2
були $2
було $2
вʼїзд v|j'i:zd
вона $2
вони $2
воно $2
дякую $1
їй ji:j
їм ji:m
їх ji:x
його $2
коли $2
лише $2
отож $2
проте $2
себе $2
таких $2
тепер $2
тому $2
хоча $2
чогось $2
чому $2
яка $2
якби $2
який $2
якийсь $2
яким $2
яких $2
які $2
якось $2
якщо $2
//
+51 -45
View File
@@ -1,112 +1,118 @@
// 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: ь ю я ё
// This file is UTF-8 encoded
/// Spelling to phoneme words and exceptions for Ukrainian
// Author: Andrij Mizyk <andm1zyk@proton.me>, 2022
.group а
а a
а a
.group б
б b
б b
.group в
в v
в B
.group г
г h
г h // вимовляється як середнє між г та х
.group ґ
ґ g
ґ g
.group д
д d
д d
дж dZ
.group е
е e
е E
.group є
є e
є jE
.group ж
ж Z
ж Z
.group з
з z
з z
.group и
и i
и I
.group і
і i
і i:
.group ї
ї i
ї ji:
.group й
й j
й j
.group к
к k
к k
.group л
л l
л l
л (і l^
лє l^E
лю l^u
ля l^a
ль l^
.group м
м m
м m
.group н
н n
н n
н (і n^
нє n^E
ню n^u
ня n^a
нь n^
.group о
о o
о o
.group п
п p
п p
.group р
р r
р R
.group с
с s
с s
.group т
т t
т t[
ть t;
.group у
у u
у u
.group ф
ф f
ф f
.group х
х x
х x
.group ц
ц ts
ц ts
.group ч
ч tS;
ч tS
.group ш
ш S
ш S
ш (в l# // швеція
.group щ
щ S;
щ StS
.group ь
ь ;
ь ;
.group ю
ю ju
ю ju
.group я
я ja
я ja
.group ʼ
ʼ |
+4
View File
@@ -1,3 +1,7 @@
name Ukrainian
language uk
maintainer Andrij Mizyk <andm1zyk@proton.me>
status testing
speed 80
+38
View File
@@ -0,0 +1,38 @@
//====================================================
// Ukrainian
//====================================================
phoneme E
vwl starttype #a endtype #a
length 150
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vowel/ee)
endphoneme
phoneme I
vwl starttype #i endtype #i
length 130
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme
phoneme I2 // **i**ntend. As \[I\], but also indicates an unstressed syllable.
vwl starttype #i endtype #i
unstressed
length 130
IF MbrolaSynth THEN
ChangePhoneme(I)
ENDIF
IfNextVowelAppend(;)
IF thisPh(isAfterStress) AND thisPh(isFinalVowel) THEN
FMT(vowel/ii#_3)
ENDIF
FMT(vowel/ii_4)
endphoneme
+3 -2
View File
@@ -1811,6 +1811,9 @@ include ph_setswana
phonemetable tt base1
include ph_tatar
phonemetable uk base1
include ph_ukrainian
phonemetable vi base1
include ph_vietnam
@@ -2019,8 +2022,6 @@ include ph_serbian
phonemetable ru-lv ru
include ph_russian_lv
phonemetable uk ru
phonemetable az tr
include ph_azerbaijani
+1 -1
View File
@@ -139,7 +139,7 @@ test_phwav tn 206f0e832cc4a5fa19dc3917752e1d5b274047d4 "ma na Na pa ta ka ba da
test_phwav tr d825077cd573b9be9a38448bb52403b3117adf50 "ma na pa ba ta da tSa dZa tsa dza ca Ja Ca ka ga fa va sa za Sa Za xa Qa ha la ja wa Ra *a _:_ mi me m& my mW mu mo ma m@"
test_phwav tt f9363e26db4fd706e630787462c2b36318debc4b "ma na pa ba ta da tSa dZa tsa dza ca Ja Ca ka ga fa va sa za Sa Za xa Qa ha la ja wa Ra *a _:_ mi me m& my mW mu mo ma m@"
test_phwav ug 09635dcd9f86b27623d462a0f20661143e6d7bfc "ma na pa ba ta da tSa dZa tsa dza ca Ja Ca ka ga fa va sa za Sa Za xa Qa ha la ja wa Ra *a _:_ mi me m& my mW mu mo ma m@"
test_phwav uk 3b6ea017b9394c750669b4231933f8af15b2be30 "ma na pa ba ta da tSa dZa tsa dza ca Ja Ca ka ga fa va sa za Sa Za xa Qa ha la ja wa Ra *a _:_ mi me m& my mW mu mo ma m@"
test_phwav uk f323718b45f92f5f9006e1cbc0a2bb4ef20be612 "ma na pa ba ta da tSa dZa tsa dza ca Ja Ca ka ga fa va sa za Sa Za xa Qa ha la ja wa Ra *a _:_ mi me m& my mW mu mo ma m@"
test_phwav ur e0ce9b04c614df8b34180478f2f87ae58baa95ba "ma na n.a n^a pa t#a t.a tSa ka qa p#a t.#a c#a k#a ba d#a d.a dZa ga b#a d.#a J#a g#a fa sa Sa xa va za Za Qa Ha ra r.a la ja _:_ mI mU me m@ mo mE mV mO ma mi: mu: me: mo: mE: mO: ma: m&: mI~ mi~ mU~ mu~ mU~ me~ mo~ mE~ mV~ mO~ ma~ mAI maU"
test_phwav uz 7927f6336d940d7c8aa2d3bf96fce07a0ae9f97c "ma na pa ba ta da tSa dZa tsa dza ca Ja Ca ka ga fa va sa za Sa Za xa Qa ha la ja wa Ra *a _:_ mi me m& my mW mu mo ma m@"
test_phwav vi b1f7d82ac30d12cfd8f4bf6eba8837bc38e6d2be "na Na la ja pa pha fa ta tha ka kha tS;a tS;ha S;a s.a tsa tsha ts.a ts.ha N-a _:_ ma mA mai mAu m@ m@r mE mei mi mi[ mi. miA miAu miE mio miou mo mo- mou mong mu muA mua muai mu@ mei muo my myu my& myE my@ myi _:_ ma11 ma21 ma214 ma22 ma33 ma35 ma44 ma51 ma53 ma55"