wesnoth/src/gettext.cpp
Guillaume Melquiond be62da89b1 Because gettext is allowed to do as it pleases...
...when it is fed with an empty string, let's workaround it by adding
a new function.
2004-12-05 18:24:44 +00:00

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;
}