Многоязычный синтез речи

Можно-ли выбрать голос синтеза речи под определённую культуру приложения. Приложение имеет 4 культуры (CultureInfo) для смены локализации (перевода): русскую, украинскую, немецкую и английскую, а также в приложении подключен синтез речи (System.Speech). Проблема в том, что русский текст озвучивается без каких-либо проблем, а, например, английское слово Exit, вместо привычного "эксит" озвучивается как "ехит". Подскажите, пожалуйста, можно-ли как-то в зависимости от текущей культуры приложения выбрать голос для синтеза речи, пробовал вот так:

if (CultureInfo.CurrentCulture.Name == "en-US")
{
     speechSynthesizer.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult, 0, CultureInfo.GetCultureInfo("en-US"));
     speechSynthesizer.SpeakAsync(Sys.Header.ToString());
} else if (CultureInfo.CurrentCulture.Name == "de-DE") {
     speechSynthesizer.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult, 0, CultureInfo.GetCultureInfo("de-DE"));
     speechSynthesizer.SpeakAsync(Sys.Header.ToString());
} else if (CultureInfo.CurrentCulture.Name == "ru-RU") {
     speechSynthesizer.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult, 0, CultureInfo.GetCultureInfo("ru-RU"));
     speechSynthesizer.SpeakAsync(Sys.Header.ToString());
} else { speechSynthesizer.SpeakAsync(Sys.Header.ToString()); }

но это не работает, конструкция switch-case также не даёт результатов(

P.S. Sys в коде выше - это элемент меню (MenuItem).


Ответы (0 шт):