#include "gettext.hpp"
#include "serialization/string_utils.hpp"
#include <ctime>
#include <string_view>
Go to the source code of this file.
Namespaces | |
utils | |
utils::detail | |
Macros | |
#define | VGETTEXT(msgid, ...) vgettext_impl(GETTEXT_DOMAIN, msgid, __VA_ARGS__) |
Handy wrappers around interpolate_variables_into_string and gettext. More... | |
#define | VNGETTEXT(msgid, msgid_plural, count, ...) vngettext_impl(GETTEXT_DOMAIN, msgid, msgid_plural, count, __VA_ARGS__) |
Functions | |
bool | utils::might_contain_variables (const std::string &str) |
Determines if a string might contain variables to interpolate. More... | |
std::string | utils::interpolate_variables_into_string (const std::string &str, const std::map< std::string, t_string > *const symbols) |
Function which will interpolate variables, starting with '$' in the string 'str' with the equivalent symbols in the given symbol table. More... | |
std::string | utils::interpolate_variables_into_string (const std::string &str, const std::map< std::string, std::string > *const symbols) |
std::string | utils::interpolate_variables_into_string (const std::string &str, const variable_set &variables) |
t_string | utils::interpolate_variables_into_tstring (const t_string &str, const variable_set &variables) |
Function that does the same as the above, for t_stringS. More... | |
std::string | utils::format_conjunct_list (const t_string &empty, const std::vector< t_string > &elems) |
Format a conjunctive list. More... | |
std::string | utils::format_disjunct_list (const t_string &empty, const std::vector< t_string > &elems) |
Format a disjunctive list. More... | |
std::string | vgettext_impl (const char *domain, const char *msgid, const utils::string_map &symbols) |
Implementation functions for the VGETTEXT and VNGETTEXT macros. More... | |
std::string | vngettext_impl (const char *domain, const char *singular, const char *plural, int count, const utils::string_map &symbols) |
std::size_t | edit_distance_approx (std::string_view str_1, std::string_view str_2) noexcept |
Calculate the approximate edit distance of two strings. More... | |
#define VGETTEXT | ( | msgid, | |
... | |||
) | vgettext_impl(GETTEXT_DOMAIN, msgid, __VA_ARGS__) |
Handy wrappers around interpolate_variables_into_string and gettext.
These should cover most usecases. If you're not sure whether you want these macros or their implementation functions, use these. The only time you should need to use the implementation functions directly is to pass a different textdomain than the current value of GETTEXT_DOMAIN.
Definition at line 107 of file string_utils.hpp.
#define VNGETTEXT | ( | msgid, | |
msgid_plural, | |||
count, | |||
... | |||
) | vngettext_impl(GETTEXT_DOMAIN, msgid, msgid_plural, count, __VA_ARGS__) |
Definition at line 110 of file string_utils.hpp.
|
noexcept |
Calculate the approximate edit distance of two strings.
str_1 | First string to compare. |
str_2 | Second string to compare. |
Definition at line 318 of file string_utils.cpp.
Referenced by events::map_command_handler< Worker >::dispatch().
std::string vgettext_impl | ( | const char * | domain, |
const char * | msgid, | ||
const utils::string_map & | symbols | ||
) |
Implementation functions for the VGETTEXT and VNGETTEXT macros.
DO NOT USE DIRECTLY unless you really know what you're doing. See https://github.com/wesnoth/wesnoth/issues/2716 for more info.
Definition at line 298 of file string_utils.cpp.
References translation::dsgettext(), utils::interpolate_variables_into_string(), and wfl::msg().
Referenced by gui2::dialogs::mp_staging::pre_show().
std::string vngettext_impl | ( | const char * | domain, |
const char * | singular, | ||
const char * | plural, | ||
int | count, | ||
const utils::string_map & | symbols | ||
) |
Definition at line 307 of file string_utils.cpp.
References translation::dsngettext(), utils::interpolate_variables_into_string(), and wfl::msg().