Мультиязычный синтез речи
форумчане! Можете ли немного подсказать, пожалуйста, можно-ли выбрать голос синтеза речи под определённую культуру приложения. Приложение имеет 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()); }
но это не работает (
P.S. Sys в коде выше - это элемент меню (MenuItem). Буду рад любой критике и советам! Заранее спасибо!