eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

language-replace.test 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #!/bin/sh
  2. test_replace() {
  3. TEST_LANG=$1
  4. TEST_TEXT=$2
  5. TEST_BROKEN=${3:-false}
  6. echo "testing ${TEST_LANG}"
  7. ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
  8. src/espeak-ng -Xq -v ${TEST_LANG} "${TEST_TEXT}" | grep -E "(Translate|Found:) " | sed -e 's/ \[.*][ ]*$//g' > actual.txt
  9. if [ x$TEST_BROKEN = xbroken ] ; then
  10. diff expected.txt actual.txt || (echo "... ignoring error (broken)" && true)
  11. else
  12. diff expected.txt actual.txt || exit 1
  13. fi
  14. }
  15. ##### bs: Bosnian
  16. # Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.
  17. cat > expected.txt <<EOF
  18. Translate 'ljubazni'
  19. Translate 'fenjerdžija'
  20. Translate 'čađavog'
  21. Translate 'lica'
  22. Translate 'hoće'
  23. Translate 'da'
  24. Translate 'mi'
  25. Translate 'pokaže'
  26. Translate 'štos'
  27. EOF
  28. test_replace bs "Љубазни фењерџија чађавог лица хоће да ми покаже штос."
  29. ##### en: English
  30. cat > expected.txt <<EOF
  31. Translate 'aeon'
  32. Found: 'mediaeval'
  33. Translate 'oeconomy'
  34. Found: 'phoenix'
  35. Translate 'loft'
  36. Translate 'history'
  37. EOF
  38. test_replace en "Æon mediæval. Œconomy phœnix. Loſt history."
  39. ##### hr: Croatian
  40. # Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.
  41. cat > expected.txt <<EOF
  42. Translate 'ljubazni'
  43. Translate 'fenjerdžija'
  44. Translate 'čađavog'
  45. Translate 'lica'
  46. Translate 'hoće'
  47. Translate 'da'
  48. Translate 'mi'
  49. Translate 'pokaže'
  50. Translate 'štos'
  51. EOF
  52. test_replace hr "Љубазни фењерџија чађавог лица хоће да ми покаже штос."
  53. ##### ja: Japanese
  54. # いろはにほへと. ちりぬるを. わかよたれそ. つねならむ. うゐのおくやま. けふこえて. あさきゆめみし. ゑひもせすん.
  55. cat > expected.txt <<EOF
  56. Translate 'いろはにほへと'
  57. Translate 'ちりぬるを'
  58. Translate 'わかよたれそ'
  59. Translate 'つねならむ'
  60. Translate 'うゐのおくやま'
  61. Translate 'けふこえて'
  62. Translate 'あさきゆめみし'
  63. Translate 'ゑひもせすん'
  64. EOF
  65. test_replace ja "イロハニホヘト. チリヌルヲ. ワカヨタレソ. ツネナラム. ウヰノオクヤマ. ケフコエテ. アサキユメミシ. ヱヒモセスン."
  66. ##### mk: Macedonian
  67. # Ѕидарски пејзаж: шугав билмез со чудење џвака ќофте и кељ на туѓ цех.
  68. cat > expected.txt <<EOF
  69. Translate 'ѕидарски'
  70. Translate 'пејзаж'
  71. Translate 'шугав'
  72. Translate 'билмез'
  73. Found: 'со' [s_] \$brk
  74. Translate 'чудење'
  75. Translate 'џвака'
  76. Translate 'ќофте'
  77. Found: 'и' [i_:] \$u \$pause
  78. Translate 'кељ'
  79. Translate 'на'
  80. Translate 'туѓ'
  81. Translate 'цех'
  82. EOF
  83. test_replace mk "Dzidarski pejzaž: šugav bilmez so čudenje džvaka ćofte i kelj na tuđ ceh."
  84. ##### sr: Serbian
  85. # Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.
  86. cat > expected.txt <<EOF
  87. Translate 'ljubazni'
  88. Translate 'fenjerdžija'
  89. Translate 'čađavog'
  90. Translate 'lica'
  91. Translate 'hoće'
  92. Translate 'da'
  93. Translate 'mi'
  94. Translate 'pokaže'
  95. Translate 'štos'
  96. EOF
  97. test_replace sr "Љубазни фењерџија чађавог лица хоће да ми покаже штос."