private static string ToLocale(AnnotationLanguage language) { switch (language) { case AnnotationLanguage.Russian: case AnnotationLanguage.Turkish: case AnnotationLanguage.Ukrainian: return(language.ToString()); default: return(AnnotationLanguage.English.ToString()); } }
private double GetTokenDuration(PhraseToken token, AnnotationLanguage language, Sex speakerSex) { string localeKey = _commonTokens.Contains(token) ? "Common" : $"{ToLocale(language)}/{speakerSex.ToString().ToLower()}"; string key = GetFileName(token); double duration; if (!_durations.TryGetValue(Tuple.Create(localeKey, key), out duration)) { _logger.Warn($"No duration for {token} {language}"); } return(duration); }
public Uri GetFileUri(PhraseToken token, AnnotationLanguage language, Sex speakerSex) { string fileName = GetFileName(token); if (string.IsNullOrWhiteSpace(fileName)) { _logger.Warn($"No file for {token} {language}"); return(null); } return(_commonTokens.Contains(token) ? new Uri($"ms-appx:///Resources/Sounds/Guidance/Common/{fileName}.mp3") : new Uri($"ms-appx:///Resources/Sounds/Guidance/{ToLocale(language)}/{speakerSex.ToString().ToLower()}/{fileName}.mp3")); }