// ?3 Bosnian (Bosna and Hercegovina) | // ?3 Bosnian (Bosna and Hercegovina) | ||||
// ?4 Serbian & Bosnian | // ?4 Serbian & Bosnian | ||||
.replace | |||||
// Cyrl Latn -- Cyrillic to Latin | |||||
а a // U+0430 | |||||
б b // U+0431 | |||||
в v // U+0432 | |||||
г g // U+0433 | |||||
д d // U+0434 | |||||
е e // U+0435 | |||||
ж ž // U+0436 | |||||
з z // U+0437 | |||||
и i // U+0438 | |||||
к k // U+043A | |||||
л l // U+043B | |||||
м m // U+043C | |||||
н n // U+043D | |||||
о o // U+043E | |||||
п p // U+043F | |||||
р r // U+0440 | |||||
с s // U+0441 | |||||
т t // U+0442 | |||||
у u // U+0443 | |||||
ф f // U+0444 | |||||
х h // U+0445 | |||||
ц c // U+0446 | |||||
ч č // U+0447 | |||||
ш š // U+0161 | |||||
ђ đ // U+0452 | |||||
ѓ đ // U+0453 | |||||
ѕ dz // U+0455 | |||||
ј j // U+0458 | |||||
љ lj // U+0459 | |||||
њ nj // U+045A | |||||
ћ ć // U+045B | |||||
ќ ć // U+045C | |||||
џ dž // U+045F | |||||
.group a | .group a | ||||
a a | a a | ||||
X) a ($w_alt1 a: | X) a ($w_alt1 a: |
// ?3 Bosnian (Bosna and Hercegovina) | // ?3 Bosnian (Bosna and Hercegovina) | ||||
// ?4 Serbian & Bosnian | // ?4 Serbian & Bosnian | ||||
.replace | |||||
// Cyrl Latn -- Cyrillic to Latin | |||||
а a // U+0430 | |||||
б b // U+0431 | |||||
в v // U+0432 | |||||
г g // U+0433 | |||||
д d // U+0434 | |||||
е e // U+0435 | |||||
ж ž // U+0436 | |||||
з z // U+0437 | |||||
и i // U+0438 | |||||
к k // U+043A | |||||
л l // U+043B | |||||
м m // U+043C | |||||
н n // U+043D | |||||
о o // U+043E | |||||
п p // U+043F | |||||
р r // U+0440 | |||||
с s // U+0441 | |||||
т t // U+0442 | |||||
у u // U+0443 | |||||
ф f // U+0444 | |||||
х h // U+0445 | |||||
ц c // U+0446 | |||||
ч č // U+0447 | |||||
ш š // U+0161 | |||||
ђ đ // U+0452 | |||||
ѓ đ // U+0453 | |||||
ѕ dz // U+0455 | |||||
ј j // U+0458 | |||||
љ lj // U+0459 | |||||
њ nj // U+045A | |||||
ћ ć // U+045B | |||||
ќ ć // U+045C | |||||
џ dž // U+045F | |||||
.group a | .group a | ||||
a a | a a | ||||
X) a ($w_alt1 a: | X) a ($w_alt1 a: |
.L03 a e | .L03 a e | ||||
.L04 l v | .L04 l v | ||||
.replace | |||||
// Cyrl Latn -- Cyrillic to Latin | |||||
а a // U+0430 | |||||
б b // U+0431 | |||||
в v // U+0432 | |||||
г g // U+0433 | |||||
д d // U+0434 | |||||
е e // U+0435 | |||||
ж ž // U+0436 | |||||
з z // U+0437 | |||||
и i // U+0438 | |||||
к k // U+043A | |||||
л l // U+043B | |||||
м m // U+043C | |||||
н n // U+043D | |||||
о o // U+043E | |||||
п p // U+043F | |||||
р r // U+0440 | |||||
с s // U+0441 | |||||
т t // U+0442 | |||||
у u // U+0443 | |||||
ф f // U+0444 | |||||
х h // U+0445 | |||||
ц c // U+0446 | |||||
ч č // U+0447 | |||||
ш š // U+0161 | |||||
ђ đ // U+0452 | |||||
ѓ đ // U+0453 | |||||
ѕ dz // U+0455 | |||||
ј j // U+0458 | |||||
љ lj // U+0459 | |||||
њ nj // U+045A | |||||
ћ ć // U+045B | |||||
ќ ć // U+045C | |||||
џ dž // U+045F | |||||
.group a | .group a | ||||
a a: | a a: |
// ?3 Bosnian (Bosna and Hercegovina) | // ?3 Bosnian (Bosna and Hercegovina) | ||||
// ?4 Serbian & Bosnian | // ?4 Serbian & Bosnian | ||||
.replace | |||||
// Cyrl Latn -- Cyrillic to Latin | |||||
а a // U+0430 | |||||
б b // U+0431 | |||||
в v // U+0432 | |||||
г g // U+0433 | |||||
д d // U+0434 | |||||
е e // U+0435 | |||||
ж ž // U+0436 | |||||
з z // U+0437 | |||||
и i // U+0438 | |||||
к k // U+043A | |||||
л l // U+043B | |||||
м m // U+043C | |||||
н n // U+043D | |||||
о o // U+043E | |||||
п p // U+043F | |||||
р r // U+0440 | |||||
с s // U+0441 | |||||
т t // U+0442 | |||||
у u // U+0443 | |||||
ф f // U+0444 | |||||
х h // U+0445 | |||||
ц c // U+0446 | |||||
ч č // U+0447 | |||||
ш š // U+0161 | |||||
ђ đ // U+0452 | |||||
ѓ đ // U+0453 | |||||
ѕ dz // U+0455 | |||||
ј j // U+0458 | |||||
љ lj // U+0459 | |||||
њ nj // U+045A | |||||
ћ ć // U+045B | |||||
ќ ć // U+045C | |||||
џ dž // U+045F | |||||
.group a | .group a | ||||
a a | a a | ||||
X) a ($w_alt1 a: | X) a ($w_alt1 a: |
0x7fff | 0x7fff | ||||
}; | }; | ||||
static const unsigned int replace_cyrillic_latin[] = | |||||
{ 0x430, 'a', | |||||
0x431, 'b', | |||||
0x446, 'c', | |||||
0x45b, 0x107, | |||||
0x447, 0x10d, | |||||
0x45f, 'd'+(0x17e<<16), | |||||
0x455, 'd'+('z'<<16), | |||||
0x434, 'd', | |||||
0x452, 0x111, | |||||
0x435, 'e', | |||||
0x444, 'f', | |||||
0x433, 'g', | |||||
0x445, 'h', | |||||
0x438, 'i', | |||||
0x458, 'j', | |||||
0x43a, 'k', | |||||
0x459, 'l'+('j'<<16), | |||||
0x43b, 'l', | |||||
0x43c, 'm', | |||||
0x45a, 'n'+('j'<<16), | |||||
0x43d, 'n', | |||||
0x43e, 'o', | |||||
0x43f, 'p', | |||||
0x440, 'r', | |||||
0x441, 's', | |||||
0x448, 0x161, | |||||
0x442, 't', | |||||
0x443, 'u', | |||||
0x432, 'v', | |||||
0x437, 'z', | |||||
0x436, 0x17e, | |||||
0x453, 0x111, | |||||
0x45c, 0x107, | |||||
0 }; // ѓ ѕ ќ | |||||
static const unsigned char ru_vowels[] = { // (also kazakh) offset by 0x420 -- а е ё и о у ы э ю я ә ө ұ ү і | static const unsigned char ru_vowels[] = { // (also kazakh) offset by 0x420 -- а е ё и о у ы э ю я ә ө ұ ү і | ||||
0x10, 0x15, 0x31, 0x18, 0x1e, 0x23, 0x2b, 0x2d, 0x2e, 0x2f, 0xb9, 0xc9, 0x91, 0x8f, 0x36, 0 | 0x10, 0x15, 0x31, 0x18, 0x1e, 0x23, 0x2b, 0x2d, 0x2e, 0x2f, 0xb9, 0xc9, 0x91, 0x8f, 0x36, 0 | ||||
}; | }; | ||||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_DECIMAL_COMMA | NUM_THOUS_SPACE | NUM_DFRACTION_2 | NUM_ROMAN_CAPITALS; | tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_DECIMAL_COMMA | NUM_THOUS_SPACE | NUM_DFRACTION_2 | NUM_ROMAN_CAPITALS; | ||||
tr->langopts.numbers2 = 0xa + NUM2_THOUSANDS_VAR5; // variant numbers before thousands,milliards | tr->langopts.numbers2 = 0xa + NUM2_THOUSANDS_VAR5; // variant numbers before thousands,milliards | ||||
tr->langopts.replace_chars = replace_cyrillic_latin; | |||||
tr->langopts.our_alphabet = OFFSET_CYRILLIC; // don't say "cyrillic" before letter names | tr->langopts.our_alphabet = OFFSET_CYRILLIC; // don't say "cyrillic" before letter names | ||||
} | } | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; | ||||
tr->langopts.numbers2 = 0x100; // plural forms of millions etc | tr->langopts.numbers2 = 0x100; // plural forms of millions etc | ||||
tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator | tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator | ||||
tr->langopts.replace_chars = replace_cyrillic_latin; | |||||
break; | break; | ||||
case L('s', 'q'): // Albanian | case L('s', 'q'): // Albanian | ||||
{ | { |
" (en)f'Ut str'Vt(bg)" \ | " (en)f'Ut str'Vt(bg)" \ | ||||
"foot strut" | "foot strut" | ||||
# This uses a pangram for Cyrillic letter coverage. | |||||
test_phonemes bs "Cyrillic" \ | |||||
" l^'ub&znI f'@ 'E slovo_|tS'EtIRI_|S'Est_|p'Et_: R'@ slovo_|tS'EtIRI_|S'Est_|d'EvEt_: I j'@2 & & tS'@_:_: & slovo_|tS'EtIRI_|S'Est_|j'ed&n_: v'@ tS'@ g'@ l'its& x'otS;E d'a m'i p'ok&ZE St'os" \ | |||||
"Љубазни фењерџија чађавог лица хоће да ми покаже штос." | |||||
test_phonemes bs "Latin" \ | |||||
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \ | |||||
"Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos." | |||||
test_phonemes de - \ | test_phonemes de - \ | ||||
" dr'Uk3 l'amp@ kOmpj'u:t3 St'Ern St'Ern@" \ | " dr'Uk3 l'amp@ kOmpj'u:t3 St'Ern St'Ern@" \ | ||||
"drucker lampe computer stern sterne" | "drucker lampe computer stern sterne" | ||||
# This word list is an extended version of Wells' Lexical Sets, used to cover | |||||
# different accent pronunciation. | |||||
test_phonemes en - \ | test_phonemes en - \ | ||||
" k'It dr'Es tr'ap l'0t str'Vt f'Ut fl'i:s p'A:m T'O:t g'u:s n'3:s st'A@t n'O@T f'o@s kj'U@ n,i@3 skw'e@ t'3:m b'3:d h'api k'0m@ l'Et3r- Ekspl'o@ r'oUzI2z r'abIt f'eIs pr'aIs tS'OIs g'oUt m'aUT b'aaT kl'0T m'Ili@n dI2v'aIdI2d" \ | " k'It dr'Es tr'ap l'0t str'Vt f'Ut fl'i:s p'A:m T'O:t g'u:s n'3:s st'A@t n'O@T f'o@s kj'U@ n,i@3 skw'e@ t'3:m b'3:d h'api k'0m@ l'Et3r- Ekspl'o@ r'oUzI2z r'abIt f'eIs pr'aIs tS'OIs g'oUt m'aUT b'aaT kl'0T m'Ili@n dI2v'aIdI2d" \ | ||||
"kit dress trap lot strut foot fleece palm thought goose nurse start north force cure near square term bird happy comma letter explore roses rabbit face price choice goat mouth bath cloth million divided" | "kit dress trap lot strut foot fleece palm thought goose nurse start north force cure near square term bird happy comma letter explore roses rabbit face price choice goat mouth bath cloth million divided" | ||||
" (en)f'Ut str'Vt(fa)" \ | " (en)f'Ut str'Vt(fa)" \ | ||||
"foot strut" | "foot strut" | ||||
# This uses a pangram for Cyrillic letter coverage. | |||||
test_phonemes hr "Cyrillic" \ | |||||
" l^'ub&znI f'@ 'E slovo_|tS'EtIRI_|S'Est_|p'Et_: R'@ slovo_|tS'EtIRI_|S'Est_|d'EvEt_: I j'@2 & & tS'@_:_: & slovo_|tS'EtIRI_|S'Est_|j'ed&n_: v'@ tS'@ g'@ l'its& x'otS;E d'a m'i p'ok&ZE St'os" \ | |||||
"Љубазни фењерџија чађавог лица хоће да ми покаже штос." | |||||
test_phonemes hr "Latin" \ | |||||
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \ | |||||
"Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos." | |||||
test_phonemes ja "Hiragana" \ | test_phonemes ja "Hiragana" \ | ||||
" k'a k'i k'u k'e k'o" \ | " k'a k'i k'u k'e k'o" \ | ||||
"か き く け こ" | "か き く け こ" | ||||
test_phonemes ru "Cyrillic" \ | test_phonemes ru "Cyrillic" \ | ||||
" 'Ab;i ab;'8 'AbjE 'Ab;I 'Abji 'Ap; 'Ab;u\" 'Ab;V" \ | " 'Ab;i ab;'8 'AbjE 'Ab;I 'Abji 'Ap; 'Ab;u\" 'Ab;V" \ | ||||
"абе абё абє аби абї абь абю абя" | "абе абё абє аби абї абь абю абя" | ||||
# This uses a pangram for Cyrillic letter coverage. | |||||
test_phonemes sl "Cyrillic" \ | |||||
" w k O Z'@ 'u: S'@ tsiR'i:litSnil'et@_|St'i:Ri_|S'e:st_|b'@_: 'u: k O Z'@ 'u: S'@ tsiR'i:litSnil'et@_|St'i:Ri_|S'e:st_|b'@_: 'u: xudObn'e:ga f'@ a n'@ tsiR'i:litSnil'et@_|St'i:Ri_|S'e:st_|'E:na_: stOp'i:tslja m'i:zaR" \ | |||||
"В кожушчку худобнега фанта стопицља мизар." | |||||
test_phonemes sl "Latin" \ | |||||
" ukOZ'u:StSku xudObn'e:ga f'a:nta stOp'i:tslja m'i:zaR" \ | |||||
"V kožuščku hudobnega fanta stopiclja mizar." | |||||
# This uses a pangram for Cyrillic letter coverage. | |||||
test_phonemes sr "Cyrillic" \ | |||||
" l^'ub&znI f'@ 'E slovo_|tS'EtIRI_|S'Est_|p'Et_: R'@ slovo_|tS'EtIRI_|S'Est_|d'EvEt_: I j'@2 & & tS'@_:_: & slovo_|tS'EtIRI_|S'Est_|j'ed&n_: v'@ tS'@ g'@ l'its& x'otS;E d'a m'i p'ok&ZE St'os" \ | |||||
"Љубазни фењерџија чађавог лица хоће да ми покаже штос." | |||||
test_phonemes sr "Latin" \ | |||||
" l^'ub&znI f'En^eRdZ,Ij& tS'adZ;&vog l'its& x'otS;E d'a m'i p'ok&ZE St'os" \ | |||||
"Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos." |