From 8ab3fd325bc30f98b4e030726ed0b12723f964ef Mon Sep 17 00:00:00 2001 From: tatiana-kondakova Date: Wed, 11 Apr 2018 19:21:47 +0300 Subject: [PATCH] [search] Ranker::GetBestMatchName: assume default name is in mwm language --- search/ranker.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/search/ranker.cpp b/search/ranker.cpp index cf2ffd7623..69ef099987 100644 --- a/search/ranker.cpp +++ b/search/ranker.cpp @@ -560,7 +560,7 @@ void Ranker::MakeRankerResults(Geocoder::Params const & geocoderParams, void Ranker::GetBestMatchName(FeatureType const & f, string & name) const { KeywordLangMatcher::Score bestScore; - auto bestNameFinder = [&](int8_t lang, string const & s) { + auto updateScore = [&](int8_t lang, string const & s) { auto const score = m_keywordsScorer.CalcScore(lang, s); if (bestScore < score) { @@ -568,6 +568,19 @@ void Ranker::GetBestMatchName(FeatureType const & f, string & name) const name = s; } }; + + auto bestNameFinder = [&](int8_t lang, string const & s) { + updateScore(lang, s); + // Default name should be written in the regional language. + if (lang == StringUtf8Multilang::kDefaultCode) + { + auto const mwmInfo = f.GetID().m_mwmId.GetInfo(); + vector mwmLangCodes; + mwmInfo->GetRegionData().GetLanguages(mwmLangCodes); + for (auto const l : mwmLangCodes) + updateScore(l, s); + } + }; UNUSED_VALUE(f.ForEachName(bestNameFinder)); }