*_rules: New option, (Pb to specify a character such as apostrophe which splits a word into two parts (used for lang-tr). git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@150 d46cf337-b52f-0410-862d-fd96e6ae7743master
| Dictionary es_dict | Dictionary es_dict | ||||
| @- a aI e E eI eU i | |||||
| o O oI u | |||||
| @- a aI aU e E eI eU | |||||
| i o O oI u | |||||
| * ** : b B d D f | * ** : b B d D f | ||||
| g j J J^ k l l^ m | |||||
| n n^ p Q r R s t | |||||
| T tS v v# w x z | |||||
| g j J J^ k l m n | |||||
| n^ p Q r R s t T | |||||
| tS v v# w x z | |||||
| Dictionary fi_dict | Dictionary fi_dict | ||||
| a e E i I o O u | a e E i I o O u | ||||
| u# W y Y | u# W y Y | ||||
| : ; b d dZ f g h | |||||
| j k l m n p Q r | |||||
| R s S t tS v w z | |||||
| Z | |||||
| b c d dZ f g h j | |||||
| J k l m n p r R | |||||
| s S t tS v z Z | |||||
| Dictionary ku_dict | Dictionary ku_dict |
| // names of symbols | // names of symbols | ||||
| _. punto | _. punto | ||||
| _, kOma | |||||
| _; p,untOik'Oma | |||||
| _, koma | |||||
| _; p,untoik'oma | |||||
| _: d,Osp'untOs | _: d,Osp'untOs | ||||
| _! TE*R'aRaDmi**aTj'On | _! TE*R'aRaDmi**aTj'On | ||||
| _? TE*R'aRintE*R,OQaTj'On | |||||
| _? TE*R'aRintE*R,oQaTj'On | |||||
| _¡ aB@-*'iRaDmi**aTj'On | _¡ aB@-*'iRaDmi**aTj'On | ||||
| _¿ aB@-*'iRintE*R,OQaTj'On | |||||
| _¿ aB@-*'iRintE*R,oQaTj'On | |||||
| _= iQw'al | _= iQw'al | ||||
| _< mEn'ORke | |||||
| _< men'ORke | |||||
| _> maJ^'ORke | _> maJ^'ORke | ||||
| _' apOst@-*'Ofo | |||||
| _" kOm'iJ^as | |||||
| _' apOst@-*'ofo | |||||
| _" kom'iJ^as | |||||
| _+ s'iQnOdesum'aR | _+ s'iQnOdesum'aR | ||||
| _$ dOlar | |||||
| _# almOaD'il^a | |||||
| _* astE*'isko | |||||
| _$ dolar | |||||
| _# almoaD'iJ^a | |||||
| _* aste*'isko | |||||
| _- gJ^On | _- gJ^On | ||||
| __ suB@-*aJ^'aDo | __ suB@-*aJ^'aDo | ||||
| _/ ba*Ra | _/ ba*Ra | ||||
| _\ b'a*RaimbERt'iDa | _\ b'a*RaimbERt'iDa | ||||
| _` aT'EntOg@-*'aBe | _` aT'EntOg@-*'aBe | ||||
| _( ,aB@-*epa**'EntEsis | |||||
| _) Tj,E*Rapa**'EntEsis | |||||
| _[ ,aB@-*ekORtS'Ete | |||||
| _] Tj,E*RakORtS'Ete | |||||
| _( ,aB@-*epa**'Entesis | |||||
| _) Tj,E*Rapa**'Entesis | |||||
| _[ ,aB@-*ekORtS'ete | |||||
| _] Tj,E*RakORtS'ete | |||||
| _{ ,aB@-*eJ^'aBe | _{ ,aB@-*eJ^'aBe | ||||
| _} Tj,E*RaJ^'aBe | _} Tj,E*RaJ^'aBe | ||||
| _« kOm'iJ^as||iTkJ^'ERDas | |||||
| _» kOm'iJ^as||dE**'EtSas | |||||
| _« kom'iJ^as||iTkJ^'ERDas | |||||
| _» kom'iJ^as||dE**'EtSas | |||||
| ^ TiRkumfl'Exo | |||||
| ^ TiRkumfl'exo | |||||
| € eU*o | € eU*o | ||||
| % pOrTj'Ento | % pOrTj'Ento | ||||
| & ampERs'ant | & ampERs'ant | ||||
| @ a*R'OBa | |||||
| @ a*R'oBa | |||||
| / ba*Ra | / ba*Ra | ||||
| © kOpi*R'aIt | |||||
| © kopi*R'aIt | |||||
| £ liB@-*as | £ liB@-*as | ||||
| ¶ p'a*Rafo | ¶ p'a*Rafo | ||||
| § sEkTj'On | § sEkTj'On | ||||
| // numbers | // numbers | ||||
| _0 TE*o | |||||
| _0 Te*o | |||||
| _1 'uno | _1 'uno | ||||
| _2 d'Os | _2 d'Os | ||||
| _3 t@-*'es | _3 t@-*'es | ||||
| _4 kw'at@-*o | _4 kw'at@-*o | ||||
| _5 T'inko | _5 T'inko | ||||
| _6 s'eIs | _6 s'eIs | ||||
| _7 sj'Ete | |||||
| _7 sj'ete | |||||
| _8 'OtSo | _8 'OtSo | ||||
| _9 nw'Eve | |||||
| _9 nw'eve | |||||
| _1X dj'ET | _1X dj'ET | ||||
| _11 'OnTe | _11 'OnTe | ||||
| _12 d'OTe | |||||
| _13 t@-*'ETe | |||||
| _12 d'oTe | |||||
| _13 t@-*'eTe | |||||
| _14 kat'ORTe | _14 kat'ORTe | ||||
| _15 k'inTe | _15 k'inTe | ||||
| _20 v'eInte | _20 v'eInte | ||||
| _7X sEt'Enta | _7X sEt'Enta | ||||
| _8X OtS'Enta | _8X OtS'Enta | ||||
| _9X nOv'Enta | _9X nOv'Enta | ||||
| _0C T'ientOs | |||||
| _0C Tj'EntOs | |||||
| _1C0 T'ien // exactly one hundred | _1C0 T'ien // exactly one hundred | ||||
| _1C T'iento | _1C T'iento | ||||
| _5C kinj'EntOs | _5C kinj'EntOs | ||||
| _7C s,EtETj'EntOs | |||||
| _9C n,OvETj'EntOs | |||||
| _7C s,eteTj'EntOs | |||||
| _9C n,OveTj'EntOs | |||||
| _0M1 m'il | _0M1 m'il | ||||
| _1M1 m'il // no '1' before thousand | _1M1 m'il // no '1' before thousand | ||||
| _0M2 mil^'Ones | |||||
| _1M2 'unmil^'On | |||||
| _0M4 _bil^'Ones | |||||
| _1M4 'unbil^'On | |||||
| _0M2 miJ^'ones | |||||
| _1M2 'unmiJ^'On | |||||
| _0M4 _biJ^'onEs | |||||
| _1M4 'unbiJ^'On | |||||
| ?2 _0M2 mij:'ones | |||||
| ?2 _1M2 'unmij:'On | |||||
| ?2 _0M4 _bij:'onEs | |||||
| ?2 _1M4 'unbij:'On | |||||
| _0and i | _0and i | ||||
| _dpt kOma | |||||
| //_roman ROm'ano | |||||
| _dpt koma | |||||
| //_roman Rom'ano | |||||
| vi vi // not a Roman number | vi vi // not a Roman number | ||||
| // ?1 Castilian | // ?1 Castilian | ||||
| // ?2 Latin America | // ?2 Latin America | ||||
| .L01 j w l r d g n m | |||||
| .group a | .group a | ||||
| _) a (_ a | _) a (_ a | ||||
| ai aI | ai aI | ||||
| ay (K aI | ay (K aI | ||||
| ay (_ 'aI | ay (_ 'aI | ||||
| au aU | |||||
| au (_ 'aU | |||||
| .group b | .group b | ||||
| _) b b | _) b b | ||||
| m) b b | m) b b | ||||
| n) b b | n) b b | ||||
| b (L01 b | |||||
| b (iA b | |||||
| b (uA b | |||||
| .group c | .group c | ||||
| _) c (_ Te | _) c (_ Te | ||||
| .group e | .group e | ||||
| _) e (_ e | _) e (_ e | ||||
| e E | |||||
| e (_ e | |||||
| e e | |||||
| e (CK E | |||||
| ei eI | ei eI | ||||
| ey (K eI | ey (K eI | ||||
| ey (_ 'eI | ey (_ 'eI | ||||
| _) eu eU | |||||
| eu eU | |||||
| eu (_ 'eU | |||||
| .group f | .group f | ||||
| _) l (_ Ele | _) l (_ Ele | ||||
| l l | l l | ||||
| ll J^ | ll J^ | ||||
| ?2 A) ll (A j: | |||||
| .group m | .group m | ||||
| .group o | .group o | ||||
| _) o (_ o | _) o (_ o | ||||
| o O | |||||
| o (_ o | |||||
| o o | |||||
| o (CK O | |||||
| oi oI | |||||
| oy (K oI | oy (K oI | ||||
| oy (_ 'oI | oy (_ 'oI | ||||
| _) u (_ u | _) u (_ u | ||||
| u u | u u | ||||
| u (A w | u (A w | ||||
| u (y_ w | |||||
| l) u (A %u | l) u (A %u | ||||
| r) u (A %u | r) u (A %u | ||||
| _) v v# | _) v v# | ||||
| ?1 m) v b | ?1 m) v b | ||||
| ?1 n) v b | ?1 n) v b | ||||
| ?1 v (L01 b | |||||
| ?1 v (iA b | |||||
| ?1 v (uA b | |||||
| ?2 v v# | ?2 v v# | ||||
| ?2 _) v v | ?2 _) v v | ||||
| ?2 v (L01 v | |||||
| ?2 v (j v | |||||
| ?2 v (iA v | |||||
| ?2 v (uA v | |||||
| .group w | .group w | ||||
| n) y J | n) y J | ||||
| _l) y J | _l) y J | ||||
| y (A J^ | y (A J^ | ||||
| ?2 A) y (A j: | |||||
| .group z | .group z | ||||
| _) ++ (_ masm'as | _) ++ (_ masm'as | ||||
| \+\+\+) + // ignore + after the first 3 | \+\+\+) + // ignore + after the first 3 | ||||
| # almOaD'il^a | |||||
| # almOaD'iJ^a | |||||
| \#) # | \#) # | ||||
| __) - (_D m'EnOs | __) - (_D m'EnOs |
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated 2008-02-20 Michel Such <[email protected]> | |||||
| // Updated 2008-02-24 Michel Such <[email protected]> | |||||
| // | // | ||||
| // * Numbers, a few abbreviations and exceptions. | // * Numbers, a few abbreviations and exceptions. | ||||
| // | // | ||||
| f Ef | f Ef | ||||
| g Ze | g Ze | ||||
| h aS | h aS | ||||
| // i i | |||||
| i i | |||||
| ï i:tRema | ï i:tRema | ||||
| j Zi | j Zi | ||||
| k ka | k ka | ||||
| vous $u+ $verbf | vous $u+ $verbf | ||||
| elles $u+ $verbf | elles $u+ $verbf | ||||
| ils $u+ $verbf | ils $u+ $verbf | ||||
| on $u $verbf | |||||
| on O~n2 $u $verbf | |||||
| me $u $verbf | me $u $verbf | ||||
| te $u $verbf | te $u $verbf | ||||
| se $u $verbf | se $u $verbf | ||||
| lui $u $verbf | lui $u $verbf | ||||
| ça $u $verbf | |||||
| ce $u $nounf | ce $u $nounf | ||||
| cette $u $nounf | cette $u $nounf | ||||
| // Letters which can be words | // Letters which can be words | ||||
| //=========================== | //=========================== | ||||
| à a:aksA~gRav $atend | à a:aksA~gRav $atend | ||||
| i i $atend | |||||
| y i:gR'Ek $atend | y i:gR'Ek $atend | ||||
| // pronunciation exceptions | // pronunciation exceptions | ||||
| aspic aspik | |||||
| consent kO~s'A~t2 | consent kO~s'A~t2 | ||||
| scient si | scient si | ||||
| bénéficient benefisi $verb | |||||
| coing kwE~ | coing kwE~ | ||||
| concurrent kO~kyR'A~ | |||||
| content kO~t@-t2 $verb | |||||
| convent kO~vA~ | |||||
| couvent k'uvt2 $verb | couvent k'uvt2 $verb | ||||
| (couvent couvent) kuvA~||k'uvt2 | (couvent couvent) kuvA~||k'uvt2 | ||||
| dessus d@sy | dessus d@sy | ||||
| dessous d@su | dessous d@su | ||||
| divers divErz2 | divers divErz2 | ||||
| ►évident evid'A~ | |||||
| évident evidt2 $verb | |||||
| ferment fErm'A~ | |||||
| ferment f'Ermt2 $verb | |||||
| firent f'irt2 | |||||
| parent paR'A~ | parent paR'A~ | ||||
| parent p'art2 $verb | parent p'art2 $verb | ||||
| pastis pastis | pastis pastis | ||||
| poing pwE~ | poing pwE~ | ||||
| président pRezid'A~ | |||||
| président pRezidt2 $verb | |||||
| résident Rezid'A~ | |||||
| résident Rezidt2 $verb | |||||
| ressent r@s'A~t2 | ressent r@s'A~t2 | ||||
| récurrent RekyR'A~ | |||||
| riz ri | riz ri | ||||
| sergent sErZ'A~ | |||||
| serment sErm'A~ | |||||
| serpent sErp'A~ | |||||
| torrent tOR'A~ | |||||
| sphincter sfE~ktEr | |||||
| tunis tynis | tunis tynis | ||||
| (cent une) s'A~||yn | (cent une) s'A~||yn | ||||
| (cent onzième) s'A~||O~zj'Em | (cent onzième) s'A~||O~zj'Em | ||||
| (cent onze) s'A~||O~z | (cent onze) s'A~||O~z | ||||
| (on habille) O~||nab'ij | |||||
| absent absA~ | absent absA~ | ||||
| accident aksidA~ | |||||
| adéquat adekuat2 | |||||
| adéquate adekuat | |||||
| airbus Erbys | airbus Erbys | ||||
| anus anys | anus anys | ||||
| ardent aRdA~ | |||||
| auvent ovA~ | |||||
| bissus bisys | bissus bisys | ||||
| bonus bonys | bonus bonys | ||||
| bus bys | bus bys | ||||
| casus kazys | casus kazys | ||||
| choeur k@r | choeur k@r | ||||
| cocus coky | cocus coky | ||||
| discident disidA~ | |||||
| estomac Estoma | estomac Estoma | ||||
| fils fis | fils fis | ||||
| imprudent E~pRydA~ | |||||
| iris iris | iris iris | ||||
| juin ZyE~ | juin ZyE~ | ||||
| laser lazEr | laser lazEr | ||||
| malus malys | malus malys | ||||
| mars maRs | mars maRs | ||||
| minus minys | minus minys | ||||
| occident OksidA~ | |||||
| orient ORjA~ | orient ORjA~ | ||||
| paravent paravA~ | |||||
| pays pEi | pays pEi | ||||
| phallus falys | phallus falys | ||||
| polder pOldEr | polder pOldEr | ||||
| prudent pRydA~ | |||||
| secret sYkRE | |||||
| souris suri | souris suri | ||||
| sus sys | sus sys | ||||
| sus sy $verb | sus sy $verb | ||||
| to tu | |||||
| vénus venys | vénus venys | ||||
| // words from other languages | // words from other languages | ||||
| about _^_en | about _^_en | ||||
| acer asEr | acer asEr | ||||
| alone _^_en | |||||
| also _^_en | |||||
| and _^_en | and _^_en | ||||
| amazon amaz'On | amazon amaz'On | ||||
| apple _^_en | apple _^_en | ||||
| april _^_en | |||||
| at _^_en | at _^_en | ||||
| (audible manager) odibl||manadZ@r | (audible manager) odibl||manadZ@r | ||||
| be _^_en | |||||
| bit _^_en | bit _^_en | ||||
| bluetooth blut'us | bluetooth blut'us | ||||
| both _^_en | |||||
| can _^_en | |||||
| computer _^_en | computer _^_en | ||||
| (cyber link) _^_en | (cyber link) _^_en | ||||
| debian dEbjAn | debian dEbjAn | ||||
| don't _^_en | |||||
| driver _^_en | driver _^_en | ||||
| emacs Emaks | emacs Emaks | ||||
| emacspeak Emakspi:k | emacspeak Emakspi:k | ||||
| epson EpsOn | epson EpsOn | ||||
| espeak @spi:k | espeak @spi:k | ||||
| ethernet etERnEt | ethernet etERnEt | ||||
| ever _^_en | |||||
| exit egzit | exit egzit | ||||
| eye _^_en | eye _^_en | ||||
| eyes _^_en | eyes _^_en | ||||
| false _^_en | |||||
| (file zilla) fajl||zija | (file zilla) fajl||zija | ||||
| for _^_en | |||||
| get _^_en | get _^_en | ||||
| google gu:g@l | google gu:g@l | ||||
| gnome gnom | gnome gnom | ||||
| help _^_en | help _^_en | ||||
| hot _^_en | hot _^_en | ||||
| in _^_en | in _^_en | ||||
| into _^_en | |||||
| inside _^_en | inside _^_en | ||||
| insight _^_en | |||||
| internet E~tERnEt | internet E~tERnEt | ||||
| (internet explorer) E~tErn'Et||EksplOr'@r | (internet explorer) E~tErn'Et||EksplOr'@r | ||||
| is _^_en | |||||
| it _^_en | |||||
| its _^_en | |||||
| june _^_en | |||||
| july _^_en | |||||
| klaxon klaksOn | klaxon klaksOn | ||||
| later _^_en | |||||
| latest _^_en | |||||
| layer _^_en | layer _^_en | ||||
| let _^_en | let _^_en | ||||
| liszt list | liszt list | ||||
| logon _^_en | logon _^_en | ||||
| (mac os x) makoEsiks | (mac os x) makoEsiks | ||||
| made _^_en | made _^_en | ||||
| mail _^_en | |||||
| march _^_en | |||||
| media medja | media medja | ||||
| messenger _^_en | messenger _^_en | ||||
| my _^_en | my _^_en | ||||
| name _^_en | |||||
| never _^_en | |||||
| not _^_en | not _^_en | ||||
| null _^_en | null _^_en | ||||
| october _^_en | |||||
| of _^_en | |||||
| often _^_en | |||||
| ok oke | ok oke | ||||
| open Op'@n | open Op'@n | ||||
| outlook autluk | outlook autluk | ||||
| outside _^_en | |||||
| outsider _^_en | |||||
| paint _^_en | paint _^_en | ||||
| paper _^_en | |||||
| player _^_en | player _^_en | ||||
| redhat REdat | redhat REdat | ||||
| same _^_en | same _^_en | ||||
| sametime _^_en | sametime _^_en | ||||
| she _^_en | |||||
| schubert SubER | schubert SubER | ||||
| since _^_en | |||||
| sun _^_en | sun _^_en | ||||
| sure _^_en | |||||
| (text aloud) tEkst||@lawd | (text aloud) tEkst||@lawd | ||||
| their _^_en | |||||
| there _^_en | |||||
| these _^_en | |||||
| those _^_en | |||||
| they _^_en | |||||
| thus _^_en | |||||
| true _^_en | |||||
| ubuntu ubuntu | ubuntu ubuntu | ||||
| up _^_en | up _^_en | ||||
| viking vikiN | |||||
| was _^_en | |||||
| won't _^_en | |||||
| yacht jot | yacht jot | ||||
| yes _^_en | yes _^_en | ||||
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated: 2008-02-20 Michel Such <[email protected]> | |||||
| // Updated: 2008-02-24 Michel Such <[email protected]> | |||||
| // | // | ||||
| // * The rules are based on Cicero TTS. | // * The rules are based on Cicero TTS. | ||||
| // Y | // Y | ||||
| // Y front vowels: e i y é ê è î | // Y front vowels: e i y é ê è î | ||||
| // K not a vowel (i.e. consonant, space, ) | // K not a vowel (i.e. consonant, space, ) | ||||
| .L01 a b c d e f g h i l p q r t v | |||||
| .L02 a e i o u y | |||||
| .group a | .group a | ||||
| ae (_ e // reggae vitae | ae (_ e // reggae vitae | ||||
| a a // bateau | a a // bateau | ||||
| // group a: English section | // group a: English section | ||||
| _C) ad (_ _^_en // bad, had, sad | |||||
| _) again (X _^_en // again, against | |||||
| alk _^_en // talk, walk | |||||
| f) all (en_ _^_en // fallen | |||||
| sm) all _^_en // small, smaller | sm) all _^_en // small, smaller | ||||
| ank _^_en // tank, blank | |||||
| ark _^_en // dark, park | |||||
| ainl _^_en | |||||
| ainm _^_en | |||||
| _C) ast (_ _^_en | |||||
| _C) ast (eX _^_en | |||||
| ather (_ _^_en // rather | |||||
| aunc _^_en | |||||
| a (wC _^_en | a (wC _^_en | ||||
| back _^_en | back _^_en | ||||
| bbl _^_en | bbl _^_en | ||||
| bird _^_en // bird | bird _^_en // bird | ||||
| _) blue (X _^_en // probably | |||||
| bly (_ _^_en // probably | |||||
| board _^_en // board, keyboard | board _^_en // board, keyboard | ||||
| box (_ _^_en // box, inbox, outbox | box (_ _^_en // box, inbox, outbox | ||||
| bug (_ _^_en // bug, debug | bug (_ _^_en // bug, debug | ||||
| bug (g _^_en // debugger | bug (g _^_en // debugger | ||||
| buil _^_en | |||||
| _) buy _^_en | |||||
| _) by _^_en // by, bye, bypass | _) by _^_en // by, bye, bypass | ||||
| c k // recoin donc | c k // recoin donc | ||||
| s) cien (t jA~ // conscient scientifique | s) cien (t jA~ // conscient scientifique | ||||
| cien (t_ i // ils appr�ient, remercient. | |||||
| i) cien (t_ sjA~ // coefficient | |||||
| cien (t_ si // ils appr�ient, remercient. | |||||
| effi) cien (t_ sjA~ // coefficient | |||||
| défi) cien (t_ sjA~ // déficient | |||||
| // group c: English section | // group c: English section | ||||
| cast (_ _^_en // broadcast | cast (_ _^_en // broadcast | ||||
| chme _^_en | |||||
| cult (_ _^_en // difficult | |||||
| C) ch (_ _^_en // french | |||||
| cut (_ _^_en // cut, shortcut | cut (_ _^_en // cut, shortcut | ||||
| cy (_ _^_en // currency, frequency | |||||
| .group d | .group d | ||||
| d d // don bled | d d // don bled | ||||
| // group d: English section | // group d: English section | ||||
| ') d (_ _^_en | |||||
| day (_ _^_en | day (_ _^_en | ||||
| _) dec _^_en | |||||
| dece _^_en | |||||
| _) def _^_en | |||||
| dele _^_en | |||||
| deter _^_en | |||||
| _) devic _^_en | _) devic _^_en | ||||
| diffe _^_en | |||||
| dle (X _^_en // bundle, handle | dle (X _^_en // bundle, handle | ||||
| dly (_ _^_en | |||||
| dy (_ _^_en | |||||
| .group e | .group e | ||||
| Ci) en (nA E // mienne | Ci) en (nA E // mienne | ||||
| éC) en (t_ A~ // récent différent élément | éC) en (t_ A~ // récent différent élément | ||||
| étic) en (t_ A~ // réticent | |||||
| _C) en (t_ A~ // cent vent lent dent | _C) en (t_ A~ // cent vent lent dent | ||||
| cc) en (t_ A~ // accent | cc) en (t_ A~ // accent | ||||
| _jac) en (t_ A~ // sous-jacent | |||||
| Asc) en (t_ A~ // luminescent | |||||
| dol) en (t_ A~ // dolent | |||||
| imCoC) en (t_ A~ // impotent | |||||
| inCoC) en (t_ A~ // innocent, indolent | |||||
| XACcid) en (t_ A~ // accident, occident | |||||
| _ag) en (t_ A~ // agent | |||||
| _arC) en (t_ A~ // argent, ardent, arpent | |||||
| _urg) en (t_ A~ // urgent | |||||
| V_urg) en (t_ // urgent (verbe) | |||||
| _émin) en (t_ A~ // éminent | |||||
| immin) en (t_ A~ // imminent | |||||
| oémin) en (t_ A~ // proéminent | |||||
| jac) en (t_ A~ // sous-jacent, adjacent | |||||
| _lat) en (t_ A~ // latent | |||||
| lig) en (t_ A~ // intelligent | |||||
| man) en (t_ A~ // permanent | |||||
| ndig) en (t_ A~ // indigent | |||||
| _pat) en (t_ A~ // patent | |||||
| rmam) en (t_ A~ // firmament | |||||
| xig) en (t_ A~ // exigent | |||||
| Vxig) en (t_ // exigent | |||||
| éCerg) en (t_ A~ // détergent | |||||
| V_éCerg) en (t_ // émergent | |||||
| verg) en (t_ A~ // convergent, divergent | |||||
| Vverg) en (t_ // convergent, divergent (verbe) | |||||
| _serg) en (t_ A~ // sergent | |||||
| CACCim) en (t_ A~ // condiment, gentiment | |||||
| dim) en (t_ A~ // rudiment | |||||
| Agim) en (t_ A~ // régiment | |||||
| Alim) en (t_ A~ // poliment | |||||
| inim) en (t_ A~ // infiniment | |||||
| manim) en (t_ A~ // maniment | |||||
| onim) en (t_ A~ // boniment | |||||
| plim) en (t_ A~ // compliment | |||||
| Atim) en (t_ A~ // bâtiment | |||||
| _cim) en (t_ A~ // ciment | |||||
| _pim) en (t_ A~ // piment | |||||
| erm) en (t_ A~ // ferment, serment | |||||
| Vferm) en (t_ // ferment, referment (verbe) | |||||
| Arp) en (t_ A~ // arpent, serpent | |||||
| CArr) en (t_ A~ // conncurrent, torrent | |||||
| mitt) en (t_ A~ // intermittent | |||||
| énit) en (t_ A~ // pénitent | |||||
| tourm) en (t_ A~ // tourment | |||||
| ti) en (t_ E~ // retient | ti) en (t_ E~ // retient | ||||
| ati) en (t_ A~ // patient | ati) en (t_ A~ // patient | ||||
| mom) en (t_ A~ // moment | mom) en (t_ A~ // moment | ||||
| Aaim) en (t_ A~ | Aaim) en (t_ A~ | ||||
| Caim) en (t_ A~ | Caim) en (t_ A~ | ||||
| cum) en (t_ A~ | |||||
| dum) en (t_ A~ | |||||
| gum) en (t_ A~ | gum) en (t_ A~ | ||||
| lum) en (t_ A~ | |||||
| rum) en (t_ A~ // prudemment | |||||
| oCum) en (t_ A~ | |||||
| rum) en (t_ A~ | |||||
| _cli) en (t A~ // client | _cli) en (t A~ // client | ||||
| éCid) en (t_ A~ | |||||
| VéCid) en (t_ | |||||
| Xtrid) en (t_ A~ | |||||
| _laur) en (t_ A~ | _laur) en (t_ A~ | ||||
| _mécont) en (t_ A~ | _mécont) en (t_ A~ | ||||
| _cont) en (t_ A~ | _cont) en (t_ A~ | ||||
| mpét) en (t_ A~ // compétent | |||||
| prés) en (t_ A~ | |||||
| _Vcont) en (t_ t2 | |||||
| éC) en (t_ A~ // compétent | |||||
| _souv) en (t_ A~ // souvent | _souv) en (t_ A~ // souvent | ||||
| Cud) en (t_ A~ | |||||
| s_couv) en (t_ // elles couvent | s_couv) en (t_ // elles couvent | ||||
| qui_couv) en (t_ | qui_couv) en (t_ | ||||
| en (s_ A~ | en (s_ A~ | ||||
| en (CA A~ // pentathlon | en (CA A~ // pentathlon | ||||
| en (CC A~ // entre | en (CC A~ // entre | ||||
| en (ch_ En // french | |||||
| sp) ens (_ Ens // suspens | sp) ens (_ Ens // suspens | ||||
| éC) ens (_ A~z2 // dépens démens | éC) ens (_ A~z2 // dépens démens | ||||
| tr) e (CrA @ // entreprise | tr) e (CrA @ // entreprise | ||||
| e (CC E // infect pelle mettre | e (CC E // infect pelle mettre | ||||
| e (CC E // infect pelle mettre | |||||
| _s) e (cr @ // secret | |||||
| e (C_ E | e (C_ E | ||||
| es (_ z2 | es (_ z2 | ||||
| // group e: English section | // group e: English section | ||||
| eac _^_en | eac _^_en | ||||
| C) ead _^_en // read, head | C) ead _^_en // read, head | ||||
| eaf _^_en // leaf | |||||
| eag _^_en // eagle | |||||
| eak _^_en // break, speak | eak _^_en // break, speak | ||||
| Cr) eam _^_en // stream | Cr) eam _^_en // stream | ||||
| Cl) ean _^_en // clean | Cl) ean _^_en // clean | ||||
| l) ean _^_en // lean | |||||
| m) ean _^_en // mean | |||||
| ear _^_en // ear, search | ear _^_en // ear, search | ||||
| eas _^_en // please | eas _^_en // please | ||||
| eat _^_en // eat, seat | |||||
| eave _^_en // leave | eave _^_en // leave | ||||
| ed (_ _^_en | ed (_ _^_en | ||||
| _) edit _^_en | _) edit _^_en | ||||
| ee _^_en // meeting | ee _^_en // meeting | ||||
| eft (_ _^_en // left | |||||
| ehen _^_en // comprehensive | |||||
| eing _^_en // being, goeing | eing _^_en // being, goeing | ||||
| eive _^_en // receive | eive _^_en // receive | ||||
| eith _^_en // either neither | |||||
| ej _^_en | ej _^_en | ||||
| _) el (AC _^_en // element, eliminate | |||||
| eld (_ _^_en // field | eld (_ _^_en // field | ||||
| elf (_ _^_en // shelf | |||||
| elves (_ _^_en // shelves | |||||
| ember (_ _^_en | |||||
| enter (_ _^_en // enter, center | enter (_ _^_en // enter, center | ||||
| ely (_ _^_en // lately | |||||
| _) enhan _^_en | _) enhan _^_en | ||||
| ooC) er (_ _^_en // scooter | |||||
| ern (_ _^_en // western | |||||
| _C) etter (_ _^_en // letter, better | |||||
| ack) et (_ _^_en // racket, packet | ack) et (_ _^_en // racket, packet | ||||
| ock) et (_ _^_en // rocket, pocket | ock) et (_ _^_en // rocket, pocket | ||||
| qu) est (_ _^_en // request | qu) est (_ _^_en // request | ||||
| _neu) f (_heures v | _neu) f (_heures v | ||||
| // group f: English section | // group f: English section | ||||
| fail (_ _^_en // fail | |||||
| fail (A _^_en // failure | |||||
| faith _^_en // failure | |||||
| _) fire _^_en | _) fire _^_en | ||||
| fly _^_en | fly _^_en | ||||
| ford (_ _^_en | |||||
| _) frame _^_en | _) frame _^_en | ||||
| _) freq _^_en | |||||
| friend _^_en // friend, friendly | |||||
| fy (_ _^_en | |||||
| .group g | .group g | ||||
| @@) gate (X _^_en | @@) gate (X _^_en | ||||
| gh _^_en // high, higher | gh _^_en // high, higher | ||||
| girl _^_en // girl | girl _^_en // girl | ||||
| gly (_ _^_en | |||||
| give (X _^_en | give (X _^_en | ||||
| gy (_ _^_en | gy (_ _^_en | ||||
| // group h: English section | // group h: English section | ||||
| _) half _^_en | _) half _^_en | ||||
| _) h (As_ _^_en // has, his | |||||
| here (_ _^_en // here | here (_ _^_en // here | ||||
| ique (_ ik | ique (_ ik | ||||
| // group i: English section | // group i: English section | ||||
| A_) i (_ _^_en | |||||
| C_) i (_ _^_en | |||||
| _) i (_A _^_en | |||||
| _) i (_C _^_en | |||||
| L02C) ic (_ _^_en | |||||
| L02CC) ic (_ _^_en | |||||
| @C) id (_ _^_en | |||||
| idd _^_en | |||||
| iev _^_en | iev _^_en | ||||
| ife (_ _^_en | ife (_ _^_en | ||||
| igg _^_en | |||||
| ike (X _^_en // bike, like | |||||
| ild _^_en | |||||
| ilt _^_en | |||||
| ing (_ _^_en // parking | ing (_ _^_en // parking | ||||
| ind (_ _^_en // find, mind | ind (_ _^_en // find, mind | ||||
| _C) ind (er_ _^_en // finder, reminder | _C) ind (er_ _^_en // finder, reminder | ||||
| _AC) ind (er_ _^_en // finder, reminder | _AC) ind (er_ _^_en // finder, reminder | ||||
| ink _^_en // link, pink | |||||
| ip (_ _^_en // chip, ship | |||||
| ious (_ _^_en // various | |||||
| iously (_ _^_en // previously | |||||
| ist (_ _^_en // tourist | |||||
| ism (_ _^_en // tourism | |||||
| ize _^_en // realize | ize _^_en // realize | ||||
| ïn (C E~ // coïncider | ïn (C E~ // coïncider | ||||
| ïn (_ E~ | ïn (_ E~ | ||||
| ïs is // maïs, archaïsme | ïs is // maïs, archaïsme | ||||
| ï (q i // archaïquee | |||||
| ï (q i // archaïque | |||||
| ï (c i // laïc | |||||
| a) ï j // aïeul | a) ï j // aïeul | ||||
| ï i // ambiguïté | ï i // ambiguïté | ||||
| .group j | .group j | ||||
| j Z // adjoint joujoux | j Z // adjoint joujoux | ||||
| // group j: English section | |||||
| ject (_ _^_en | |||||
| .group k | .group k | ||||
| k k // kafka | k k // kafka | ||||
| // group k: English section | // group k: English section | ||||
| AC) k _^_en // blank, black, dark | |||||
| ke (X _^_en // basket, make, take | ke (X _^_en // basket, make, take | ||||
| key _^_en | key _^_en | ||||
| ky (_ _^_en | ky (_ _^_en | ||||
| ui) ll j // juillet | ui) ll j // juillet | ||||
| // group l: English section | // group l: English section | ||||
| ') ld (_ _^_en | |||||
| ') ll (_ _^_en | |||||
| less (_ _^_en // noiseless | less (_ _^_en // noiseless | ||||
| _) live _^_en | _) live _^_en | ||||
| ll (_ _^_en | |||||
| lly (_ _^_en | |||||
| lk (_ _^_en | |||||
| lessly (_ _^_en // endlessly | |||||
| lord (_ _^_en | |||||
| .group m | .group m | ||||
| mm m // pomme | mm m // pomme | ||||
| // group m: English section | // group m: English section | ||||
| ') m (_ _^_en | |||||
| mail (A _^_en // mailer | mail (A _^_en // mailer | ||||
| may _^_en | |||||
| mov (A _^_en // move, movy | mov (A _^_en // move, movy | ||||
| A) ng (_ N // parking meeting | A) ng (_ N // parking meeting | ||||
| nn n // panne | nn n // panne | ||||
| // group n: English section | |||||
| n't (_ _^_en | |||||
| nunc _^_en | |||||
| ny (_ _^_en | |||||
| .group o | .group o | ||||
| oa (X _^_en // approach, load | oa (X _^_en // approach, load | ||||
| oa (CeX _^_en | oa (CeX _^_en | ||||
| oach _^_en | oach _^_en | ||||
| oes (_ _^_en | |||||
| old (er_ _^_en // folder, older | old (er_ _^_en // folder, older | ||||
| C) oing (_ _^_en // going | C) oing (_ _^_en // going | ||||
| _aC) ong (_ _^_en // along, among | |||||
| oo (Ce _^_en // boomer | oo (Ce _^_en // boomer | ||||
| oo (X _^_en // pool | oo (X _^_en // pool | ||||
| C) oot _^_en // bootable football | C) oot _^_en // bootable football | ||||
| _) one _^_en | _) one _^_en | ||||
| _) onl _^_en | |||||
| orm (_ _^_en | |||||
| _sC) ot _^_en | _sC) ot _^_en | ||||
| othe _^_en // other, mother | |||||
| C) ou (ld_ _^_en // could, should | |||||
| oun (C _^_en // bounce, found | oun (C _^_en // bounce, found | ||||
| _C) ouse _^_en // mouse, house | |||||
| C) outh _^_en // mouth, south | |||||
| _) over _^_en // over | _) over _^_en // over | ||||
| ow _^_en // cow, town, down | ow _^_en // cow, town, down | ||||
| oy (X _^_en // boy, toy | oy (X _^_en // boy, toy | ||||
| // group p: English section | // group p: English section | ||||
| pad (_ _^_en | pad (_ _^_en | ||||
| plug _^_en // plug | plug _^_en // plug | ||||
| pmen _^_en | |||||
| ply (_ _^_en // simply | |||||
| _) pre (L01 _^_en | |||||
| press (_ _^_en | |||||
| print (_ _^_en // print | print (_ _^_en // print | ||||
| printer (_ _^_en // printer | printer (_ _^_en // printer | ||||
| _) prove (X _^_en // prove | |||||
| _AC) prove (X _^_en // improve | |||||
| _AC) provem _^_en // improvement | |||||
| py (_ _^_en // copy | |||||
| .group q | .group q | ||||
| _A) qu (ilat ky // équilatéral | _A) qu (ilat ky // équilatéral | ||||
| _C) qu (a kw // squale square | _C) qu (a kw // squale square | ||||
| _A) qu (a kw // équateur | _A) qu (a kw // équateur | ||||
| dA) qu (a kw // adequate | |||||
| _) qu (artz kw // quartz | _) qu (artz kw // quartz | ||||
| qu k // quatre | qu k // quatre | ||||
| _) que (_ k@ // que | _) que (_ k@ // que | ||||
| _) real _^_en | _) real _^_en | ||||
| rese _^_en | rese _^_en | ||||
| rst (_ _^_en | rst (_ _^_en | ||||
| _) rule (X _^_en // rule | |||||
| ry (_ _^_en // theory | |||||
| .group s | .group s | ||||
| s (v z | s (v z | ||||
| // group s: English section | // group s: English section | ||||
| ') s (_ _^_en | |||||
| sh (_ _^_en | sh (_ _^_en | ||||
| she (C_ _^_en | |||||
| ship _^_en // friendship | ship _^_en // friendship | ||||
| shop _^_en // shop | shop _^_en // shop | ||||
| sh (At _^_en // shut, shot | sh (At _^_en // shut, shot | ||||
| shout _^_en | |||||
| sk _^_en | sk _^_en | ||||
| _) smil _^_en // smile, smiley | _) smil _^_en // smile, smiley | ||||
| spy _^_en | spy _^_en | ||||
| A) ss (_ _^_en // boss, cross | |||||
| _) state _^_en // state, statement | |||||
| C) s (ton _^_en // winston | |||||
| stone (_ _^_en | |||||
| sy (_ _^_en | sy (_ _^_en | ||||
| _ce) t (_ t | _ce) t (_ t | ||||
| // group t: English section | // group t: English section | ||||
| tch (_ _^_en | |||||
| _) th (AX _^_en // that, this, then, than | |||||
| C) th (_ _^_en // month | C) th (_ _^_en // month | ||||
| _) time _^_en | _) time _^_en | ||||
| tle (_ _^_en | tle (_ _^_en | ||||
| try (_ _^_en // try, country | try (_ _^_en // try, country | ||||
| sCar) t (_ _^_en // smart, start | sCar) t (_ _^_en // smart, start | ||||
| sCar) t (er_ _^_en // starter | sCar) t (er_ _^_en // starter | ||||
| tme _^_en | |||||
| tne _^_en | |||||
| _) tun (AX _^_en | _) tun (AX _^_en | ||||
| ty (_ _^_en // party, buty | |||||
| .group u | .group u | ||||
| g) u (ë y // ambiguë | g) u (ë y // ambiguë | ||||
| // group u: English section | // group u: English section | ||||
| C) u (ch_ _^_en // much such | |||||
| C) ui (ce _^_en // produice, juice | C) ui (ce _^_en // produice, juice | ||||
| umber (_ _^_en | umber (_ _^_en | ||||
| ump (_ _^_en | ump (_ _^_en | ||||
| unch _^_en | unch _^_en | ||||
| _C) unct _^_en // function, punctuation | |||||
| under _^_en // under, understand, thunder | under _^_en // under, understand, thunder | ||||
| _) up (C _^_en // upper, update | _) up (C _^_en // upper, update | ||||
| upt (_ _^_en | |||||
| up (_ _^_en // setup | up (_ _^_en // setup | ||||
| C) ur (ch _^_en // church | |||||
| urn (X _^_en // burn, turn | urn (X _^_en // burn, turn | ||||
| ust (_ _^_en // just, trust | ust (_ _^_en // just, trust | ||||
| rib) u (teX _^_en // tribute, attribute | |||||
| .group v | .group v | ||||
| v v | v v | ||||
| // goup v: English section | // goup v: English section | ||||
| ') ve (_ _^_en | |||||
| vail (A _^_en | |||||
| voice (X _^_en | voice (X _^_en | ||||
| void (_ _^_en | void (_ _^_en | ||||
| vy (_ _^_en | vy (_ _^_en | ||||
| wr _^_en // write | wr _^_en // write | ||||
| w (ACC _^_en // wash, wish, with | w (ACC _^_en // wash, wish, with | ||||
| way _^_en // way, away | way _^_en // way, away | ||||
| wh _^_en // what, which, who | |||||
| _) wi _^_en // wire | _) wi _^_en // wire | ||||
| win _^_en // winner, window | win _^_en // winner, window | ||||
| wise _^_en | wise _^_en | ||||
| _) wom _^_en // woman | |||||
| wor _^_en // word, world | wor _^_en // word, world | ||||
| si) x (iè z // sixième | si) x (iè z // sixième | ||||
| deu) x (iè z // deuxième | deu) x (iè z // deuxième | ||||
| // group x: English section | |||||
| xamp _^_en | |||||
| .group y | .group y | ||||
| y i // cryogénique myope | y i // cryogénique myope |
| க (் g | க (் g | ||||
| ்) க ga | ்) க ga | ||||
| ்) க (B g | ்) க (B g | ||||
| _) க ka | |||||
| _) க kV | |||||
| _) க (B k | _) க (B k | ||||
| க்க k:a | க்க k:a | ||||
| க்க (B k: | க்க (B k: | ||||
| ட d.a | ட d.a | ||||
| ட (B d. | ட (B d. | ||||
| _) ட t.a | |||||
| _) ட t.V | |||||
| _) ட (B t. | _) ட (B t. | ||||
| ட்ட t.a | ட்ட t.a | ||||
| ட்ட (B t. | ட்ட (B t. | ||||
| த da | த da | ||||
| த (B d | த (B d | ||||
| _) த ta | |||||
| _) த tV | |||||
| _) த (B t | _) த (B t | ||||
| த்த t:a | த்த t:a | ||||
| த்த (B t: | த்த (B t: | ||||
| ப ba | ப ba | ||||
| ப (B b | ப (B b | ||||
| _) ப pa | |||||
| _) ப pV | |||||
| _) ப (B p | _) ப (B p | ||||
| ப்ப p:a | ப்ப p:a | ||||
| ப்ப (B p: | ப்ப (B p: | ||||
| ஃ) ப fa | |||||
| ஃ) ப (B f | |||||
| ம ma | ம ma | ||||
| ம (B m | ம (B m | ||||
| ற Ra | ற Ra | ||||
| ற (B R | ற (B R | ||||
| ற் (ற t // RR -> tR | |||||
| ற் (ற t. // RR -> t.R | |||||
| ல la | ல la | ||||
| ல (B l | ல (B l |
| d dE | d dE | ||||
| e E | e E | ||||
| f fE | f fE | ||||
| g g;E | |||||
| ğ jumuS'ak||g;'E | |||||
| g JE | |||||
| ğ jumuS'ak||J'E | |||||
| h hE | h hE | ||||
| ı u# | ı u# | ||||
| i i | i i | ||||
| l lE | l lE | ||||
| m mE | m mE | ||||
| n nE | n nE | ||||
| o O | |||||
| _o O | |||||
| ö W | ö W | ||||
| p pE | p pE | ||||
| q kvE | q kvE | ||||
| _?? sEmb'Ol | _?? sEmb'Ol | ||||
| _0 su#fu#r | |||||
| _1 bir | |||||
| _2 iki | |||||
| _0 su#fu#R | |||||
| _1 biR | |||||
| _2 ici | |||||
| _3 YtS | _3 YtS | ||||
| _4 dWrt | |||||
| _4 dWRt | |||||
| _5 beS | _5 beS | ||||
| _6 altu# | _6 altu# | ||||
| _7 jedi | _7 jedi | ||||
| _8 sekiz | |||||
| _8 seciz | |||||
| _9 dokuz | _9 dokuz | ||||
| _10 on | _10 on | ||||
| _11 'onbir | |||||
| _12 'oniki | |||||
| _11 'onbiR | |||||
| _12 'onici | |||||
| _1X on | _1X on | ||||
| _2X jirmi | |||||
| _2X jiRmi | |||||
| _3X otuz | _3X otuz | ||||
| _4X ku#rk | |||||
| _4X ku#Rk | |||||
| _5X elli | _5X elli | ||||
| _6X altmu#S | _6X altmu#S | ||||
| _7X jetmiS | _7X jetmiS | ||||
| _8X seksEn | _8X seksEn | ||||
| _9X doksan | _9X doksan | ||||
| _0C jyz | _0C jyz | ||||
| _2C 'ikijyz | |||||
| _2C 'icijyz | |||||
| _0M1 bIn | _0M1 bIn | ||||
| _1M1 bIn | _1M1 bIn | ||||
| _0M2 miljon | _0M2 miljon | ||||
| _1M2 miljon | |||||
| _0M3 miljar | _0M3 miljar | ||||
| _1M3 miljar | |||||
| _dpt _virg,Yl_| | |||||
| _dpt _viRg,Yl_| | |||||
| // function words | |||||
| // exceptions | |||||
| // conjunctions | |||||
| ve $brk // and | |||||
| yoksa $brk // or | |||||
| veya $brk // or | |||||
| ama $brk $1 // but | |||||
| ki $brk // that | |||||
| mı $u // question | |||||
| mi $u | |||||
| mu $u | |||||
| mü $u | |||||
| // pronouns | |||||
| bu $u+ // this | |||||
| şu $u+ // that | |||||
| ben $u+ // I | |||||
| sen $u+ // you | |||||
| o $u+ // it | |||||
| siz $u+ // we | |||||
| biz $u+ // you | |||||
| bir $u+ // a (or one) | |||||
| da $u // also | |||||
| de $u | |||||
| ta $u | |||||
| te $u | |||||
| ile $u | |||||
| // EXCEPTIONS | |||||
| // Person Names | |||||
| // Place Names | |||||
| ankara $1 | ankara $1 | ||||
| istanbul $2 | |||||
| // Turkish translation rules | // Turkish translation rules | ||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| // Stress rule: Right-most vowel, but stop before the vowel which is | |||||
| // marked as unstressed [%]. | |||||
| // unvoiced consonants | |||||
| .L01 ç f h k p q s ş t | |||||
| .replace | |||||
| ` ' | |||||
| .group a | .group a | ||||
| a a | a a | ||||
| avru (pa avr'u | |||||
| @) a (_S1 a | |||||
| acak (_S3 adZak | |||||
| acakmış (_S7 adZakm%u#S | |||||
| ayım (_S4 aju#m | |||||
| alım (_S4 alu#m | |||||
| asın (_S4 asu#n | |||||
| avru (pa avr'u | |||||
| .group b | .group b | ||||
| b b | b b | ||||
| .group d | .group d | ||||
| d d | d d | ||||
| da (_S2 da | |||||
| de (_S2 de | |||||
| dan (_S3 dan | |||||
| den (_S3 den | |||||
| // declare these suffices so that preceding "ma/me" is unstressed | |||||
| dim (_S3 dim | |||||
| dik (_S3 dik | |||||
| din (_S3 din | |||||
| diniz (_S5 diniz | |||||
| di (_S2 di | |||||
| diler (_S5 dileR | |||||
| dım (_S3 du#m | |||||
| dık (_S3 du#k | |||||
| dın (_S3 du#n | |||||
| dınız (_S5 du#nu#z | |||||
| dı (_S2 du# | |||||
| dılar (_S5 du#laR | |||||
| dum (_S3 dum | |||||
| duk (_S3 duk | |||||
| dun (_S3 dun | |||||
| dunuz (_S5 dunuz | |||||
| du (_S2 du | |||||
| dular (_S5 dular | |||||
| düm (_S3 dym | |||||
| dük (_S3 dyk | |||||
| dün (_S3 dyn | |||||
| dünüz (_S5 dynyz | |||||
| dü (_S2 dy | |||||
| düler (_S5 dyler | |||||
| dir (_S3 %diR | |||||
| dır (_S3 %du#R | |||||
| dur (_S3 %duR | |||||
| dür (_S3 %dyR | |||||
| _) d (eğil 'd | _) d (eğil 'd | ||||
| .group e | .group e | ||||
| e e | e e | ||||
| @) e (_S1 e | |||||
| ecek (_S4 edZek | |||||
| ecekmiş (_S7 edZekm%iS | |||||
| eyim (_S4 ejim | |||||
| elim (_S4 elim | |||||
| esin (_S4 esin | |||||
| .group f | .group f | ||||
| f f | f f | ||||
| .group g | .group g | ||||
| g g | g g | ||||
| g (i J | |||||
| g (e J | |||||
| g (ü J | |||||
| g (ö J | |||||
| .group ğ | .group ğ | ||||
| ğ Q | ğ Q | ||||
| A) ğ : | |||||
| A) ğ :|| | |||||
| i) ğ j | |||||
| e) ğ j | |||||
| .group h | .group h | ||||
| h h | h h | ||||
| .group i | .group i | ||||
| i i | i i | ||||
| @) i (_S1 i | |||||
| im (_S2 %im | |||||
| iniz (_S4 %iniz | |||||
| iz (_S2 %iz | |||||
| iyor (_S4 ij%oR | |||||
| in (_S2 in | |||||
| .group ı | .group ı | ||||
| ı u# | ı u# | ||||
| @) ı (_S1 u# | |||||
| ım (_S2 %u#m | |||||
| ınız (_S2 %u#nu#z | |||||
| ız (_S2 %u#z | |||||
| ıyor (_S4 u#j%oR | |||||
| ın (_S2 u#n | |||||
| .group j | .group j | ||||
| j Z | j Z | ||||
| .group k | .group k | ||||
| k k | k k | ||||
| k (i c | |||||
| k (e c | |||||
| k (ü c | |||||
| k (ö c | |||||
| ken (_S3 %cen | |||||
| .group l | .group l | ||||
| l l | l l | ||||
| la (_S2 %la | |||||
| le (_S2 %le | |||||
| lar (_S3 laR | |||||
| ler (_S3 leR | |||||
| li (_S2 li | |||||
| lı (_S2 lu# | |||||
| lu (_S2 lu | |||||
| lü (_S2 ly | |||||
| lik (_S3 lik | |||||
| lık (_S3 lu#k | |||||
| luk (_S3 luk | |||||
| lük (_S3 lyk | |||||
| .group m | .group m | ||||
| m m | m m | ||||
| ma (_S2 m%a | |||||
| me (_S2 m%e | |||||
| mı (_S2 m%u# | |||||
| ma (_S2 %ma | |||||
| me (_S2 %me | |||||
| .group n | .group n | ||||
| n n | n n | ||||
| nin (_S3 nin | |||||
| nın (_S3 nu#n | |||||
| nun (_S3 nun | |||||
| nün (_S3 nyn | |||||
| .group o | .group o | ||||
| o o | o o | ||||
| q k | q k | ||||
| .group r | .group r | ||||
| r r | |||||
| r R | |||||
| A) r (A * | |||||
| ra (_S2 %Ra | |||||
| re (_S2 %Re | |||||
| ra (_N Ra // only an unstressed suffix if another suffix follows | |||||
| re (_N Re | |||||
| .group s | .group s | ||||
| s s | s s | ||||
| sınız (_S5 %su#nu#z | |||||
| siniz (_S5 %siniz | |||||
| sunuz (_S5 %sunuz | |||||
| sünüz (_S5 %synyz | |||||
| sam (_S3 %sam // if | |||||
| sak (_S3 %sak | |||||
| san (_S3 %san | |||||
| sanız (_S5 %sanu#z | |||||
| sa (_S2 %sa | |||||
| sem (_S3 %sem | |||||
| sek (_S3 %sek | |||||
| sen (_S3 %sen | |||||
| seniz (_S5 %seniz | |||||
| se (_S2 %se | |||||
| .group ş | .group ş | ||||
| ş S | ş S | ||||
| .group t | .group t | ||||
| t t | t t | ||||
| ta (_S2 ta | |||||
| te (_S2 te | |||||
| tan (_S3 tan | |||||
| ten (_S3 ten | |||||
| L01) tir (_S3 %tiR | |||||
| L01) tır (_S3 %tu#R | |||||
| L01) tur (_S3 %tuR | |||||
| L01) tür (_S3 %tyR | |||||
| .group u | .group u | ||||
| u u | u u | ||||
| @) u (_S1 u | |||||
| um (_S2 %um | |||||
| unuz (_S4 %unuz | |||||
| uz (_S2 %uz | |||||
| uyor (_S4 uj%oR | |||||
| un (_S2 un | |||||
| .group ü | .group ü | ||||
| ü y | ü y | ||||
| @) ü (_S1 y | |||||
| üm (_S2 %ym | |||||
| ünüz (_S4 %ynyz | |||||
| üz (_S2 %yz | |||||
| üyor (_S4 yj%oR | |||||
| ün (_S2 yn | |||||
| .group v | .group v | ||||
| v v | v v | ||||
| x ks | x ks | ||||
| K) x z | K) x z | ||||
| .group y | .group y | ||||
| y j | y j | ||||
| ya (_S2 ja | |||||
| ye (_S2 je | |||||
| yi (_S2 ji | |||||
| yı (_S2 ju# | |||||
| yu (_S2 ju | |||||
| yü (_S2 jy | |||||
| yim (_S3 %jim | |||||
| yım (_S3 %ju#m | |||||
| yum (_S3 %jum | |||||
| yüm (_S3 %jym | |||||
| yiz (_S3 %jiz | |||||
| yız (_S3 %ju#z | |||||
| yuz (_S3 %juz | |||||
| yüz (_S3 %jyz | |||||
| yiniz (_S5 %jiniz | |||||
| yınız (_S5 %ju#nu#z | |||||
| yunuz (_S5 %junuz | |||||
| yünüz (_S5 %jynyz | |||||
| yla (_S3 %jla | |||||
| yle (_S3 %jle | |||||
| yacak (_S5 jadZak | |||||
| yecek (_S5 jedZek | |||||
| yacakmış (_S8 jadZakm%u#S | |||||
| yecekmiş (_S8 jedZekm%iS | |||||
| yayım (_S5 jaju#m | |||||
| yalım (_S5 jalu#m | |||||
| yasın (_S5 jasu#n | |||||
| yeyim (_S5 jejim | |||||
| yelim (_S5 jelim | |||||
| yesin (_S5 jesin | |||||
| yken (_S4 jc%en | |||||
| .group z | .group z | ||||
| z z | z z | ||||
| .group | .group | ||||
| $ dolar | $ dolar | ||||
| ' (Pb // split a word at ' and translate the first part separately. | |||||
| new total | new total | ||||
| base 99 99 | base 99 99 | ||||
| base2 24 118 | base2 24 118 | ||||
| en 54 148 | |||||
| en_n 30 148 | |||||
| en_us 34 148 | |||||
| en_sc 39 150 | |||||
| en_rp 34 148 | |||||
| en_wm 30 148 | |||||
| en_wi 30 148 | |||||
| en 53 147 | |||||
| en_n 30 147 | |||||
| en_us 34 147 | |||||
| en_sc 39 149 | |||||
| en_rp 34 147 | |||||
| en_wm 30 147 | |||||
| en_wi 30 147 | |||||
| af 38 131 | af 38 131 | ||||
| cy 29 125 | cy 29 125 | ||||
| de 33 126 | de 33 126 | ||||
| fr 44 125 | fr 44 125 | ||||
| fr_ca 11 125 | fr_ca 11 125 | ||||
| hi 51 136 | hi 51 136 | ||||
| ta 15 138 | |||||
| ta 16 139 | |||||
| hu 23 115 | hu 23 115 | ||||
| nl 28 122 | nl 28 122 | ||||
| pl 15 110 | pl 15 110 | ||||
| sw 14 108 | sw 14 108 | ||||
| th 50 142 | th 50 142 | ||||
| id 14 120 | id 14 120 | ||||
| tr 14 123 | |||||
| tr 18 123 | |||||
| ku 13 120 | ku 13 120 | ||||
| ja 7 104 | ja 7 104 | ||||
| [dZ;] ru | [dZ;] ru | ||||
| dzh/dz_pzd [J] base | dzh/dz_pzd [J] base | ||||
| [J2] hi | [J2] hi | ||||
| [J] tr | |||||
| dzh/dz_pzd_ [J] base | dzh/dz_pzd_ [J] base | ||||
| [J2] hi | [J2] hi | ||||
| dzh/xdzh [dZ] base | dzh/xdzh [dZ] base | ||||
| [c] is | [c] is | ||||
| [k] zhy | [k] zhy | ||||
| [k] sw | [k] sw | ||||
| [J] tr | |||||
| [c] tr | |||||
| ustop/kl [k] base | ustop/kl [k] base | ||||
| [k] base2 | [k] base2 | ||||
| [k] en | [k] en | ||||
| [u] th | [u] th | ||||
| [u:] th | [u:] th | ||||
| [u] id | [u] id | ||||
| vowel/u# [u-] en | |||||
| [u:] en_sc | |||||
| vowel/u# [u:] en_sc | |||||
| [Y] tr | [Y] tr | ||||
| vowel/u_2 [u1] fi | vowel/u_2 [u1] fi | ||||
| [u] sk | [u] sk | ||||
| vowel/u#_2 [u-] ta | vowel/u#_2 [u-] ta | ||||
| [u-] sv | [u-] sv | ||||
| vowel/u_3 [yU] ro | vowel/u_3 [yU] ro | ||||
| vowel/u#_3 [U] ta | |||||
| [U:] ta | |||||
| vowel/u_4 [u:] en_n | vowel/u_4 [u:] en_n | ||||
| vowel/u#_4 [U] en_sc | vowel/u#_4 [U] en_sc | ||||
| [u:] en_sc | [u:] en_sc | ||||
| vowel/uu# [U] ku | vowel/uu# [U] ku | ||||
| vowel/uu_2 [U] base2 | vowel/uu_2 [U] base2 | ||||
| [U] de | [U] de | ||||
| [U] ta | |||||
| [U] tr | [U] tr | ||||
| vowel/uu_3 [u] af | vowel/uu_3 [u] af | ||||
| [y] zh | [y] zh |
| endphoneme | endphoneme | ||||
| phoneme u- | |||||
| vowel starttype (u) endtype (u) | |||||
| length 200 | |||||
| formants vowel/u# | |||||
| endphoneme | |||||
| vowelin f1=1 f2=1000 -300 -200 f3=-300 100 | vowelin f1=1 f2=1000 -300 -200 f3=-300 100 | ||||
| vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=10 | vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=10 | ||||
| lengthmod 6 | lengthmod 6 | ||||
| formants voc/v2+vocw/v%75 | |||||
| before _ voc/v_+vocw/v%75 | |||||
| formants voc/v2+vocw/v%80 | |||||
| before _ voc/v_+vocw/v%80 | |||||
| switchvoicing f | switchvoicing f | ||||
| endphoneme | endphoneme | ||||
| phoneme U | phoneme U | ||||
| vowel starttype (u) endtype (u) | vowel starttype (u) endtype (u) | ||||
| length 130 | |||||
| formants vowel/uu_2 | |||||
| length 150 | |||||
| formants vowel/u#_3 | |||||
| endphoneme | endphoneme | ||||
| phoneme u: | phoneme u: | ||||
| vowel starttype (u) endtype (u) | vowel starttype (u) endtype (u) | ||||
| length 270 | length 270 | ||||
| formants vowel/u | formants vowel/u | ||||
| endphoneme | endphoneme | ||||
| phoneme U: | |||||
| vowel starttype (u) endtype (u) | |||||
| length 270 | |||||
| formants vowel/u#_3 | |||||
| endphoneme | |||||
| phoneme u- | phoneme u- | ||||
| vowel starttype (u) endtype (u) | vowel starttype (u) endtype (u) |
| formants vowel/oo | formants vowel/oo | ||||
| endphoneme | endphoneme | ||||
| phoneme : // Lengthen previous vowel by "length" | |||||
| virtual | |||||
| length 180 | |||||
| endphoneme | |||||
| phoneme c | |||||
| vls pal stop | |||||
| vowelin f1=0 f2=2700 200 500 f3=400 80 len=60 | |||||
| vowelout f1=0 f2=2700 300 500 f3=300 80 | |||||
| lengthmod 2 | |||||
| wave ustop/ki | |||||
| before _ ustop/ki%80 | |||||
| endphoneme | |||||
| phoneme J | |||||
| vcd pla stop | |||||
| vowelin f1=2 f2=2700 400 600 f3=300 80 | |||||
| vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1 | |||||
| formants dzh/dz_pzd+ustop/ki%60 | |||||
| lengthmod 5 | |||||
| switchvoicing c | |||||
| endphoneme | |||||
| phoneme l | |||||
| import_phoneme l en | |||||
| endphoneme | |||||
| phoneme q | phoneme q | ||||
| vls uvl stop | vls uvl stop | ||||
| vowelin f1=1 f2=1700 0 200 f3=-300 80 f4 paus rms=35 | |||||
| vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30 | |||||
| vowelin f1=1 f2=1700 0 200 f3=-300 80 paus f4 rms=30 | |||||
| vowelout f1=1 f2=1700 -100 200 f3=-300 80 f4 rms=35 | |||||
| lengthmod 2 | lengthmod 2 | ||||
| wave ustop/q%50 | |||||
| wave ustop/q%48 | |||||
| before _ ustop/q%40 | before _ ustop/q%40 | ||||
| endphoneme | endphoneme | ||||
| case 't': | case 't': | ||||
| sxflags |= SUFX_T; | sxflags |= SUFX_T; | ||||
| break; | break; | ||||
| case 'b': | |||||
| sxflags |= SUFX_B; | |||||
| break; | |||||
| default: | default: | ||||
| if(isdigit(c)) | if(isdigit(c)) | ||||
| value = (value*10) + (c - '0'); | value = (value*10) + (c - '0'); |
| { | { | ||||
| c = p_start[ix]; | c = p_start[ix]; | ||||
| word_copy[ix++] = c; | word_copy[ix++] = c; | ||||
| if(c == 0) | |||||
| break; | |||||
| } | } | ||||
| word_copy[ix] = 0; | word_copy[ix] = 0; | ||||
| word_copy[i] = 0; | word_copy[i] = 0; | ||||
| // look for multibyte characters to increase the number of bytes to remove | // look for multibyte characters to increase the number of bytes to remove | ||||
| for(len_ending = i = (end_type & 0xf); i>0 ;i--) // num.of characters of the suffix | |||||
| for(len_ending = i = (end_type & 0x3f); i>0 ;i--) // num.of characters of the suffix | |||||
| { | { | ||||
| word_end--; | word_end--; | ||||
| while((*word_end & 0xc0) == 0x80) | while((*word_end & 0xc0) == 0x80) |
| Lookup("_0C",ph_100); | Lookup("_0C",ph_100); | ||||
| if((hundreds >= 10) && ((langopts.numbers & 0x0800) || (hundreds != 19))) | |||||
| if((hundreds >= 10) && (((langopts.numbers & 0x0800) == 0) || (hundreds != 19))) | |||||
| { | { | ||||
| ph_digits[0] = 0; | ph_digits[0] = 0; | ||||
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.31.14 21.Feb.08"; | |||||
| const char *version_string = "1.31.17 24.Feb.08"; | |||||
| const int version_phdata = 0x013105; | const int version_phdata = 0x013105; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| memcpy(stress_lengths,stress_lengths2,sizeof(stress_lengths)); | memcpy(stress_lengths,stress_lengths2,sizeof(stress_lengths)); | ||||
| langopts.stress_rule = 0; | langopts.stress_rule = 0; | ||||
| langopts.numbers = 0x41 + NUM_ROMAN; | |||||
| langopts.numbers = 0x841 + NUM_ROMAN; | |||||
| langopts.param[LOPT_COMBINE_WORDS] = 2; // allow "mc" to cmbine with the following word | langopts.param[LOPT_COMBINE_WORDS] = 2; // allow "mc" to cmbine with the following word | ||||
| } | } | ||||
| tr->langopts.param[LOPT_PREFIXES] = 1; | tr->langopts.param[LOPT_PREFIXES] = 1; | ||||
| memcpy(tr->stress_lengths,stress_lengths_de,sizeof(tr->stress_lengths)); | memcpy(tr->stress_lengths,stress_lengths_de,sizeof(tr->stress_lengths)); | ||||
| tr->langopts.numbers = 0x11c19 + NUM_ROMAN; | |||||
| tr->langopts.numbers = 0x11419 + NUM_ROMAN; | |||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.unstressed_wd2 = 2; | tr->langopts.unstressed_wd2 = 2; | ||||
| tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels | tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels | ||||
| tr->langopts.numbers = 0xb09; | |||||
| tr->langopts.numbers = 0x309; | |||||
| tr->langopts.numbers2 = 0x2; // variant form of numbers before thousands | tr->langopts.numbers2 = 0x2; // variant form of numbers before thousands | ||||
| if(name2 == L_grc) | if(name2 == L_grc) | ||||
| tr->langopts.unstressed_wd1 = 1; | tr->langopts.unstressed_wd1 = 1; | ||||
| tr->langopts.unstressed_wd2 = 2; | tr->langopts.unstressed_wd2 = 2; | ||||
| tr->langopts.numbers = 0x1c09 + NUM_ROMAN; | |||||
| tr->langopts.numbers = 0x1409 + NUM_ROMAN; | |||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.param[LOPT_IT_DOUBLING] = 1; | tr->langopts.param[LOPT_IT_DOUBLING] = 1; | ||||
| tr->langopts.long_stop = 140; | tr->langopts.long_stop = 140; | ||||
| tr->langopts.numbers = 0x1009; | |||||
| tr->langopts.numbers = 0x1809; | |||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| tr->langopts.max_initial_consonants = 2; | tr->langopts.max_initial_consonants = 2; | ||||
| tr->langopts.spelling_stress = 1; | tr->langopts.spelling_stress = 1; | ||||
| tr->langopts.stress_rule = 6; // stress on last heaviest syllable, excluding final syllable | tr->langopts.stress_rule = 6; // stress on last heaviest syllable, excluding final syllable | ||||
| tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable | tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable | ||||
| tr->langopts.numbers = 0x811; | |||||
| tr->langopts.numbers = 0x011; | |||||
| tr->langopts.numbers2 = 0x100; | tr->langopts.numbers2 = 0x100; | ||||
| tr->letter_bits_offset = OFFSET_DEVANAGARI; | tr->letter_bits_offset = OFFSET_DEVANAGARI; | ||||
| tr->langopts.max_initial_consonants = 5; | tr->langopts.max_initial_consonants = 5; | ||||
| tr->langopts.spelling_stress = 1; | tr->langopts.spelling_stress = 1; | ||||
| tr->langopts.numbers = 0x1c0d + 0x4000 + NUM_ROMAN_UC; | |||||
| tr->langopts.numbers = 0x140d + 0x4000 + NUM_ROMAN_UC; | |||||
| tr->langopts.numbers2 = 0x4a; // variant numbers before thousands,milliards | tr->langopts.numbers2 = 0x4a; // variant numbers before thousands,milliards | ||||
| tr->langopts.replace_chars = replace_cyrillic_latin; | tr->langopts.replace_chars = replace_cyrillic_latin; | ||||
| tr->langopts.param[LOPT_IT_DOUBLING] = 1; | tr->langopts.param[LOPT_IT_DOUBLING] = 1; | ||||
| tr->langopts.param[LOPT_COMBINE_WORDS] = 99; // combine some prepositions with the following word | tr->langopts.param[LOPT_COMBINE_WORDS] = 99; // combine some prepositions with the following word | ||||
| tr->langopts.numbers = 0x1809 + NUM_ROMAN; | |||||
| tr->langopts.numbers = 0x1009 + NUM_ROMAN; | |||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| tr->langopts.spelling_stress = 1; | tr->langopts.spelling_stress = 1; | ||||
| SetLengthMods(tr,3); // all equal | SetLengthMods(tr,3); // all equal | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_id,stress_amps_id); | SetupTranslator(tr,stress_lengths_id,stress_amps_id); | ||||
| tr->langopts.stress_rule = 2; | tr->langopts.stress_rule = 2; | ||||
| tr->langopts.numbers = 0x1809 + NUM_ROMAN; | |||||
| tr->langopts.numbers = 0x1009 + NUM_ROMAN; | |||||
| tr->langopts.stress_flags = 0x6 | 0x10; | tr->langopts.stress_flags = 0x6 | 0x10; | ||||
| } | } | ||||
| break; | break; | ||||
| SetLetterBits(tr,3,"jvr"); // Letter group H | SetLetterBits(tr,3,"jvr"); // Letter group H | ||||
| tr->letter_groups[1] = is_lettergroup_B; | tr->letter_groups[1] = is_lettergroup_B; | ||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| tr->langopts.numbers = 0xe9; | |||||
| tr->langopts.numbers = 0x8e9; | |||||
| tr->langopts.numbers2 = 0x2; | tr->langopts.numbers2 = 0x2; | ||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.param[LOPT_IT_DOUBLING] = 2; // double the first consonant if the previous word ends in a stressed vowel | tr->langopts.param[LOPT_IT_DOUBLING] = 2; // double the first consonant if the previous word ends in a stressed vowel | ||||
| tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels | tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels | ||||
| tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list | tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list | ||||
| tr->langopts.numbers = 0x2709 + 0x800 + NUM_ROMAN; | |||||
| tr->langopts.numbers = 0x2709 + NUM_ROMAN; | |||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable | tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable | ||||
| tr->langopts.numbers = 0x100c69; | |||||
| tr->langopts.numbers = 0x100469; | |||||
| tr->langopts.max_initial_consonants = 2; | tr->langopts.max_initial_consonants = 2; | ||||
| } | } | ||||
| break; | break; | ||||
| tr->letter_groups[0] = vowels_cyrillic; | tr->letter_groups[0] = vowels_cyrillic; | ||||
| tr->langopts.stress_rule = 4; // antipenultimate | tr->langopts.stress_rule = 4; // antipenultimate | ||||
| tr->langopts.numbers = 0x0c29 + 0x4000; | |||||
| tr->langopts.numbers = 0x0429 + 0x4000; | |||||
| tr->langopts.numbers2 = 0x8a; // variant numbers before thousands,milliards | tr->langopts.numbers2 = 0x8a; // variant numbers before thousands,milliards | ||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.param[LOPT_PREFIXES] = 1; | tr->langopts.param[LOPT_PREFIXES] = 1; | ||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| tr->langopts.numbers = 0x11419; | |||||
| tr->langopts.numbers = 0x11c19; | |||||
| memcpy(tr->stress_lengths,stress_lengths_nl,sizeof(tr->stress_lengths)); | memcpy(tr->stress_lengths,stress_lengths_nl,sizeof(tr->stress_lengths)); | ||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.stress_rule = 0; | tr->langopts.stress_rule = 0; | ||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| tr->langopts.numbers = 0x11049; | |||||
| tr->langopts.numbers = 0x11849; | |||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished | tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished | ||||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x8; | tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x8; | ||||
| tr->langopts.max_initial_consonants = 7; // for example: wchrzczony :) | tr->langopts.max_initial_consonants = 7; // for example: wchrzczony :) | ||||
| tr->langopts.numbers=0x1809 + 0x4000; | |||||
| tr->langopts.numbers=0x1009 + 0x4000; | |||||
| tr->langopts.numbers2=0x40; | tr->langopts.numbers2=0x40; | ||||
| tr->langopts.param[LOPT_COMBINE_WORDS] = 2 + 0x100; // combine 'nie' (marked with $alt2) with some 1-syllable words (marked with $alt) | tr->langopts.param[LOPT_COMBINE_WORDS] = 2 + 0x100; // combine 'nie' (marked with $alt2) with some 1-syllable words (marked with $alt) | ||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| // tr->langopts.vowel_pause = 1; | // tr->langopts.vowel_pause = 1; | ||||
| tr->langopts.stress_rule = 3; // stress on final syllable | tr->langopts.stress_rule = 3; // stress on final syllable | ||||
| tr->langopts.stress_flags = 0x6 | 0x10 | 0x20000; | tr->langopts.stress_flags = 0x6 | 0x10 | 0x20000; | ||||
| tr->langopts.numbers = 0xa69 + 0x2000 + NUM_ROMAN; | |||||
| tr->langopts.numbers = 0x269 + 0x2000 + NUM_ROMAN; | |||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.stress_flags = 0x100 + 0x6; | tr->langopts.stress_flags = 0x100 + 0x6; | ||||
| tr->charset_a0 = charsets[2]; // ISO-8859-2 | tr->charset_a0 = charsets[2]; // ISO-8859-2 | ||||
| tr->langopts.numbers = 0x1829+0x6000 + NUM_ROMAN; | |||||
| tr->langopts.numbers = 0x1029+0x6000 + NUM_ROMAN; | |||||
| tr->langopts.numbers2 = 0x1e; // variant numbers before all thousandplex | tr->langopts.numbers2 = 0x1e; // variant numbers before all thousandplex | ||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.spelling_stress = 1; | tr->langopts.spelling_stress = 1; | ||||
| tr->langopts.param[LOPT_COMBINE_WORDS] = 4; // combine some prepositions with the following word | tr->langopts.param[LOPT_COMBINE_WORDS] = 4; // combine some prepositions with the following word | ||||
| tr->langopts.numbers = 0x0c01 + 0x4000 + NUM_ROMAN; | |||||
| tr->langopts.numbers = 0x0401 + 0x4000 + NUM_ROMAN; | |||||
| tr->langopts.numbers2 = 0x40; | tr->langopts.numbers2 = 0x40; | ||||
| tr->langopts.thousands_sep = 0; //no thousands separator | tr->langopts.thousands_sep = 0; //no thousands separator | ||||
| tr->langopts.decimal_sep = ','; | tr->langopts.decimal_sep = ','; | ||||
| tr->langopts.stress_rule = 0; | tr->langopts.stress_rule = 0; | ||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| // SetLetterBits(tr,6,"eiyäö"); // soft vowels NOTE accented letters don't work in SetLetterBits | // SetLetterBits(tr,6,"eiyäö"); // soft vowels NOTE accented letters don't work in SetLetterBits | ||||
| tr->langopts.numbers = 0x1109; | |||||
| tr->langopts.numbers = 0x1909; | |||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.stress_rule = 2; | tr->langopts.stress_rule = 2; | ||||
| tr->langopts.stress_flags = 0x6 | 0x10; | tr->langopts.stress_flags = 0x6 | 0x10; | ||||
| tr->langopts.numbers = 0x8e1; | |||||
| tr->langopts.numbers = 0x4e1; | |||||
| tr->langopts.numbers2 = 0x100; | tr->langopts.numbers2 = 0x100; | ||||
| } | } | ||||
| break; | break; | ||||
| case L('t','r'): // Turkish | case L('t','r'): // Turkish | ||||
| { | { | ||||
| static const unsigned char stress_amps_tr[8] = {16,16, 20,20, 20,24, 24,22 }; | |||||
| static const short stress_lengths_tr[8] = {170,170, 190,170, 0,0, 250,270}; | |||||
| static const unsigned char stress_amps_tr[8] = {18,18, 20,20, 20,24, 24,22 }; | |||||
| static const short stress_lengths_tr[8] = {190,190, 190,190, 0,0, 250,270}; | |||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_tr,stress_amps_tr); | SetupTranslator(tr,stress_lengths_tr,stress_amps_tr); | ||||
| tr->charset_a0 = charsets[9]; // ISO-8859-9 - Latin5 | tr->charset_a0 = charsets[9]; // ISO-8859-9 - Latin5 | ||||
| tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable | tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable | ||||
| tr->langopts.stress_flags = 0x20; //no automatic secondary stress | |||||
| tr->langopts.numbers = 0x1d09 + 0x4000; | |||||
| tr->langopts.numbers = 0x1509 + 0x4000; | |||||
| tr->langopts.max_initial_consonants = 2; | tr->langopts.max_initial_consonants = 2; | ||||
| } | } | ||||
| break; | break; | ||||
| langopts.param[LOPT_PREFIXES] = 1; | langopts.param[LOPT_PREFIXES] = 1; | ||||
| SetLetterVowel(this,'y'); // add 'y' to vowels | SetLetterVowel(this,'y'); // add 'y' to vowels | ||||
| langopts.numbers = 0x0d1 + NUM_ROMAN; | |||||
| langopts.numbers = 0x8d1 + NUM_ROMAN; | |||||
| memcpy(stress_lengths,stress_lengths2,sizeof(stress_lengths)); | memcpy(stress_lengths,stress_lengths2,sizeof(stress_lengths)); | ||||
| } | } | ||||
| int word_length; | int word_length; | ||||
| int ix; | int ix; | ||||
| int posn; | int posn; | ||||
| int pfix; | |||||
| int n_chars; | |||||
| unsigned int dictionary_flags[2]; | unsigned int dictionary_flags[2]; | ||||
| unsigned int dictionary_flags2[2]; | unsigned int dictionary_flags2[2]; | ||||
| int end_type=0; | int end_type=0; | ||||
| char prefix_phonemes[N_WORD_PHONEMES]; | char prefix_phonemes[N_WORD_PHONEMES]; | ||||
| char end_phonemes[N_WORD_PHONEMES]; | char end_phonemes[N_WORD_PHONEMES]; | ||||
| char word_copy[N_WORD_BYTES]; | char word_copy[N_WORD_BYTES]; | ||||
| char prefix_chars[N_WORD_BYTES]; | |||||
| int found=0; | int found=0; | ||||
| int end_flags; | int end_flags; | ||||
| char c_temp; // save a character byte while we temporarily replace it with space | char c_temp; // save a character byte while we temporarily replace it with space | ||||
| { | { | ||||
| // Found a standard prefix, remove it and retranslate | // Found a standard prefix, remove it and retranslate | ||||
| if(confirm_prefix) | |||||
| if(confirm_prefix && !(end_type & SUFX_B)) | |||||
| { | { | ||||
| int end2; | int end2; | ||||
| char phonemes2[N_WORD_PHONEMES]; | char phonemes2[N_WORD_PHONEMES]; | ||||
| } | } | ||||
| } | } | ||||
| strcat(prefix_phonemes,end_phonemes); | |||||
| end_phonemes[0] = 0; | |||||
| prefix_type = end_type; | prefix_type = end_type; | ||||
| if(prefix_type & SUFX_V) | if(prefix_type & SUFX_V) | ||||
| } | } | ||||
| wordx[-1] = c_temp; | wordx[-1] = c_temp; | ||||
| for(ix=(prefix_type & 0xf); ix>0; ix--) // num. of characters to remove | |||||
| pfix = 1; | |||||
| prefix_chars[0] = 0; | |||||
| n_chars = prefix_type & 0x3f; | |||||
| for(ix=0; ix < n_chars; ix++) // num. of characters to remove | |||||
| { | { | ||||
| wordx++; | |||||
| while((*wordx & 0xc0) == 0x80) wordx++; // for multibyte characters | |||||
| prefix_chars[pfix++] = *wordx++; | |||||
| if((prefix_type & SUFX_B) && (ix == (n_chars-1))) | |||||
| { | |||||
| prefix_chars[pfix-1] = 0; // discard the last character of the prefix, this is the separator character | |||||
| } | |||||
| while((*wordx & 0xc0) == 0x80) | |||||
| { | |||||
| prefix_chars[pfix++] = *wordx++; // for multibyte characters | |||||
| } | |||||
| } | } | ||||
| prefix_chars[pfix] = 0; | |||||
| c_temp = wordx[-1]; | c_temp = wordx[-1]; | ||||
| wordx[-1] = ' '; | wordx[-1] = ' '; | ||||
| confirm_prefix = 1; | confirm_prefix = 1; | ||||
| if(prefix_type & SUFX_B) | |||||
| { | |||||
| // retranslate the prefix part | |||||
| char *wordpf; | |||||
| wordpf = &prefix_chars[1]; | |||||
| found = LookupDictList(&wordpf, phonemes, dictionary_flags, SUFX_P, wtab); // without prefix | |||||
| if(found == 0) | |||||
| { | |||||
| end_type = TranslateRules(wordpf, phonemes, N_WORD_PHONEMES, end_phonemes, 0, dictionary_flags[0]); | |||||
| strcat(prefix_phonemes, phonemes); | |||||
| } | |||||
| } | |||||
| strcat(prefix_phonemes,end_phonemes); | |||||
| end_phonemes[0] = 0; | |||||
| end_type = 0; | end_type = 0; | ||||
| found = LookupDictList(&wordx, phonemes, dictionary_flags2, SUFX_P, wtab); // without prefix | found = LookupDictList(&wordx, phonemes, dictionary_flags2, SUFX_P, wtab); // without prefix | ||||
| if(dictionary_flags[0]==0) | if(dictionary_flags[0]==0) |
| #define SUFX_F 0x2000 // verb follows | #define SUFX_F 0x2000 // verb follows | ||||
| #define SUFX_Q 0x4000 // don't retranslate | #define SUFX_Q 0x4000 // don't retranslate | ||||
| #define SUFX_T 0x10000 // don't affect the stress position in the stem | #define SUFX_T 0x10000 // don't affect the stress position in the stem | ||||
| #define SUFX_B 0x20000 // break, this character breaks the word into stem and suffix (used with SUFX_P) | |||||
| #define FLAG_ALLOW_TEXTMODE 0x02 // allow dictionary to translate to text rather than phonemes | #define FLAG_ALLOW_TEXTMODE 0x02 // allow dictionary to translate to text rather than phonemes | ||||
| #define FLAG_SUFX 0x04 | #define FLAG_SUFX 0x04 | ||||
| // bit8=only one primary stress in tens+units | // bit8=only one primary stress in tens+units | ||||
| // bit9=only one vowel betwen tens and units | // bit9=only one vowel betwen tens and units | ||||
| // bit10=omit "one" before "hundred" | // bit10=omit "one" before "hundred" | ||||
| // bit11=don't say 19** as nineteen hundred | |||||
| // bit11=say 19** as nineteen hundred | |||||
| // bit12=allow space as thousands separator (in addition to langopts.thousands_sep) | // bit12=allow space as thousands separator (in addition to langopts.thousands_sep) | ||||
| // bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro) | // bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro) | ||||
| // bit16=dot after number indicates ordinal | // bit16=dot after number indicates ordinal |