Support multilang, update code

Signed-off-by: R4SAS <r4sas@i2pmail.org>
This commit is contained in:
R4SAS 2021-05-22 18:29:05 +03:00
parent 0e68fe4a57
commit 80b44fc9a9
No known key found for this signature in database
GPG key ID: 66F6C87B98EBCFE2
10 changed files with 124 additions and 28 deletions

View file

@ -9,9 +9,16 @@
#ifndef __I18N_H__
#define __I18N_H__
#include "RouterContext.h"
namespace i2p {
namespace i18n {
namespace english {
std::string GetString (std::string arg);
std::string GetPlural (std::string arg, int n);
}
namespace russian {
std::string GetString (std::string arg);
std::string GetPlural (std::string arg, int n);
@ -19,13 +26,23 @@ namespace i18n {
std::string translate (std::string arg)
{
return i2p::i18n::russian::GetString (arg);
switch (i2p::context.GetLanguage ())
{
case eEnglish: return i2p::i18n::english::GetString (arg);
case eRussian: return i2p::i18n::russian::GetString (arg);
default: return arg;
}
}
template<typename inttype>
std::string translate (std::string arg, inttype&& n)
{
return i2p::i18n::russian::GetPlural (arg, (int) n);
switch (i2p::context.GetLanguage ())
{
case eEnglish: return i2p::i18n::english::GetPlural (arg, (int) n);
case eRussian: return i2p::i18n::russian::GetPlural (arg, (int) n);
default: return arg;
}
}
} // i18n