mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-19 03:20:26 +00:00
45 lines
859 B
C++
45 lines
859 B
C++
#include "global.hpp"
|
|
|
|
#include "gettext.hpp"
|
|
|
|
#include <cstring>
|
|
|
|
char const *egettext(char const *msgid)
|
|
{
|
|
return msgid[0] == '\0' ? msgid : gettext(msgid);
|
|
}
|
|
|
|
const char* sgettext (const char *msgid)
|
|
{
|
|
const char *msgval = gettext (msgid);
|
|
if (msgval == msgid) {
|
|
msgval = strrchr (msgid, '^');
|
|
if (msgval == NULL)
|
|
msgval = msgid;
|
|
else
|
|
msgval++;
|
|
}
|
|
return msgval;
|
|
}
|
|
|
|
const char* dsgettext (const char * domainname, const char *msgid)
|
|
{
|
|
const char *msgval = dgettext (domainname, msgid);
|
|
if (msgval == msgid) {
|
|
msgval = strrchr (msgid, '^');
|
|
if (msgval == NULL)
|
|
msgval = msgid;
|
|
else
|
|
msgval++;
|
|
}
|
|
return msgval;
|
|
}
|
|
|
|
std::string vgettext (const char *msgid, const string_map& symbols)
|
|
{
|
|
const std::string orig(gettext(msgid));
|
|
const std::string msg = config::interpolate_variables_into_string(orig,
|
|
&symbols);
|
|
return msg;
|
|
}
|