mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
update translation
This commit is contained in:
parent
8dac5e9a73
commit
cc6b885be3
@ -38,6 +38,16 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
|||||||
auto langCatalog = lm->getFreeCatalog(lang);
|
auto langCatalog = lm->getFreeCatalog(lang);
|
||||||
|
|
||||||
if(!form.empty()) {
|
if(!form.empty()) {
|
||||||
|
auto langBtn = form.get("lang", "");
|
||||||
|
bool langUpdated = false;
|
||||||
|
if(langBtn != "") {
|
||||||
|
auto updatedLang = chooseLanguage(request, langBtn);
|
||||||
|
if(updatedLang != lang) {
|
||||||
|
lang = updatedLang;
|
||||||
|
langCatalog = lm->getFreeCatalog(lang);
|
||||||
|
langUpdated = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
auto email = form.get("login-email", "");
|
auto email = form.get("login-email", "");
|
||||||
auto password = form.get("login-password", "");
|
auto password = form.get("login-password", "");
|
||||||
|
|
||||||
@ -81,7 +91,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else if(!langUpdated) {
|
||||||
addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("Username and password are needed!")));
|
addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("Username and password are needed!")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -134,7 +144,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
|||||||
responseStream << " <div class=\"col-12 logo-section\">\n";
|
responseStream << " <div class=\"col-12 logo-section\">\n";
|
||||||
responseStream << " <a href=\"../../index.html\" class=\"logo\">\n";
|
responseStream << " <a href=\"../../index.html\" class=\"logo\">\n";
|
||||||
responseStream << " <img src=\"";
|
responseStream << " <img src=\"";
|
||||||
#line 83 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
#line 93 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
responseStream << ( ServerConfig::g_php_serverPath );
|
responseStream << ( ServerConfig::g_php_serverPath );
|
||||||
responseStream << "img/logo_schrift.webp\" alt=\"logo\" />\n";
|
responseStream << "img/logo_schrift.webp\" alt=\"logo\" />\n";
|
||||||
responseStream << " </a>\n";
|
responseStream << " </a>\n";
|
||||||
@ -144,22 +154,43 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
|||||||
responseStream << " <div class=\"col-lg-5 col-md-7 col-sm-9 col-11 mx-auto\">\n";
|
responseStream << " <div class=\"col-lg-5 col-md-7 col-sm-9 col-11 mx-auto\">\n";
|
||||||
responseStream << " <div class=\"grid\">\n";
|
responseStream << " <div class=\"grid\">\n";
|
||||||
responseStream << "\t\t ";
|
responseStream << "\t\t ";
|
||||||
#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
#line 100 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
responseStream << ( getErrorsHtml() );
|
responseStream << ( getErrorsHtml() );
|
||||||
responseStream << "\n";
|
responseStream << "\n";
|
||||||
responseStream << " <div class=\"grid-body\">\n";
|
responseStream << " <div class=\"grid-body\">\n";
|
||||||
responseStream << " <form action=\"\" method=\"POST\">\n";
|
responseStream << " <form action=\"";
|
||||||
|
#line 102 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
|
responseStream << ( ServerConfig::g_serverPath );
|
||||||
|
responseStream << "/\" method=\"POST\">\n";
|
||||||
|
responseStream << "\t\t\t <input type=\"hidden\" name=\"lang\" value=\"";
|
||||||
|
#line 103 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
|
responseStream << ( LanguageManager::keyForLanguage(lang) );
|
||||||
|
responseStream << "\">\n";
|
||||||
responseStream << " <div class=\"row pull-right-row\">\n";
|
responseStream << " <div class=\"row pull-right-row\">\n";
|
||||||
responseStream << " <div class=\"equel-grid pull-right\">\n";
|
responseStream << " <div class=\"equel-grid pull-right\">\n";
|
||||||
responseStream << " <div class=\"grid-body-small text-center\">\n";
|
responseStream << " <div class=\"grid-body-small text-center\">\n";
|
||||||
responseStream << " <button id=\"flag-england\" name=\"lang\" value=\"en\" title=\"English\" type=\"submit\" class=\"btn btn-outline-secondary flag-btn\">\n";
|
responseStream << " <button id=\"flag-england\" name=\"lang\" value=\"en\" title=\"English\" type=\"submit\" ";
|
||||||
|
#line 107 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
|
if(lang != LANG_EN) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
|
||||||
|
#line 107 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
|
}
|
||||||
|
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
|
||||||
|
#line 108 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
|
} responseStream << ">\n";
|
||||||
responseStream << " <span class=\"flag-england\"></span>\n";
|
responseStream << " <span class=\"flag-england\"></span>\n";
|
||||||
responseStream << " </button>\n";
|
responseStream << " </button>\n";
|
||||||
responseStream << " </div>\n";
|
responseStream << " </div>\n";
|
||||||
responseStream << " </div>\n";
|
responseStream << " </div>\n";
|
||||||
responseStream << " <div class=\"equel-grid pull-right\">\n";
|
responseStream << " <div class=\"equel-grid pull-right\">\n";
|
||||||
responseStream << " <div class=\"grid-body-small text-center\">\n";
|
responseStream << " <div class=\"grid-body-small text-center\">\n";
|
||||||
responseStream << " <button id=\"flag-germany\" name=\"lang\" value=\"de\" title=\"Deutsch\" type=\"submit\" class=\"btn btn-secondary disabled flag-btn\" disabled>\n";
|
responseStream << " <button id=\"flag-germany\" name=\"lang\" value=\"de\" title=\"Deutsch\" type=\"submit\" ";
|
||||||
|
#line 115 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
|
if(lang != LANG_DE) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
|
||||||
|
#line 115 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
|
}
|
||||||
|
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
|
||||||
|
#line 116 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
|
} responseStream << ">\n";
|
||||||
responseStream << " <span class=\"flag-germany\"></span>\n";
|
responseStream << " <span class=\"flag-germany\"></span>\n";
|
||||||
responseStream << " </button>\n";
|
responseStream << " </button>\n";
|
||||||
responseStream << " </div>\n";
|
responseStream << " </div>\n";
|
||||||
@ -169,27 +200,27 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
|||||||
responseStream << " <div class=\"col-lg-7 col-md-8 col-sm-9 col-12 mx-auto form-wrapper\">\n";
|
responseStream << " <div class=\"col-lg-7 col-md-8 col-sm-9 col-12 mx-auto form-wrapper\">\n";
|
||||||
responseStream << " <div class=\"form-group input-rounded\">\n";
|
responseStream << " <div class=\"form-group input-rounded\">\n";
|
||||||
responseStream << " <input type=\"text\" class=\"form-control\" name=\"login-email\" placeholder=\"";
|
responseStream << " <input type=\"text\" class=\"form-control\" name=\"login-email\" placeholder=\"";
|
||||||
#line 112 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
responseStream << ( langCatalog->gettext("E-Mail") );
|
responseStream << ( langCatalog->gettext("E-Mail") );
|
||||||
responseStream << "\" />\n";
|
responseStream << "\" />\n";
|
||||||
responseStream << " </div>\n";
|
responseStream << " </div>\n";
|
||||||
responseStream << " <div class=\"form-group input-rounded\">\n";
|
responseStream << " <div class=\"form-group input-rounded\">\n";
|
||||||
responseStream << " <input type=\"password\" class=\"form-control\" name=\"login-password\" placeholder=\"";
|
responseStream << " <input type=\"password\" class=\"form-control\" name=\"login-password\" placeholder=\"";
|
||||||
#line 115 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
#line 128 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
responseStream << ( langCatalog->gettext("Password") );
|
responseStream << ( langCatalog->gettext("Password") );
|
||||||
responseStream << "\" />\n";
|
responseStream << "\" />\n";
|
||||||
responseStream << " </div>\n";
|
responseStream << " </div>\n";
|
||||||
responseStream << " <button type=\"submit\" name=\"submit\" class=\"btn btn-primary btn-block\">";
|
responseStream << " <button type=\"submit\" name=\"submit\" class=\"btn btn-primary btn-block\">";
|
||||||
#line 117 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
#line 130 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
responseStream << ( langCatalog->gettext(" Login ") );
|
responseStream << ( langCatalog->gettext(" Login ") );
|
||||||
responseStream << "</button>\n";
|
responseStream << "</button>\n";
|
||||||
responseStream << " <div class=\"signup-link\">\n";
|
responseStream << " <div class=\"signup-link\">\n";
|
||||||
responseStream << " <p>";
|
responseStream << " <p>";
|
||||||
#line 119 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
#line 132 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
responseStream << ( langCatalog->gettext("You haven't any account yet? Please follow the link to create one.") );
|
responseStream << ( langCatalog->gettext("You haven't any account yet? Please follow the link to create one.") );
|
||||||
responseStream << "</p>\n";
|
responseStream << "</p>\n";
|
||||||
responseStream << " <a href=\"https://gradido.com\">";
|
responseStream << " <a href=\"https://gradido.com\">";
|
||||||
#line 120 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||||
responseStream << ( langCatalog->gettext("Create New Account") );
|
responseStream << ( langCatalog->gettext("Create New Account") );
|
||||||
responseStream << "</a>\n";
|
responseStream << "</a>\n";
|
||||||
responseStream << " </div>\n";
|
responseStream << " </div>\n";
|
||||||
|
|||||||
@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
#include "Poco/Net/HTTPServerRequest.h"
|
#include "Poco/Net/HTTPServerRequest.h"
|
||||||
|
|
||||||
const Poco::RegularExpression PageRequestMessagedHandler::mDetectLanguageGET("^/(?:[a-zA-Z0-9_-]*)/(en|de)");
|
#include "../ServerConfig.h"
|
||||||
|
|
||||||
|
const Poco::RegularExpression PageRequestMessagedHandler::mDetectLanguageGET("^(?:/[a-zA-Z0-9_-]*)?/(en|de)");
|
||||||
|
|
||||||
Languages PageRequestMessagedHandler::chooseLanguage(Poco::Net::HTTPServerRequest& request, std::string post_lang /* = std::string("") */)
|
Languages PageRequestMessagedHandler::chooseLanguage(Poco::Net::HTTPServerRequest& request, std::string post_lang /* = std::string("") */)
|
||||||
{
|
{
|
||||||
@ -12,10 +14,11 @@ Languages PageRequestMessagedHandler::chooseLanguage(Poco::Net::HTTPServerReques
|
|||||||
if (lang == LANG_NULL) {
|
if (lang == LANG_NULL) {
|
||||||
// from URL
|
// from URL
|
||||||
std::string uri = request.getURI();
|
std::string uri = request.getURI();
|
||||||
std::string lang_str;
|
std::vector<std::string> matches;
|
||||||
mDetectLanguageGET.extract(uri, lang_str);
|
//std::string lang_str;
|
||||||
if (lang_str.size() > 0) {
|
mDetectLanguageGET.split(uri, matches);
|
||||||
lang = LanguageManager::languageFromString(lang_str);
|
if (matches.size() > 0) {
|
||||||
|
lang = LanguageManager::languageFromString(matches[matches.size()-1]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// from Header
|
// from Header
|
||||||
@ -29,5 +32,9 @@ Languages PageRequestMessagedHandler::chooseLanguage(Poco::Net::HTTPServerReques
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (lang == LANG_NULL) {
|
||||||
|
//lang = ServerConfig::g_default_locale;
|
||||||
|
}
|
||||||
|
|
||||||
return lang;
|
return lang;
|
||||||
}
|
}
|
||||||
@ -38,6 +38,7 @@ namespace ServerConfig {
|
|||||||
EmailAccount g_EmailAccount;
|
EmailAccount g_EmailAccount;
|
||||||
int g_SessionTimeout = SESSION_TIMEOUT_DEFAULT;
|
int g_SessionTimeout = SESSION_TIMEOUT_DEFAULT;
|
||||||
std::string g_serverPath;
|
std::string g_serverPath;
|
||||||
|
Languages g_default_locale;
|
||||||
std::string g_php_serverPath;
|
std::string g_php_serverPath;
|
||||||
std::string g_php_serverHost;
|
std::string g_php_serverHost;
|
||||||
Poco::Mutex g_TimeMutex;
|
Poco::Mutex g_TimeMutex;
|
||||||
@ -95,6 +96,7 @@ namespace ServerConfig {
|
|||||||
DISASM_FALSERET;
|
DISASM_FALSERET;
|
||||||
g_SessionTimeout = cfg.getInt("session.timeout", SESSION_TIMEOUT_DEFAULT);
|
g_SessionTimeout = cfg.getInt("session.timeout", SESSION_TIMEOUT_DEFAULT);
|
||||||
g_serverPath = cfg.getString("loginServer.path", "");
|
g_serverPath = cfg.getString("loginServer.path", "");
|
||||||
|
g_default_locale = LanguageManager::languageFromString(cfg.getString("loginServer.default_locale"));
|
||||||
g_php_serverPath = cfg.getString("phpServer.url", "");
|
g_php_serverPath = cfg.getString("phpServer.url", "");
|
||||||
g_php_serverHost = cfg.getString("phpServer.host", "");
|
g_php_serverHost = cfg.getString("phpServer.host", "");
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
#include "tasks/CPUSheduler.h"
|
#include "tasks/CPUSheduler.h"
|
||||||
|
|
||||||
|
#include "SingletonManager/LanguageManager.h"
|
||||||
|
|
||||||
namespace ServerConfig {
|
namespace ServerConfig {
|
||||||
|
|
||||||
enum Mnemonic_Types {
|
enum Mnemonic_Types {
|
||||||
@ -37,6 +39,7 @@ namespace ServerConfig {
|
|||||||
extern EmailAccount g_EmailAccount;
|
extern EmailAccount g_EmailAccount;
|
||||||
extern int g_SessionTimeout;
|
extern int g_SessionTimeout;
|
||||||
extern std::string g_serverPath;
|
extern std::string g_serverPath;
|
||||||
|
extern Languages g_default_locale;
|
||||||
extern std::string g_php_serverPath;
|
extern std::string g_php_serverPath;
|
||||||
extern std::string g_php_serverHost;
|
extern std::string g_php_serverHost;
|
||||||
extern Poco::Mutex g_TimeMutex;
|
extern Poco::Mutex g_TimeMutex;
|
||||||
|
|||||||
@ -3,17 +3,23 @@
|
|||||||
#include "Poco/Path.h"
|
#include "Poco/Path.h"
|
||||||
#include "Poco/File.h"
|
#include "Poco/File.h"
|
||||||
|
|
||||||
|
#include "../ServerConfig.h"
|
||||||
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
LanguageCatalog::LanguageCatalog(Languages lang)
|
LanguageCatalog::LanguageCatalog(Languages lang)
|
||||||
: mReferenceCount(1), mCatalog(nullptr), mThisLanguage(lang)
|
: mReferenceCount(1), mCatalog(nullptr), mThisLanguage(lang)
|
||||||
{
|
{
|
||||||
// TODO: Catalog init code
|
// TODO: Catalog init code
|
||||||
std::string path = Poco::Path::config() + "grd_login/LOCALE/" + LanguageManager::filenameForLanguage(lang) + ".po";
|
std::string path = Poco::Path::config() + "grd_login/LOCALE/";
|
||||||
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
|
path = "./LOCALE/";
|
||||||
|
#endif
|
||||||
|
path += LanguageManager::filenameForLanguage(lang) + ".po";
|
||||||
auto file = Poco::File(path);
|
auto file = Poco::File(path);
|
||||||
if (file.exists()) {
|
if (file.exists()) {
|
||||||
|
|
||||||
std::ifstream ifs(path + LanguageManager::filenameForLanguage(lang) + ".po");
|
std::ifstream ifs(path);
|
||||||
std::string po_file{ std::istreambuf_iterator<char>{ifs}, std::istreambuf_iterator<char>() };
|
std::string po_file{ std::istreambuf_iterator<char>{ifs}, std::istreambuf_iterator<char>() };
|
||||||
|
|
||||||
mCatalog = new spirit_po::default_catalog(spirit_po::default_catalog::from_range(po_file));
|
mCatalog = new spirit_po::default_catalog(spirit_po::default_catalog::from_range(po_file));
|
||||||
@ -105,15 +111,24 @@ Languages LanguageManager::languageFromString(const std::string& language_key)
|
|||||||
}
|
}
|
||||||
return LANG_NULL;
|
return LANG_NULL;
|
||||||
}
|
}
|
||||||
|
std::string LanguageManager::keyForLanguage(Languages lang)
|
||||||
|
{
|
||||||
|
switch(lang) {
|
||||||
|
case LANG_DE: return "de";
|
||||||
|
case LANG_EN: return "en";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Poco::AutoPtr<LanguageCatalog> LanguageManager::getFreeCatalog(Languages lang)
|
Poco::AutoPtr<LanguageCatalog> LanguageManager::getFreeCatalog(Languages lang)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (lang >= LANG_COUNT) {
|
if (lang >= LANG_COUNT) {
|
||||||
//printf("[LanguageManager::getFreeCatalog] invalid language: %d\n", lang);
|
//printf("[LanguageManager::getFreeCatalog] invalid language: %d\n", lang);
|
||||||
mLogging.information("[LanguageManager::getFreeCatalog] invalid language: %d, set to default (en_GB)", (int)lang);
|
mLogging.information("[LanguageManager::getFreeCatalog] invalid language: %d, set to default (%s)", (int)lang, filenameForLanguage(ServerConfig::g_default_locale));
|
||||||
//return nullptr;
|
//return nullptr;
|
||||||
lang = LANG_EN;
|
lang = ServerConfig::g_default_locale;
|
||||||
}
|
}
|
||||||
lock();
|
lock();
|
||||||
if (mFreeCatalogs[lang].size() > 0) {
|
if (mFreeCatalogs[lang].size() > 0) {
|
||||||
@ -123,6 +138,7 @@ Poco::AutoPtr<LanguageCatalog> LanguageManager::getFreeCatalog(Languages lang)
|
|||||||
unlock();
|
unlock();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
unlock();
|
||||||
Poco::AutoPtr<LanguageCatalog> result = new LanguageCatalog(lang);
|
Poco::AutoPtr<LanguageCatalog> result = new LanguageCatalog(lang);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -79,6 +79,8 @@ public:
|
|||||||
Poco::AutoPtr<LanguageCatalog> getFreeCatalog(Languages lang);
|
Poco::AutoPtr<LanguageCatalog> getFreeCatalog(Languages lang);
|
||||||
|
|
||||||
static std::string filenameForLanguage(Languages lang);
|
static std::string filenameForLanguage(Languages lang);
|
||||||
|
// return empty for null
|
||||||
|
static std::string keyForLanguage(Languages lang);
|
||||||
static Languages languageFromString(const std::string& language_key);
|
static Languages languageFromString(const std::string& language_key);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@ -22,6 +22,16 @@
|
|||||||
auto langCatalog = lm->getFreeCatalog(lang);
|
auto langCatalog = lm->getFreeCatalog(lang);
|
||||||
|
|
||||||
if(!form.empty()) {
|
if(!form.empty()) {
|
||||||
|
auto langBtn = form.get("lang", "");
|
||||||
|
bool langUpdated = false;
|
||||||
|
if(langBtn != "") {
|
||||||
|
auto updatedLang = chooseLanguage(request, langBtn);
|
||||||
|
if(updatedLang != lang) {
|
||||||
|
lang = updatedLang;
|
||||||
|
langCatalog = lm->getFreeCatalog(lang);
|
||||||
|
langUpdated = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
auto email = form.get("login-email", "");
|
auto email = form.get("login-email", "");
|
||||||
auto password = form.get("login-password", "");
|
auto password = form.get("login-password", "");
|
||||||
|
|
||||||
@ -65,7 +75,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else if(!langUpdated) {
|
||||||
addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("Username and password are needed!")));
|
addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("Username and password are needed!")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,18 +99,21 @@
|
|||||||
<div class="grid">
|
<div class="grid">
|
||||||
<%= getErrorsHtml() %>
|
<%= getErrorsHtml() %>
|
||||||
<div class="grid-body">
|
<div class="grid-body">
|
||||||
<form action="" method="POST">
|
<form action="<%= ServerConfig::g_serverPath %>/" method="POST">
|
||||||
|
<input type="hidden" name="lang" value="<%= LanguageManager::keyForLanguage(lang) %>">
|
||||||
<div class="row pull-right-row">
|
<div class="row pull-right-row">
|
||||||
<div class="equel-grid pull-right">
|
<div class="equel-grid pull-right">
|
||||||
<div class="grid-body-small text-center">
|
<div class="grid-body-small text-center">
|
||||||
<button id="flag-england" name="lang" value="en" title="English" type="submit" class="btn btn-outline-secondary flag-btn">
|
<button id="flag-england" name="lang" value="en" title="English" type="submit" <% if(lang != LANG_EN) { %>class="btn btn-outline-secondary flag-btn"<% }
|
||||||
|
else { %>class="btn btn-secondary disabled flag-btn" disabled<% } %>>
|
||||||
<span class="flag-england"></span>
|
<span class="flag-england"></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="equel-grid pull-right">
|
<div class="equel-grid pull-right">
|
||||||
<div class="grid-body-small text-center">
|
<div class="grid-body-small text-center">
|
||||||
<button id="flag-germany" name="lang" value="de" title="Deutsch" type="submit" class="btn btn-secondary disabled flag-btn" disabled>
|
<button id="flag-germany" name="lang" value="de" title="Deutsch" type="submit" <% if(lang != LANG_DE) { %>class="btn btn-outline-secondary flag-btn"<% }
|
||||||
|
else { %>class="btn btn-secondary disabled flag-btn" disabled<% } %>>
|
||||||
<span class="flag-germany"></span>
|
<span class="flag-germany"></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user