Browse Source

translate fix (#2047)

master
Alexander Epaneshnikov 7 months ago
parent
commit
90220323f3
No account linked to committer's email address
2 changed files with 9 additions and 2 deletions
  1. 3
    2
      src/libespeak-ng/translate.c
  2. 6
    0
      tests/translate.test

+ 3
- 2
src/libespeak-ng/translate.c View File

@@ -1271,7 +1271,8 @@ void TranslateClauseWithTerminator(Translator *tr, int *tone_out, char **voice_c
} else {
if (iswlower(prev_in)) {
// lower case followed by upper case, possibly CamelCase
if (UpperCaseInWord(tr, &sbuf[ix], c) == 0) { // start a new word
if ((prev_out != ' ') && UpperCaseInWord(tr, &sbuf[ix], c) == 0)
{ // start a new word
c = ' ';
space_inserted = true;
prev_in_save = c;
@@ -1282,7 +1283,7 @@ void TranslateClauseWithTerminator(Translator *tr, int *tone_out, char **voice_c

if ((tr->translator_name == L('n', 'l')) && (letter_count == 2) && (c == 'j') && (prev_in == 'I')) {
// Dutch words may capitalise initial IJ, don't split
} else if (IsAlpha(next2_in)) {
} else if ((prev_out != ' ') && IsAlpha(next2_in)) {
// changing from upper to lower case, start new word at the last uppercase, if 3 or more letters
c = ' ';
space_inserted = true;

+ 6
- 0
tests/translate.test View File

@@ -113,3 +113,9 @@ p'a
k'e:r@l.@m
t'a:m@ra
p'o:le" "ക: ത: പ: കേരളം: താമര: പോലെ:"


# https://github.com/espeak-ng/espeak-ng/pull/1743
test_phon ru "k'oS(en)k'A:(ru)" "кошKa"
test_phon ru "'ju(en)m'Vni(ru)" "юMoney"
test_phon ru "'ju(en)m'Vni(ru)" "ЮMoney"

Loading…
Cancel
Save