Support of Ukrainian language

This commit is contained in:
Andrij Mizyk
2022-10-31 21:11:50 +02:00
parent 2871557cdb
commit 4b48328d29
5 changed files with 319 additions and 127 deletions
+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