не хочу тянуть qt, gtk+ и другие движки, то какой паттерн подойдет для переводов?
хочу писать
constexpr auto hello = "Привет, мир!"
/ * ... */
tr(lang, hello);
/ * ... */
tr(lang, hello);
/ * ... */
tr(lang, hello);
где lang - это перечисление в рантайме, например, ru_Rus, ru_Ukr, en_Us
делать что-то вроде такого?! или есть идеи лучше?
const std::unordered_map<char*, std::unordered_map<lang, std::string>> translates = { /* .... */};
string_view tr(lang lang, const char * const str)
{
return translates[str][lang]
}
а чего-нибудь более стандартного для локализации разве нет?
https://ru.wikipedia.org/wiki/Gettext ?
Обсуждают сегодня