make gettext.hpp return std::string.
in 99% of cases the returned value was moved into a std::string anyway. We do this becasue the boost gettext functions also return std::string so it makes replacing them easier.
This commit is contained in:
parent
c5cf699210
commit
9742c9cb54
10 changed files with 40 additions and 32 deletions
|
@ -890,8 +890,8 @@ void show_addons_manager_dialog(display& disp, addons_client& client, addons_lis
|
|||
}
|
||||
}
|
||||
|
||||
const char* msg_title = NULL;
|
||||
const char* msg_text = NULL;
|
||||
std::string msg_title;
|
||||
std::string msg_text;
|
||||
|
||||
// Use the Update terminology when using Update All or working with the
|
||||
// Upgradable add-ons view.
|
||||
|
|
|
@ -870,7 +870,7 @@ void context_manager::load_map(const std::string& filename, bool new_context)
|
|||
replace_map_context(mc.release());
|
||||
}
|
||||
if (get_map_context().is_embedded()) {
|
||||
const char* msg = _("Loaded embedded map data");
|
||||
std::string msg = _("Loaded embedded map data");
|
||||
gui2::show_transient_message(gui_.video(), _("Map loaded from scenario"), msg);
|
||||
} else {
|
||||
if (get_map_context().get_filename() != filename) {
|
||||
|
@ -881,12 +881,13 @@ void context_manager::load_map(const std::string& filename, bool new_context)
|
|||
} else {
|
||||
utils::string_map symbols;
|
||||
symbols["old"] = filename;
|
||||
const char* msg = _("Loaded referenced map file:\n"
|
||||
std::string msg = _("Loaded referenced map file:\n"
|
||||
"$new");
|
||||
symbols["new"] = get_map_context().get_filename();
|
||||
symbols["map_data"] = get_map_context().get_map_data_key();
|
||||
gui2::show_transient_message(gui_.video(), _("Map loaded from scenario"),
|
||||
vgettext(msg, symbols));
|
||||
//TODO: msg is already translated does vgettext make sense ?
|
||||
vgettext(msg.c_str(), symbols));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ std::string format_time_summary(time_t t) {
|
|||
|
||||
const struct tm save_time = *timeptr;
|
||||
|
||||
const char* format_string = NULL;
|
||||
std::string format_string;
|
||||
|
||||
if(current_time.tm_year == save_time.tm_year) {
|
||||
const int days_apart = current_time.tm_yday - save_time.tm_yday;
|
||||
|
@ -65,10 +65,10 @@ std::string format_time_summary(time_t t) {
|
|||
// save is from a different year
|
||||
format_string = _("%b %d %Y");
|
||||
}
|
||||
assert(format_string);
|
||||
assert(!format_string.empty());
|
||||
|
||||
char buf[40];
|
||||
const size_t res = util::strftime(buf,sizeof(buf),format_string,&save_time);
|
||||
const size_t res = util::strftime(buf, sizeof(buf), format_string, &save_time);
|
||||
if(res == 0) {
|
||||
buf[0] = 0;
|
||||
}
|
||||
|
|
|
@ -21,19 +21,19 @@
|
|||
#include <cstring>
|
||||
namespace translation
|
||||
{
|
||||
const char* dgettext(const char* domain, const char* msgid)
|
||||
std::string dgettext(const char* domain, const char* msgid)
|
||||
{
|
||||
return ::dgettext(domain, msgid);
|
||||
}
|
||||
char const *egettext(char const *msgid)
|
||||
std::string egettext(char const *msgid)
|
||||
{
|
||||
return msgid[0] == '\0' ? msgid : (::gettext)(msgid);
|
||||
}
|
||||
|
||||
const char* dsgettext (const char * domainname, const char *msgid)
|
||||
std::string dsgettext (const char * domainname, const char *msgid)
|
||||
{
|
||||
bind_textdomain_codeset(domainname, "UTF-8");
|
||||
const char *msgval = dgettext (domainname, msgid);
|
||||
const char *msgval = ::dgettext (domainname, msgid);
|
||||
if (msgval == msgid) {
|
||||
msgval = std::strrchr (msgid, '^');
|
||||
if (msgval == NULL)
|
||||
|
@ -73,10 +73,10 @@ const char* sngettext (const char *singular, const char *plural, int n)
|
|||
}
|
||||
|
||||
#endif
|
||||
const char* dsngettext (const char * domainname, const char *singular, const char *plural, int n)
|
||||
std::string dsngettext (const char * domainname, const char *singular, const char *plural, int n)
|
||||
{
|
||||
bind_textdomain_codeset(domainname, "UTF-8");
|
||||
const char *msgval = dngettext (domainname, singular, plural, n);
|
||||
const char *msgval = ::dngettext (domainname, singular, plural, n);
|
||||
if (msgval == singular) {
|
||||
msgval = std::strrchr (singular, '^');
|
||||
if (msgval == NULL)
|
||||
|
|
|
@ -35,37 +35,44 @@
|
|||
|
||||
// gettext-related declarations
|
||||
#include "wesconfig.h"
|
||||
#include <string>
|
||||
|
||||
//A Hack to make the eclipse-cdt parser happy.
|
||||
#ifndef GETTEXT_DOMAIN
|
||||
# define GETTEXT_DOMAIN PACKAGE
|
||||
#endif
|
||||
|
||||
//A Hack to make the eclipse-cdt parser happy.
|
||||
#ifdef __CDT_PARSER__
|
||||
# define GETTEXT_DOMAIN ""
|
||||
#endif
|
||||
|
||||
namespace translation
|
||||
{
|
||||
const char* dgettext(const char* domain, const char* msgid);
|
||||
const char* egettext(const char*);
|
||||
const char* dsgettext(const char * domainname, const char *msgid);
|
||||
std::string dgettext(const char* domain, const char* msgid);
|
||||
std::string egettext(const char*);
|
||||
std::string dsgettext(const char * domainname, const char *msgid);
|
||||
//const char* sngettext(const char *singular, const char *plural, int n);
|
||||
const char* dsngettext(const char * domainname, const char *singular, const char *plural, int n);
|
||||
|
||||
static const char* gettext(const char* str)
|
||||
std::string dsngettext(const char * domainname, const char *singular, const char *plural, int n);
|
||||
|
||||
static std::string gettext(const char* str)
|
||||
{ return translation::dgettext(GETTEXT_DOMAIN, str); }
|
||||
static const char* sgettext(const char* str)
|
||||
static std::string sgettext(const char* str)
|
||||
{ return translation::dsgettext(GETTEXT_DOMAIN, str); }
|
||||
static const char* sngettext(const char* str1, const char* str2, int n)
|
||||
static std::string sngettext(const char* str1, const char* str2, int n)
|
||||
{ return translation::dsngettext(GETTEXT_DOMAIN, str1, str2 , n); }
|
||||
|
||||
|
||||
void bind_textdomain(const char* domain, const char* direcory, const char* encoding);
|
||||
void set_default_textdomain(const char* domain);
|
||||
}
|
||||
|
||||
#define _(String) translation::dsgettext(GETTEXT_DOMAIN,String)
|
||||
#define _n(String1, String2, Int) translation::dsngettext(GETTEXT_DOMAIN, String1,String2,Int)
|
||||
//#define _(String) translation::dsgettext(GETTEXT_DOMAIN,String)
|
||||
inline static std::string _(const char* str)
|
||||
{ return translation::dsgettext(GETTEXT_DOMAIN, str); }
|
||||
|
||||
//#define _n(String1, String2, Int) translation::dsngettext(GETTEXT_DOMAIN, String1,String2,Int)
|
||||
inline static std::string _n(const char* str1, const char* str2, int n)
|
||||
{ return translation::dsngettext(GETTEXT_DOMAIN, str1, str2, n); }
|
||||
|
||||
#define gettext_noop(String) String
|
||||
#define N_(String) gettext_noop (String)
|
||||
|
|
|
@ -128,7 +128,7 @@ std::string describe_addon_state_info(const addon_tracking_info& state)
|
|||
}
|
||||
break;
|
||||
case ADDON_INSTALLED_UPGRADABLE: {
|
||||
const char* const vstr
|
||||
const std::string vstr
|
||||
= !state.can_publish
|
||||
? _("addon_state^Installed ($local_version|), "
|
||||
"upgradable")
|
||||
|
@ -137,7 +137,7 @@ std::string describe_addon_state_info(const addon_tracking_info& state)
|
|||
s = utils::interpolate_variables_into_string(vstr, &i18n_symbols);
|
||||
} break;
|
||||
case ADDON_INSTALLED_OUTDATED: {
|
||||
const char* const vstr
|
||||
const std::string vstr
|
||||
= !state.can_publish
|
||||
? _("addon_state^Installed ($local_version|), "
|
||||
"outdated on server")
|
||||
|
|
|
@ -1621,7 +1621,7 @@ class unit_topic_generator: public topic_generator
|
|||
const unit_type& type_;
|
||||
const std::string variation_;
|
||||
typedef std::pair< std::string, unsigned > item;
|
||||
void push_header(std::vector< item > &row, char const *name) const {
|
||||
void push_header(std::vector< item > &row, const std::string& name) const {
|
||||
row.push_back(item(bold(name), font::line_width(name, normal_font_size, TTF_STYLE_BOLD)));
|
||||
}
|
||||
public:
|
||||
|
|
|
@ -265,9 +265,9 @@ std::string save_info::format_time_local() const
|
|||
char time_buf[256] = {0};
|
||||
tm* tm_l = localtime(&modified());
|
||||
if (tm_l) {
|
||||
std::string format = preferences::use_twelve_hour_clock_format() ? _("%a %b %d %I:%M %p %Y") : _("%a %b %d %H:%M %Y");
|
||||
const size_t res = strftime(time_buf,sizeof(time_buf),
|
||||
(preferences::use_twelve_hour_clock_format() ? _("%a %b %d %I:%M %p %Y") : _("%a %b %d %H:%M %Y")),
|
||||
tm_l);
|
||||
format.c_str(), tm_l);
|
||||
if(res == 0) {
|
||||
time_buf[0] = 0;
|
||||
}
|
||||
|
|
|
@ -124,7 +124,7 @@ static bool locale_supports_ampm(const std::tm* time)
|
|||
|
||||
namespace util {
|
||||
|
||||
size_t strftime(char* str, size_t count, const char* format,
|
||||
size_t strftime(char* str, size_t count, const std::string& format,
|
||||
const std::tm* time)
|
||||
{
|
||||
bool ampm_supported = locale_supports_ampm(time);
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace util {
|
|||
* std::strftime wrapper to support date translations and
|
||||
* add missing am/pm designations.
|
||||
*/
|
||||
size_t strftime(char* str, size_t count, const char* format,
|
||||
size_t strftime(char* str, size_t count, const std::string& format,
|
||||
const std::tm* time);
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue