Files
comaps/platform/preferred_languages.hpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

31 lines
1.1 KiB
C++

#pragma once
#include "base/buffer_vector.hpp"
#include <string>
namespace languages
{
/// @note These functions are heavy enough to call them often. Be careful.
/// @return List of original system languages in the form "en-US|ru-RU|es|zh-Hant".
std::string GetPreferred();
/// @return Original language code for the current user in the form "en-US", "zh-Hant".
std::string GetCurrentOrig();
/// @return Current language in out Twine translations compatible format, e.g. "en", "pt" or "zh-Hant".
std::string GetCurrentTwine();
std::string GetCurrentMapTwine();
/// @return Normalized language code for the current user in the form "en", "zh".
/// Returned languages are normalized to our supported languages in the core, see
/// string_utf8_multilang.cpp and should not be used with any sub-locales like zh-Hans/zh-Hant. Some
/// langs like Danish (da) are not supported in the core too, but used as a locale.
std::string Normalize(std::string_view lang);
std::string GetCurrentNorm();
std::string GetCurrentMapLanguage();
buffer_vector<std::string, 4> const & GetSystemPreferred();
} // namespace languages