-BEGIN VERIFY SCRIPT- sed -i 's/inline std::string _(const char\* psz)/inline bilingual_str _(const char\* psz)/' src/util/translation.h sed -i 's/return G_TRANSLATION_FUN ? (G_TRANSLATION_FUN)(psz) : psz;/return bilingual_str{psz, G_TRANSLATION_FUN ? (G_TRANSLATION_FUN)(psz) : psz};/' src/util/translation.h sed -i 's/\b_("\([^"]\|\\"\)*")/&.translated/g' $(git grep --files-with-matches '\b_("' src) echo Hard cases - multiline strings. sed -i 's/"Visit %s for further information about the software.")/&.translated/g' src/init.cpp sed -i "s/\"Only rebuild the block database if you are sure that your computer's date and time are correct\")/&.translated/g" src/init.cpp sed -i 's/" restore from a backup.")/&.translated/g' src/wallet/db.cpp sed -i 's/" or address book entries might be missing or incorrect.")/&.translated/g' src/wallet/wallet.cpp echo Special case. sed -i 's/_(COPYRIGHT_HOLDERS)/&.translated/' src/util/system.cpp test/lint/lint-format-strings.py -END VERIFY SCRIPT-
78 lines
2.6 KiB
C++
78 lines
2.6 KiB
C++
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
// Copyright (c) 2009-2018 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#include <warnings.h>
|
|
|
|
#include <sync.h>
|
|
#include <util/system.h>
|
|
#include <util/translation.h>
|
|
|
|
static RecursiveMutex cs_warnings;
|
|
static std::string strMiscWarning GUARDED_BY(cs_warnings);
|
|
static bool fLargeWorkForkFound GUARDED_BY(cs_warnings) = false;
|
|
static bool fLargeWorkInvalidChainFound GUARDED_BY(cs_warnings) = false;
|
|
|
|
void SetMiscWarning(const std::string& strWarning)
|
|
{
|
|
LOCK(cs_warnings);
|
|
strMiscWarning = strWarning;
|
|
}
|
|
|
|
void SetfLargeWorkForkFound(bool flag)
|
|
{
|
|
LOCK(cs_warnings);
|
|
fLargeWorkForkFound = flag;
|
|
}
|
|
|
|
bool GetfLargeWorkForkFound()
|
|
{
|
|
LOCK(cs_warnings);
|
|
return fLargeWorkForkFound;
|
|
}
|
|
|
|
void SetfLargeWorkInvalidChainFound(bool flag)
|
|
{
|
|
LOCK(cs_warnings);
|
|
fLargeWorkInvalidChainFound = flag;
|
|
}
|
|
|
|
std::string GetWarnings(const std::string& strFor)
|
|
{
|
|
std::string strStatusBar;
|
|
std::string strGUI;
|
|
const std::string uiAlertSeperator = "<hr />";
|
|
|
|
LOCK(cs_warnings);
|
|
|
|
if (!CLIENT_VERSION_IS_RELEASE) {
|
|
strStatusBar = "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications";
|
|
strGUI = _("This is a pre-release test build - use at your own risk - do not use for mining or merchant applications").translated;
|
|
}
|
|
|
|
// Misc warnings like out of disk space and clock is wrong
|
|
if (strMiscWarning != "")
|
|
{
|
|
strStatusBar = strMiscWarning;
|
|
strGUI += (strGUI.empty() ? "" : uiAlertSeperator) + strMiscWarning;
|
|
}
|
|
|
|
if (fLargeWorkForkFound)
|
|
{
|
|
strStatusBar = "Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.";
|
|
strGUI += (strGUI.empty() ? "" : uiAlertSeperator) + _("Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.").translated;
|
|
}
|
|
else if (fLargeWorkInvalidChainFound)
|
|
{
|
|
strStatusBar = "Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.";
|
|
strGUI += (strGUI.empty() ? "" : uiAlertSeperator) + _("Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.").translated;
|
|
}
|
|
|
|
if (strFor == "gui")
|
|
return strGUI;
|
|
else if (strFor == "statusbar")
|
|
return strStatusBar;
|
|
assert(!"GetWarnings(): invalid parameter");
|
|
return "error";
|
|
}
|