diff options
author | Konstantin Shalnev <c.shalnev@corp.mail.ru> | 2015-10-14 16:10:36 +0300 |
---|---|---|
committer | Konstantin Shalnev <c.shalnev@corp.mail.ru> | 2015-10-14 16:10:36 +0300 |
commit | cf025d9107ff67979a1980d41ebdccc954fba8e6 (patch) | |
tree | 7b24f034401b6d8f2ebaf52540be9a1103990a63 /routing/turns_tts_text.cpp | |
parent | 6c404d12b95ccc0d5c45453f28f56eae982070db (diff) | |
parent | d54a413afe6486715c3522305c0c2e6c1cabbba6 (diff) |
Merge pull request #230 from bykoianko/tts-unsupported-languages-by-app
Using English in TTS if sound.txt doesn't contain the current languag
Diffstat (limited to 'routing/turns_tts_text.cpp')
-rw-r--r-- | routing/turns_tts_text.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/routing/turns_tts_text.cpp b/routing/turns_tts_text.cpp index 6493131733..4682490d31 100644 --- a/routing/turns_tts_text.cpp +++ b/routing/turns_tts_text.cpp @@ -36,16 +36,12 @@ namespace sound { void GetTtsText::SetLocale(string const & locale) { - m_locale = locale; - m_getCurLang.reset(new platform::GetTextById(platform::TextSource::TtsSound, locale)); - /// @todo Factor out file check from constructor and do not create m_getCurLang object in case of error. - ASSERT(m_getCurLang, ()); + m_getCurLang = platform::GetTextByIdFactory(platform::TextSource::TtsSound, locale); } -void GetTtsText::ForTestingSetLocaleWithJson(string const & jsonBuffer) +void GetTtsText::ForTestingSetLocaleWithJson(string const & jsonBuffer, string const & locale) { - m_getCurLang.reset(new platform::GetTextById(jsonBuffer)); - ASSERT(m_getCurLang && m_getCurLang->IsValid(), ()); + m_getCurLang = platform::ForTestingGetTextByIdFactory(jsonBuffer, locale); } string GetTtsText::operator()(Notification const & notification) const @@ -63,14 +59,24 @@ string GetTtsText::operator()(Notification const & notification) const return distStr + " " + dirStr; } +string GetTtsText::GetLocale() const +{ + if (m_getCurLang == nullptr) + { + ASSERT(false, ()); + return string(); + } + return m_getCurLang->GetLocale(); +} + string GetTtsText::GetTextById(string const & textId) const { ASSERT(!textId.empty(), ()); - if (!m_getCurLang || !m_getCurLang->IsValid()) + if (m_getCurLang == nullptr) { ASSERT(false, ()); - return ""; + return string(); } return (*m_getCurLang)(textId); } |