diff options
author | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2018-11-22 15:30:15 +0300 |
---|---|---|
committer | mpimenov <mpimenov@users.noreply.github.com> | 2018-12-06 18:19:54 +0300 |
commit | f28570372a6decda542704e119c5e09fa63e6ebc (patch) | |
tree | 89bf604554234029f2dc691529c5aea24949cf7f /indexer | |
parent | 9a18c6122454a5634a5b43e01dec81b0652527d9 (diff) |
[descriptions] Feature description reading for the place page.
Diffstat (limited to 'indexer')
-rw-r--r-- | indexer/feature_utils.cpp | 7 | ||||
-rw-r--r-- | indexer/feature_utils.hpp | 11 |
2 files changed, 17 insertions, 1 deletions
diff --git a/indexer/feature_utils.cpp b/indexer/feature_utils.cpp index b073749ca7..c0d0c0146d 100644 --- a/indexer/feature_utils.cpp +++ b/indexer/feature_utils.cpp @@ -15,7 +15,6 @@ #include <unordered_map> #include <utility> -#include <vector> using namespace std; @@ -367,4 +366,10 @@ bool GetPreferredName(StringUtf8Multilang const & src, int8_t deviceLang, string auto const priorityList = MakePrimaryNamePriorityList(deviceLang, true /* preferDefault */); return GetBestName(src, priorityList, out); } + +vector<int8_t> GetDescriptionLangPriority(RegionData const & regionData, int8_t const deviceLang) +{ + bool const preferDefault = IsNativeLang(regionData, deviceLang); + return MakePrimaryNamePriorityList(deviceLang, preferDefault); +} } // namespace feature diff --git a/indexer/feature_utils.hpp b/indexer/feature_utils.hpp index ac45f932e2..719fa908a4 100644 --- a/indexer/feature_utils.hpp +++ b/indexer/feature_utils.hpp @@ -4,6 +4,8 @@ #include "base/base.hpp" +#include <vector> + struct FeatureID; class StringUtf8Multilang; @@ -64,4 +66,13 @@ namespace feature /// Returns preferred name when only the device language is available. bool GetPreferredName(StringUtf8Multilang const & src, int8_t deviceLang, string & out); + + /// Returns priority list of language codes for feature description, + /// the priority is the following: + /// - device language code; + /// - default language code if MWM contains user's language (or similar to device languages if provided); + /// - similar to device languages if provided; + /// - international language code; + /// - english language code; + std::vector<int8_t> GetDescriptionLangPriority(RegionData const & regionData, int8_t const deviceLang); } // namespace feature |