* ro (Romanian) -- Andiv06 | * ro (Romanian) -- Andiv06 | ||||
* shn (Shan Tay Yai) -- ronaldaug | * shn (Shan Tay Yai) -- ronaldaug | ||||
* tk (Turkmen) -- Andiv06 | * tk (Turkmen) -- Andiv06 | ||||
* tr (Turkish) -- Gurbuzguven | |||||
* tr (Turkish) -- Gurbuzguven, Qchristensen | |||||
* uz (Uzbek) -- Andiv06 | * uz (Uzbek) -- Andiv06 | ||||
new languages: | new languages: |
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
// Updated 2022 april 30 by Christian Leo Mameli, <llajta2012ATgmail.com> | |||||
// Updated 2022 september 23 by Christian Leo Mameli, <llajta2012ATgmail.com> | |||||
// $alt change [e] or [o] in the stressed syllable to [E] or [O] | // $alt change [e] or [o] in the stressed syllable to [E] or [O] | ||||
// $alt2 change [E] or [O] in the stressed syllable to [e] or [o] | // $alt2 change [E] or [O] in the stressed syllable to [e] or [o] | ||||
black bl'E:k | black bl'E:k | ||||
blackout bl'Ek'aUt | blackout bl'Ek'aUt | ||||
blind bl'aInd $onlys | blind bl'aInd $onlys | ||||
blister $1 $onlys | |||||
blogger bl'Oge@-* | blogger bl'Oge@-* | ||||
blues bl'u:z | blues bl'u:z | ||||
bluff bl'ef: $only | bluff bl'ef: $only | ||||
civitavecchia $alt | civitavecchia $alt | ||||
colombano $3 | colombano $3 | ||||
comanche kom'a:nS | comanche kom'a:nS | ||||
commonwealth _^_EN | |||||
conzano $2 | conzano $2 | ||||
copenhagen kopen'agen | copenhagen kopen'agen | ||||
corchiano $3 | corchiano $3 | ||||
seul $2 $only | seul $2 $only | ||||
seychelles seIS'El | seychelles seIS'El | ||||
siberia s,ib'ERi;a | siberia s,ib'ERi;a | ||||
silverstone s'ilve@-*ston | |||||
simpliciano $3 | simpliciano $3 | ||||
sinai s'i:naI | sinai s'i:naI | ||||
siniscola $3 $alt2 | siniscola $3 $alt2 | ||||
vitorchiano $4 | vitorchiano $4 | ||||
washington _^_EN | washington _^_EN | ||||
wimbledon $1 | wimbledon $1 | ||||
woodstock _^_EN | |||||
zaire dza'i:Re | zaire dza'i:Re | ||||
zanzibar $1 | zanzibar $1 | ||||
zigano ts-ig'a/no | zigano ts-ig'a/no | ||||
bruce b@-*'Us $only | bruce b@-*'Us $only | ||||
buffon $2 $only | buffon $2 $only | ||||
cacciol katS:'ol | cacciol katS:'ol | ||||
cadillac $1 | |||||
caino ka'i:no/ | caino ka'i:no/ | ||||
caligola $2 | caligola $2 | ||||
calogger $2 | calogger $2 | ||||
federic $3 | federic $3 | ||||
felicita $2 | felicita $2 | ||||
fenice $2 | fenice $2 | ||||
ferlaino fe@-*la'i:no | |||||
ferrer $2 $alt2 | ferrer $2 $alt2 | ||||
fischer f'iSE@-* $onlys | fischer f'iSE@-* $onlys | ||||
florencio fl,OR'ensIo | florencio fl,OR'ensIo | ||||
honore $3 | honore $3 | ||||
hulk h'alk | hulk h'alk | ||||
iacopo j'akopo | iacopo j'akopo | ||||
ibrahimovic ib@-*a'imovitS | |||||
icar $1 | icar $1 | ||||
igor $1 | igor $1 | ||||
ingrassia $3 | ingrassia $3 | ||||
mary m'E:*i $only | mary m'E:*i $only | ||||
marilyn m'E:r*ilIN | marilyn m'E:r*ilIN | ||||
marylin m'ERilin | marylin m'ERilin | ||||
marsili $2 | |||||
marzott ma@-*dz'Ot: | marzott ma@-*dz'Ot: | ||||
masala $1 | masala $1 | ||||
mayer $1 | mayer $1 | ||||
mike _^_EN | mike _^_EN | ||||
mikolaj mik,Ol'a:j | mikolaj mik,Ol'a:j | ||||
misseri $2 | misseri $2 | ||||
mohammed mo,am:'Ed | |||||
mogol $2 | mogol $2 | ||||
mondadori $alt2 | mondadori $alt2 | ||||
monika $1 | monika $1 | ||||
monroe m'On||r,ow | monroe m'On||r,ow | ||||
morissette m'ORIsEt[ | morissette m'ORIsEt[ | ||||
mowgli m'o:glI | mowgli m'o:glI | ||||
mourinho muR'in^o | |||||
mozilla m,o|dz'il:a | mozilla m,o|dz'il:a | ||||
muresan $3 | muresan $3 | ||||
murgia $1 | murgia $1 | ||||
vedder $1 $onlys | vedder $1 $onlys | ||||
vermouth v'E@-*mut | vermouth v'E@-*mut | ||||
victor $1 $only | victor $1 $only | ||||
villeneuve v,iln'e:v | |||||
vincent v'inseNt[ $only | vincent v'inseNt[ $only | ||||
vladimir $3 | vladimir $3 | ||||
wagner v'agnE@-* | wagner v'agnE@-* | ||||
acceler atS:'Ele:R | acceler atS:'Ele:R | ||||
accelerano atS:'E:l,eRano | accelerano atS:'E:l,eRano | ||||
accelerino $2 | accelerino $2 | ||||
accendano $2 | |||||
accennino $2 | accennino $2 | ||||
accentrino $2 | accentrino $2 | ||||
accentuano $2 | accentuano $2 | ||||
brontolano $1 | brontolano $1 | ||||
brontolino $1 | brontolino $1 | ||||
brucino $1 | brucino $1 | ||||
brulicano $1 | |||||
bucano $1 | bucano $1 | ||||
burlano $1 | burlano $1 | ||||
burlino $1 | burlino $1 | ||||
compaiano $2 | compaiano $2 | ||||
comparvero $2 | comparvero $2 | ||||
compensano $2 | compensano $2 | ||||
comper $1 | |||||
competano $2 $alt | competano $2 $alt | ||||
compiace kompj'atSe/ | compiace kompj'atSe/ | ||||
compiacere $3 | compiacere $3 | ||||
predomin $2 | predomin $2 | ||||
preghino $1 | preghino $1 | ||||
pregia $1 | pregia $1 | ||||
pregiudicano $2 | |||||
premiano $1 | premiano $1 | ||||
premurano $2 | premurano $2 | ||||
prendano $1 | prendano $1 | ||||
sequestrano $2 | sequestrano $2 | ||||
servino $1 | servino $1 | ||||
seviziano $2 | seviziano $2 | ||||
sfaldano $1 | |||||
sfamano $1 | sfamano $1 | ||||
sfatano $1 | sfatano $1 | ||||
sferrano $1 | sferrano $1 | ||||
// pronominal verbs | // pronominal verbs | ||||
abbattutasi $3 | |||||
abituarcisi $4 | abituarcisi $4 | ||||
accadutomi $3 | accadutomi $3 | ||||
accertatene $2 | accertatene $2 | ||||
cliccal $1 | cliccal $1 | ||||
compiersi $1 | compiersi $1 | ||||
compil $2 | compil $2 | ||||
conclusosi $2 | |||||
conosciutisi $3 | conosciutisi $3 | ||||
conclusasi $2 | conclusasi $2 | ||||
confrontal $2 | confrontal $2 | ||||
riformatosi $3 | riformatosi $3 | ||||
rincorrerl $2 | rincorrerl $2 | ||||
riportal $2 | riportal $2 | ||||
ripresosi $2 | |||||
risparmiaci $2 | risparmiaci $2 | ||||
risparmial $2 | risparmial $2 | ||||
risparmiami $2 | risparmiami $2 |
brianzol $3 | brianzol $3 | ||||
brillio $2 | brillio $2 | ||||
brindisi $1 | brindisi $1 | ||||
brioscine $3 | |||||
brisgovia $alt | brisgovia $alt | ||||
broccostell $alt2 | broccostell $alt2 | ||||
brod $alt | brod $alt | ||||
cigolio $3 | cigolio $3 | ||||
ciliegi $alt | ciliegi $alt | ||||
ciliegia $3 $alt | ciliegia $3 $alt | ||||
ciliegine $4 | |||||
cimeg $1 | cimeg $1 | ||||
cimolais $3 | cimolais $3 | ||||
cincischio $3 | cincischio $3 | ||||
gomit $1 $alt2 | gomit $1 $alt2 | ||||
gomitoli $2 | gomitoli $2 | ||||
gomm $alt2 | gomm $alt2 | ||||
gommini $2 | |||||
gommoresine $3 | gommoresine $3 | ||||
gonars $2 | gonars $2 | ||||
gonartria $3 | gonartria $3 | ||||
leve $alt | leve $alt | ||||
lezioncine $3 | lezioncine $3 | ||||
liber $1 | liber $1 | ||||
libido $2 | |||||
licantrop $2 | licantrop $2 | ||||
licomede $alt | licomede $alt | ||||
liet $alt | liet $alt |
// Italian translation rules | // Italian translation rules | ||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
// Last update: 2021 December 22 by Christian Leo Mameli <[email protected]> | |||||
// Last update: 2022 september 23 by Christian Leo Mameli <[email protected]> | |||||
// letter groups | // letter groups | ||||
// A any vowel | // A any vowel | ||||
// C any consonant | // C any consonant | ||||
i) dano (_ =dano // verbs | i) dano (_ =dano // verbs | ||||
i) dino (_ =dino | i) dino (_ =dino | ||||
_) data (L07_ d'ata | _) data (L07_ d'ata | ||||
_) dato (L04_ d'ato | |||||
_ri) dato (L04_ d'ato | |||||
diriger (L04_ diR'idZe@-* | diriger (L04_ diR'idZe@-* | ||||
due (_ d'ue // numbers | due (_ d'ue // numbers | ||||
dieci (_ dj'EtSi | dieci (_ dj'EtSi | ||||
picchia (L07_ p'ik:i,a | picchia (L07_ p'ik:i,a | ||||
_) poni (L07_ p'oni | _) poni (L07_ p'oni | ||||
pro) poni (L07_ p'oni | pro) poni (L07_ p'oni | ||||
_) presa (L04_ p@-*'Eza | |||||
_) preso (L04_ p@-*'Ezo | |||||
.group q | .group q | ||||
q k | q k |
@) avru (pa avr'u | @) avru (pa avr'u | ||||
.group â | .group â | ||||
â a: | |||||
â a | |||||
.group b | .group b | ||||
@) ın (_S2 @n | @) ın (_S2 @n | ||||
.group î | .group î | ||||
î i: | |||||
î i | |||||
.group j | .group j |
- [Phoneme Definition File](#phoneme-definition-file) | - [Phoneme Definition File](#phoneme-definition-file) | ||||
- [Dictionary Files](#dictionary-files) | - [Dictionary Files](#dictionary-files) | ||||
- [Building Phonemes](#building-phonemes) | - [Building Phonemes](#building-phonemes) | ||||
- [Adding tests](#adding-tests) | |||||
- [Program Code](#program-code) | - [Program Code](#program-code) | ||||
- [Compiling Rules File for Debugging](#compiling-rules-file-for-debugging) | - [Compiling Rules File for Debugging](#compiling-rules-file-for-debugging) | ||||
- [Improving a Language](#improving-a-language) | - [Improving a Language](#improving-a-language) | ||||
make fr | make fr | ||||
### Adding tests | |||||
All languages require automated tests to make sure accidental changes | |||||
in program code don't change how the languages sound. | |||||
Tests are run with `make check`. It will print an error if a language | |||||
is missing tests. | |||||
Most tests are bash scripts in tests/ and follow the syntax: | |||||
<test name> <language code> <expected result> <input> | |||||
Depending on the test, expected result can be a phoneme string, an md5 hash or something else. | |||||
To add a test: | |||||
1. First add a test line with arbitrary expected result. | |||||
Example line in tests/language-phonemes.test: | |||||
test_phwav fi this_should_fail "ma na Na pa ba ta da" | |||||
2. run `make check` to see expected and actual results: | |||||
testing fi | |||||
1c1 | |||||
< this_should_fail | |||||
--- | |||||
> 7541590a29e2392b827d9f1563e6579774fb15ea | |||||
3. change the expected result in the test: | |||||
test_phwav fi 7541590a29e2392b827d9f1563e6579774fb15ea "ma na Na pa ba ta da" | |||||
## Program Code | ## Program Code | ||||
The behaviour of the eSpeak program is controlled by various options | The behaviour of the eSpeak program is controlled by various options |