[win-linux] updatesvc: refactoring func Translator::tr

This commit is contained in:
SimplestStudio
2025-06-18 18:25:49 +03:00
parent b121ba6c05
commit af416f6e58
2 changed files with 6 additions and 11 deletions

View File

@ -133,17 +133,12 @@ Translator::~Translator()
}
tstring Translator::tr(const char *str)
tstring Translator::tr(const tchar *str) const
{
#ifdef _WIN32
tstring translatedStr = StrToWStr(str);
#else
tstring translatedStr = str;
#endif
if (is_translations_valid) {
auto it = translMap.find(translatedStr);
auto it = translMap.find(str);
if (it != translMap.end()) {
LocaleMap &lcmap = it->second;
const LocaleMap &lcmap = it->second;
auto lc_it = lcmap.find(langName);
if (lc_it == lcmap.end()) {
tstring primaryLangAndScript = getPrimaryLang(langName, true);
@ -158,7 +153,7 @@ tstring Translator::tr(const char *str)
return lc_it->second;
}
}
return translatedStr;
return str;
}
void Translator::setLanguage(const tstring &lang)

View File

@ -13,7 +13,7 @@
# define tstring std::string
#endif
#define _TR(str) Translator::instance().tr(#str)
#define _TR(str) Translator::instance().tr(_T(#str))
using std::unordered_map;
@ -33,7 +33,7 @@ public:
#else
void init(const tstring &lang, const char *resourcePath);
#endif
tstring tr(const char*);
tstring tr(const tchar*) const;
void setLanguage(const tstring &lang);
private: