Browse Source

Russian_update (#1440)

master
Alexander Epaneshnikov 2 years ago
parent
commit
caad124bde
No account linked to committer's email address
4 changed files with 6 additions and 3 deletions
  1. 1
    0
      dictsource/ru_list
  2. 2
    0
      dictsource/ru_rules
  3. 2
    2
      src/libespeak-ng/numbers.c
  4. 1
    1
      src/libespeak-ng/tr_languages.c

+ 1
- 0
dictsource/ru_list View File

@@ -250,6 +250,7 @@ _с Es
(в города) v||gV#rV#d'A
(в кому) f||k'omu
(во время оно) v'o||v@-r;'em;V||'onV
(вряд ли) v@-r;'Atl;I
(всё-таки) fs;'8tVk;I
(где-то) gd;'etV
(зачем-то) zatS;'emtV

+ 2
- 0
dictsource/ru_rules View File

@@ -84,6 +84,7 @@
в (ч f
в (щ f
в (ь_ f;
в (ьт f;
здра) в (ств // silent v(не произносимая в)
чу) в (ств // silent v(не произносимая в)

@@ -136,6 +137,7 @@
д (к t
д (нь d;
д (п t
д (с t
д (сY t;
д (тY t;
д (фY t

+ 2
- 2
src/libespeak-ng/numbers.c View File

@@ -1316,7 +1316,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, bool suppress_nul

if (LookupThousands(tr, hundreds / 10, tplex, exact | ordinal, ph_10T) == 0) {
x = 0;
if (tr->langopts.numbers2 & (1 << tplex))
if (tr->langopts.numbers2 & (1 << tplex) && tplex <= 3)
x = 8; // use variant (feminine) for before thousands and millions
if (tr->translator_name == L('m', 'l'))
x = 0x208;
@@ -1419,7 +1419,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, bool suppress_nul
x |= 4; // tens and units only, no higher digits
if (ordinal & 0x20)
x |= 0x20; // variant form of ordinal number
} else if (tr->langopts.numbers2 & (1 << thousandplex))
} else if (tr->langopts.numbers2 & (1 << thousandplex) && thousandplex <= 3)
x = 8; // use variant (feminine) for before thousands and millions

if ((tr->translator_name == L('m', 'l')) && (thousandplex == 1))

+ 1
- 1
src/libespeak-ng/tr_languages.c View File

@@ -1656,5 +1656,5 @@ static void Translator_Russian(Translator *tr)

tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED;
tr->langopts.numbers2 = NUM2_THOUSANDPLEX_VAR_THOUSANDS | NUM2_THOUSANDS_VAR1; // variant numbers before thousands
tr->langopts.max_digits = 18;
tr->langopts.max_digits = 32;
}

Loading…
Cancel
Save