| 24 | } |
| 25 | |
| 26 | std::string GetPreferredBookmarkStrForKml(LocalizableString const & name, std::vector<localisation::LanguageIndex> const languageIndexes) |
| 27 | { |
| 28 | if (name.size() == 1) |
| 29 | return name.begin()->second; |
| 30 | |
| 31 | /// @todo Complicated logic here when transforming LocalizableString -> StringUtf8Multilang to call GetPreferredName. |
| 32 | StringUtf8Multilang nameMultilang; |
| 33 | for (auto const & pair : name) |
| 34 | nameMultilang.AddString(pair.first, pair.second); |
| 35 | |
| 36 | std::optional<std::string> translatedName = localisation::TranslatedFeatureName(nameMultilang, languageIndexes).m_primary; |
| 37 | if (translatedName.has_value()) |
| 38 | return translatedName.value(); |
| 39 | |
| 40 | return {}; |
| 41 | } |
| 42 | |
| 43 | std::string GetLocalizedFeatureType(std::vector<uint32_t> const & types) |
| 44 | { |