mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-28 16:36:04 +01:00
Add bilingual message type
This commit is contained in:
@@ -5,6 +5,28 @@
|
||||
#ifndef BITCOIN_UTIL_TRANSLATION_H
|
||||
#define BITCOIN_UTIL_TRANSLATION_H
|
||||
|
||||
#include <tinyformat.h>
|
||||
|
||||
#include <utility>
|
||||
|
||||
/**
|
||||
* Bilingual messages:
|
||||
* - in GUI: user's native language + untranslated (i.e. English)
|
||||
* - in log and stderr: untranslated only
|
||||
*/
|
||||
struct bilingual_str {
|
||||
std::string original;
|
||||
std::string translated;
|
||||
};
|
||||
|
||||
namespace tinyformat {
|
||||
template <typename... Args>
|
||||
bilingual_str format(const bilingual_str& fmt, const Args&... args)
|
||||
{
|
||||
return bilingual_str{format(fmt.original, args...), format(fmt.translated, args...)};
|
||||
}
|
||||
} // namespace tinyformat
|
||||
|
||||
/** Translate a message to the native language of the user. */
|
||||
const extern std::function<std::string(const char*)> G_TRANSLATION_FUN;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user