Merge branch 'release'
|
|
@ -289,6 +289,40 @@ namespace file_io_utils
|
|||
}
|
||||
}
|
||||
|
||||
template<class t_string>
|
||||
bool load_file_to_string(const t_string& path_to_file, std::string& target_str)
|
||||
{
|
||||
try
|
||||
{
|
||||
boost::filesystem::ifstream fstream;
|
||||
//fstream.exceptions(std::ifstream::failbit | std::ifstream::badbit);
|
||||
fstream.open(path_to_file, std::ios_base::binary | std::ios_base::in | std::ios::ate);
|
||||
if (!fstream.good())
|
||||
return false;
|
||||
std::ifstream::pos_type file_size = fstream.tellg();
|
||||
|
||||
if (file_size > 1000000000)
|
||||
return false;//don't get crazy
|
||||
size_t file_size_t = static_cast<size_t>(file_size);
|
||||
|
||||
target_str.resize(file_size_t);
|
||||
|
||||
fstream.seekg(0, std::ios::beg);
|
||||
fstream.read((char*)target_str.data(), target_str.size());
|
||||
if (!fstream.good())
|
||||
return false;
|
||||
|
||||
fstream.close();
|
||||
return true;
|
||||
}
|
||||
|
||||
catch (...)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
inline
|
||||
bool load_form_handle(HANDLE hfile, std::string& str)
|
||||
|
|
@ -338,38 +372,7 @@ namespace file_io_utils
|
|||
}
|
||||
|
||||
|
||||
inline
|
||||
bool load_file_to_string(const std::string& path_to_file, std::string& target_str)
|
||||
{
|
||||
try
|
||||
{
|
||||
std::ifstream fstream;
|
||||
//fstream.exceptions(std::ifstream::failbit | std::ifstream::badbit);
|
||||
fstream.open(path_to_file, std::ios_base::binary | std::ios_base::in | std::ios::ate);
|
||||
if (!fstream.good())
|
||||
return false;
|
||||
std::ifstream::pos_type file_size = fstream.tellg();
|
||||
|
||||
if(file_size > 1000000000)
|
||||
return false;//don't go crazy
|
||||
size_t file_size_t = static_cast<size_t>(file_size);
|
||||
|
||||
target_str.resize(file_size_t);
|
||||
|
||||
fstream.seekg (0, std::ios::beg);
|
||||
fstream.read((char*)target_str.data(), target_str.size());
|
||||
if (!fstream.good())
|
||||
return false;
|
||||
|
||||
fstream.close();
|
||||
return true;
|
||||
}
|
||||
|
||||
catch(...)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
typedef HANDLE native_filesystem_handle;
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ DISABLE_VS_WARNINGS(4100)
|
|||
{std::stringstream ss________; ss________ << epee::log_space::log_singletone::get_prefix_entry() << x << std::endl;epee::log_space::log_singletone::do_log_message(ss________.str(), y, epee::log_space::console_color_default, true, log_name);}}
|
||||
|
||||
#define LOG_ERROR2(log_name, x) { \
|
||||
std::stringstream ss________; ss________ << epee::log_space::log_singletone::get_prefix_entry() << "[ERROR] Location: " << std::endl << LOCATION_SS << epee::misc_utils::print_trace() << " Message:" << std::endl << x << std::endl; epee::log_space::log_singletone::do_log_message(ss________.str(), LOG_LEVEL_0, epee::log_space::console_color_red, true, log_name); LOCAL_ASSERT(0); epee::log_space::increase_error_count(LOG_DEFAULT_CHANNEL); }
|
||||
std::stringstream ss________; ss________ << epee::log_space::log_singletone::get_prefix_entry() << "[ERROR] Location: " << std::endl << LOCATION_SS << epee::misc_utils::get_callstack() << " Message:" << std::endl << x << std::endl; epee::log_space::log_singletone::do_log_message(ss________.str(), LOG_LEVEL_0, epee::log_space::console_color_red, true, log_name); LOCAL_ASSERT(0); epee::log_space::increase_error_count(LOG_DEFAULT_CHANNEL); }
|
||||
|
||||
#define LOG_FRAME2(log_name, x, y) epee::log_space::log_frame frame(x, y, log_name)
|
||||
|
||||
|
|
@ -251,6 +251,21 @@ DISABLE_VS_WARNINGS(4100)
|
|||
custom_code; \
|
||||
}
|
||||
|
||||
|
||||
#define CATCH_ENTRY_WITH_FORWARDING_EXCEPTION() } \
|
||||
catch(const std::exception& ex) \
|
||||
{ \
|
||||
LOG_ERROR("Exception at [" << LOCATION_SS << "], what=" << ex.what()); \
|
||||
throw std::runtime_error(std::string("[EXCEPTION FORWARDED]: ") + ex.what()); \
|
||||
} \
|
||||
catch(...) \
|
||||
{ \
|
||||
LOG_ERROR("Exception at [" << LOCATION_SS << "], generic unknown exception \"...\""); \
|
||||
throw std::runtime_error("[EXCEPTION FORWARDED]"); \
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define NESTED_TRY_ENTRY() try { TRY_ENTRY();
|
||||
|
||||
#define NESTED_CATCH_ENTRY(location) \
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ namespace misc_utils
|
|||
#include <execinfo.h>
|
||||
#include <boost/core/demangle.hpp>
|
||||
#endif
|
||||
inline std::string print_trace()
|
||||
inline std::string print_trace_default()
|
||||
{
|
||||
std::stringstream ss;
|
||||
#if defined(__GNUC__)
|
||||
|
|
@ -134,5 +134,33 @@ namespace misc_utils
|
|||
#endif
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
typedef std::string (stack_retrieving_function_t)();
|
||||
|
||||
//
|
||||
// To get stack trace call it with the defaults.
|
||||
//
|
||||
inline std::string get_callstack(stack_retrieving_function_t* p_stack_retrieving_function_to_be_added = nullptr, bool remove_func = false)
|
||||
{
|
||||
static stack_retrieving_function_t* p_srf = nullptr;
|
||||
|
||||
if (remove_func)
|
||||
{
|
||||
p_srf = nullptr;
|
||||
return "";
|
||||
}
|
||||
|
||||
if (p_stack_retrieving_function_to_be_added != nullptr)
|
||||
{
|
||||
p_srf = p_stack_retrieving_function_to_be_added;
|
||||
return "";
|
||||
}
|
||||
|
||||
if (p_srf != nullptr)
|
||||
return p_srf();
|
||||
|
||||
return print_trace_default();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ namespace epee
|
|||
t_result result_struct = AUTO_VAL_INIT(result_struct);
|
||||
if( code <=0 )
|
||||
{
|
||||
LOG_PRINT_L2("BACKTRACE: " << ENDL << epee::misc_utils::print_trace());
|
||||
LOG_PRINT_L2("BACKTRACE: " << ENDL << epee::misc_utils::get_callstack());
|
||||
LOG_PRINT_L1("Failed to invoke command " << command << " return code " << code << "(" << epee::levin::get_err_descr(code) << ")context:" << print_connection_context(context));
|
||||
TRY_ENTRY()
|
||||
cb(code, result_struct, context);
|
||||
|
|
@ -150,7 +150,7 @@ namespace epee
|
|||
}, inv_timeout);
|
||||
if( res <=0 )
|
||||
{
|
||||
LOG_PRINT_L2("BACKTRACE: " << ENDL << epee::misc_utils::print_trace());
|
||||
LOG_PRINT_L2("BACKTRACE: " << ENDL << epee::misc_utils::get_callstack());
|
||||
LOG_PRINT_L1("Failed to invoke command " << command << " return code " << res << "(" << epee::levin::get_err_descr(res) << ") conn_id=" << conn_id);
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,9 +42,8 @@ namespace zlib_helper
|
|||
int ret = deflateInit(&zstream, Z_DEFAULT_COMPRESSION);
|
||||
if(target.size())
|
||||
{
|
||||
|
||||
|
||||
result_packed_buff.resize(target.size()*2, 'X');
|
||||
size_t estimated_output_size_max = deflateBound(&zstream, static_cast<uLong>(target.size()));
|
||||
result_packed_buff.resize(estimated_output_size_max, 'X');
|
||||
|
||||
zstream.next_in = (Bytef*)target.data();
|
||||
zstream.avail_in = (uInt)target.size();
|
||||
|
|
@ -52,12 +51,10 @@ namespace zlib_helper
|
|||
zstream.avail_out = (uInt)result_packed_buff.size();
|
||||
|
||||
ret = deflate(&zstream, Z_FINISH);
|
||||
CHECK_AND_ASSERT_MES(ret>=0, false, "Failed to deflate. err = " << ret);
|
||||
// as we allocated enough room for a signel pass avail_out should not be zero
|
||||
CHECK_AND_ASSERT_MES(ret == Z_STREAM_END && zstream.avail_out != 0, false, "Failed to deflate. err = " << ret);
|
||||
|
||||
if(result_packed_buff.size() != zstream.avail_out)
|
||||
result_packed_buff.resize(result_packed_buff.size()-zstream.avail_out);
|
||||
|
||||
|
||||
result_packed_buff.resize(result_packed_buff.size() - zstream.avail_out);
|
||||
result_packed_buff.erase(0, 2);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#include "support/attributes.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <bitset>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
|
@ -39,7 +40,7 @@ static inline uint32_t clz32(uint32_t x)
|
|||
|
||||
static inline uint32_t popcount32(uint32_t x)
|
||||
{
|
||||
return (uint32_t)__builtin_popcount(x);
|
||||
return std::bitset<32>(x).count();
|
||||
}
|
||||
|
||||
static inline uint32_t mul_hi32(uint32_t x, uint32_t y)
|
||||
|
|
|
|||
|
|
@ -145,7 +145,11 @@ epoch_context_full* create_epoch_context(
|
|||
|
||||
char* const alloc_data = static_cast<char*>(std::calloc(1, alloc_size));
|
||||
if (!alloc_data)
|
||||
return nullptr; // Signal out-of-memory by returning null pointer.
|
||||
{
|
||||
LOG_CUSTOM_WITH_CALLSTACK("CRITICAL: std::calloc(" << alloc_size << ") failed in create_epoch_context()", 0);
|
||||
return nullptr; // Signal out-of-memory by returning null pointer.
|
||||
}
|
||||
LOG_CUSTOM("context for epoch " << epoch_number << " allocated, size: " << alloc_size << " bytes", 0);
|
||||
|
||||
hash512* const light_cache = reinterpret_cast<hash512*>(alloc_data + context_alloc_size);
|
||||
const hash256 epoch_seed = calculate_epoch_seed(epoch_number);
|
||||
|
|
@ -373,6 +377,33 @@ search_result search(const epoch_context_full& context, const hash256& header_ha
|
|||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
custom_log_level_function*& access_custom_log_level_function()
|
||||
{
|
||||
static custom_log_level_function* p_custom_log_level_function = nullptr;
|
||||
return p_custom_log_level_function;
|
||||
}
|
||||
|
||||
custom_log_function*& access_custom_log_function()
|
||||
{
|
||||
static custom_log_function* p_custom_log_function = nullptr;
|
||||
return p_custom_log_function;
|
||||
}
|
||||
|
||||
int get_custom_log_level()
|
||||
{
|
||||
if (access_custom_log_level_function() != nullptr)
|
||||
return access_custom_log_level_function()();
|
||||
return -1;
|
||||
}
|
||||
|
||||
void custom_log(const std::string& m, bool add_callstack)
|
||||
{
|
||||
if (access_custom_log_function() != nullptr)
|
||||
access_custom_log_function()(m, add_callstack);
|
||||
}
|
||||
|
||||
|
||||
} // namespace ethash
|
||||
|
||||
using namespace ethash;
|
||||
|
|
@ -434,6 +465,8 @@ void ethash_destroy_epoch_context_full(epoch_context_full* context) noexcept
|
|||
|
||||
void ethash_destroy_epoch_context(epoch_context* context) noexcept
|
||||
{
|
||||
LOG_CUSTOM("context for epoch " << context->epoch_number << " is about to be freed", 0);
|
||||
|
||||
context->~epoch_context();
|
||||
std::free(context);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@
|
|||
#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
|
||||
namespace ethash
|
||||
{
|
||||
|
|
@ -156,5 +158,34 @@ int find_epoch_number(const hash256& seed) noexcept;
|
|||
const epoch_context& get_global_epoch_context(int epoch_number);
|
||||
|
||||
/// Get global shared epoch context with full dataset initialized.
|
||||
const epoch_context_full& get_global_epoch_context_full(int epoch_number);
|
||||
std::shared_ptr<epoch_context_full> get_global_epoch_context_full(int epoch_number);
|
||||
|
||||
typedef int (custom_log_level_function)();
|
||||
typedef void (custom_log_function)(const std::string& m, bool add_callstack);
|
||||
|
||||
custom_log_level_function*& access_custom_log_level_function();
|
||||
custom_log_function*& access_custom_log_function();
|
||||
int get_custom_log_level();
|
||||
void custom_log(const std::string& m, bool add_callstack);
|
||||
|
||||
#define LOG_CUSTOM(msg, level) \
|
||||
{ \
|
||||
if (level <= ethash::get_custom_log_level()) \
|
||||
{ \
|
||||
std::stringstream ss; \
|
||||
ss << msg << std::endl; \
|
||||
ethash::custom_log(ss.str(), false); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define LOG_CUSTOM_WITH_CALLSTACK(msg, level) \
|
||||
{ \
|
||||
if (level <= ethash::get_custom_log_level()) \
|
||||
{ \
|
||||
std::stringstream ss; \
|
||||
ss << msg << std::endl; \
|
||||
ethash::custom_log(ss.str(), true); \
|
||||
} \
|
||||
}
|
||||
|
||||
} // namespace ethash
|
||||
|
|
|
|||
|
|
@ -89,12 +89,12 @@ const epoch_context& get_global_epoch_context(int epoch_number)
|
|||
return *thread_local_context;
|
||||
}
|
||||
|
||||
const epoch_context_full& get_global_epoch_context_full(int epoch_number)
|
||||
std::shared_ptr<epoch_context_full> get_global_epoch_context_full(int epoch_number)
|
||||
{
|
||||
// Check if local context matches epoch number.
|
||||
if (!thread_local_context_full || thread_local_context_full->epoch_number != epoch_number)
|
||||
update_local_context_full(epoch_number);
|
||||
|
||||
return *thread_local_context_full;
|
||||
return thread_local_context_full;
|
||||
}
|
||||
} // namespace ethash
|
||||
|
|
|
|||
3
crowdin.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
files:
|
||||
- source: /**/src/gui/qt-daemon/html_source/src/assets/i18n/en.json
|
||||
translation: /**/src/gui/qt-daemon/html_source/src/assets/i18n/%two_letters_code%.json
|
||||
179
src/common/callstack_helper.cpp
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
// Copyright (c) 2019 Zano Project
|
||||
// Distributed under the MIT/X11 software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#if defined(WIN32)
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
#ifndef NOMINMAX
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#include <Psapi.h>
|
||||
#pragma comment(lib, "psapi.lib")
|
||||
#pragma comment(lib, "dbghelp.lib")
|
||||
|
||||
#pragma pack( push, before_imagehlp, 8 )
|
||||
#include <imagehlp.h>
|
||||
#pragma pack( pop, before_imagehlp )
|
||||
|
||||
#include "include_base_utils.h"
|
||||
#include "callstack_helper.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
struct module_data
|
||||
{
|
||||
std::string image_name;
|
||||
std::string module_name;
|
||||
void *base_address;
|
||||
DWORD load_size;
|
||||
};
|
||||
|
||||
|
||||
class get_mod_info
|
||||
{
|
||||
HANDLE process;
|
||||
static const int buffer_length = 4096;
|
||||
public:
|
||||
get_mod_info(HANDLE h) : process(h) {}
|
||||
|
||||
module_data operator()(HMODULE module)
|
||||
{
|
||||
module_data ret;
|
||||
char temp[buffer_length];
|
||||
MODULEINFO mi;
|
||||
|
||||
GetModuleInformation(process, module, &mi, sizeof(mi));
|
||||
ret.base_address = mi.lpBaseOfDll;
|
||||
ret.load_size = mi.SizeOfImage;
|
||||
|
||||
GetModuleFileNameEx(process, module, temp, sizeof(temp));
|
||||
ret.image_name = temp;
|
||||
GetModuleBaseName(process, module, temp, sizeof(temp));
|
||||
ret.module_name = temp;
|
||||
std::vector<char> img(ret.image_name.begin(), ret.image_name.end());
|
||||
std::vector<char> mod(ret.module_name.begin(), ret.module_name.end());
|
||||
SymLoadModule64(process, 0, &img[0], &mod[0], (DWORD64)ret.base_address, ret.load_size);
|
||||
return ret;
|
||||
}
|
||||
};
|
||||
|
||||
std::string get_symbol_undecorated_name(HANDLE process, DWORD64 address, std::stringstream& ss)
|
||||
{
|
||||
SYMBOL_INFO* sym;
|
||||
static const int max_name_len = 1024;
|
||||
std::vector<char> sym_buffer(sizeof(SYMBOL_INFO) + max_name_len, '\0');
|
||||
sym = (SYMBOL_INFO *)sym_buffer.data();
|
||||
sym->SizeOfStruct = sizeof(SYMBOL_INFO);
|
||||
sym->MaxNameLen = max_name_len;
|
||||
|
||||
DWORD64 displacement;
|
||||
if (!SymFromAddr(process, address, &displacement, sym))
|
||||
return std::string("SymFromAddr failed1: ") + epee::string_tools::num_to_string_fast(GetLastError());
|
||||
|
||||
if (*sym->Name == '\0')
|
||||
return std::string("SymFromAddr failed2: ") + epee::string_tools::num_to_string_fast(GetLastError());
|
||||
|
||||
/*
|
||||
ss << " SizeOfStruct : " << sym->SizeOfStruct << ENDL;
|
||||
ss << " TypeIndex : " << sym->TypeIndex << ENDL; // Type Index of symbol
|
||||
ss << " Index : " << sym->Index << ENDL;
|
||||
ss << " Size : " << sym->Size << ENDL;
|
||||
ss << " ModBase : " << sym->ModBase << ENDL; // Base Address of module comtaining this symbol
|
||||
ss << " Flags : " << sym->Flags << ENDL;
|
||||
ss << " Value : " << sym->Value << ENDL; // Value of symbol, ValuePresent should be 1
|
||||
ss << " Address : " << sym->Address << ENDL; // Address of symbol including base address of module
|
||||
ss << " Register : " << sym->Register << ENDL; // register holding value or pointer to value
|
||||
ss << " Scope : " << sym->Scope << ENDL; // scope of the symbol
|
||||
ss << " Tag : " << sym->Tag << ENDL; // pdb classification
|
||||
ss << " NameLen : " << sym->NameLen << ENDL; // Actual length of name
|
||||
ss << " MaxNameLen : " << sym->MaxNameLen << ENDL;
|
||||
ss << " Name[1] : " << &sym->Name << ENDL; // Name of symbol
|
||||
*/
|
||||
|
||||
std::string und_name(max_name_len, '\0');
|
||||
DWORD chars_written = UnDecorateSymbolName(sym->Name, &und_name.front(), max_name_len, UNDNAME_COMPLETE);
|
||||
und_name.resize(chars_written);
|
||||
return und_name;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace tools
|
||||
{
|
||||
|
||||
std::string get_callstack_win_x64()
|
||||
{
|
||||
HANDLE h_process = GetCurrentProcess();
|
||||
HANDLE h_thread = GetCurrentThread();
|
||||
|
||||
PCSTR user_search_path = NULL; // may be path to a pdb?
|
||||
if (!SymInitialize(h_process, user_search_path, false))
|
||||
return "<win callstack error 1>";
|
||||
|
||||
DWORD sym_options = SymGetOptions();
|
||||
sym_options |= SYMOPT_LOAD_LINES | SYMOPT_UNDNAME;
|
||||
SymSetOptions(sym_options);
|
||||
|
||||
DWORD cb_needed;
|
||||
std::vector<HMODULE> module_handles(1);
|
||||
EnumProcessModules(h_process, &module_handles[0], module_handles.size() * sizeof(HMODULE), &cb_needed);
|
||||
module_handles.resize(cb_needed / sizeof(HMODULE));
|
||||
EnumProcessModules(h_process, &module_handles[0], module_handles.size() * sizeof(HMODULE), &cb_needed);
|
||||
|
||||
std::vector<module_data> modules;
|
||||
std::transform(module_handles.begin(), module_handles.end(), std::back_inserter(modules), get_mod_info(h_process));
|
||||
void *base = modules[0].base_address;
|
||||
|
||||
CONTEXT context;
|
||||
memset(&context, 0, sizeof context);
|
||||
RtlCaptureContext( &context );
|
||||
|
||||
STACKFRAME64 frame;
|
||||
memset(&frame, 0, sizeof frame);
|
||||
frame.AddrPC.Offset = context.Rip;
|
||||
frame.AddrPC.Mode = AddrModeFlat;
|
||||
frame.AddrStack.Offset = context.Rsp;
|
||||
frame.AddrStack.Mode = AddrModeFlat;
|
||||
frame.AddrFrame.Offset = context.Rbp;
|
||||
frame.AddrFrame.Mode = AddrModeFlat;
|
||||
|
||||
IMAGEHLP_LINE64 line = { 0 };
|
||||
line.SizeOfStruct = sizeof line;
|
||||
IMAGE_NT_HEADERS *image_nt_header = ImageNtHeader(base);
|
||||
|
||||
std::stringstream ss;
|
||||
ss << ENDL;
|
||||
// ss << "main module loaded at 0x" << std::hex << std::setw(16) << std::setfill('0') << base << std::dec << " from " << modules[0].image_name << ENDL;
|
||||
for (size_t n = 0; n < 250; ++n)
|
||||
{
|
||||
if (!StackWalk64(image_nt_header->FileHeader.Machine, h_process, h_thread, &frame, &context, NULL, SymFunctionTableAccess64, SymGetModuleBase64, NULL))
|
||||
break;
|
||||
if (frame.AddrReturn.Offset == 0)
|
||||
break;
|
||||
|
||||
std::string fnName = get_symbol_undecorated_name(h_process, frame.AddrPC.Offset, ss);
|
||||
ss << "0x" << std::setw(16) << std::setfill('0') << std::hex << frame.AddrPC.Offset << " " << std::dec << fnName;
|
||||
DWORD offset_from_line = 0;
|
||||
if (SymGetLineFromAddr64(h_process, frame.AddrPC.Offset, &offset_from_line, &line))
|
||||
ss << "+" << offset_from_line << " " << line.FileName << "(" << line.LineNumber << ")";
|
||||
|
||||
for (auto el : modules)
|
||||
{
|
||||
if ((DWORD64)el.base_address <= frame.AddrPC.Offset && frame.AddrPC.Offset < (DWORD64)el.base_address + (DWORD64)el.load_size)
|
||||
{
|
||||
ss << " : " << el.module_name << " @ 0x" << std::setw(0) << std::hex << (DWORD64)el.base_address << ENDL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
SymCleanup(h_process);
|
||||
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
} // namespace tools
|
||||
|
||||
#endif // #if defined(WIN32)
|
||||
24
src/common/callstack_helper.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// Copyright (c) 2019 Zano Project
|
||||
// Distributed under the MIT/X11 software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
#pragma once
|
||||
#include <epee/include/misc_os_dependent.h>
|
||||
|
||||
namespace tools
|
||||
{
|
||||
#if defined(WIN32)
|
||||
extern std::string get_callstack_win_x64();
|
||||
#endif
|
||||
|
||||
inline std::string get_callstack()
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
return epee::misc_utils::print_trace_default();
|
||||
#elif defined(WIN32)
|
||||
return get_callstack_win_x64();
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace tools
|
||||
|
|
@ -562,11 +562,26 @@ namespace tools
|
|||
m_set_profiler.m_name = container_name + ":set";
|
||||
m_explicit_get_profiler.m_name = container_name + ":explicit_get";
|
||||
m_explicit_set_profiler.m_name = container_name + ":explicit_set";
|
||||
m_commit_profiler.m_name = container_name + ":commit";;
|
||||
m_commit_profiler.m_name = container_name + ":commit";
|
||||
#endif
|
||||
return bdb.get_backend()->open_container(container_name, m_h);
|
||||
}
|
||||
|
||||
bool deinit()
|
||||
{
|
||||
#ifdef ENABLE_PROFILING
|
||||
m_get_profiler.m_name = "";
|
||||
m_set_profiler.m_name = "";
|
||||
m_explicit_get_profiler.m_name = "";
|
||||
m_explicit_set_profiler.m_name = "";
|
||||
m_commit_profiler.m_name = "";
|
||||
#endif
|
||||
m_h = AUTO_VAL_INIT(m_h);
|
||||
size_cache = 0;
|
||||
size_cache_valid = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
template<class t_cb>
|
||||
void enumerate_keys(t_cb cb) const
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2014-2018 Zano Project
|
||||
// Copyright (c) 2014-2019 Zano Project
|
||||
// Copyright (c) 2014-2018 The Louisdor Project
|
||||
// Distributed under the MIT/X11 software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "misc_language.h"
|
||||
#include "string_coding.h"
|
||||
#include "profile_tools.h"
|
||||
#include "util.h"
|
||||
|
||||
#define BUF_SIZE 1024
|
||||
|
||||
|
|
@ -52,6 +53,8 @@ namespace tools
|
|||
m_path = epee::string_encoding::convert_ansii_to_utf8(m_path);
|
||||
#endif
|
||||
|
||||
CHECK_AND_ASSERT_MES(tools::create_directories_if_necessary(m_path), false, "create_directories_if_necessary failed: " << m_path);
|
||||
|
||||
res = mdb_env_open(m_penv, m_path.c_str(), MDB_NORDAHEAD , 0644);
|
||||
CHECK_AND_ASSERT_MESS_LMDB_DB(res, false, "Unable to mdb_env_open, m_path=" << m_path);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2014-2018 Zano Project
|
||||
// Copyright (c) 2014-2019 Zano Project
|
||||
// Copyright (c) 2014-2018 The Louisdor Project
|
||||
// Distributed under the MIT/X11 software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
|
@ -6,7 +6,6 @@
|
|||
#pragma once
|
||||
#include <thread>
|
||||
|
||||
|
||||
#include "include_base_utils.h"
|
||||
|
||||
#include "db_backend_base.h"
|
||||
|
|
@ -17,9 +16,6 @@ namespace tools
|
|||
{
|
||||
namespace db
|
||||
{
|
||||
|
||||
|
||||
|
||||
class lmdb_db_backend : public i_db_backend
|
||||
{
|
||||
|
||||
|
|
@ -63,4 +59,4 @@ namespace tools
|
|||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ using namespace epee;
|
|||
|
||||
#include "util.h"
|
||||
#include "currency_core/currency_config.h"
|
||||
#include "version.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#include <windows.h>
|
||||
|
|
@ -362,7 +363,69 @@ namespace tools
|
|||
return pszOS;
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
||||
void signal_handler::GenerateCrashDump(EXCEPTION_POINTERS *pep /* = NULL*/)
|
||||
{
|
||||
SYSTEMTIME sysTime = { 0 };
|
||||
GetSystemTime(&sysTime);
|
||||
// get the computer name
|
||||
char compName[MAX_COMPUTERNAME_LENGTH + 1] = { 0 };
|
||||
DWORD compNameLen = ARRAYSIZE(compName);
|
||||
GetComputerNameA(compName, &compNameLen);
|
||||
// build the filename: APPNAME_COMPUTERNAME_DATE_TIME.DMP
|
||||
char path[MAX_PATH*10] = { 0 };
|
||||
std::string folder = epee::log_space::log_singletone::get_default_log_folder();
|
||||
sprintf_s(path, ARRAYSIZE(path),"%s\\crashdump_" PROJECT_VERSION_LONG "_%s_%04u-%02u-%02u_%02u-%02u-%02u.dmp",
|
||||
folder.c_str(), compName, sysTime.wYear, sysTime.wMonth, sysTime.wDay,
|
||||
sysTime.wHour, sysTime.wMinute, sysTime.wSecond);
|
||||
|
||||
HANDLE hFile = CreateFileA(path, GENERIC_READ | GENERIC_WRITE,
|
||||
0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
|
||||
if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
|
||||
{
|
||||
// Create the minidump
|
||||
MINIDUMP_EXCEPTION_INFORMATION mdei;
|
||||
|
||||
mdei.ThreadId = GetCurrentThreadId();
|
||||
mdei.ExceptionPointers = pep;
|
||||
mdei.ClientPointers = FALSE;
|
||||
|
||||
MINIDUMP_CALLBACK_INFORMATION mci;
|
||||
|
||||
mci.CallbackRoutine = (MINIDUMP_CALLBACK_ROUTINE)MyMiniDumpCallback;
|
||||
mci.CallbackParam = 0;
|
||||
|
||||
MINIDUMP_TYPE mdt = (MINIDUMP_TYPE)(MiniDumpWithPrivateReadWriteMemory |
|
||||
MiniDumpWithDataSegs |
|
||||
MiniDumpWithHandleData |
|
||||
MiniDumpWithFullMemoryInfo |
|
||||
MiniDumpWithThreadInfo |
|
||||
MiniDumpWithUnloadedModules);
|
||||
|
||||
BOOL rv = MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(),
|
||||
hFile, mdt, (pep != 0) ? &mdei : 0, 0, &mci);
|
||||
|
||||
if (!rv)
|
||||
{
|
||||
LOG_ERROR("Minidump file create FAILED(error " << GetLastError() << ") on path: " << path);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_PRINT_L0("Minidump file created on path: " << path);
|
||||
}
|
||||
// Close the file
|
||||
CloseHandle(hFile);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_ERROR("Minidump FAILED to create file (error " << GetLastError() << ") on path: " << path);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#else // ifdef WIN32
|
||||
std::string get_nix_version_display_string()
|
||||
{
|
||||
utsname un;
|
||||
|
|
@ -600,7 +663,7 @@ std::string get_nix_version_display_string()
|
|||
boost::asio::ip::udp::socket socket(io_service);
|
||||
socket.open(boost::asio::ip::udp::v4());
|
||||
|
||||
boost::array<unsigned char, 48> send_buf = { 010, 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
boost::array<unsigned char, 48> send_buf = { { 010, 0, 0, 0, 0, 0, 0, 0, 0 } };
|
||||
socket.send_to(boost::asio::buffer(send_buf), receiver_endpoint);
|
||||
|
||||
boost::array<unsigned long, 1024> recv_buf;
|
||||
|
|
|
|||
|
|
@ -231,67 +231,7 @@ namespace tools
|
|||
|
||||
}
|
||||
|
||||
static void GenerateCrashDump(EXCEPTION_POINTERS *pep = NULL)
|
||||
|
||||
{
|
||||
SYSTEMTIME sysTime = { 0 };
|
||||
GetSystemTime(&sysTime);
|
||||
// get the computer name
|
||||
char compName[MAX_COMPUTERNAME_LENGTH + 1] = { 0 };
|
||||
DWORD compNameLen = ARRAYSIZE(compName);
|
||||
GetComputerNameA(compName, &compNameLen);
|
||||
// build the filename: APPNAME_COMPUTERNAME_DATE_TIME.DMP
|
||||
char path[MAX_PATH*10] = { 0 };
|
||||
std::string folder = epee::log_space::log_singletone::get_default_log_folder();
|
||||
sprintf_s(path, ARRAYSIZE(path),"%s\\crashdump_%s_%04u-%02u-%02u_%02u-%02u-%02u.dmp",
|
||||
folder.c_str(), compName, sysTime.wYear, sysTime.wMonth, sysTime.wDay,
|
||||
sysTime.wHour, sysTime.wMinute, sysTime.wSecond);
|
||||
|
||||
HANDLE hFile = CreateFileA(path, GENERIC_READ | GENERIC_WRITE,
|
||||
0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
|
||||
if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
|
||||
{
|
||||
// Create the minidump
|
||||
MINIDUMP_EXCEPTION_INFORMATION mdei;
|
||||
|
||||
mdei.ThreadId = GetCurrentThreadId();
|
||||
mdei.ExceptionPointers = pep;
|
||||
mdei.ClientPointers = FALSE;
|
||||
|
||||
MINIDUMP_CALLBACK_INFORMATION mci;
|
||||
|
||||
mci.CallbackRoutine = (MINIDUMP_CALLBACK_ROUTINE)MyMiniDumpCallback;
|
||||
mci.CallbackParam = 0;
|
||||
|
||||
MINIDUMP_TYPE mdt = (MINIDUMP_TYPE)(MiniDumpWithPrivateReadWriteMemory |
|
||||
MiniDumpWithDataSegs |
|
||||
MiniDumpWithHandleData |
|
||||
MiniDumpWithFullMemoryInfo |
|
||||
MiniDumpWithThreadInfo |
|
||||
MiniDumpWithUnloadedModules);
|
||||
|
||||
BOOL rv = MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(),
|
||||
hFile, mdt, (pep != 0) ? &mdei : 0, 0, &mci);
|
||||
|
||||
if (!rv)
|
||||
{
|
||||
LOG_ERROR("Minidump file create FAILED(error " << GetLastError() << ") on path: " << path);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_PRINT_L0("Minidump file created on path: " << path);
|
||||
}
|
||||
// Close the file
|
||||
CloseHandle(hFile);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_ERROR("Minidump FAILED to create file (error " << GetLastError() << ") on path: " << path);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void GenerateCrashDump(EXCEPTION_POINTERS *pep = NULL);
|
||||
|
||||
static LONG WINAPI win_unhandled_exception_handler(_In_ struct _EXCEPTION_POINTERS *ep)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -37,10 +37,10 @@ using namespace nodetool;
|
|||
|
||||
namespace
|
||||
{
|
||||
const command_line::arg_descriptor<std::string> arg_ip = {"ip", "set ip"};
|
||||
const command_line::arg_descriptor<std::string> arg_ip = {"ip", "set ip", "127.0.0.1", false};
|
||||
const command_line::arg_descriptor<size_t> arg_port = {"port", "set port"};
|
||||
const command_line::arg_descriptor<size_t> arg_rpc_port = {"rpc-port", "set rpc port", RPC_DEFAULT_PORT};
|
||||
const command_line::arg_descriptor<uint32_t> arg_timeout = {"timeout", "set timeout", 5000};
|
||||
const command_line::arg_descriptor<size_t> arg_rpc_port = {"rpc-port", "set rpc port", RPC_DEFAULT_PORT, false};
|
||||
const command_line::arg_descriptor<uint32_t> arg_timeout = {"timeout", "set timeout", 5000, false};
|
||||
const command_line::arg_descriptor<std::string> arg_priv_key = {"private-key", "private key to subscribe debug command", "", true};
|
||||
const command_line::arg_descriptor<uint64_t> arg_peer_id = {"peer-id", "peerid if known(if not - will be requested)", 0};
|
||||
const command_line::arg_descriptor<bool> arg_generate_keys = {"generate-keys-pair", "generate private and public keys pair"};
|
||||
|
|
@ -710,15 +710,34 @@ bool handle_request_stat(po::variables_map& vm, peerid_type peer_id)
|
|||
return true;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------------------------------
|
||||
std::string get_password(const std::string& promt)
|
||||
{
|
||||
std::string res;
|
||||
#ifndef WIN32
|
||||
const char* ppass = getpass(promt.c_str());
|
||||
if (ppass)
|
||||
res = ppass;
|
||||
#else
|
||||
std::cout << promt;
|
||||
std::getline(std::cin, res);
|
||||
#endif
|
||||
return res;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------------------------------
|
||||
bool get_private_key(crypto::secret_key& pk, po::variables_map& vm)
|
||||
{
|
||||
if(!command_line::has_arg(vm, arg_priv_key))
|
||||
std::string key_str;
|
||||
|
||||
if(command_line::has_arg(vm, arg_priv_key))
|
||||
{
|
||||
std::cout << "ERROR: secret key not set" << ENDL;
|
||||
return false;
|
||||
key_str = command_line::get_arg(vm, arg_priv_key);
|
||||
}
|
||||
else
|
||||
{
|
||||
key_str = get_password("Enter maintain private key:");
|
||||
}
|
||||
|
||||
if(!string_tools::hex_to_pod(command_line::get_arg(vm, arg_priv_key) , pk))
|
||||
if(!string_tools::hex_to_pod(key_str, pk))
|
||||
{
|
||||
std::cout << "ERROR: wrong secret key set" << ENDL;
|
||||
return false;
|
||||
|
|
@ -796,17 +815,20 @@ bool handle_increment_build_no(po::variables_map& vm)
|
|||
bool handle_update_maintainers_info(po::variables_map& vm)
|
||||
{
|
||||
log_space::log_singletone::add_logger(LOGGER_CONSOLE, NULL, NULL);
|
||||
size_t rpc_port = RPC_DEFAULT_PORT;
|
||||
if(!command_line::has_arg(vm, arg_rpc_port))
|
||||
{
|
||||
std::cout << "ERROR: rpc port not set" << ENDL;
|
||||
return false;
|
||||
}
|
||||
crypto::secret_key prvk = AUTO_VAL_INIT(prvk);
|
||||
|
||||
crypto::secret_key prvk = AUTO_VAL_INIT(prvk);
|
||||
if(!get_private_key(prvk, vm))
|
||||
{
|
||||
std::cout << "ERROR: secret key error" << ENDL;
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string path = command_line::get_arg(vm, arg_upate_maintainers_info);
|
||||
|
||||
epee::net_utils::http::http_simple_client http_client;
|
||||
|
|
|
|||
|
|
@ -22,21 +22,35 @@ namespace currency
|
|||
{
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//global object
|
||||
// crypto::ethash::cache_manager cache;
|
||||
// void ethash_set_use_dag(bool use_dag)
|
||||
// {
|
||||
// cache.set_use_dag(use_dag);
|
||||
// }
|
||||
// //------------------------------------------------------------------
|
||||
// const uint8_t* ethash_get_dag(uint64_t epoch, uint64_t& dag_size)
|
||||
// {
|
||||
// return cache.get_dag(epoch, dag_size);
|
||||
// }
|
||||
int ethash_custom_log_get_level()
|
||||
{
|
||||
return epee::log_space::get_set_log_detalisation_level();
|
||||
}
|
||||
//--------------------------------------------------------------
|
||||
void ethash_custom_log(const std::string& m, bool add_callstack)
|
||||
{
|
||||
std::string msg = epee::log_space::log_singletone::get_prefix_entry() + "[ETHASH]" + m;
|
||||
if (add_callstack)
|
||||
msg = msg + "callstask: " + epee::misc_utils::get_callstack();
|
||||
|
||||
epee::log_space::log_singletone::do_log_message(msg, LOG_LEVEL_0, epee::log_space::console_color_default, true, LOG_DEFAULT_TARGET);
|
||||
}
|
||||
//--------------------------------------------------------------
|
||||
void init_ethash_log_if_necessary()
|
||||
{
|
||||
static bool inited = false;
|
||||
if (inited)
|
||||
return;
|
||||
|
||||
ethash::access_custom_log_level_function() = ðash_custom_log_get_level;
|
||||
ethash::access_custom_log_function() = ðash_custom_log;
|
||||
|
||||
inited = true;
|
||||
}
|
||||
//------------------------------------------------------------------
|
||||
int ethash_height_to_epoch(uint64_t height)
|
||||
{
|
||||
return height / ETHASH_EPOCH_LENGTH;
|
||||
return static_cast<int>(height / ETHASH_EPOCH_LENGTH);
|
||||
}
|
||||
//--------------------------------------------------------------
|
||||
crypto::hash ethash_epoch_to_seed(int epoch)
|
||||
|
|
@ -49,9 +63,11 @@ namespace currency
|
|||
//--------------------------------------------------------------
|
||||
crypto::hash get_block_longhash(uint64_t height, const crypto::hash& block_header_hash, uint64_t nonce)
|
||||
{
|
||||
init_ethash_log_if_necessary();
|
||||
int epoch = ethash_height_to_epoch(height);
|
||||
const auto& context = progpow::get_global_epoch_context_full(static_cast<int>(epoch));
|
||||
auto res_eth = progpow::hash(context, height, *(ethash::hash256*)&block_header_hash, nonce);
|
||||
std::shared_ptr<ethash::epoch_context_full> p_context = progpow::get_global_epoch_context_full(static_cast<int>(epoch));
|
||||
CHECK_AND_ASSERT_THROW_MES(p_context, "progpow::get_global_epoch_context_full returned null");
|
||||
auto res_eth = progpow::hash(*p_context, static_cast<int>(height), *(ethash::hash256*)&block_header_hash, nonce);
|
||||
crypto::hash result = currency::null_hash;
|
||||
memcpy(&result.data, &res_eth.final_hash, sizeof(res_eth.final_hash));
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -153,6 +153,9 @@ namespace currency
|
|||
|
||||
// {amount -> pub_keys} map of outputs' pub_keys appeared in this alt block ( index_in_vector == output_gindex - gindex_lookup_table[output_amount] )
|
||||
std::map<uint64_t, std::vector<crypto::public_key> > outputs_pub_keys;
|
||||
|
||||
//date added to alt chain storage
|
||||
uint64_t timestamp;
|
||||
};
|
||||
typedef std::unordered_map<crypto::hash, alt_block_extended_info> alt_chain_container;
|
||||
//typedef std::list<alt_chain_container::iterator> alt_chain_type;
|
||||
|
|
@ -184,6 +187,7 @@ namespace currency
|
|||
|
||||
//------------- modifying members --------------
|
||||
bool add_new_block(const block& bl_, block_verification_context& bvc);
|
||||
bool prevalidate_block(const block& bl);
|
||||
bool clear();
|
||||
bool reset_and_set_genesis_block(const block& b);
|
||||
//debug function
|
||||
|
|
@ -221,8 +225,11 @@ namespace currency
|
|||
bool have_tx_keyimg_as_spent(const crypto::key_image &key_im, uint64_t before_height = UINT64_MAX) const;
|
||||
std::shared_ptr<transaction> get_tx(const crypto::hash &id) const;
|
||||
|
||||
|
||||
template<class visitor_t>
|
||||
bool scan_outputkeys_for_indexes(const txin_to_key& tx_in_to_key, visitor_t& vis, uint64_t* pmax_related_block_height = NULL) const ;
|
||||
bool scan_outputkeys_for_indexes(const transaction &validated_tx, const txin_to_key& tx_in_to_key, visitor_t& vis) { uint64_t stub = 0; return scan_outputkeys_for_indexes(validated_tx, tx_in_to_key, vis, stub); }
|
||||
template<class visitor_t>
|
||||
bool scan_outputkeys_for_indexes(const transaction &validated_tx, const txin_to_key& tx_in_to_key, visitor_t& vis, uint64_t& max_related_block_height) const ;
|
||||
|
||||
uint64_t get_current_blockchain_size() const;
|
||||
uint64_t get_top_block_height() const;
|
||||
|
|
@ -230,7 +237,7 @@ namespace currency
|
|||
crypto::hash get_top_block_id(uint64_t& height) const;
|
||||
bool get_top_block(block& b) const;
|
||||
wide_difficulty_type get_next_diff_conditional(bool pos) const;
|
||||
wide_difficulty_type get_next_diff_conditional2(bool pos, const alt_chain_type& alt_chain, uint64_t split_height) const;
|
||||
wide_difficulty_type get_next_diff_conditional2(bool pos, const alt_chain_type& alt_chain, uint64_t split_height, const alt_block_extended_info& abei) const;
|
||||
wide_difficulty_type get_cached_next_difficulty(bool pos) const;
|
||||
|
||||
typedef bool fill_block_template_func_t(block &bl, bool pos, size_t median_size, const boost::multiprecision::uint128_t& already_generated_coins, size_t &total_size, uint64_t &fee, uint64_t height);
|
||||
|
|
@ -260,13 +267,14 @@ namespace currency
|
|||
uint64_t get_aliases_count()const;
|
||||
uint64_t get_block_h_older_then(uint64_t timestamp) const;
|
||||
bool validate_tx_service_attachmens_in_services(const tx_service_attachment& a, size_t i, const transaction& tx)const;
|
||||
bool check_tx_input(const transaction& tx, size_t in_index, const txin_to_key& txin, const crypto::hash& tx_prefix_hash, const std::vector<crypto::signature>& sig, uint64_t* pmax_related_block_height = NULL)const;
|
||||
bool check_tx_input(const transaction& tx, size_t in_index, const txin_multisig& txin, const crypto::hash& tx_prefix_hash, const std::vector<crypto::signature>& sig, uint64_t* pmax_related_block_height = NULL)const;
|
||||
bool check_tx_inputs(const transaction& tx, const crypto::hash& tx_prefix_hash, uint64_t* pmax_used_block_height = NULL)const;
|
||||
//bool check_tx_inputs(const transaction& tx, uint64_t* pmax_used_block_height = NULL)const;
|
||||
bool check_tx_inputs(const transaction& tx, const crypto::hash& tx_prefix_hash, uint64_t& pmax_used_block_height, crypto::hash& max_used_block_id)const;
|
||||
bool check_tx_input(const transaction& tx, size_t in_index, const txin_to_key& txin, const crypto::hash& tx_prefix_hash, const std::vector<crypto::signature>& sig, uint64_t& max_related_block_height, uint64_t& source_max_unlock_time_for_pos_coinbase)const;
|
||||
bool check_tx_input(const transaction& tx, size_t in_index, const txin_multisig& txin, const crypto::hash& tx_prefix_hash, const std::vector<crypto::signature>& sig, uint64_t& max_related_block_height)const;
|
||||
bool check_tx_inputs(const transaction& tx, const crypto::hash& tx_prefix_hash, uint64_t& max_used_block_height)const;
|
||||
bool check_tx_inputs(const transaction& tx, const crypto::hash& tx_prefix_hash) const;
|
||||
bool check_tx_inputs(const transaction& tx, const crypto::hash& tx_prefix_hash, uint64_t& max_used_block_height, crypto::hash& max_used_block_id)const;
|
||||
bool check_ms_input(const transaction& tx, size_t in_index, const txin_multisig& txin, const crypto::hash& tx_prefix_hash, const std::vector<crypto::signature>& sig, const transaction& source_tx, size_t out_n) const;
|
||||
bool get_output_keys_for_input_with_checks(const txin_to_key& txin, std::vector<crypto::public_key>& output_keys, uint64_t* pmax_related_block_height = NULL) const;
|
||||
bool validate_tx_for_hardfork_specific_terms(const transaction& tx, const crypto::hash& tx_id, uint64_t block_height) const;
|
||||
bool get_output_keys_for_input_with_checks(const transaction& tx, const txin_to_key& txin, std::vector<crypto::public_key>& output_keys, uint64_t& max_related_block_height, uint64_t& source_max_unlock_time_for_pos_coinbase) const;
|
||||
bool check_tokey_input(const transaction& tx, size_t in_index, const txin_to_key& txin, const crypto::hash& tx_prefix_hash, const std::vector<crypto::signature>& sig, const std::vector<const crypto::public_key*>& output_keys_ptrs) const;
|
||||
uint64_t get_current_comulative_blocksize_limit()const;
|
||||
uint64_t get_current_hashrate(size_t aprox_count)const;
|
||||
|
|
@ -304,6 +312,7 @@ namespace currency
|
|||
bool build_stake_modifier(stake_modifier_type& sm, const alt_chain_type& alt_chain = alt_chain_type(), uint64_t split_height = 0, crypto::hash *p_last_block_hash = nullptr) const;
|
||||
|
||||
bool scan_pos(const COMMAND_RPC_SCAN_POS::request& sp, COMMAND_RPC_SCAN_POS::response& rsp)const;
|
||||
bool validate_pos_coinbase_outs_unlock_time(const transaction& miner_tx, uint64_t staked_amount, uint64_t source_max_unlock_time)const;
|
||||
bool validate_pos_block(const block& b, const crypto::hash& id, bool for_altchain)const;
|
||||
bool validate_pos_block(const block& b, wide_difficulty_type basic_diff, const crypto::hash& id, bool for_altchain)const;
|
||||
bool validate_pos_block(const block& b,
|
||||
|
|
@ -421,6 +430,7 @@ namespace currency
|
|||
void print_blockchain_outs(const std::string& file) const;
|
||||
void print_blockchain_outs_stat() const;
|
||||
void print_db_cache_perfeormance_data() const;
|
||||
void print_last_n_difficulty_numbers(uint64_t n) const;
|
||||
bool calc_tx_cummulative_blob(const block& bl)const;
|
||||
bool get_outs_index_stat(outs_index_stat& outs_stat)const;
|
||||
bool print_lookup_key_image(const crypto::key_image& ki) const;
|
||||
|
|
@ -430,6 +440,7 @@ namespace currency
|
|||
bool rebuild_tx_fee_medians();
|
||||
bool validate_all_aliases_for_new_median_mode();
|
||||
bool print_tx_outputs_lookup(const crypto::hash& tx_id) const;
|
||||
uint64_t get_last_x_block_height(bool pos)const;
|
||||
private:
|
||||
|
||||
//-------------- DB containers --------------
|
||||
|
|
@ -524,7 +535,7 @@ namespace currency
|
|||
|
||||
bool init_tx_fee_median();
|
||||
bool update_tx_fee_median();
|
||||
void initialize_db_solo_options_values();
|
||||
void store_db_solo_options_values();
|
||||
bool set_lost_tx_unmixable();
|
||||
bool set_lost_tx_unmixable_for_height(uint64_t height);
|
||||
void patch_out_if_needed(txout_to_key& out, const crypto::hash& tx_id, uint64_t n)const ;
|
||||
|
|
@ -541,7 +552,8 @@ namespace currency
|
|||
bool handle_block_to_main_chain(const block& bl, const crypto::hash& id, block_verification_context& bvc);
|
||||
std::string print_alt_chain(alt_chain_type alt_chain);
|
||||
bool handle_alternative_block(const block& b, const crypto::hash& id, block_verification_context& bvc);
|
||||
bool is_reorganize_required(const block_extended_info& main_chain_bei, const block_extended_info& alt_chain_bei, const crypto::hash& proof_alt);
|
||||
bool is_reorganize_required(const block_extended_info& main_chain_bei, const alt_chain_type& alt_chain, const crypto::hash& proof_alt);
|
||||
wide_difficulty_type get_x_difficulty_after_height(uint64_t height, bool is_pos);
|
||||
bool purge_keyimage_from_big_heap(const crypto::key_image& ki, const crypto::hash& id);
|
||||
bool purge_altblock_keyimages_from_big_heap(const block& b, const crypto::hash& id);
|
||||
bool append_altblock_keyimages_to_big_heap(const crypto::hash& block_id, const std::set<crypto::key_image>& alt_block_keyimages);
|
||||
|
|
@ -550,9 +562,8 @@ namespace currency
|
|||
bool validate_alt_block_txs(const block& b, const crypto::hash& id, std::set<crypto::key_image>& collected_keyimages, alt_block_extended_info& abei, const alt_chain_type& alt_chain, uint64_t split_height, uint64_t& ki_lookup_time_total) const;
|
||||
bool update_alt_out_indexes_for_tx_in_block(const transaction& tx, alt_block_extended_info& abei)const;
|
||||
bool get_transaction_from_pool_or_db(const crypto::hash& tx_id, std::shared_ptr<transaction>& tx_ptr, uint64_t min_allowed_block_height = 0) const;
|
||||
|
||||
void get_last_n_x_blocks(uint64_t n, bool pos_blocks, std::list<std::shared_ptr<const block_extended_info>>& blocks) const;
|
||||
bool prevalidate_miner_transaction(const block& b, uint64_t height, bool pos)const;
|
||||
bool validate_transaction(const block& b, uint64_t height, const transaction& tx)const;
|
||||
bool rollback_blockchain_switching(std::list<block>& original_chain, size_t rollback_height);
|
||||
bool add_transaction_from_block(const transaction& tx, const crypto::hash& tx_id, const crypto::hash& bl_id, uint64_t bl_height, uint64_t timestamp);
|
||||
bool push_transaction_to_global_outs_index(const transaction& tx, const crypto::hash& tx_id, std::vector<uint64_t>& global_indexes);
|
||||
|
|
@ -608,8 +619,8 @@ namespace currency
|
|||
//POS
|
||||
wide_difficulty_type get_adjusted_cumulative_difficulty_for_next_pos(wide_difficulty_type next_diff)const;
|
||||
wide_difficulty_type get_adjusted_cumulative_difficulty_for_next_alt_pos(alt_chain_type& alt_chain, uint64_t block_height, wide_difficulty_type next_diff, uint64_t connection_height)const;
|
||||
uint64_t get_last_x_block_height(bool pos)const;
|
||||
wide_difficulty_type get_last_alt_x_block_cumulative_precise_difficulty(alt_chain_type& alt_chain, uint64_t block_height, bool pos)const;
|
||||
wide_difficulty_type get_last_alt_x_block_cumulative_precise_difficulty(const alt_chain_type& alt_chain, uint64_t block_height, bool pos, wide_difficulty_type& cumulative_diff_precise_adj)const;
|
||||
wide_difficulty_type get_last_alt_x_block_cumulative_precise_adj_difficulty(const alt_chain_type& alt_chain, uint64_t block_height, bool pos) const;
|
||||
size_t get_current_sequence_factor_for_alt(alt_chain_type& alt_chain, bool pos, uint64_t connection_height)const;
|
||||
};
|
||||
|
||||
|
|
@ -648,7 +659,7 @@ namespace currency
|
|||
//------------------------------------------------------------------
|
||||
//------------------------------------------------------------------
|
||||
template<class visitor_t>
|
||||
bool blockchain_storage::scan_outputkeys_for_indexes(const txin_to_key& tx_in_to_key, visitor_t& vis, uint64_t* pmax_related_block_height) const
|
||||
bool blockchain_storage::scan_outputkeys_for_indexes(const transaction &validated_tx, const txin_to_key& tx_in_to_key, visitor_t& vis, uint64_t& max_related_block_height) const
|
||||
{
|
||||
CRITICAL_REGION_LOCAL(m_read_lock);
|
||||
TIME_MEASURE_START_PD(tx_check_inputs_loop_scan_outputkeys_get_item_size);
|
||||
|
|
@ -704,18 +715,16 @@ namespace currency
|
|||
CHECK_AND_ASSERT_MES(mixattr_ok, false, "tx output #" << output_index << " violates mixin restrictions: mix_attr = " << static_cast<uint32_t>(outtk.mix_attr) << ", key_offsets.size = " << tx_in_to_key.key_offsets.size());
|
||||
|
||||
TIME_MEASURE_START_PD(tx_check_inputs_loop_scan_outputkeys_loop_handle_output);
|
||||
if (!vis.handle_output(tx_ptr->tx, tx_ptr->tx.vout[n]))
|
||||
if (!vis.handle_output(tx_ptr->tx, validated_tx, tx_ptr->tx.vout[n], n))
|
||||
{
|
||||
LOG_PRINT_L0("Failed to handle_output for output id = " << tx_id << ", no " << n);
|
||||
return false;
|
||||
}
|
||||
TIME_MEASURE_FINISH_PD(tx_check_inputs_loop_scan_outputkeys_loop_handle_output);
|
||||
|
||||
if (pmax_related_block_height)
|
||||
{
|
||||
if (*pmax_related_block_height < tx_ptr->m_keeper_block_height)
|
||||
*pmax_related_block_height = tx_ptr->m_keeper_block_height;
|
||||
}
|
||||
if (max_related_block_height < tx_ptr->m_keeper_block_height)
|
||||
max_related_block_height = tx_ptr->m_keeper_block_height;
|
||||
|
||||
|
||||
++output_index;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ namespace currency
|
|||
uint64_t block_cumulative_size;
|
||||
wide_difficulty_type cumulative_diff_adjusted;
|
||||
wide_difficulty_type cumulative_diff_precise;
|
||||
wide_difficulty_type cumulative_diff_precise_adjusted;
|
||||
wide_difficulty_type difficulty;
|
||||
boost::multiprecision::uint128_t already_generated_coins;
|
||||
crypto::hash stake_hash; //TODO: unused field for PoW blocks, subject for refactoring
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ namespace currency
|
|||
uint64_t pos_minimum_heigh; //height
|
||||
uint64_t tx_pool_min_fee;
|
||||
uint64_t tx_default_fee;
|
||||
uint64_t hard_fork1_starts_after_height;
|
||||
uint64_t max_alt_blocks;
|
||||
crypto::public_key alias_validation_pubkey;
|
||||
core_time_func_t get_core_time;
|
||||
|
||||
|
|
@ -34,6 +36,8 @@ namespace currency
|
|||
pc.pos_minimum_heigh = POS_START_HEIGHT;
|
||||
pc.tx_pool_min_fee = TX_MINIMUM_FEE;
|
||||
pc.tx_default_fee = TX_DEFAULT_FEE;
|
||||
pc.max_alt_blocks = CURRENCY_ALT_BLOCK_MAX_COUNT;
|
||||
pc.hard_fork1_starts_after_height = ZANO_HARDFORK_1_AFTER_HEIGHT;
|
||||
pc.get_core_time = &core_runtime_config::_default_core_time_function;
|
||||
bool r = epee::string_tools::hex_to_pod(ALIAS_SHORT_NAMES_VALIDATION_PUB_KEY, pc.alias_validation_pubkey);
|
||||
CHECK_AND_ASSERT_THROW_MES(r, "failed to parse alias_validation_pub_key");
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ namespace currency
|
|||
};
|
||||
|
||||
|
||||
//number of block (or time), used as a limitation: spend this tx not early then block/time
|
||||
//number of block (or timestamp if v bigger then CURRENCY_MAX_BLOCK_NUMBER), used as a limitation: spend this tx not early then block/time
|
||||
struct etc_tx_details_unlock_time
|
||||
{
|
||||
uint64_t v;
|
||||
|
|
@ -345,6 +345,16 @@ namespace currency
|
|||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
//number of block (or timestamp if unlock_time_array[i] bigger then CURRENCY_MAX_BLOCK_NUMBER), used as a limitation: spend this tx not early then block/time
|
||||
//unlock_time_array[i], i - index of output, unlock_time_array.size() == vout.size()
|
||||
struct etc_tx_details_unlock_time2
|
||||
{
|
||||
std::vector<uint64_t> unlock_time_array;
|
||||
BEGIN_SERIALIZE()
|
||||
FIELD(unlock_time_array)
|
||||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
struct etc_tx_details_expiration_time
|
||||
{
|
||||
uint64_t v;
|
||||
|
|
@ -361,7 +371,7 @@ namespace currency
|
|||
uint64_t v;
|
||||
BEGIN_SERIALIZE()
|
||||
VARINT_FIELD(v)
|
||||
END_SERIALIZE()
|
||||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
struct etc_tx_details_flags
|
||||
|
|
@ -380,7 +390,7 @@ namespace currency
|
|||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
typedef boost::mpl::vector<tx_service_attachment, tx_comment, tx_payer, tx_receiver, tx_message, std::string, tx_crypto_checksum, etc_tx_time, etc_tx_details_unlock_time, etc_tx_details_expiration_time, etc_tx_details_flags, crypto::public_key, extra_attachment_info, extra_alias_entry, extra_user_data, extra_padding, etc_tx_derivation_hint> all_payload_types;
|
||||
typedef boost::mpl::vector<tx_service_attachment, tx_comment, tx_payer, tx_receiver, tx_message, std::string, tx_crypto_checksum, etc_tx_time, etc_tx_details_unlock_time, etc_tx_details_expiration_time, etc_tx_details_flags, crypto::public_key, extra_attachment_info, extra_alias_entry, extra_user_data, extra_padding, etc_tx_derivation_hint, etc_tx_details_unlock_time2> all_payload_types;
|
||||
typedef boost::make_variant_over<all_payload_types>::type attachment_v;
|
||||
typedef boost::make_variant_over<all_payload_types>::type extra_v;
|
||||
typedef boost::make_variant_over<all_payload_types>::type payload_items_v;
|
||||
|
|
@ -553,12 +563,14 @@ namespace currency
|
|||
uint64_t index;
|
||||
crypto::key_image keyimage;
|
||||
uint64_t block_timestamp;
|
||||
uint64_t stake_unlock_time;
|
||||
//not for serialization
|
||||
uint64_t wallet_index;
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE(amount)
|
||||
KV_SERIALIZE(index)
|
||||
KV_SERIALIZE(stake_unlock_time)
|
||||
KV_SERIALIZE(block_timestamp)
|
||||
KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE(keyimage)
|
||||
END_KV_SERIALIZE_MAP()
|
||||
|
|
@ -613,5 +625,6 @@ SET_VARIANT_TAGS(uint64_t, 26, "uint64_t");
|
|||
SET_VARIANT_TAGS(currency::etc_tx_time, 27, "etc_tx_time");
|
||||
SET_VARIANT_TAGS(uint32_t, 28, "uint32_t");
|
||||
SET_VARIANT_TAGS(currency::tx_receiver, 29, "payer");
|
||||
SET_VARIANT_TAGS(currency::etc_tx_details_unlock_time2, 30, "unlock_time2");
|
||||
|
||||
#undef SET_VARIANT_TAGS
|
||||
|
|
|
|||
|
|
@ -190,6 +190,11 @@ namespace boost
|
|||
a & at.v;
|
||||
}
|
||||
template <class Archive>
|
||||
inline void serialize(Archive &a, currency::etc_tx_details_unlock_time2 &at, const boost::serialization::version_type ver)
|
||||
{
|
||||
a & at.unlock_time_array;
|
||||
}
|
||||
template <class Archive>
|
||||
inline void serialize(Archive &a, currency::etc_tx_details_expiration_time &at, const boost::serialization::version_type ver)
|
||||
{
|
||||
a & at.v;
|
||||
|
|
|
|||
|
|
@ -7,9 +7,15 @@
|
|||
#pragma once
|
||||
|
||||
|
||||
#ifndef TESTNET
|
||||
#define CURRENCY_FORMATION_VERSION 84
|
||||
#else
|
||||
#define CURRENCY_FORMATION_VERSION 86
|
||||
#endif
|
||||
|
||||
#define CURRENCY_GENESIS_NONCE (CURRENCY_FORMATION_VERSION + 101011010121) //bender's nightmare
|
||||
|
||||
|
||||
|
||||
#define CURRENCY_MAX_BLOCK_NUMBER 500000000
|
||||
#define CURRENCY_MAX_BLOCK_SIZE 500000000 // block header blob limit, never used!
|
||||
|
|
@ -24,10 +30,6 @@
|
|||
#define CURRENCY_POS_BLOCK_FUTURE_TIME_LIMIT 60*20
|
||||
|
||||
#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW 60
|
||||
|
||||
|
||||
// TOTAL_MONEY_SUPPLY - total number coins to be generated
|
||||
#define TOTAL_MONEY_SUPPLY ((uint64_t)(-1))
|
||||
|
||||
#define POS_START_HEIGHT 0
|
||||
|
||||
|
|
@ -87,15 +89,17 @@
|
|||
|
||||
|
||||
#define CURRENCY_ALT_BLOCK_LIVETIME_COUNT (CURRENCY_BLOCKS_PER_DAY*7)//one week
|
||||
#define CURRENCY_ALT_BLOCK_MAX_COUNT 43200 //30 days
|
||||
#define CURRENCY_MEMPOOL_TX_LIVETIME 345600 //seconds, 4 days
|
||||
|
||||
|
||||
#ifndef TESTNET
|
||||
#define P2P_DEFAULT_PORT 11121
|
||||
#define RPC_DEFAULT_PORT 11211
|
||||
#define STRATUM_DEFAULT_PORT 11777
|
||||
#define P2P_NETWORK_ID_TESTNET_FLAG 0
|
||||
#else
|
||||
#define P2P_DEFAULT_PORT (11112)
|
||||
#define P2P_DEFAULT_PORT (11112 + CURRENCY_FORMATION_VERSION)
|
||||
#define RPC_DEFAULT_PORT 12111
|
||||
#define STRATUM_DEFAULT_PORT 11888
|
||||
#define STRARUM_DEFAULT_PORT 51113
|
||||
|
|
@ -128,7 +132,7 @@
|
|||
//PoS definitions
|
||||
#define POS_SCAN_WINDOW 60*10 //seconds // 10 minutes
|
||||
#define POS_SCAN_STEP 15 //seconds
|
||||
#define POS_MAC_ACTUAL_TIMESTAMP_TO_MINED (POS_SCAN_WINDOW+100)
|
||||
#define POS_MAX_ACTUAL_TIMESTAMP_TO_MINED (POS_SCAN_WINDOW+100)
|
||||
|
||||
#define POS_STARTER_KERNEL_HASH "00000000000000000006382a8d8f94588ce93a1351924f6ccb9e07dd287c6e4b"
|
||||
#define POS_MODFIFIER_INTERVAL 10
|
||||
|
|
@ -183,8 +187,10 @@
|
|||
#define CURRENCY_CORE_INSTANCE_LOCK_FILE "lock.lck"
|
||||
|
||||
|
||||
#define CURRENCY_POOLDATA_FOLDERNAME "poolstate"
|
||||
#define CURRENCY_BLOCKCHAINDATA_FOLDERNAME "blockchain"
|
||||
#define CURRENCY_POOLDATA_FOLDERNAME_OLD "poolstate"
|
||||
#define CURRENCY_BLOCKCHAINDATA_FOLDERNAME_OLD "blockchain"
|
||||
#define CURRENCY_POOLDATA_FOLDERNAME "poolstate_lmdb_v1"
|
||||
#define CURRENCY_BLOCKCHAINDATA_FOLDERNAME "blockchain_lmdb_v1"
|
||||
#define P2P_NET_DATA_FILENAME "p2pstate.bin"
|
||||
#define MINER_CONFIG_FILENAME "miner_conf.json"
|
||||
#define GUI_SECURE_CONFIG_FILENAME "gui_secure_conf.bin"
|
||||
|
|
@ -192,10 +198,11 @@
|
|||
#define GUI_INTERNAL_CONFIG "gui_internal_config.bin"
|
||||
|
||||
|
||||
|
||||
#define CURRENT_TRANSACTION_CHAIN_ENTRY_ARCHIVE_VER 3
|
||||
#define CURRENT_BLOCK_EXTENDED_INFO_ARCHIVE_VER 1
|
||||
|
||||
#define BLOCKCHAIN_STORAGE_MAJOR_COMPATIBILITY_VERSION CURRENCY_FORMATION_VERSION + 7
|
||||
#define BLOCKCHAIN_STORAGE_MAJOR_COMPATIBILITY_VERSION CURRENCY_FORMATION_VERSION + 8
|
||||
#define BLOCKCHAIN_STORAGE_MINOR_COMPATIBILITY_VERSION 1
|
||||
|
||||
|
||||
|
|
@ -203,11 +210,19 @@
|
|||
#define BC_OFFERS_CURRENCY_MARKET_FILENAME "market.bin"
|
||||
|
||||
|
||||
#define WALLET_FILE_SERIALIZATION_VERSION (CURRENCY_FORMATION_VERSION+64)
|
||||
#define WALLET_FILE_SERIALIZATION_VERSION (CURRENCY_FORMATION_VERSION+65)
|
||||
|
||||
#define CURRENT_MEMPOOL_ARCHIVE_VER (CURRENCY_FORMATION_VERSION+31)
|
||||
|
||||
|
||||
//hard forks section
|
||||
#define BLOCK_MAJOR_VERSION_GENESIS 1
|
||||
#define BLOCK_MINOR_VERSION_GENESIS 0
|
||||
#define BLOCK_MAJOR_VERSION_INITAL 0
|
||||
#ifndef TESTNET
|
||||
#define ZANO_HARDFORK_1_AFTER_HEIGHT 194624
|
||||
#else
|
||||
#define ZANO_HARDFORK_1_AFTER_HEIGHT 1440
|
||||
#endif
|
||||
|
||||
|
||||
static_assert(CURRENCY_MINER_TX_MAX_OUTS <= CURRENCY_TX_MAX_ALLOWED_OUTS, "Miner tx must obey normal tx max outs limit");
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ using namespace epee;
|
|||
#include "currency_format_utils.h"
|
||||
#include "misc_language.h"
|
||||
|
||||
#define MINIMUM_REQUIRED_FREE_SPACE_BYTES (1024 * 1024 * 100)
|
||||
|
||||
DISABLE_VS_WARNINGS(4355)
|
||||
#undef LOG_DEFAULT_CHANNEL
|
||||
#define LOG_DEFAULT_CHANNEL "core"
|
||||
|
|
@ -136,6 +138,9 @@ namespace currency
|
|||
{
|
||||
bool r = handle_command_line(vm);
|
||||
|
||||
uint64_t available_space = 0;
|
||||
CHECK_AND_ASSERT_MES(!check_if_free_space_critically_low(&available_space), false, "free space in data folder is critically low: " << std::fixed << available_space / (1024 * 1024) << " MB");
|
||||
|
||||
r = m_mempool.init(m_config_folder);
|
||||
CHECK_AND_ASSERT_MES(r, false, "Failed to initialize memory pool");
|
||||
|
||||
|
|
@ -710,18 +715,23 @@ namespace currency
|
|||
l->on_blockchain_update();
|
||||
}
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
#define MINIMUM_REQUIRED_FREE_SPACE_BYTES (1024 * 1024 * 100)
|
||||
void core::check_free_space()
|
||||
bool core::check_if_free_space_critically_low(uint64_t* p_available_space /* = nullptr */)
|
||||
{
|
||||
boost::filesystem::space_info si = boost::filesystem::space(m_config_folder);
|
||||
if (p_available_space != nullptr)
|
||||
*p_available_space = si.available;
|
||||
return si.available < MINIMUM_REQUIRED_FREE_SPACE_BYTES;
|
||||
}
|
||||
|
||||
if (si.available < MINIMUM_REQUIRED_FREE_SPACE_BYTES)
|
||||
{
|
||||
m_critical_error_handler->on_critical_low_free_space(si.available, MINIMUM_REQUIRED_FREE_SPACE_BYTES);
|
||||
}
|
||||
void core::check_free_space()
|
||||
{
|
||||
if (!m_critical_error_handler)
|
||||
return;
|
||||
|
||||
uint64_t available_space = 0;
|
||||
if (check_if_free_space_critically_low(&available_space))
|
||||
m_critical_error_handler->on_critical_low_free_space(available_space, MINIMUM_REQUIRED_FREE_SPACE_BYTES);
|
||||
}
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
#undef LOG_DEFAULT_CHANNEL
|
||||
#define LOG_DEFAULT_CHANNEL NULL
|
||||
|
|
@ -136,8 +136,9 @@ namespace currency
|
|||
|
||||
void notify_blockchain_update_listeners();
|
||||
|
||||
bool check_if_free_space_critically_low(uint64_t* p_available_space = nullptr);
|
||||
void check_free_space();
|
||||
|
||||
|
||||
|
||||
blockchain_storage m_blockchain_storage;
|
||||
tx_memory_pool m_mempool;
|
||||
|
|
|
|||
|
|
@ -107,21 +107,54 @@ namespace currency
|
|||
out_amounts.resize(out_amounts.size() - 1);
|
||||
}
|
||||
|
||||
|
||||
std::vector<tx_destination_entry> destinations;
|
||||
for (auto a : out_amounts)
|
||||
{
|
||||
tx_destination_entry de;
|
||||
tx_destination_entry de = AUTO_VAL_INIT(de);
|
||||
de.addr.push_back(miner_address);
|
||||
de.amount = a;
|
||||
if (pe.stake_unlock_time && pe.stake_unlock_time > height + CURRENCY_MINED_MONEY_UNLOCK_WINDOW)
|
||||
{
|
||||
//this means that block is creating after hardfork_1 and unlock_time is needed to set for every destination separately
|
||||
de.unlock_time = height + CURRENCY_MINED_MONEY_UNLOCK_WINDOW;
|
||||
}
|
||||
destinations.push_back(de);
|
||||
}
|
||||
|
||||
if (pos)
|
||||
destinations.push_back(tx_destination_entry(pe.amount, stakeholder_address));
|
||||
{
|
||||
uint64_t stake_lock_time = 0;
|
||||
if (pe.stake_unlock_time && pe.stake_unlock_time > height + CURRENCY_MINED_MONEY_UNLOCK_WINDOW)
|
||||
stake_lock_time = pe.stake_unlock_time;
|
||||
destinations.push_back(tx_destination_entry(pe.amount, stakeholder_address, stake_lock_time));
|
||||
}
|
||||
|
||||
|
||||
return construct_miner_tx(height, median_size, already_generated_coins, current_block_size, fee, destinations, tx, extra_nonce, max_outs, pos, pe);
|
||||
}
|
||||
//------------------------------------------------------------------
|
||||
bool apply_unlock_time(const std::vector<tx_destination_entry>& destinations, transaction& tx)
|
||||
{
|
||||
currency::etc_tx_details_unlock_time2 unlock_time2 = AUTO_VAL_INIT(unlock_time2);
|
||||
unlock_time2.unlock_time_array.resize(destinations.size());
|
||||
bool found_unlock_time = false;
|
||||
for (size_t i = 0; i != unlock_time2.unlock_time_array.size(); i++)
|
||||
{
|
||||
if (destinations[i].unlock_time)
|
||||
{
|
||||
found_unlock_time = true;
|
||||
unlock_time2.unlock_time_array[i] = destinations[i].unlock_time;
|
||||
}
|
||||
}
|
||||
if (found_unlock_time)
|
||||
{
|
||||
tx.extra.push_back(unlock_time2);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
//------------------------------------------------------------------
|
||||
bool construct_miner_tx(size_t height, size_t median_size, const boost::multiprecision::uint128_t& already_generated_coins,
|
||||
size_t current_block_size,
|
||||
uint64_t fee,
|
||||
|
|
@ -144,9 +177,12 @@ namespace currency
|
|||
if (!add_tx_extra_userdata(tx, extra_nonce))
|
||||
return false;
|
||||
|
||||
//at this moment we do apply_unlock_time only for coin_base transactions
|
||||
apply_unlock_time(destinations, tx);
|
||||
//we always add extra_padding with 2 bytes length to make possible for get_block_template to adjust cumulative size
|
||||
tx.extra.push_back(extra_padding());
|
||||
|
||||
|
||||
txin_gen in;
|
||||
in.height = height;
|
||||
tx.vin.push_back(in);
|
||||
|
|
@ -171,10 +207,15 @@ namespace currency
|
|||
CHECK_AND_ASSERT_MES(r, false, "Failed to contruct miner tx out");
|
||||
no++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
tx.version = CURRENT_TRANSACTION_VERSION;
|
||||
set_tx_unlock_time(tx, height + CURRENCY_MINED_MONEY_UNLOCK_WINDOW);
|
||||
if (!have_type_in_variant_container<etc_tx_details_unlock_time2>(tx.extra))
|
||||
{
|
||||
//if stake unlock time was not set, then we can use simple "whole transaction" lock scheme
|
||||
set_tx_unlock_time(tx, height + CURRENCY_MINED_MONEY_UNLOCK_WINDOW);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
|
|
@ -891,16 +932,7 @@ namespace currency
|
|||
}
|
||||
return n;
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
account_public_address get_crypt_address_from_destinations(const account_keys& sender_account_keys, const std::vector<tx_destination_entry>& destinations)
|
||||
{
|
||||
for (const auto& de : destinations)
|
||||
{
|
||||
if (de.addr.size() == 1 && sender_account_keys.m_account_address != de.addr.back())
|
||||
return de.addr.back(); // return the first destination address that is non-multisig and not equal to the sender's address
|
||||
}
|
||||
return sender_account_keys.m_account_address; // otherwise, fallback to sender's address
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
bool construct_tx(const account_keys& sender_account_keys,
|
||||
const std::vector<tx_source_entry>& sources,
|
||||
|
|
@ -1304,7 +1336,7 @@ namespace currency
|
|||
bool get_inputs_money_amount(const transaction& tx, uint64_t& money)
|
||||
{
|
||||
money = 0;
|
||||
BOOST_FOREACH(const auto& in, tx.vin)
|
||||
for(const auto& in : tx.vin)
|
||||
{
|
||||
uint64_t this_amount = get_amount_from_variant(in);
|
||||
if (!this_amount)
|
||||
|
|
@ -1328,7 +1360,7 @@ namespace currency
|
|||
//---------------------------------------------------------------
|
||||
bool check_inputs_types_supported(const transaction& tx)
|
||||
{
|
||||
BOOST_FOREACH(const auto& in, tx.vin)
|
||||
for(const auto& in : tx.vin)
|
||||
{
|
||||
CHECK_AND_ASSERT_MES(in.type() == typeid(txin_to_key) || in.type() == typeid(txin_multisig), false, "wrong variant type: "
|
||||
<< in.type().name() << ", expected " << typeid(txin_to_key).name()
|
||||
|
|
@ -1828,9 +1860,7 @@ namespace currency
|
|||
//for future forks
|
||||
|
||||
std::cout << "Currency name: \t\t" << CURRENCY_NAME << "(" << CURRENCY_NAME_SHORT << ")" << std::endl;
|
||||
std::cout << "Money supply: \t\t" << print_money(TOTAL_MONEY_SUPPLY) << " coins"
|
||||
<< "(" << print_money(TOTAL_MONEY_SUPPLY) << "), dev bounties is ???" << std::endl;
|
||||
|
||||
std::cout << "Money supply: \t\t " << CURRENCY_BLOCK_REWARD * CURRENCY_BLOCKS_PER_DAY * 365 << " coins per year" << std::endl;
|
||||
std::cout << "PoS block interval: \t" << DIFFICULTY_POS_TARGET << " seconds" << std::endl;
|
||||
std::cout << "PoW block interval: \t" << DIFFICULTY_POW_TARGET << " seconds" << std::endl;
|
||||
std::cout << "Total blocks per day: \t" << CURRENCY_BLOCKS_PER_DAY << " seconds" << std::endl;
|
||||
|
|
@ -1874,8 +1904,8 @@ namespace currency
|
|||
//string_tools::parse_hexstr_to_binbuff(genesis_coinbase_tx_hex, tx_bl);
|
||||
bool r = parse_and_validate_tx_from_blob(tx_bl, bl.miner_tx);
|
||||
CHECK_AND_ASSERT_MES(r, false, "failed to parse coinbase tx from hard coded blob");
|
||||
bl.major_version = CURRENT_BLOCK_MAJOR_VERSION;
|
||||
bl.minor_version = CURRENT_BLOCK_MINOR_VERSION;
|
||||
bl.major_version = BLOCK_MAJOR_VERSION_GENESIS;
|
||||
bl.minor_version = BLOCK_MINOR_VERSION_GENESIS;
|
||||
bl.timestamp = 0;
|
||||
bl.nonce = CURRENCY_GENESIS_NONCE;
|
||||
LOG_PRINT_GREEN("Generated genesis: " << get_block_hash(bl), LOG_LEVEL_0);
|
||||
|
|
@ -2081,6 +2111,20 @@ namespace currency
|
|||
|
||||
return true;
|
||||
}
|
||||
bool operator()(const etc_tx_details_unlock_time2& ee)
|
||||
{
|
||||
tv.type = "unlock_time";
|
||||
std::stringstream ss;
|
||||
ss << "[";
|
||||
for (auto v : ee.unlock_time_array)
|
||||
{
|
||||
ss << " " << v;
|
||||
}
|
||||
ss << "]";
|
||||
tv.short_view = ss.str();
|
||||
|
||||
return true;
|
||||
}
|
||||
bool operator()(const etc_tx_details_expiration_time& ee)
|
||||
{
|
||||
tv.type = "expiration_time";
|
||||
|
|
@ -2524,16 +2568,6 @@ namespace currency
|
|||
{
|
||||
return epee::string_tools::parse_hexstr_to_binbuff(payment_id_str, payment_id);
|
||||
}
|
||||
//------------------------------------------------------------------
|
||||
bool is_tx_expired(const transaction& tx, uint64_t expiration_ts_median)
|
||||
{
|
||||
/// tx expiration condition (tx is ok if the following is true)
|
||||
/// tx_expiration_time - TX_EXPIRATION_MEDIAN_SHIFT > get_last_n_blocks_timestamps_median(TX_EXPIRATION_TIMESTAMP_CHECK_WINDOW)
|
||||
uint64_t expiration_time = get_tx_expiration_time(tx);
|
||||
if (expiration_time == 0)
|
||||
return false; // 0 means it never expires
|
||||
return expiration_time <= expiration_ts_median + TX_EXPIRATION_MEDIAN_SHIFT;
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
crypto::hash prepare_prefix_hash_for_sign(const transaction& tx, uint64_t in_index, const crypto::hash& tx_id)
|
||||
{
|
||||
|
|
@ -2667,4 +2701,41 @@ namespace currency
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
wide_difficulty_type get_a_to_b_relative_cumulative_difficulty(const wide_difficulty_type& difficulty_pos_at_split_point,
|
||||
const wide_difficulty_type& difficulty_pow_at_split_point,
|
||||
const difficulties& a_diff,
|
||||
const difficulties& b_diff )
|
||||
{
|
||||
static const wide_difficulty_type difficulty_starter = DIFFICULTY_STARTER;
|
||||
const wide_difficulty_type& a_pos_cumulative_difficulty = a_diff.pos_diff > 0 ? a_diff.pos_diff : difficulty_starter;
|
||||
const wide_difficulty_type& b_pos_cumulative_difficulty = b_diff.pos_diff > 0 ? b_diff.pos_diff : difficulty_starter;
|
||||
const wide_difficulty_type& a_pow_cumulative_difficulty = a_diff.pow_diff > 0 ? a_diff.pow_diff : difficulty_starter;
|
||||
const wide_difficulty_type& b_pow_cumulative_difficulty = b_diff.pow_diff > 0 ? b_diff.pow_diff : difficulty_starter;
|
||||
|
||||
boost::multiprecision::uint1024_t basic_sum = boost::multiprecision::uint1024_t(a_pow_cumulative_difficulty) + (boost::multiprecision::uint1024_t(a_pos_cumulative_difficulty)*difficulty_pow_at_split_point) / difficulty_pos_at_split_point;
|
||||
boost::multiprecision::uint1024_t res =
|
||||
(basic_sum * a_pow_cumulative_difficulty * a_pos_cumulative_difficulty) / (boost::multiprecision::uint1024_t(b_pow_cumulative_difficulty)*b_pos_cumulative_difficulty);
|
||||
|
||||
if (res > boost::math::tools::max_value<wide_difficulty_type>())
|
||||
{
|
||||
ASSERT_MES_AND_THROW("[INTERNAL ERROR]: Failed to get_a_to_b_relative_cumulative_difficulty, res = " << res << ENDL
|
||||
<< ", difficulty_pos_at_split_point: " << difficulty_pos_at_split_point << ENDL
|
||||
<< ", difficulty_pow_at_split_point:" << difficulty_pow_at_split_point << ENDL
|
||||
<< ", a_pos_cumulative_difficulty:" << a_pos_cumulative_difficulty << ENDL
|
||||
<< ", b_pos_cumulative_difficulty:" << b_pos_cumulative_difficulty << ENDL
|
||||
<< ", a_pow_cumulative_difficulty:" << a_pow_cumulative_difficulty << ENDL
|
||||
<< ", b_pow_cumulative_difficulty:" << b_pow_cumulative_difficulty << ENDL
|
||||
);
|
||||
}
|
||||
TRY_ENTRY();
|
||||
wide_difficulty_type short_res = res.convert_to<wide_difficulty_type>();
|
||||
return short_res;
|
||||
CATCH_ENTRY_WITH_FORWARDING_EXCEPTION();
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace currency
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -59,55 +59,7 @@ namespace currency
|
|||
|
||||
|
||||
typedef boost::multiprecision::uint128_t uint128_tl;
|
||||
struct tx_source_entry
|
||||
{
|
||||
typedef serializable_pair<txout_v, crypto::public_key> output_entry; // txout_v is either global output index or ref_by_id; public_key - is output ephemeral pub key
|
||||
|
||||
std::vector<output_entry> outputs; //index + key
|
||||
uint64_t real_output; //index in outputs vector of real output_entry
|
||||
crypto::public_key real_out_tx_key; //real output's transaction's public key
|
||||
size_t real_output_in_tx_index; //index in transaction outputs vector
|
||||
uint64_t amount; //money
|
||||
uint64_t transfer_index; //money
|
||||
crypto::hash multisig_id; //if txin_multisig: multisig output id
|
||||
size_t ms_sigs_count; //if txin_multisig: must be equal to output's minimum_sigs
|
||||
size_t ms_keys_count; //if txin_multisig: must be equal to size of output's keys container
|
||||
bool separately_signed_tx_complete; //for separately signed tx only: denotes the last source entry in complete tx to explicitly mark the final step of tx creation
|
||||
|
||||
bool is_multisig() const { return ms_sigs_count > 0; }
|
||||
|
||||
BEGIN_SERIALIZE_OBJECT()
|
||||
FIELD(outputs)
|
||||
FIELD(real_output)
|
||||
FIELD(real_out_tx_key)
|
||||
FIELD(real_output_in_tx_index)
|
||||
FIELD(amount)
|
||||
FIELD(transfer_index)
|
||||
FIELD(multisig_id)
|
||||
FIELD(ms_sigs_count)
|
||||
FIELD(ms_keys_count)
|
||||
FIELD(separately_signed_tx_complete)
|
||||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
struct tx_destination_entry
|
||||
{
|
||||
uint64_t amount; //money
|
||||
std::list<account_public_address> addr; //destination address, in case of 1 address - txout_to_key, in case of more - txout_multisig
|
||||
size_t minimum_sigs; // if txout_multisig: minimum signatures that are required to spend this output (minimum_sigs <= addr.size()) IF txout_to_key - not used
|
||||
uint64_t amount_to_provide; //amount money that provided by initial creator of tx, used with partially created transactions
|
||||
|
||||
tx_destination_entry() : amount(0), minimum_sigs(0), amount_to_provide(0){}
|
||||
tx_destination_entry(uint64_t a, const account_public_address& ad) : amount(a), addr(1, ad), minimum_sigs(0), amount_to_provide(0){}
|
||||
tx_destination_entry(uint64_t a, const std::list<account_public_address>& addr) : amount(a), addr(addr), minimum_sigs(addr.size()), amount_to_provide(0){}
|
||||
|
||||
BEGIN_SERIALIZE_OBJECT()
|
||||
FIELD(amount)
|
||||
FIELD(addr)
|
||||
FIELD(minimum_sigs)
|
||||
FIELD(amount_to_provide)
|
||||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
|
||||
struct tx_extra_info
|
||||
{
|
||||
|
|
@ -208,32 +160,6 @@ namespace currency
|
|||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
template<class extra_type_t>
|
||||
uint64_t get_tx_x_detail(const transaction& tx)
|
||||
{
|
||||
extra_type_t e = AUTO_VAL_INIT(e);
|
||||
get_type_in_variant_container(tx.extra, e);
|
||||
return e.v;
|
||||
}
|
||||
template<class extra_type_t>
|
||||
void set_tx_x_detail(transaction& tx, uint64_t v)
|
||||
{
|
||||
extra_type_t e = AUTO_VAL_INIT(e);
|
||||
e.v = v;
|
||||
update_or_add_field_to_extra(tx.extra, e);
|
||||
}
|
||||
|
||||
inline uint64_t get_tx_unlock_time(const transaction& tx){ return get_tx_x_detail<etc_tx_details_unlock_time>(tx);}
|
||||
inline uint64_t get_tx_flags(const transaction& tx){ return get_tx_x_detail<etc_tx_details_flags>(tx); }
|
||||
inline uint64_t get_tx_expiration_time(const transaction& tx){ return get_tx_x_detail<etc_tx_details_expiration_time>(tx); }
|
||||
inline void set_tx_unlock_time(transaction& tx, uint64_t v){ set_tx_x_detail<etc_tx_details_unlock_time>(tx, v); }
|
||||
inline void set_tx_flags(transaction& tx, uint64_t v){ set_tx_x_detail<etc_tx_details_flags>(tx, v); }
|
||||
inline void set_tx_expiration_time(transaction& tx, uint64_t v){ set_tx_x_detail<etc_tx_details_expiration_time>(tx, v); }
|
||||
account_public_address get_crypt_address_from_destinations(const account_keys& sender_account_keys, const std::vector<tx_destination_entry>& destinations);
|
||||
|
||||
bool is_tx_expired(const transaction& tx, uint64_t expiration_ts_median);
|
||||
|
||||
|
||||
uint64_t get_string_uint64_hash(const std::string& str);
|
||||
bool construct_tx_out(const tx_destination_entry& de, const crypto::secret_key& tx_sec_key, size_t output_index, transaction& tx, std::set<uint16_t>& deriv_cache, uint8_t tx_outs_attr = CURRENCY_TO_KEY_OUT_RELAXED);
|
||||
bool validate_alias_name(const std::string& al);
|
||||
|
|
@ -317,6 +243,7 @@ namespace currency
|
|||
bool parse_amount(uint64_t& amount, const std::string& str_amount);
|
||||
|
||||
|
||||
|
||||
bool unserialize_block_complete_entry(const COMMAND_RPC_GET_BLOCKS_FAST::response& serialized,
|
||||
COMMAND_RPC_GET_BLOCKS_DIRECT::response& unserialized);
|
||||
|
||||
|
|
@ -670,6 +597,19 @@ namespace currency
|
|||
std::string utf8_to_upper(const std::string& s);
|
||||
std::string utf8_to_lower(const std::string& s);
|
||||
bool utf8_substring_test_case_insensitive(const std::string& match, const std::string& s); // Returns true is 's' contains 'match' (case-insensitive)
|
||||
|
||||
struct difficulties
|
||||
{
|
||||
wide_difficulty_type pos_diff;
|
||||
wide_difficulty_type pow_diff;
|
||||
};
|
||||
|
||||
wide_difficulty_type get_a_to_b_relative_cumulative_difficulty(const wide_difficulty_type& difficulty_pos_at_split_point,
|
||||
const wide_difficulty_type& difficulty_pow_at_split_point,
|
||||
const difficulties& a_diff,
|
||||
const difficulties& b_diff
|
||||
);
|
||||
|
||||
|
||||
} // namespace currency
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "currency_format_utils_blocks.h"
|
||||
#include "serialization/serialization.h"
|
||||
#include "currency_format_utils.h"
|
||||
#include "currency_format_utils_abstract.h"
|
||||
#include "currency_format_utils_transactions.h"
|
||||
namespace currency
|
||||
|
|
|
|||
|
|
@ -6,11 +6,127 @@
|
|||
|
||||
#include "currency_format_utils_transactions.h"
|
||||
#include "serialization/serialization.h"
|
||||
#include "currency_format_utils_abstract.h"
|
||||
#include "currency_format_utils.h"
|
||||
#include "currency_format_utils_abstract.h"
|
||||
|
||||
namespace currency
|
||||
{
|
||||
//---------------------------------------------------------------
|
||||
account_public_address get_crypt_address_from_destinations(const account_keys& sender_account_keys, const std::vector<tx_destination_entry>& destinations)
|
||||
{
|
||||
for (const auto& de : destinations)
|
||||
{
|
||||
if (de.addr.size() == 1 && sender_account_keys.m_account_address != de.addr.back())
|
||||
return de.addr.back(); // return the first destination address that is non-multisig and not equal to the sender's address
|
||||
}
|
||||
return sender_account_keys.m_account_address; // otherwise, fallback to sender's address
|
||||
}
|
||||
//------------------------------------------------------------------
|
||||
bool is_tx_expired(const transaction& tx, uint64_t expiration_ts_median)
|
||||
{
|
||||
/// tx expiration condition (tx is ok if the following is true)
|
||||
/// tx_expiration_time - TX_EXPIRATION_MEDIAN_SHIFT > get_last_n_blocks_timestamps_median(TX_EXPIRATION_TIMESTAMP_CHECK_WINDOW)
|
||||
uint64_t expiration_time = get_tx_expiration_time(tx);
|
||||
if (expiration_time == 0)
|
||||
return false; // 0 means it never expires
|
||||
return expiration_time <= expiration_ts_median + TX_EXPIRATION_MEDIAN_SHIFT;
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
uint64_t get_burned_amount(const transaction& tx)
|
||||
{
|
||||
uint64_t res = 0;
|
||||
for (auto& o : tx.vout)
|
||||
{
|
||||
if (o.target.type() == typeid(txout_to_key))
|
||||
{
|
||||
if (boost::get<txout_to_key>(o.target).key == null_pkey)
|
||||
res += o.amount;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
uint64_t get_tx_max_unlock_time(const transaction& tx)
|
||||
{
|
||||
// etc_tx_details_unlock_time have priority over etc_tx_details_unlock_time2
|
||||
uint64_t v = get_tx_x_detail<etc_tx_details_unlock_time>(tx);
|
||||
if (v)
|
||||
return v;
|
||||
|
||||
etc_tx_details_unlock_time2 ut2 = AUTO_VAL_INIT(ut2);
|
||||
get_type_in_variant_container(tx.extra, ut2);
|
||||
if (!ut2.unlock_time_array.size())
|
||||
return 0;
|
||||
|
||||
uint64_t max_unlock_time = 0;
|
||||
CHECK_AND_ASSERT_THROW_MES(ut2.unlock_time_array.size() == tx.vout.size(), "unlock_time_array.size=" << ut2.unlock_time_array.size()
|
||||
<< " is not the same as tx.vout.size =" << tx.vout.size() << " in tx: " << get_transaction_hash(tx));
|
||||
for (size_t i = 0; i != tx.vout.size(); i++)
|
||||
{
|
||||
if (ut2.unlock_time_array[i] > max_unlock_time)
|
||||
max_unlock_time = ut2.unlock_time_array[i];
|
||||
}
|
||||
|
||||
return max_unlock_time;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
uint64_t get_tx_unlock_time(const transaction& tx, uint64_t o_i)
|
||||
{
|
||||
// etc_tx_details_expiration_time have priority over etc_tx_details_expiration_time2
|
||||
uint64_t v = get_tx_x_detail<etc_tx_details_unlock_time>(tx);
|
||||
if (v)
|
||||
return v;
|
||||
|
||||
CHECK_AND_ASSERT_THROW_MES(tx.vout.size() > o_i, "tx.vout.size=" << tx.vout.size()
|
||||
<< " is not bigger then o_i=" << o_i << " in tx: " << get_transaction_hash(tx));
|
||||
|
||||
|
||||
etc_tx_details_unlock_time2 ut2 = AUTO_VAL_INIT(ut2);
|
||||
get_type_in_variant_container(tx.extra, ut2);
|
||||
if (!ut2.unlock_time_array.size())
|
||||
return 0;
|
||||
|
||||
CHECK_AND_ASSERT_THROW_MES(ut2.unlock_time_array.size() > o_i, "unlock_time_array.size=" << ut2.unlock_time_array.size()
|
||||
<< " is less or equal to o_i=" << o_i << " in tx: " << get_transaction_hash(tx));
|
||||
|
||||
return ut2.unlock_time_array[o_i];
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
bool get_tx_max_min_unlock_time(const transaction& tx, uint64_t& max_unlock_time, uint64_t& min_unlock_time)
|
||||
{
|
||||
max_unlock_time = min_unlock_time = 0;
|
||||
// etc_tx_details_expiration_time have priority over etc_tx_details_expiration_time2
|
||||
uint64_t v = get_tx_x_detail<etc_tx_details_unlock_time>(tx);
|
||||
if (v)
|
||||
{
|
||||
max_unlock_time = min_unlock_time = v;
|
||||
return true;
|
||||
}
|
||||
|
||||
etc_tx_details_unlock_time2 ut2 = AUTO_VAL_INIT(ut2);
|
||||
get_type_in_variant_container(tx.extra, ut2);
|
||||
if (!ut2.unlock_time_array.size())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
CHECK_AND_ASSERT_THROW_MES(ut2.unlock_time_array.size() == tx.vout.size(), "unlock_time_array.size=" << ut2.unlock_time_array.size()
|
||||
<< " is not equal tx.vout.size()=" << tx.vout.size() << " in tx: " << get_transaction_hash(tx));
|
||||
if (ut2.unlock_time_array.size())
|
||||
{
|
||||
max_unlock_time = min_unlock_time = ut2.unlock_time_array[0];
|
||||
for (size_t i = 1; i != ut2.unlock_time_array.size(); i++)
|
||||
{
|
||||
if (ut2.unlock_time_array[i] > max_unlock_time)
|
||||
max_unlock_time = ut2.unlock_time_array[i];
|
||||
if (ut2.unlock_time_array[i] < min_unlock_time)
|
||||
min_unlock_time = ut2.unlock_time_array[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
void get_transaction_prefix_hash(const transaction_prefix& tx, crypto::hash& h)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,10 +9,93 @@
|
|||
#include "crypto/crypto.h"
|
||||
#include "currency_core/currency_basic.h"
|
||||
#include "currency_protocol/blobdatatype.h"
|
||||
#include "currency_core/account.h"
|
||||
|
||||
|
||||
namespace currency
|
||||
{
|
||||
struct tx_source_entry
|
||||
{
|
||||
typedef serializable_pair<txout_v, crypto::public_key> output_entry; // txout_v is either global output index or ref_by_id; public_key - is output ephemeral pub key
|
||||
|
||||
std::vector<output_entry> outputs; //index + key
|
||||
uint64_t real_output; //index in outputs vector of real output_entry
|
||||
crypto::public_key real_out_tx_key; //real output's transaction's public key
|
||||
size_t real_output_in_tx_index; //index in transaction outputs vector
|
||||
uint64_t amount; //money
|
||||
uint64_t transfer_index; //money
|
||||
crypto::hash multisig_id; //if txin_multisig: multisig output id
|
||||
size_t ms_sigs_count; //if txin_multisig: must be equal to output's minimum_sigs
|
||||
size_t ms_keys_count; //if txin_multisig: must be equal to size of output's keys container
|
||||
bool separately_signed_tx_complete; //for separately signed tx only: denotes the last source entry in complete tx to explicitly mark the final step of tx creation
|
||||
|
||||
bool is_multisig() const { return ms_sigs_count > 0; }
|
||||
|
||||
BEGIN_SERIALIZE_OBJECT()
|
||||
FIELD(outputs)
|
||||
FIELD(real_output)
|
||||
FIELD(real_out_tx_key)
|
||||
FIELD(real_output_in_tx_index)
|
||||
FIELD(amount)
|
||||
FIELD(transfer_index)
|
||||
FIELD(multisig_id)
|
||||
FIELD(ms_sigs_count)
|
||||
FIELD(ms_keys_count)
|
||||
FIELD(separately_signed_tx_complete)
|
||||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
struct tx_destination_entry
|
||||
{
|
||||
uint64_t amount; //money
|
||||
std::list<account_public_address> addr; //destination address, in case of 1 address - txout_to_key, in case of more - txout_multisig
|
||||
size_t minimum_sigs; // if txout_multisig: minimum signatures that are required to spend this output (minimum_sigs <= addr.size()) IF txout_to_key - not used
|
||||
uint64_t amount_to_provide; //amount money that provided by initial creator of tx, used with partially created transactions
|
||||
uint64_t unlock_time;
|
||||
|
||||
tx_destination_entry() : amount(0), minimum_sigs(0), amount_to_provide(0), unlock_time(0){}
|
||||
tx_destination_entry(uint64_t a, const account_public_address& ad) : amount(a), addr(1, ad), minimum_sigs(0), amount_to_provide(0), unlock_time(0){}
|
||||
tx_destination_entry(uint64_t a, const account_public_address& ad, uint64_t ut) : amount(a), addr(1, ad), minimum_sigs(0), amount_to_provide(0), unlock_time(ut) {}
|
||||
tx_destination_entry(uint64_t a, const std::list<account_public_address>& addr) : amount(a), addr(addr), minimum_sigs(addr.size()), amount_to_provide(0), unlock_time(0){}
|
||||
|
||||
BEGIN_SERIALIZE_OBJECT()
|
||||
FIELD(amount)
|
||||
FIELD(addr)
|
||||
FIELD(minimum_sigs)
|
||||
FIELD(amount_to_provide)
|
||||
FIELD(unlock_time)
|
||||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
template<class extra_type_t>
|
||||
uint64_t get_tx_x_detail(const transaction& tx)
|
||||
{
|
||||
extra_type_t e = AUTO_VAL_INIT(e);
|
||||
get_type_in_variant_container(tx.extra, e);
|
||||
return e.v;
|
||||
}
|
||||
template<class extra_type_t>
|
||||
void set_tx_x_detail(transaction& tx, uint64_t v)
|
||||
{
|
||||
extra_type_t e = AUTO_VAL_INIT(e);
|
||||
e.v = v;
|
||||
update_or_add_field_to_extra(tx.extra, e);
|
||||
}
|
||||
|
||||
uint64_t get_tx_unlock_time(const transaction& tx, uint64_t o_i);
|
||||
uint64_t get_tx_max_unlock_time(const transaction& tx);
|
||||
bool get_tx_max_min_unlock_time(const transaction& tx, uint64_t& max_unlock_time, uint64_t& min_unlock_time);
|
||||
inline bool should_unlock_value_be_treated_as_block_height(uint64_t v) { return v < CURRENCY_MAX_BLOCK_NUMBER; }
|
||||
inline uint64_t get_tx_flags(const transaction& tx) { return get_tx_x_detail<etc_tx_details_flags>(tx); }
|
||||
inline uint64_t get_tx_expiration_time(const transaction& tx) {return get_tx_x_detail<etc_tx_details_expiration_time>(tx); }
|
||||
inline void set_tx_unlock_time(transaction& tx, uint64_t v) { set_tx_x_detail<etc_tx_details_unlock_time>(tx, v); }
|
||||
inline void set_tx_flags(transaction& tx, uint64_t v) { set_tx_x_detail<etc_tx_details_flags>(tx, v); }
|
||||
inline void set_tx_expiration_time(transaction& tx, uint64_t v) { set_tx_x_detail<etc_tx_details_expiration_time>(tx, v); }
|
||||
account_public_address get_crypt_address_from_destinations(const account_keys& sender_account_keys, const std::vector<tx_destination_entry>& destinations);
|
||||
|
||||
|
||||
bool is_tx_expired(const transaction& tx, uint64_t expiration_ts_median);
|
||||
uint64_t get_burned_amount(const transaction& tx);
|
||||
void get_transaction_prefix_hash(const transaction_prefix& tx, crypto::hash& h);
|
||||
crypto::hash get_transaction_prefix_hash(const transaction_prefix& tx);
|
||||
bool parse_and_validate_tx_from_blob(const blobdata& tx_blob, transaction& tx, crypto::hash& tx_hash);
|
||||
|
|
@ -24,4 +107,4 @@ namespace currency
|
|||
size_t get_object_blobsize(const transaction& t, uint64_t prefix_blob_size);
|
||||
blobdata tx_to_blob(const transaction& b);
|
||||
bool tx_to_blob(const transaction& b, blobdata& b_blob);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ namespace currency {
|
|||
return res.convert_to<wide_difficulty_type>();
|
||||
}
|
||||
|
||||
wide_difficulty_type next_difficulty(vector<uint64_t>& timestamps, vector<wide_difficulty_type>& cumulative_difficulties, size_t target_seconds)
|
||||
wide_difficulty_type next_difficulty_1(vector<uint64_t>& timestamps, vector<wide_difficulty_type>& cumulative_difficulties, size_t target_seconds)
|
||||
{
|
||||
|
||||
// timestamps - first is latest, back - is oldest timestamps
|
||||
|
|
@ -220,4 +220,40 @@ namespace currency {
|
|||
}
|
||||
return summ / devider;
|
||||
}
|
||||
|
||||
wide_difficulty_type next_difficulty_2(vector<uint64_t>& timestamps, vector<wide_difficulty_type>& cumulative_difficulties, size_t target_seconds)
|
||||
{
|
||||
|
||||
// timestamps - first is latest, back - is oldest timestamps
|
||||
if (timestamps.size() > DIFFICULTY_WINDOW)
|
||||
{
|
||||
timestamps.resize(DIFFICULTY_WINDOW);
|
||||
cumulative_difficulties.resize(DIFFICULTY_WINDOW);
|
||||
}
|
||||
|
||||
|
||||
size_t length = timestamps.size();
|
||||
CHECK_AND_ASSERT_MES(length == cumulative_difficulties.size(), 0, "Check \"length == cumulative_difficulties.size()\" failed");
|
||||
if (length <= 1)
|
||||
{
|
||||
return DIFFICULTY_STARTER;
|
||||
}
|
||||
static_assert(DIFFICULTY_WINDOW >= 2, "Window is too small");
|
||||
|
||||
CHECK_AND_ASSERT_MES(length <= DIFFICULTY_WINDOW, 0, "length <= DIFFICULTY_WINDOW check failed, length=" << length);
|
||||
|
||||
sort(timestamps.begin(), timestamps.end(), std::greater<uint64_t>());
|
||||
|
||||
static_assert(2 * DIFFICULTY_CUT <= DIFFICULTY_WINDOW - 2, "Cut length is too large");
|
||||
wide_difficulty_type dif_slow = get_adjustment_for_zone(timestamps, cumulative_difficulties, target_seconds, DIFFICULTY_WINDOW, DIFFICULTY_CUT / 2, DIFFICULTY_CUT / 2);
|
||||
wide_difficulty_type dif_medium = get_adjustment_for_zone(timestamps, cumulative_difficulties, target_seconds, DIFFICULTY_WINDOW / 3, DIFFICULTY_CUT / 8, DIFFICULTY_CUT / 12);
|
||||
uint64_t devider = 1;
|
||||
wide_difficulty_type summ = dif_slow;
|
||||
if (dif_medium != 0)
|
||||
{
|
||||
summ += dif_medium;
|
||||
++devider;
|
||||
}
|
||||
return summ / devider;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@ namespace currency
|
|||
typedef boost::multiprecision::uint128_t wide_difficulty_type;
|
||||
|
||||
bool check_hash(const crypto::hash &hash, wide_difficulty_type difficulty);
|
||||
wide_difficulty_type next_difficulty(std::vector<std::uint64_t>& timestamps, std::vector<wide_difficulty_type>& cumulative_difficulties, size_t target_seconds);
|
||||
wide_difficulty_type next_difficulty_1(std::vector<std::uint64_t>& timestamps, std::vector<wide_difficulty_type>& cumulative_difficulties, size_t target_seconds);
|
||||
wide_difficulty_type next_difficulty_2(std::vector<std::uint64_t>& timestamps, std::vector<wide_difficulty_type>& cumulative_difficulties, size_t target_seconds);
|
||||
uint64_t difficulty_to_boundary(wide_difficulty_type difficulty);
|
||||
void difficulty_to_boundary_long(wide_difficulty_type difficulty, crypto::hash& result);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,9 +15,6 @@ namespace currency
|
|||
const genesis_tx_raw_data ggenesis_tx_raw = {{
|
||||
0xd880800500000101,0x0301f2ee9fa8ff8a,0xac88983c159856b0,0x6334c7d1b567f262,0x284f7f961a7b1266,0x8c0c68c45bab62fc,0xe1dea6fe84808000,0x337be98b45240311,0xab6cd1e4c66e5a33,0x70e889d98e70fd57,0xb97de43fb09861d4,0xf9f0cde08000d574,0x0270187703048dba,0xcac58027c0851473,0xaa10d864c4c87b46,0x820d371e2ba469e8,0xfea08000fce35acc,0x357903049598bddf,0x15df9e58bd0002aa,0xc940a97b60484e8d,0xf94f171e77d0b2d9,0x80003602c681487a,0x0304c38fbab1f8e0,0xc2529eba91cf7476,0x0bbee139aab295f9,0xf1cb8c58a828a2ca,0xcac8f5469af83932,0x5c8a1027cc160900,0x50bdcc9348baf32a,0xa7bd03751819d9fd,0xd6acc8dbbb0d9b29,0x3730614013368b02,0x3533316236333234,0x6264356431303934,0x6361306339323063,0x3834396335306334,0x3366343363323831,0x3062323366303330,0x6237656561333963,0x1700156335373261,0xce5017baa917a8f0,0x0a0eefcc17975617},
|
||||
{0x00,0x00}};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,18 +19,17 @@
|
|||
#include "misc_language.h"
|
||||
#include "warnings.h"
|
||||
#include "crypto/hash.h"
|
||||
#include "offers_service_basics.h"
|
||||
#include "profile_tools.h"
|
||||
|
||||
DISABLE_VS_WARNINGS(4244 4345 4503) //'boost::foreach_detail_::or_' : decorated name length exceeded, name was truncated
|
||||
|
||||
#define TRANSACTION_POOL_CONTAINER_TRANSACTIONS "transactions"
|
||||
#define TRANSACTION_POOL_CONTAINER_CANCEL_OFFER_HASH "cancel_offer_hash"
|
||||
#define TRANSACTION_POOL_CONTAINER_BLACK_TX_LIST "black_tx_list"
|
||||
#define TRANSACTION_POOL_CONTAINER_ALIAS_NAMES "alias_names"
|
||||
#define TRANSACTION_POOL_CONTAINER_ALIAS_ADDRESSES "alias_addresses"
|
||||
#define TRANSACTION_POOL_CONTAINER_KEY_IMAGES "key_images"
|
||||
#define TRANSACTION_POOL_CONTAINER_SOLO_OPTIONS "solo"
|
||||
#define TRANSACTION_POOL_OPTIONS_ID_STORAGE_MAJOR_COMPATIBILITY_VERSION 92 // DON'T CHANGE THIS, if you need to resync db! Change TRANSACTION_POOL_MAJOR_COMPATIBILITY_VERSION instead!
|
||||
#define TRANSACTION_POOL_MAJOR_COMPATIBILITY_VERSION BLOCKCHAIN_STORAGE_MAJOR_COMPATIBILITY_VERSION + 1
|
||||
|
||||
#undef LOG_DEFAULT_CHANNEL
|
||||
|
|
@ -45,13 +44,12 @@ namespace currency
|
|||
m_pprotocol(pprotocol),
|
||||
m_db(std::shared_ptr<tools::db::i_db_backend>(new tools::db::lmdb_db_backend), m_dummy_rw_lock),
|
||||
m_db_transactions(m_db),
|
||||
m_db_cancel_offer_hash(m_db),
|
||||
m_db_black_tx_list(m_db),
|
||||
m_db_solo_options(m_db),
|
||||
m_db_key_images_set(m_db),
|
||||
m_db_alias_names(m_db),
|
||||
m_db_alias_addresses(m_db),
|
||||
m_db_storage_major_compatibility_version(TRANSACTION_POOL_MAJOR_COMPATIBILITY_VERSION, m_db_solo_options)
|
||||
m_db_storage_major_compatibility_version(TRANSACTION_POOL_OPTIONS_ID_STORAGE_MAJOR_COMPATIBILITY_VERSION, m_db_solo_options)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -157,19 +155,7 @@ namespace currency
|
|||
uint64_t tx_fee = inputs_amount - outputs_amount;
|
||||
if (tx_fee < m_blockchain.get_core_runtime_config().tx_pool_min_fee)
|
||||
{
|
||||
//exception for cancel offer transactions
|
||||
if (process_cancel_offer_rules(tx))
|
||||
{
|
||||
// this tx has valid offer cansellation instructions and thus can go for free
|
||||
// check soft size constrain
|
||||
if (blob_size > CURRENCY_FREE_TX_MAX_BLOB_SIZE)
|
||||
{
|
||||
LOG_ERROR("Blob size (" << blob_size << ") << exceeds limit for transaction " << id << " that contains offer cancellation and has smaller fee (" << tx_fee << ") than expected");
|
||||
tvc.m_verification_failed = true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (is_valid_contract_finalization_tx(tx))
|
||||
if (is_valid_contract_finalization_tx(tx))
|
||||
{
|
||||
// that means tx has less fee then allowed by current tx pull rules, but this transaction is actually
|
||||
// a finalization of contract, and template of this contract finalization tx was prepared actually before
|
||||
|
|
@ -177,7 +163,7 @@ namespace currency
|
|||
}
|
||||
else
|
||||
{
|
||||
// this tx has no fee OR invalid offer cancellations instructions -- so the exceptions of zero fee is not applicable
|
||||
// this tx has no fee
|
||||
LOG_ERROR("Transaction with id= " << id << " has too small fee: " << tx_fee << ", expected fee: " << m_blockchain.get_core_runtime_config().tx_pool_min_fee);
|
||||
tvc.m_verification_failed = false;
|
||||
tvc.m_should_be_relayed = false;
|
||||
|
|
@ -288,80 +274,7 @@ namespace currency
|
|||
CRITICAL_REGION_LOCAL(m_taken_txs_lock);
|
||||
m_taken_txs.clear();
|
||||
}
|
||||
//---------------------------------------------------------------------------------
|
||||
bool tx_memory_pool::process_cancel_offer_rules(const transaction& tx)
|
||||
{
|
||||
//TODO: this code doesn't take into account offer id in source tx
|
||||
//TODO: add scan on tx size for free transaction here
|
||||
m_db_transactions.begin_transaction();
|
||||
misc_utils::auto_scope_leave_caller seh = misc_utils::create_scope_leave_handler([&](){m_db_transactions.commit_transaction(); });
|
||||
|
||||
|
||||
size_t serv_att_count = 0;
|
||||
std::list<bc_services::cancel_offer> co_list;
|
||||
for (const auto& a: tx.attachment)
|
||||
{
|
||||
if (a.type() == typeid(tx_service_attachment))
|
||||
{
|
||||
const tx_service_attachment& srv_at = boost::get<tx_service_attachment>(a);
|
||||
if (srv_at.service_id == BC_OFFERS_SERVICE_ID && srv_at.instruction == BC_OFFERS_SERVICE_INSTRUCTION_DEL)
|
||||
{
|
||||
if (!m_blockchain.validate_tx_service_attachmens_in_services(srv_at, serv_att_count, tx))
|
||||
{
|
||||
LOG_ERROR("validate_tx_service_attachmens_in_services failed for an offer cancellation transaction");
|
||||
return false;
|
||||
}
|
||||
bc_services::extract_type_and_add<bc_services::cancel_offer>(srv_at.body, co_list);
|
||||
if (m_db_cancel_offer_hash.get(co_list.back().tx_id))
|
||||
{
|
||||
LOG_ERROR("cancellation of offer " << co_list.back().tx_id << " has already been processed earlier; zero fee is disallowed");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
serv_att_count++;
|
||||
}
|
||||
}
|
||||
if (!co_list.size())
|
||||
{
|
||||
LOG_PRINT_L1("No cancel offers found");
|
||||
return false;
|
||||
}
|
||||
|
||||
for (auto co : co_list)
|
||||
{
|
||||
m_db_cancel_offer_hash.set(co.tx_id, true);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
//---------------------------------------------------------------------------------
|
||||
bool tx_memory_pool::unprocess_cancel_offer_rules(const transaction& tx)
|
||||
{
|
||||
m_db_transactions.begin_transaction();
|
||||
misc_utils::auto_scope_leave_caller seh = misc_utils::create_scope_leave_handler([&](){m_db_transactions.commit_transaction(); });
|
||||
|
||||
std::list<bc_services::cancel_offer> co_list;
|
||||
for (const auto& a : tx.attachment)
|
||||
{
|
||||
if (a.type() == typeid(tx_service_attachment))
|
||||
{
|
||||
const tx_service_attachment& srv_at = boost::get<tx_service_attachment>(a);
|
||||
if (srv_at.service_id == BC_OFFERS_SERVICE_ID && srv_at.instruction == BC_OFFERS_SERVICE_INSTRUCTION_DEL)
|
||||
{
|
||||
co_list.clear();
|
||||
bc_services::extract_type_and_add<bc_services::cancel_offer>(srv_at.body, co_list);
|
||||
if (!co_list.size())
|
||||
return false;
|
||||
auto vptr = m_db_cancel_offer_hash.find(co_list.back().tx_id);
|
||||
if (vptr == m_db_cancel_offer_hash.end())
|
||||
return false;
|
||||
m_db_cancel_offer_hash.erase(co_list.back().tx_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// //---------------------------------------------------------------------------------
|
||||
//---------------------------------------------------------------------------------
|
||||
bool tx_memory_pool::get_aliases_from_tx_pool(std::list<extra_alias_entry>& aliases)const
|
||||
{
|
||||
|
||||
|
|
@ -467,7 +380,6 @@ namespace currency
|
|||
tx = txe_tr->tx;
|
||||
blob_size = txe_tr->blob_size;
|
||||
fee = txe_tr->fee;
|
||||
unprocess_cancel_offer_rules(txe_tr->tx);
|
||||
m_db_transactions.erase(id);
|
||||
on_tx_remove(tx, txe_tr->kept_by_block);
|
||||
set_taken(id);
|
||||
|
|
@ -888,7 +800,6 @@ namespace currency
|
|||
m_db.begin_transaction();
|
||||
m_db_transactions.clear();
|
||||
m_db_key_images_set.clear();
|
||||
m_db_cancel_offer_hash.clear();
|
||||
m_db.commit_transaction();
|
||||
// should m_db_black_tx_list be cleared here?
|
||||
}
|
||||
|
|
@ -897,7 +808,6 @@ namespace currency
|
|||
{
|
||||
m_db.begin_transaction();
|
||||
m_db_transactions.clear();
|
||||
m_db_cancel_offer_hash.clear();
|
||||
m_db_black_tx_list.clear();
|
||||
m_db_key_images_set.clear();
|
||||
m_db.commit_transaction();
|
||||
|
|
@ -1199,7 +1109,7 @@ namespace currency
|
|||
return true;
|
||||
}
|
||||
//---------------------------------------------------------------------------------
|
||||
void tx_memory_pool::initialize_db_solo_options_values()
|
||||
void tx_memory_pool::store_db_solo_options_values()
|
||||
{
|
||||
m_db.begin_transaction();
|
||||
m_db_storage_major_compatibility_version = TRANSACTION_POOL_MAJOR_COMPATIBILITY_VERSION;
|
||||
|
|
@ -1210,49 +1120,94 @@ namespace currency
|
|||
{
|
||||
m_config_folder = config_folder;
|
||||
|
||||
uint64_t cache_size = CACHE_SIZE;
|
||||
LOG_PRINT_GREEN("Using pool db file cache size(L1): " << cache_size, LOG_LEVEL_0);
|
||||
uint64_t cache_size_l1 = CACHE_SIZE;
|
||||
LOG_PRINT_GREEN("Using pool db file cache size(L1): " << cache_size_l1, LOG_LEVEL_0);
|
||||
|
||||
LOG_PRINT_L0("Loading blockchain...");
|
||||
const std::string folder_name = m_config_folder + "/" CURRENCY_POOLDATA_FOLDERNAME;
|
||||
tools::create_directories_if_necessary(folder_name);
|
||||
bool res = m_db.open(folder_name, cache_size);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Failed to initialize pool database in folder: " << folder_name);
|
||||
|
||||
res = m_db_transactions.init(TRANSACTION_POOL_CONTAINER_TRANSACTIONS);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_key_images_set.init(TRANSACTION_POOL_CONTAINER_KEY_IMAGES);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_cancel_offer_hash.init(TRANSACTION_POOL_CONTAINER_CANCEL_OFFER_HASH);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_black_tx_list.init(TRANSACTION_POOL_CONTAINER_BLACK_TX_LIST);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_alias_names.init(TRANSACTION_POOL_CONTAINER_ALIAS_NAMES);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_alias_addresses.init(TRANSACTION_POOL_CONTAINER_ALIAS_ADDRESSES);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_solo_options.init(TRANSACTION_POOL_CONTAINER_SOLO_OPTIONS);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
|
||||
|
||||
m_db_transactions.set_cache_size(1000);
|
||||
m_db_alias_names.set_cache_size(10000);
|
||||
m_db_alias_addresses.set_cache_size(10000);
|
||||
m_db_cancel_offer_hash.set_cache_size(1000);
|
||||
m_db_black_tx_list.set_cache_size(1000);
|
||||
|
||||
bool need_reinit = false;
|
||||
if (m_db_storage_major_compatibility_version != TRANSACTION_POOL_MAJOR_COMPATIBILITY_VERSION)
|
||||
need_reinit = true;
|
||||
|
||||
if (need_reinit)
|
||||
// remove old incompartible DB
|
||||
const std::string old_db_folder_path = m_config_folder + "/" CURRENCY_POOLDATA_FOLDERNAME_OLD;
|
||||
if (boost::filesystem::exists(old_db_folder_path))
|
||||
{
|
||||
clear();
|
||||
LOG_PRINT_MAGENTA("Tx Pool reinitialized.", LOG_LEVEL_0);
|
||||
LOG_PRINT_YELLOW("Removing old DB in " << old_db_folder_path << "...", LOG_LEVEL_0);
|
||||
boost::filesystem::remove_all(old_db_folder_path);
|
||||
}
|
||||
initialize_db_solo_options_values();
|
||||
|
||||
LOG_PRINT_GREEN("TX_POOL Initialized ok. (" << m_db_transactions.size() << " transactions)", LOG_LEVEL_0);
|
||||
const std::string db_folder_path = m_config_folder + "/" CURRENCY_POOLDATA_FOLDERNAME;
|
||||
LOG_PRINT_L0("Loading blockchain from " << db_folder_path << "...");
|
||||
|
||||
bool db_opened_okay = false;
|
||||
for(size_t loading_attempt_no = 0; loading_attempt_no < 2; ++loading_attempt_no)
|
||||
{
|
||||
bool res = m_db.open(db_folder_path, cache_size_l1);
|
||||
if (!res)
|
||||
{
|
||||
// if DB could not be opened -- try to remove the whole folder and re-open DB
|
||||
LOG_PRINT_YELLOW("Failed to initialize database in folder: " << db_folder_path << ", first attempt", LOG_LEVEL_0);
|
||||
boost::filesystem::remove_all(db_folder_path);
|
||||
res = m_db.open(db_folder_path, cache_size_l1);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Failed to initialize database in folder: " << db_folder_path << ", second attempt");
|
||||
}
|
||||
|
||||
res = m_db_transactions.init(TRANSACTION_POOL_CONTAINER_TRANSACTIONS);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_key_images_set.init(TRANSACTION_POOL_CONTAINER_KEY_IMAGES);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_black_tx_list.init(TRANSACTION_POOL_CONTAINER_BLACK_TX_LIST);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_alias_names.init(TRANSACTION_POOL_CONTAINER_ALIAS_NAMES);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_alias_addresses.init(TRANSACTION_POOL_CONTAINER_ALIAS_ADDRESSES);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
res = m_db_solo_options.init(TRANSACTION_POOL_CONTAINER_SOLO_OPTIONS);
|
||||
CHECK_AND_ASSERT_MES(res, false, "Unable to init db container");
|
||||
|
||||
m_db_transactions.set_cache_size(1000);
|
||||
m_db_alias_names.set_cache_size(10000);
|
||||
m_db_alias_addresses.set_cache_size(10000);
|
||||
m_db_black_tx_list.set_cache_size(1000);
|
||||
|
||||
bool need_reinit = false;
|
||||
if (m_db_storage_major_compatibility_version > 0 && m_db_storage_major_compatibility_version != TRANSACTION_POOL_MAJOR_COMPATIBILITY_VERSION)
|
||||
{
|
||||
need_reinit = true;
|
||||
LOG_PRINT_MAGENTA("Tx pool DB needs reinit because it has major compatibility ver is " << m_db_storage_major_compatibility_version << ", expected: " << TRANSACTION_POOL_MAJOR_COMPATIBILITY_VERSION, LOG_LEVEL_0);
|
||||
}
|
||||
|
||||
if (need_reinit)
|
||||
{
|
||||
LOG_PRINT_L1("DB at " << db_folder_path << " is about to be deleted and re-created...");
|
||||
m_db_transactions.deinit();
|
||||
m_db_key_images_set.deinit();
|
||||
m_db_black_tx_list.deinit();
|
||||
m_db_alias_names.deinit();
|
||||
m_db_alias_addresses.deinit();
|
||||
m_db_solo_options.deinit();
|
||||
m_db.close();
|
||||
size_t files_removed = boost::filesystem::remove_all(db_folder_path);
|
||||
LOG_PRINT_L1(files_removed << " files at " << db_folder_path << " removed");
|
||||
|
||||
// try to re-create DB and re-init containers
|
||||
continue;
|
||||
}
|
||||
|
||||
db_opened_okay = true;
|
||||
break;
|
||||
}
|
||||
|
||||
CHECK_AND_ASSERT_MES(db_opened_okay, false, "All attempts to open DB at " << db_folder_path << " failed");
|
||||
|
||||
store_db_solo_options_values();
|
||||
|
||||
LOG_PRINT_GREEN("tx pool loaded ok from " << db_folder_path << ", loaded " << m_db_transactions.size() << " transactions", LOG_LEVEL_0);
|
||||
if (epee::log_space::log_singletone::get_log_detalisation_level() >= LOG_LEVEL_2 && m_db_transactions.size() != 0)
|
||||
{
|
||||
std::stringstream ss;
|
||||
m_db_transactions.enumerate_items([&](uint64_t i, const crypto::hash& h, const tx_details &tx_entry)
|
||||
{
|
||||
ss << h << " sz: " << std::setw(5) << tx_entry.blob_size << " rcv: " << misc_utils::get_time_interval_string(time(nullptr) - tx_entry.receive_time) << " ago" << ENDL;
|
||||
return true;
|
||||
});
|
||||
LOG_PRINT_L2(ss.str());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -146,14 +146,12 @@ namespace currency
|
|||
bool remove_alias_info(const transaction& tx);
|
||||
|
||||
bool is_valid_contract_finalization_tx(const transaction &tx)const;
|
||||
void initialize_db_solo_options_values();
|
||||
void store_db_solo_options_values();
|
||||
bool is_transaction_ready_to_go(tx_details& txd, const crypto::hash& id)const;
|
||||
bool validate_alias_info(const transaction& tx, bool is_in_block)const;
|
||||
bool get_key_images_from_tx_pool(std::unordered_set<crypto::key_image>& key_images)const;
|
||||
//bool push_alias_info(const transaction& tx);
|
||||
//bool pop_alias_info(const transaction& tx);
|
||||
bool process_cancel_offer_rules(const transaction& tx);
|
||||
bool unprocess_cancel_offer_rules(const transaction& tx);
|
||||
bool check_is_taken(const crypto::hash& id) const;
|
||||
void set_taken(const crypto::hash& id);
|
||||
void reset_all_taken();
|
||||
|
|
@ -172,7 +170,6 @@ namespace currency
|
|||
//containers
|
||||
|
||||
transactions_container m_db_transactions;
|
||||
hash_container m_db_cancel_offer_hash;
|
||||
hash_container m_db_black_tx_list;
|
||||
key_images_container m_db_key_images_set;
|
||||
aliases_container m_db_alias_names;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ using namespace epee;
|
|||
#include "common/miniupnp_helper.h"
|
||||
#include "version.h"
|
||||
#include "currency_core/core_tools.h"
|
||||
#include "common/callstack_helper.h"
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
|
|
@ -108,6 +109,9 @@ int main(int argc, char* argv[])
|
|||
std::fflush(nullptr); // all open output streams are flushed
|
||||
});
|
||||
|
||||
// setup custom callstack retrieving function
|
||||
epee::misc_utils::get_callstack(tools::get_callstack);
|
||||
|
||||
po::options_description desc_cmd_only("Command line options");
|
||||
po::options_description desc_cmd_sett("Command line options and settings options", 130, 83);
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ public:
|
|||
m_cmd_binder.set_handler("print_block_from_hex_blob", boost::bind(&daemon_commands_handler::print_block_from_hex_blob, this, _1), "Unserialize block from hex binary data to json-like representation");
|
||||
m_cmd_binder.set_handler("print_tx_from_hex_blob", boost::bind(&daemon_commands_handler::print_tx_from_hex_blob, this, _1), "Unserialize transaction from hex binary data to json-like representation");
|
||||
m_cmd_binder.set_handler("print_tx_outputs_usage", boost::bind(&daemon_commands_handler::print_tx_outputs_usage, this, _1), "Analyse if tx outputs for involved in subsequent transactions");
|
||||
m_cmd_binder.set_handler("print_difficulties_of_last_n_blocks", boost::bind(&daemon_commands_handler::print_difficulties_of_last_n_blocks, this, _1), "Print difficulties of last n blocks");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -696,8 +697,26 @@ private:
|
|||
m_srv.get_payload_object().get_core().get_blockchain_storage().print_tx_outputs_lookup(tx_hash);
|
||||
return true;
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
bool print_difficulties_of_last_n_blocks(const std::vector<std::string>& args)
|
||||
{
|
||||
if (args.empty())
|
||||
{
|
||||
std::cout << "expected: n - number of blocks to read" << std::endl;
|
||||
return true;
|
||||
}
|
||||
|
||||
const std::string& amount = args.front();
|
||||
uint64_t n = 0;
|
||||
if (!epee::string_tools::get_xtype_from_string(n, amount))
|
||||
{
|
||||
std::cout << "unable to convert to number '" << amount << "'" << std::endl;
|
||||
return true;
|
||||
}
|
||||
|
||||
m_srv.get_payload_object().get_core().get_blockchain_storage().print_last_n_difficulty_numbers(n);
|
||||
return true;
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
bool print_pool(const std::vector<std::string>& args)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,13 +9,13 @@
|
|||
#include "core_fast_rpc_proxy.h"
|
||||
#include "string_coding.h"
|
||||
#include "currency_core/core_tools.h"
|
||||
//#include <codecvt>
|
||||
#include "common/callstack_helper.h"
|
||||
|
||||
#define GET_WALLET_OPT_BY_ID(wallet_id, name) \
|
||||
#define GET_WALLET_OPT_BY_ID(wallet_id, name) \
|
||||
CRITICAL_REGION_LOCAL(m_wallets_lock); \
|
||||
auto it = m_wallets.find(wallet_id); \
|
||||
if (it == m_wallets.end()) \
|
||||
return API_RETURN_CODE_WALLET_WRONG_ID; \
|
||||
if (it == m_wallets.end()) \
|
||||
return API_RETURN_CODE_WALLET_WRONG_ID; \
|
||||
auto& name = it->second;
|
||||
|
||||
#define GET_WALLET_BY_ID(wallet_id, name) \
|
||||
|
|
@ -85,6 +85,8 @@ bool daemon_backend::init(int argc, char* argv[], view::i_view* pview_handler)
|
|||
std::fflush(nullptr); // all open output streams are flushed
|
||||
});
|
||||
|
||||
// setup custom callstack retrieving function
|
||||
epee::misc_utils::get_callstack(tools::get_callstack);
|
||||
|
||||
//#if !defined(NDEBUG)
|
||||
// log_space::log_singletone::add_logger(LOGGER_DEBUGGER, nullptr, nullptr);
|
||||
|
|
@ -427,7 +429,8 @@ void daemon_backend::main_worker(const po::variables_map& m_vm)
|
|||
//m_pview->update_daemon_status(dsi);
|
||||
try
|
||||
{
|
||||
wo.second.stop = true;
|
||||
wo.second.major_stop = true;
|
||||
wo.second.stop_for_refresh = true;
|
||||
wo.second.w.unlocked_get()->stop();
|
||||
|
||||
wo.second.w->get()->store();
|
||||
|
|
@ -541,7 +544,8 @@ void daemon_backend::init_wallet_entry(wallet_vs_options& wo, uint64_t id)
|
|||
{
|
||||
wo.wallet_id = id;
|
||||
wo.do_mining = false;
|
||||
wo.stop = false;
|
||||
wo.major_stop = false;
|
||||
wo.stop_for_refresh = false;
|
||||
wo.plast_daemon_height = &m_last_daemon_height;
|
||||
wo.plast_daemon_network_state = &m_last_daemon_network_state;
|
||||
wo.plast_daemon_is_disconnected = &m_last_daemon_is_disconnected;
|
||||
|
|
@ -551,8 +555,15 @@ void daemon_backend::init_wallet_entry(wallet_vs_options& wo, uint64_t id)
|
|||
wo.core_conf = currency::get_default_core_runtime_config();
|
||||
else
|
||||
wo.core_conf = m_ccore.get_blockchain_storage().get_core_runtime_config();
|
||||
}
|
||||
|
||||
// update wallet log prefix for further usage
|
||||
{
|
||||
CRITICAL_REGION_LOCAL(m_wallet_log_prefixes_lock);
|
||||
if (m_wallet_log_prefixes.size() <= id)
|
||||
m_wallet_log_prefixes.resize(id + 1);
|
||||
m_wallet_log_prefixes[id] = std::string("[") + epee::string_tools::num_to_string_fast(id) + ":" + wo.w->get()->get_account().get_public_address_str().substr(0, 6) + "] ";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
std::string daemon_backend::get_tx_pool_info(currency::COMMAND_RPC_GET_POOL_INFO::response& res)
|
||||
|
|
@ -679,7 +690,7 @@ std::string daemon_backend::open_wallet(const std::wstring& path, const std::str
|
|||
**wo.w = w;
|
||||
get_wallet_info(wo, owr.wi);
|
||||
init_wallet_entry(wo, owr.wallet_id);
|
||||
//update_wallets_info();
|
||||
|
||||
return return_code;
|
||||
}
|
||||
|
||||
|
|
@ -828,11 +839,17 @@ std::string daemon_backend::close_wallet(size_t wallet_id)
|
|||
|
||||
try
|
||||
{
|
||||
it->second.stop = true;
|
||||
it->second.major_stop = true;
|
||||
it->second.stop_for_refresh = true;
|
||||
it->second.w.unlocked_get()->stop();
|
||||
|
||||
it->second.w->get()->store();
|
||||
m_wallets.erase(it);
|
||||
|
||||
{
|
||||
CRITICAL_REGION_LOCAL(m_wallet_log_prefixes_lock);
|
||||
m_wallet_log_prefixes[wallet_id] = std::string("[") + epee::string_tools::num_to_string_fast(wallet_id) + ":CLOSED] ";
|
||||
}
|
||||
}
|
||||
|
||||
catch (const std::exception& e)
|
||||
|
|
@ -1198,6 +1215,11 @@ std::string daemon_backend::request_cancel_contract(size_t wallet_id, const cryp
|
|||
//TODO: add some
|
||||
return API_RETURN_CODE_OK;
|
||||
}
|
||||
catch (const tools::error::not_enough_money& e)
|
||||
{
|
||||
LOG_ERROR(get_wallet_log_prefix(wallet_id) + "request_cancel_contract error: API_RETURN_CODE_NOT_ENOUGH_MONEY: " << e.what());
|
||||
return API_RETURN_CODE_NOT_ENOUGH_MONEY;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
return API_RETURN_CODE_FAIL;
|
||||
|
|
@ -1348,7 +1370,7 @@ std::string daemon_backend::cancel_offer(const view::cancel_offer_param& co, cur
|
|||
GET_WALLET_BY_ID(co.wallet_id, w);
|
||||
try
|
||||
{
|
||||
w->get()->cancel_offer_by_id(co.tx_id, co.no, res_tx);
|
||||
w->get()->cancel_offer_by_id(co.tx_id, co.no, TX_DEFAULT_FEE, res_tx);
|
||||
return API_RETURN_CODE_OK;
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
|
|
@ -1436,6 +1458,9 @@ void daemon_backend::on_pos_block_found(size_t wallet_id, const currency::block&
|
|||
}
|
||||
void daemon_backend::on_sync_progress(size_t wallet_id, const uint64_t& percents)
|
||||
{
|
||||
// do not lock m_wallets_lock down the callstack! It will lead to a deadlock, because wallet locked_object is aready locked
|
||||
// and other threads are usually locks m_wallets_lock before locking wallet's locked_object
|
||||
|
||||
view::wallet_sync_progres_param wspp = AUTO_VAL_INIT(wspp);
|
||||
wspp.progress = percents;
|
||||
wspp.wallet_id = wallet_id;
|
||||
|
|
@ -1466,8 +1491,9 @@ void daemon_backend::wallet_vs_options::worker_func()
|
|||
epee::math_helper::once_a_time_seconds<1> scan_pool_interval;
|
||||
epee::math_helper::once_a_time_seconds<POS_WALLET_MINING_SCAN_INTERVAL> pos_minin_interval;
|
||||
view::wallet_status_info wsi = AUTO_VAL_INIT(wsi);
|
||||
while (!stop)
|
||||
while (!major_stop)
|
||||
{
|
||||
stop_for_refresh = false;
|
||||
try
|
||||
{
|
||||
wsi.wallet_state = view::wallet_status_info::wallet_state_ready;
|
||||
|
|
@ -1494,7 +1520,7 @@ void daemon_backend::wallet_vs_options::worker_func()
|
|||
prepare_wallet_status_info(*this, wsi);
|
||||
pview->update_wallet_status(wsi);
|
||||
}
|
||||
w->get()->refresh(stop);
|
||||
w->get()->refresh(stop_for_refresh);
|
||||
w->get()->resend_unconfirmed();
|
||||
{
|
||||
auto w_ptr = *w; // get locked exclusive access to the wallet first (it's more likely that wallet is locked for a long time than 'offers')
|
||||
|
|
@ -1526,11 +1552,11 @@ void daemon_backend::wallet_vs_options::worker_func()
|
|||
});
|
||||
}
|
||||
|
||||
if (stop)
|
||||
if (major_stop || stop_for_refresh)
|
||||
break;
|
||||
//******************************************************************************************
|
||||
//mining zone
|
||||
if (do_mining)
|
||||
if (do_mining && *plast_daemon_network_state == currency::COMMAND_RPC_GET_INFO::daemon_network_state_online)
|
||||
{
|
||||
pos_minin_interval.do_call([this](){
|
||||
tools::wallet2::mining_context ctx = AUTO_VAL_INIT(ctx);
|
||||
|
|
@ -1592,7 +1618,8 @@ void daemon_backend::wallet_vs_options::worker_func()
|
|||
daemon_backend::wallet_vs_options::~wallet_vs_options()
|
||||
{
|
||||
do_mining = false;
|
||||
stop = true;
|
||||
major_stop = true;
|
||||
stop_for_refresh = true;
|
||||
break_mining_loop = true;
|
||||
if (miner_thread.joinable())
|
||||
miner_thread.join();
|
||||
|
|
@ -1600,11 +1627,9 @@ daemon_backend::wallet_vs_options::~wallet_vs_options()
|
|||
|
||||
std::string daemon_backend::get_wallet_log_prefix(size_t wallet_id) const
|
||||
{
|
||||
CRITICAL_REGION_LOCAL(m_wallets_lock);
|
||||
auto it = m_wallets.find(wallet_id);
|
||||
if (it == m_wallets.end())
|
||||
return std::string("[") + epee::string_tools::num_to_string_fast(wallet_id) + ":???]";
|
||||
CRITICAL_REGION_LOCAL(m_wallet_log_prefixes_lock);
|
||||
|
||||
return std::string("[") + epee::string_tools::num_to_string_fast(wallet_id) + ":" + it->second.w->get()->get_account().get_public_address_str().substr(0, 6) + "]";
|
||||
CHECK_AND_ASSERT_MES(wallet_id < m_wallet_log_prefixes.size(), std::string("[") + epee::string_tools::num_to_string_fast(wallet_id) + ":???] ", "wallet prefix is not found for id " << wallet_id);
|
||||
return m_wallet_log_prefixes[wallet_id];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,10 @@ public:
|
|||
currency::core_runtime_config core_conf;
|
||||
epee::locked_object<std::shared_ptr<tools::wallet2>, wallet_lock_time_watching_policy> w;
|
||||
std::atomic<bool> do_mining;
|
||||
std::atomic<bool> stop;
|
||||
std::atomic<bool> major_stop;
|
||||
std::atomic<bool> stop_for_refresh; //use separate var for passing to "refresh" member function,
|
||||
//because it can be changed there due to internal interruption logis
|
||||
|
||||
std::atomic<bool> break_mining_loop;
|
||||
std::atomic<uint64_t> wallet_state;
|
||||
std::atomic<uint64_t> last_wallet_synch_height;
|
||||
|
|
@ -188,6 +191,8 @@ private:
|
|||
|
||||
|
||||
std::map<size_t, wallet_vs_options> m_wallets;
|
||||
std::vector<std::string> m_wallet_log_prefixes;
|
||||
mutable critical_section m_wallet_log_prefixes_lock;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1043,10 +1043,50 @@ QString MainWindow::get_secure_app_data(const QString& param)
|
|||
return MAKE_RESPONSE(ar);
|
||||
}
|
||||
|
||||
m_master_password = pwd.pass;
|
||||
|
||||
return app_data_buff.substr(sizeof(app_data_file_binary_header)).c_str();
|
||||
CATCH_ENTRY2(API_RETURN_CODE_INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
QString MainWindow::set_master_password(const QString& param)
|
||||
{
|
||||
view::password_data pwd = AUTO_VAL_INIT(pwd);
|
||||
|
||||
if (!epee::serialization::load_t_from_json(pwd, param.toStdString()))
|
||||
{
|
||||
view::api_response ar;
|
||||
ar.error_code = API_RETURN_CODE_BAD_ARG;
|
||||
return MAKE_RESPONSE(ar);
|
||||
}
|
||||
m_master_password = pwd.pass;
|
||||
|
||||
view::api_response ar;
|
||||
ar.error_code = API_RETURN_CODE_OK;
|
||||
return MAKE_RESPONSE(ar);
|
||||
}
|
||||
|
||||
QString MainWindow::check_master_password(const QString& param)
|
||||
{
|
||||
view::password_data pwd = AUTO_VAL_INIT(pwd);
|
||||
view::api_response ar = AUTO_VAL_INIT(ar);
|
||||
|
||||
if (!epee::serialization::load_t_from_json(pwd, param.toStdString()))
|
||||
{
|
||||
ar.error_code = API_RETURN_CODE_BAD_ARG;
|
||||
return MAKE_RESPONSE(ar);
|
||||
}
|
||||
|
||||
if (m_master_password != pwd.pass)
|
||||
{
|
||||
ar.error_code = API_RETURN_CODE_WRONG_PASSWORD;
|
||||
}else
|
||||
{
|
||||
ar.error_code = API_RETURN_CODE_OK;
|
||||
}
|
||||
return MAKE_RESPONSE(ar);
|
||||
}
|
||||
|
||||
QString MainWindow::store_app_data(const QString& param)
|
||||
{
|
||||
TRY_ENTRY();
|
||||
|
|
@ -1118,6 +1158,32 @@ QString MainWindow::store_to_file(const QString& path, const QString& buff)
|
|||
CATCH_ENTRY2(API_RETURN_CODE_INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
QString MainWindow::load_from_file(const QString& path)
|
||||
{
|
||||
TRY_ENTRY();
|
||||
try {
|
||||
std::string buff;
|
||||
bool r = epee::file_io_utils::load_file_to_string(path.toStdWString(), buff);
|
||||
if (r)
|
||||
return QString::fromStdString(buff);
|
||||
else
|
||||
return QString();
|
||||
}
|
||||
catch (const std::exception& ex)
|
||||
{
|
||||
LOG_ERROR("FILED TO LOAD FROM FILE: " << path.toStdString() << " ERROR:" << ex.what());
|
||||
return QString(API_RETURN_CODE_ACCESS_DENIED) + ": " + ex.what();
|
||||
}
|
||||
|
||||
catch (...)
|
||||
{
|
||||
return API_RETURN_CODE_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
|
||||
CATCH_ENTRY2(API_RETURN_CODE_INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
QString MainWindow::get_app_data()
|
||||
{
|
||||
TRY_ENTRY();
|
||||
|
|
@ -1128,7 +1194,7 @@ QString MainWindow::get_app_data()
|
|||
CATCH_ENTRY2(API_RETURN_CODE_INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
QString MainWindow::store_secure_app_data(const QString& param, const QString& pass)
|
||||
QString MainWindow::store_secure_app_data(const QString& param)
|
||||
{
|
||||
TRY_ENTRY();
|
||||
LOG_API_TIMING();
|
||||
|
|
@ -1139,13 +1205,14 @@ QString MainWindow::store_secure_app_data(const QString& param, const QString& p
|
|||
return MAKE_RESPONSE(ar);
|
||||
}
|
||||
|
||||
|
||||
std::string buff(sizeof(app_data_file_binary_header), 0);
|
||||
app_data_file_binary_header* phdr = (app_data_file_binary_header*)buff.data();
|
||||
phdr->m_signature = APP_DATA_FILE_BINARY_SIGNATURE;
|
||||
phdr->m_cb_body = 0; // for future use
|
||||
|
||||
buff.append(param.toStdString());
|
||||
crypto::chacha_crypt(buff, pass.toStdString());
|
||||
crypto::chacha_crypt(buff, m_master_password);
|
||||
|
||||
bool r = file_io_utils::save_string_to_file(m_backend.get_config_folder() + "/" + GUI_SECURE_CONFIG_FILENAME, buff);
|
||||
view::api_response ar;
|
||||
|
|
|
|||
|
|
@ -100,7 +100,9 @@ public:
|
|||
QString have_secure_app_data();
|
||||
QString drop_secure_app_data();
|
||||
QString get_secure_app_data(const QString& param);
|
||||
QString store_secure_app_data(const QString& param, const QString& pass);
|
||||
QString store_secure_app_data(const QString& param);
|
||||
QString set_master_password(const QString& param);
|
||||
QString check_master_password(const QString& param);
|
||||
QString get_app_data();
|
||||
QString store_app_data(const QString& param);
|
||||
QString get_default_user_dir(const QString& param);
|
||||
|
|
@ -130,6 +132,7 @@ public:
|
|||
QString restore_wallet(const QString& param);
|
||||
QString is_pos_allowed();
|
||||
QString store_to_file(const QString& path, const QString& buff);
|
||||
QString load_from_file(const QString& path);
|
||||
QString is_file_exist(const QString& path);
|
||||
QString get_mining_estimate(const QString& obj);
|
||||
QString backup_wallet_keys(const QString& obj);
|
||||
|
|
@ -230,6 +233,7 @@ private:
|
|||
std::atomic<bool> m_backend_stopped_2;
|
||||
std::atomic<bool> m_system_shutdown;
|
||||
|
||||
std::string m_master_password;
|
||||
|
||||
|
||||
app_config m_config;
|
||||
|
|
|
|||
587
src/gui/qt-daemon/html/assets/i18n/af.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/ar.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/ca.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/cs.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Nastavit hlavní heslo",
|
||||
"SETUP_CONFIRM_PASS": "Potvrdit heslo",
|
||||
"MASTER_PASS": "Hlavní heslo",
|
||||
"BUTTON_NEXT": "Další",
|
||||
"BUTTON_SKIP": "Přeskočit",
|
||||
"BUTTON_RESET": "Resetovat",
|
||||
"INCORRECT_PASSWORD": "Neplatné heslo",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Je vyžadováno heslo",
|
||||
"CONFIRM_REQUIRED": "Je požadováno potvrzení",
|
||||
"MISMATCH": "Neodpovídající"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Jít zpět"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Přidat peněženku",
|
||||
"CREATE_WALLET": "Vytvořit novou peněženku",
|
||||
"SAVE_PHRASE": "Uložit svoji seed frázi",
|
||||
"OPEN_WALLET": "Otevřít existující peněženku",
|
||||
"RESTORE_WALLET": "Obnovení z zálohy",
|
||||
"WALLET_DETAILS": "Podrobnosti o peněžence",
|
||||
"ASSIGN_ALIAS": "Přidělit přezdívku",
|
||||
"EDIT_ALIAS": "Upravit přezdívku",
|
||||
"TRANSFER_ALIAS": "Převést přezdívku",
|
||||
"CONTRACTS": "Kontrakty",
|
||||
"NEW_PURCHASE": "Nový nákup",
|
||||
"OLD_PURCHASE": "Nákup"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Peněženky",
|
||||
"ADD_NEW": "+ Přidat",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "Nové nabídky/zprávy",
|
||||
"SYNCING": "Synchronizace pěněženky"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Nastavení",
|
||||
"LOG_OUT": "Odhlásit se",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "Chyba systému",
|
||||
"COMPLETE": "Dokončení",
|
||||
"SYNCING": "Sychronizace blockchainu",
|
||||
"LOADING": "Nahrávání blockchainových dat"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Aktualizace k dispozici",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Získejte novou aktualizaci.</span><br><span>Doporučená aktualizace!</span>",
|
||||
"IMPORTANT": "Aktualizace k dispozici",
|
||||
"IMPORTANT_HINT": "Důležitá aktualizace!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Získejte novou aktualizaci.</span><br><span>Důležitá aktualizace!</span>",
|
||||
"CRITICAL": "Aktualizace k dispozici",
|
||||
"CRITICAL_HINT": "Kritická aktualizace!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Kritická aktualizace k dispozici.</span><i class=\"icon\"></i><span>Aktualizaci důrazně doporučujeme!</span>",
|
||||
"TIME": "Systémový čas se liší od sítového",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Špatný systémový čas!</span><br><span>Zkontrolujte a nastavte systémový čas.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Chcete-li začít používat Zano, vytvořte nebo otevřete peněženku",
|
||||
"BUTTON_NEW_WALLET": "Vytvořit novou peněženku",
|
||||
"BUTTON_OPEN_WALLET": "Otevřít existující peněženku",
|
||||
"BUTTON_RESTORE_BACKUP": "Obnovení ze zálohy",
|
||||
"HELP": "Jak vytvořit peněženku?",
|
||||
"CHOOSE_PATH": "Zvolte prosím cestu"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Název peněženky",
|
||||
"PASS": "Nastavit heslo peněženky",
|
||||
"CONFIRM": "Potvrdit heslo k peněžence",
|
||||
"BUTTON_SELECT": "Vyberte cestu k pěněžence",
|
||||
"BUTTON_CREATE": "Vytvořit peněženku",
|
||||
"TITLE_SAVE": "Uložte soubor peněženky.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Stávající soubory peněženky nelze nahradit nebo přepsat",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Soubory peněženky nelze uložit na diskový oddíl s operačním systémem",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Název je povinný",
|
||||
"NAME_DUPLICATE": "Název je duplicitní",
|
||||
"MAX_LENGTH": "Dosáhli jste maximální délky názvu",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/da.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/de.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Master-Passwort einrichten",
|
||||
"SETUP_CONFIRM_PASS": "Passwort bestätigen",
|
||||
"MASTER_PASS": "Master-Passwort",
|
||||
"BUTTON_NEXT": "Weiter",
|
||||
"BUTTON_SKIP": "Überspringen",
|
||||
"BUTTON_RESET": "Zurücksetzen",
|
||||
"INCORRECT_PASSWORD": "Ungültiges Passwort",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Passwort ist erforderlich",
|
||||
"CONFIRM_REQUIRED": "Bestätigung ist erforderlich",
|
||||
"MISMATCH": "Fehlanpassung"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Zurück"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Wallet hinzufügen",
|
||||
"CREATE_WALLET": "Neue Wallet erstellen",
|
||||
"SAVE_PHRASE": "Speichere deinen Seed-Satz",
|
||||
"OPEN_WALLET": "Vorhandene Wallet öffnen",
|
||||
"RESTORE_WALLET": "Aus Backup wiederherstellen",
|
||||
"WALLET_DETAILS": "Wallet-Details",
|
||||
"ASSIGN_ALIAS": "Alias zuweisen",
|
||||
"EDIT_ALIAS": "Alias bearbeiten",
|
||||
"TRANSFER_ALIAS": "Alias übertragen",
|
||||
"CONTRACTS": "Verträge",
|
||||
"NEW_PURCHASE": "Neuer Kauf",
|
||||
"OLD_PURCHASE": "Kauf"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Hinzufügen",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "Neue Angebote/Nachrichten",
|
||||
"SYNCING": "Wallet synchronisieren"
|
||||
},
|
||||
"CONTACTS": "Kontakte",
|
||||
"SETTINGS": "Einstellungen",
|
||||
"LOG_OUT": "Abmelden",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "Systemfehler",
|
||||
"COMPLETE": "Abschluss",
|
||||
"SYNCING": "Synchronisiere Blockchain",
|
||||
"LOADING": "Lade Blockchain-Daten"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update verfügbar",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Neues Update ausführen.</span><br><span>Update wird empfohlen!</span>",
|
||||
"IMPORTANT": "Update verfügbar",
|
||||
"IMPORTANT_HINT": "Wichtiges Update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Neues Update ausführen.</span><br><span>Wichtiges Update!</span>",
|
||||
"CRITICAL": "Update verfügbar",
|
||||
"CRITICAL_HINT": "Kritisches Update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Kritisches Update verfügbar.</span><i class=\"icon\"></i><span>Update dringend empfohlen!</span>",
|
||||
"TIME": "Systemzeit unterscheidet sich vom Netzwerk",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Falsche Systemzeit!</span><br><span>Prüfen und korrigieren Sie Ihre Systemzeit.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Erstellen oder öffnen Sie die Wallet, um Zano zu verwenden",
|
||||
"BUTTON_NEW_WALLET": "Neue Wallet erstellen",
|
||||
"BUTTON_OPEN_WALLET": "Vorhandene Wallet öffnen",
|
||||
"BUTTON_RESTORE_BACKUP": "Aus Backup wiederherstellen",
|
||||
"HELP": "Wie Wallet erstellen?",
|
||||
"CHOOSE_PATH": "Bitte wählen Sie einen Pfad"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet-Name",
|
||||
"PASS": "Wallet-Passwort festlegen",
|
||||
"CONFIRM": "Wallet-Passwort bestätigen",
|
||||
"BUTTON_SELECT": "Wallet-Verzeichnis auswählen",
|
||||
"BUTTON_CREATE": "Wallet erstellen",
|
||||
"TITLE_SAVE": "Wallet-Datei speichern.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Bestehende Wallet-Dateien können nicht ersetzt oder überschrieben werden",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet-Dateien können nicht auf der OS-Partition gespeichert werden",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name ist erforderlich",
|
||||
"NAME_DUPLICATE": "Name existiert bereits",
|
||||
"MAX_LENGTH": "Maximale Namenslänge erreicht",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet-Name",
|
||||
"PASS": "Wallet-Passwort",
|
||||
"BUTTON": "Wallet öffnen",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "Eine Wallet mit dieser Adresse ist bereits geöffnet",
|
||||
"FILE_NOT_FOUND1": "Wallet-Datei nicht gefunden",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> Es wurde umbenannt oder verschoben. <br/> Um es zu öffnen, verwenden Sie den \"Wallet öffnen\"-Knopf.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name ist erforderlich",
|
||||
"NAME_DUPLICATE": "Name existiert bereits",
|
||||
"MAX_LENGTH": "Maximale Namenslänge erreicht"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Wallet-Passwort eingeben",
|
||||
"LABEL": "Passwort für diese Wallet",
|
||||
"OPEN": "Wallet öffnen",
|
||||
"SKIP": "Überspringen",
|
||||
"NOT_FOUND": "Nicht gefunden"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet-Name",
|
||||
"LABEL_PHRASE_KEY": "Seed-Satz / Private-Key",
|
||||
"PASS": "Wallet-Passwort",
|
||||
"CONFIRM": "Wallet-Passwort bestätigen",
|
||||
"BUTTON_SELECT": "Wallet-Verzeichnis auswählen",
|
||||
"BUTTON_CREATE": "Wallet erstellen",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Ungültige Wallet-Datei oder Passwort stimmt nicht überein",
|
||||
"CHOOSE_PATH": "Bitte wählen Sie einen Pfad",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name ist erforderlich",
|
||||
"NAME_DUPLICATE": "Name existiert bereits",
|
||||
"MAX_LENGTH": "Maximale Namenslänge erreicht",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Schlüssel ist erforderlich",
|
||||
"KEY_NOT_VALID": "Schlüssel ungültig"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Stellen Sie sicher, dass Ihr Seed-Satz an einem sicheren Ort bleibt. Wenn Sie Ihren Seed-Satz vergessen, können Sie Ihre Wallet nicht wiederherstellen.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Wallet erstellen",
|
||||
"BUTTON_COPY": "Kopieren"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Wallet hinzufügen",
|
||||
"SELECT_LOCATION": "Wallet-Verzeichnis auswählen",
|
||||
"CREATE_WALLET": "Neue Wallet erstellen",
|
||||
"RESTORE_WALLET": "Aus Backup wiederherstellen"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Einstellungen",
|
||||
"DARK_THEME": "Nachtmodus",
|
||||
"WHITE_THEME": "Tagmodus",
|
||||
"GRAY_THEME": "Graumodus",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Programm sperren nach:",
|
||||
"TIME1": "5 Minuten",
|
||||
"TIME2": "15 Minuten",
|
||||
"TIME3": "1 Stunde",
|
||||
"TIME4": "Nie"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Master-Passwort aktualisieren",
|
||||
"OLD": "Altes Passwort",
|
||||
"NEW": "Neues Passwort",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Speichern"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Passwort ist erforderlich",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Aktueller Build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log-Level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Alias registrieren",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Verschlüsseln",
|
||||
"AVAILABLE_BALANCE": "Verfügbar <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Gesperrt <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "Was bedeutet das?",
|
||||
"TABS": {
|
||||
"SEND": "Senden",
|
||||
"RECEIVE": "Empfangen",
|
||||
"HISTORY": "Verlauf",
|
||||
"CONTRACTS": "Verträge",
|
||||
"MESSAGES": "Nachrichten",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet-Name",
|
||||
"LABEL_FILE_LOCATION": "Wallet-Datei-Verzeichnis",
|
||||
"LABEL_SEED_PHRASE": "Seed-Satz",
|
||||
"SEED_PHRASE_HINT": "Klicken, um den Seed-Satz anzuzeigen",
|
||||
"BUTTON_SAVE": "Speichern",
|
||||
"BUTTON_REMOVE": "Wallet schließen",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name ist erforderlich",
|
||||
"NAME_DUPLICATE": "Name existiert bereits",
|
||||
"MAX_LENGTH": "Maximale Namenslänge erreicht"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Alias eingeben",
|
||||
"TOOLTIP": "Ein Alias ist eine verkürzte Form Ihres Kontos. Ein Alias kann nur lateinische Buchstaben, Zahlen und die Zeichen „.“ und “-” enthalten. Es muss mit “@” beginnen."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Kommentar",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "Der Kommentar wird für jeden sichtbar sein, der eine Zahlung an Ihren Alias vornehmen möchte. Sie können Details über Ihre Geschäfte, Kontakte oder Text angeben. Kommentare können später bearbeitet werden."
|
||||
},
|
||||
"COST": "Alias-Gebühr {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Zuweisen",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name ist erforderlich",
|
||||
"NAME_WRONG": "Alias hat einen falschen Namen",
|
||||
"NAME_LENGTH": "Der Alias muss 6-25 Zeichen lang sein",
|
||||
"NAME_EXISTS": "Alias-Name existiert bereits",
|
||||
"NO_MONEY": "Du hast nicht genug Geldmittel, um diesen Alias zuzuweisen",
|
||||
"MAX_LENGTH": "Maximale Kommentarlänge erreicht"
|
||||
},
|
||||
"ONE_ALIAS": "Sie können nur einen Alias pro Wallet erstellen",
|
||||
"REQUEST_ADD_REG": "Der Alias wird innerhalb von 10 Minuten zugewiesen"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Alias eingeben"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Kommentar",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "Sie haben nicht genügend Geldmittel, um den Kommentar zu diesem Alias zu ändern",
|
||||
"MAX_LENGTH": "Maximale Kommentarlänge erreicht"
|
||||
},
|
||||
"COST": "Gebühr {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Bearbeiten"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Alias eingeben"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Kommentar",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "transferieren zu",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "Keine Wallet mit diesem Konto existiert",
|
||||
"ALIAS_EXISTS": "Dieses Konto hat bereits einen Alias",
|
||||
"NO_MONEY": "Du hast nicht genug Geldmittel, um diesen Alias zu transferieren"
|
||||
},
|
||||
"COST": "Überweisungsgebühr {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Abbrechen",
|
||||
"REQUEST_SEND_REG": "Der Alias wird innerhalb von 10 Minuten übertragen"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Adresse",
|
||||
"AMOUNT": "Betrag",
|
||||
"COMMENT": "Kommentar",
|
||||
"DETAILS": "Zusätzliche Informationen",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Gebühr",
|
||||
"HIDE": "Verstecke deine Wallet-Adresse vom Empfänger",
|
||||
"BUTTON": "Senden",
|
||||
"SUCCESS_SENT": "Transaktion gesendet",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Adresse benötigt",
|
||||
"ADDRESS_NOT_VALID": "Adresse ungültig",
|
||||
"ALIAS_NOT_VALID": "Alias ungültig",
|
||||
"AMOUNT_REQUIRED": "Betrag ist erforderlich",
|
||||
"AMOUNT_ZERO": "Betrag ist Null",
|
||||
"FEE_REQUIRED": "Gebühr ist erforderlich",
|
||||
"FEE_MINIMUM": "Mindestgebühr: {{fee}}",
|
||||
"MAX_LENGTH": "Maximale Kommentarlänge erreicht"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Bestätigungen {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Gesperrt bis {{date}}",
|
||||
"SEND": "Gesendet",
|
||||
"RECEIVED": "Empfangen",
|
||||
"DATE": "Datum",
|
||||
"AMOUNT": "Betrag",
|
||||
"FEE": "Gebühr",
|
||||
"ADDRESS": "Adresse",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Zahlungs-ID",
|
||||
"ID": "Transaktions-ID",
|
||||
"SIZE": "Transaktionsgröße",
|
||||
"SIZE_VALUE": "{{value}} Bytes",
|
||||
"HEIGHT": "Höhe",
|
||||
"CONFIRMATION": "Bestätigung",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Kommentar"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "versteckt",
|
||||
"UNDEFINED": "Unbedefiniert",
|
||||
"COMPLETE_BUYER": "Vertrag abgeschlossen",
|
||||
"COMPLETE_SELLER": "Vertrag abgeschlossen",
|
||||
"CREATE_ALIAS": "Gebühr für die Zuordnung eines Alias",
|
||||
"UPDATE_ALIAS": "Gebühr für die Bearbeitung eines Alias",
|
||||
"POW_REWARD": "POW-Belohnung",
|
||||
"POS_REWARD": "POS-Belohnung",
|
||||
"CREATE_CONTRACT": "Vertragsvorschlag",
|
||||
"PLEDGE_CONTRACT": "Vertrag-Einzahlung",
|
||||
"NULLIFY_CONTRACT": "Einzahlungen verbrennen",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Stornierungsanfrage",
|
||||
"CANCEL_CONTRACT": "Abbrechen und Einzahlungen zurückzahlen"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "Keine aktiven Verträge",
|
||||
"CONTRACTS": "Verträge",
|
||||
"PURCHASE": "Kauf",
|
||||
"SELL": "Verkaufen",
|
||||
"DATE": "Datum",
|
||||
"AMOUNT": "Betrag",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Kommentare",
|
||||
"PURCHASE_BUTTON": "Neuer Kauf",
|
||||
"LISTING_BUTTON": "Auflistung erstellen",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Weniger als eine Stunde, um zu antworten",
|
||||
"REMAINING_ONE": "{{time}} verbleibende Stunde",
|
||||
"REMAINING_MANY": "{{time}} verbleibende Stunden",
|
||||
"REMAINING_MANY_ALT": "{{time}} verbleibende Stunden",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} verbleibende Stunde",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} verbleibende Stunde",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} verbleibende Stunden",
|
||||
"REMAINING_ONE_WAITING": "Warte für {{time}} Stunde",
|
||||
"REMAINING_MANY_WAITING": "Warte für {{time}} Stunden",
|
||||
"REMAINING_MANY_ALT_WAITING": "Warte für {{Zeit}} Stunden"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "Neuer Vertragsvorschlag",
|
||||
"IGNORED": "Sie haben den Vertragsvorschlag ignoriert",
|
||||
"ACCEPTED": "Vertrag gestartet",
|
||||
"WAIT": "Warten auf Bestätitung des Vertrages",
|
||||
"WAITING_BUYER": "Warte auf Sendung",
|
||||
"COMPLETED": "Vertrag abgeschlossen",
|
||||
"NOT_RECEIVED": "Senden fehlgeschlagen",
|
||||
"NULLIFIED": "Alle Einzahlungen verbrannt",
|
||||
"PROPOSAL_CANCEL": "Neuer Vorschlag, Vertrag zu kündigen und Einzahlungen zurückzugeben",
|
||||
"BEING_CANCELLED": "Abbruch wird durchgeführt",
|
||||
"CANCELLED": "Vertrag abgebrochen",
|
||||
"IGNORED_CANCEL": "Sie haben den Stornierungsvorschlag ignoriert",
|
||||
"EXPIRED": "Vertragsvorschlag ist abgelaufen"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Warte auf Antwort",
|
||||
"IGNORED": "Verkäufer ignorierte Ihren Vertragsvorschlag",
|
||||
"ACCEPTED": "Verkäufer hat Ihren Vertragsvorschlag akzeptiert",
|
||||
"WAIT": "Warten auf die Bestätigung der Einzahlungen",
|
||||
"WAITING_SELLER": "Warte auf Sendung",
|
||||
"COMPLETED": "Vertrag abgeschlossen",
|
||||
"NOT_RECEIVED": "Senden fehlgeschlagen",
|
||||
"NULLIFIED": "Alle Einzahlungen verbrannt",
|
||||
"WAITING_CANCEL": "Warten auf Stornierung des Vertrages",
|
||||
"BEING_CANCELLED": "Abbruch wird durchgeführt",
|
||||
"CANCELLED": "Vertrag abgebrochen",
|
||||
"IGNORED_CANCEL": "Der Verkäufer hat Ihren Vorschlag zur Stornierung des Vertrages ignoriert",
|
||||
"EXPIRED": "Der Vertragsvorschlag ist abgelaufen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Beschreibung",
|
||||
"SELLER": "Verkäufer",
|
||||
"AMOUNT": "Betrag",
|
||||
"YOUR_DEPOSIT": "Ihre Einzahlung",
|
||||
"SELLER_DEPOSIT": "Einzahlung Verkäufer",
|
||||
"BUYER_DEPOSIT": "Einzahlung Käufer",
|
||||
"SAME_AMOUNT": "Gleicher Betrag",
|
||||
"COMMENT": "Kommentar",
|
||||
"DETAILS": "Zusätzliche Informationen",
|
||||
"SEND_BUTTON": "Senden",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Beschreibung erforderlich",
|
||||
"DESC_MAXIMUM": "Maximale Feldlänge erreicht",
|
||||
"SELLER_REQUIRED": "Adresse benötigt",
|
||||
"SELLER_NOT_VALID": "Ungültige Adresse",
|
||||
"ALIAS_NOT_VALID": "Ungültiger Alias",
|
||||
"AMOUNT_REQUIRED": "Betrag ist erforderlich",
|
||||
"AMOUNT_ZERO": "Betrag darf nicht Null sein",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Einzahlung erforderlich",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Verkäufer-Einzahlung erforderlich",
|
||||
"SELLER_SAME": "Anderes Konto verwenden",
|
||||
"COMMENT_MAXIMUM": "Maximale Feldlänge erreicht"
|
||||
},
|
||||
"PROGRESS_NEW": "Neuer Kauf",
|
||||
"PROGRESS_WAIT": "Warte auf Antwort",
|
||||
"PROGRESS_RECEIVE": "Antwort erhalten",
|
||||
"PROGRESS_COMPLETE": "Abgeschlossen",
|
||||
"FEE": "Gebühr",
|
||||
"PAYMENT": "Zahlungs-ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "Neuer Kauf",
|
||||
"WAITING_SELLER": "Warte auf Antwort",
|
||||
"WAITING_BUYER": "Vertragsvorschlag erhalten",
|
||||
"WAITING_CONFIRMATION": "Warten auf die Bestätigung der Einzahlungen",
|
||||
"WAITING_DELIVERY": "Warte auf Sendung",
|
||||
"COMPLETED": "Vertrag abgeschlossen",
|
||||
"IGNORED_BUYER": "Vertragsvorschlag ignoriert",
|
||||
"IGNORED_SELLER": "Der Verkäufer ignorierte Ihren Vertragsvorschlag",
|
||||
"PROPOSAL_CANCEL_SELLER": "Stornierungsanfrage gesendet",
|
||||
"PROPOSAL_CANCEL_BUYER": "Stornierungsanfrage erhalten",
|
||||
"BEING_CANCELLED": "Abbruch wird durchgeführt",
|
||||
"IGNORED_CANCEL_SELLER": "Der Verkäufer hat Ihren Vorschlag zur Stornierung des Vertrages ignoriert",
|
||||
"IGNORED_CANCEL_BUYER": "Vertragsstornierungsanfrage ignoriert",
|
||||
"CANCELLED": "Vertrag abgebrochen",
|
||||
"EXPIRED": "Vertragsvorschlag abgelaufen",
|
||||
"NOT_RECEIVED": "Senden fehlgeschlagen",
|
||||
"NULLIFIED": "Alle Einzahlungen verbrannt"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Vertrag gestartet",
|
||||
"IGNORED_ACCEPT": "Vertragsvorschlag ignoriert",
|
||||
"BURN_PROPOSAL": "Einzahlungen verbrannt",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Vertrag abgeschlossen",
|
||||
"SEND_CANCEL_PROPOSAL": "Stornierungsanfrage gesendet",
|
||||
"IGNORED_CANCEL": "Vertragsstornierungsanfrage ignoriert",
|
||||
"DEALS_CANCELED_WAIT": "Abbruch wird durchgeführt",
|
||||
"WAITING_TIME": "Antwortzeit",
|
||||
"NEED_MONEY": "Unzureichendes Guthaben",
|
||||
"BUTTON_MAKE_PLEDGE": "Akzeptieren und Einzahlung tätigen",
|
||||
"BUTTON_IGNORE": "Angebot ignorieren und ausblenden",
|
||||
"BUTTON_NULLIFY": "Beenden und Einzahlungen verbrennen",
|
||||
"BUTTON_RECEIVED": "Einzahlungen abschließen und freigeben",
|
||||
"BUTTON_CANCEL_BUYER": "Einzahlungen abbrechen und zurückzahlen",
|
||||
"BUTTON_NOT_CANCEL": "Anfrage ignorieren",
|
||||
"BUTTON_CANCEL_SELLER": "Einzahlungen bestätigen und zurückzahlen",
|
||||
"HOUR": "Stunde",
|
||||
"HOURS": "Stunden",
|
||||
"CANCEL": "Abbrechen",
|
||||
"NULLIFY_QUESTION": "Sind Sie sicher, dass Sie beide Einzahlungen verbrennen möchten?",
|
||||
"BUTTON_NULLIFY_SHORT": "Verbrennen",
|
||||
"WAITING_TIME_QUESTION": "Sind Sie sicher, dass Sie den Vertrag kündigen möchten?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Adresse",
|
||||
"MESSAGE": "Nachricht",
|
||||
"SEND_PLACEHOLDER": "Nachricht eingeben...",
|
||||
"SEND_BUTTON": "Senden"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Fehler",
|
||||
"SUCCESS": "Erfolg",
|
||||
"INFO": "Informationen",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Senden",
|
||||
"BUTTON_CANCEL": "Abbrechen",
|
||||
"TITLE": "Transaktion bestätigen",
|
||||
"MESSAGE": {
|
||||
"SEND": "Senden",
|
||||
"FROM": "Von",
|
||||
"TO": "Zu",
|
||||
"COMMENT": "Kommentar"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Ausstehend",
|
||||
"TITLE_TOTAL": "Gesamt",
|
||||
"TITLE_PERIOD": "Zeitspanne:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 Woche",
|
||||
"WEEK2": "2 Wochen",
|
||||
"MONTH1": "1 Monat",
|
||||
"MONTH3": "3 Monate",
|
||||
"MONTH6": "6 Monate",
|
||||
"YEAR": "1 Jahr",
|
||||
"ALL": "Alle"
|
||||
},
|
||||
"TITLE_GROUP": "Gruppe:",
|
||||
"GROUP": {
|
||||
"DAY": "Tag",
|
||||
"WEEK": "Woche",
|
||||
"MONTH": "Monat"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "AN",
|
||||
"OFF": "AUS"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Kontaktliste",
|
||||
"IMPORT_EXPORT": "Kontakte importieren oder exportieren",
|
||||
"IMPORT": "Importieren",
|
||||
"EXPORT": "Exportieren",
|
||||
"ADD": "Kontakt hinzufügen/bearbeiten",
|
||||
"SEND": "Senden",
|
||||
"SEND_FROM": "Senden von",
|
||||
"SEND_TO": "Zu",
|
||||
"OPEN_ADD_WALLET": "Wallet öffnen/hinzufügen",
|
||||
"COPY": "- Kopieren",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Adresse",
|
||||
"NOTES": "Notizen",
|
||||
"EMPTY": "Kontaktliste ist leer"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Adresse",
|
||||
"NOTES": "Notizen"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name ist erforderlich",
|
||||
"NAME_DUBLICATED": "Name existiert bereits",
|
||||
"ADDRESS_REQUIRED": "Adresse benötigt",
|
||||
"ADDRESS_NOT_VALID": "Adresse ungültig",
|
||||
"SET_MASTER_PASSWORD": "Master-Passwort festlegen",
|
||||
"ADDRESS_DUBLICATED": "Adresse existiert bereits",
|
||||
"MAX_LENGTH": "Maximale Länge der Notiz erreicht",
|
||||
"NAME_LENGTH": "Der Name muss 4-25 Zeichen lang sein"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Senden",
|
||||
"EDIT": "Bearbeiten",
|
||||
"DELETE": "Löschen",
|
||||
"ADD": "Kontakt hinzufügen",
|
||||
"ADD_EDIT": "Hinzufügen/Speichern",
|
||||
"GO_TO_WALLET": "Zu Wallet gehen",
|
||||
"IMPORT_EXPORT": "importieren/exportieren"
|
||||
},
|
||||
"SUCCESS_SENT": "Kontakt hinzugefügt",
|
||||
"SUCCESS_SAVE": "Kontakt wurde bearbeitet",
|
||||
"SUCCESS_IMPORT": "Kontakte wurden importiert",
|
||||
"SUCCESS_EXPORT": "Kontakte wurden exportiert",
|
||||
"ERROR_IMPORT": "Fehler beim Lesen der Datei!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Ungültiger Dateityp. Datei als .csv speichern",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Nicht genügend Geld",
|
||||
"NOT_ENOUGH_MONEY": "Unzureichendes Guthaben im Konto",
|
||||
"CORE_BUSY": "Interner Fehler: Kern ist beschäftigt",
|
||||
"DAEMON_BUSY": "Interner Fehler: Daemon ist beschäftigt",
|
||||
"NO_MONEY_REMOVE_OFFER": "Es gibt keine Gebühr für das Löschen eines Angebots, aber um das Netzwerk vor Spam-Transaktionen zu schützen, müssen Sie mindestens {{fee}} {{currency}} in Ihrer Wallet haben",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in-Nummer ist zu groß für den aktuellen Blockchain-Status. Nicht genügend unverbrauchte outputs zum Mischen",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaktion überschreitet das Netzwerk-Limit. Sendet benötigten Betrag mit mehreren Transaktionen.",
|
||||
"TRANSFER_ATTEMPT": "Keine Verbindung zum Zano-Netzwerk",
|
||||
"ACCESS_DENIED": "Zugriff verweigert",
|
||||
"TRANSACTION_ERROR": "Fehler. Transaktion nicht abgeschlossen.",
|
||||
"BAD_ARG": "Ungültiges Argument",
|
||||
"WALLET_WRONG_ID": "Ungültige Wallet-ID",
|
||||
"WRONG_PASSWORD": "Ungültiges Passwort",
|
||||
"FILE_RESTORED": "Die Wallet-Datei wurde beschädigt. Wir haben die Schlüssel und die Wallet von der Blockchain wiederhergestellt",
|
||||
"FILE_NOT_FOUND": "Datei nicht gefunden",
|
||||
"FILE_EXIST": "Eine Datei mit diesem Namen existiert bereits. Geben Sie einen anderen Namen ein, um die Datei zu speichern",
|
||||
"FILE_NOT_SAVED": "Sie können keine Wallet-Datei in diesem Ordner speichern. Bitte wählen Sie einen anderen Ordner.",
|
||||
"TX_TYPE_NORMAL": "Fehler. Die Zahlung von der Wallet",
|
||||
"TX_TYPE_NORMAL_TO": "zu",
|
||||
"TX_TYPE_NORMAL_END": "wurde nicht abgeschlossen.",
|
||||
"TX_TYPE_NEW_ALIAS": "Fehler. Fehler beim Registrieren des Alias zum Speichern",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Bitte nochmals versuchen.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Fehler. Fehlgeschlagen Kommentar von gespeichertem Alias zu ändern",
|
||||
"TX_TYPE_COIN_BASE": "Fehler. Die Zahlung wurde nicht abgeschlossen."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "kopieren",
|
||||
"PASTE": "einfügen",
|
||||
"SELECT": "alle auswählen"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Beenden",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Eingehende Zahlung (nicht bestätigt)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Zahlung erhalten",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blockiert",
|
||||
"IS_MINIMIZE": "Zano-Anwendung wird auf die Systemleiste minimiert",
|
||||
"RESTORE": "Sie können es wiederherstellen, indem Sie auf das Kontextmenü benutzen oder anklicken ",
|
||||
"TRAY_MENU_SHOW": "Größe ändern",
|
||||
"TRAY_MENU_MINIMIZE": "Minimieren"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/el.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
{
|
||||
"LOGIN" : {
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
|
|
@ -37,15 +38,19 @@
|
|||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"CONTACTS_TOOLTIP": "Contacts option available only with Master Password enabled",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"LOG_OUT_TOOLTIP": "Logout option available only with Master Password enabled",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
"SYNCING": "Syncing block",
|
||||
"LOADING": "Loading blockchain data",
|
||||
"SLASH": "/"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
|
|
@ -124,8 +129,8 @@
|
|||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT" : "Create wallet",
|
||||
"BUTTON_COPY" : "Copy"
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
|
|
@ -191,18 +196,17 @@
|
|||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Unique name",
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "Enter comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Cost to create alias {{value}} {{currency}}",
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
|
|
@ -216,40 +220,39 @@
|
|||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Unique name",
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "Enter comment"
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Cost to edit alias {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit",
|
||||
"BUTTON_CANCEL": "Cancel"
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Unique name",
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "Enter comment"
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "The account to which the alias will be transferred",
|
||||
"PLACEHOLDER": "Enter wallet address"
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Cost to transfer alias {{value}} {{currency}}",
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
|
|
@ -452,6 +455,17 @@
|
|||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
|
|
@ -477,6 +491,58 @@
|
|||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy"
|
||||
, "TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
|
|
|
|||
587
src/gui/qt-daemon/html/assets/i18n/es.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/fi.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Configurer le mot de passe principal",
|
||||
"SETUP_CONFIRM_PASS": "Confirmer le mot de passe",
|
||||
"MASTER_PASS": "Mot de passe principal",
|
||||
"BUTTON_NEXT": "Suivant",
|
||||
"BUTTON_SKIP": "Sauter",
|
||||
"BUTTON_RESET": "Réinitialiser",
|
||||
"INCORRECT_PASSWORD": "Mot de passe invalide",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Mot de passe requis",
|
||||
"CONFIRM_REQUIRED": "Confirmation requise",
|
||||
"MISMATCH": "Non-concordant"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Retour"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Ajouter un portefeuille",
|
||||
"CREATE_WALLET": "Créer un nouveau portefeuille",
|
||||
"SAVE_PHRASE": "Enregistrer votre phrase de sécurité",
|
||||
"OPEN_WALLET": "Ouvrir un portefeuille existant",
|
||||
"RESTORE_WALLET": "Restaurer depuis une sauvegarde",
|
||||
"WALLET_DETAILS": "Détails du portefeuille",
|
||||
"ASSIGN_ALIAS": "Assigner un alias",
|
||||
"EDIT_ALIAS": "Modifier l'alias",
|
||||
"TRANSFER_ALIAS": "Transférer l'alias",
|
||||
"CONTRACTS": "Contrats",
|
||||
"NEW_PURCHASE": "Nouvel achat",
|
||||
"OLD_PURCHASE": "Achat"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Accounts2",
|
||||
"ADD_NEW": "+ Add new2",
|
||||
"SETTINGS": "Settings2",
|
||||
"LOG_OUT": "Log out2"
|
||||
"TITLE": "Portefeuilles",
|
||||
"ADD_NEW": "+ Ajouter",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Mise",
|
||||
"MESSAGES": "Nouvelles offres/Messages",
|
||||
"SYNCING": "Synchronisation du portefeuille"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Paramètres",
|
||||
"LOG_OUT": "Déconnexion",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Hors ligne",
|
||||
"ONLINE": "En ligne",
|
||||
"ERROR": "Erreur de système",
|
||||
"COMPLETE": "Fermeture",
|
||||
"SYNCING": "Synchronisation de la blockchain",
|
||||
"LOADING": "Chargement des données de la blockchain"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Mise à jour disponible",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Mise à jour.</span><br><span>La mise à jour est recommandée.</span>",
|
||||
"IMPORTANT": "Mise à jour disponible",
|
||||
"IMPORTANT_HINT": "Mise à jour importante !",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Mise à jour.</span><br><span>La mise à jour est recommandée.</span>",
|
||||
"CRITICAL": "Mise à jour disponible",
|
||||
"CRITICAL_HINT": "Mise à jour critique !",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Mise à jour critique disponible.</span><i class=\"icon\"></i><span>Mise à jour fortement recommandée.</span>",
|
||||
"TIME": "Le temps du système diffère de celui du réseau",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Mauvais temps de système</span><br><span>Vérifier et corriger votre temps de système.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano2",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet2",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet2",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup2",
|
||||
"HELP": "How to create wallet?2"
|
||||
"TITLE": "Créer ou ouvrir le portefeuille pour commencer à utiliser Zano",
|
||||
"BUTTON_NEW_WALLET": "Créer un nouveau portefeuille",
|
||||
"BUTTON_OPEN_WALLET": "Ouvrir un portefeuille existant",
|
||||
"BUTTON_RESTORE_BACKUP": "Restaurer depuis une sauvegarde",
|
||||
"HELP": "Comment créer un portefeuille ?",
|
||||
"CHOOSE_PATH": "Veuillez choisir un chemin"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Nom du portefeuille",
|
||||
"PASS": "Définir le mot de passe du portefeuille",
|
||||
"CONFIRM": "Confirmer le mot de passe du portefeuille",
|
||||
"BUTTON_SELECT": "Sélectionner l'emplacement du portefeuille",
|
||||
"BUTTON_CREATE": "Créer un portefeuille",
|
||||
"TITLE_SAVE": "Enregistrer le fichier du portefeuille.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Les fichiers de portefeuille existants ne peuvent pas être remplacés ou écrasés",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Les fichiers de portefeuille ne peuvent pas être sauvegardés sur la partition du OS",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Le nom est requis",
|
||||
"NAME_DUPLICATE": "Nom déjà utilisé",
|
||||
"MAX_LENGTH": "Longueur maximale du nom atteinte",
|
||||
"CONFIRM_NOT_MATCH": "La confirmation du mot de passe ne correspond pas"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Nom du portefeuille",
|
||||
"PASS": "Mot de passe du portefeuille",
|
||||
"BUTTON": "Ouvrir un portefeuille",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "Un portefeuille avec cette adresse est déjà ouvert",
|
||||
"FILE_NOT_FOUND1": "Fichier de portefeuille introuvable",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> Il aurait peut-être été renommé ou déplacé. <br/> Pour l'ouvrir, utilisez le bouton \"Ouvrir le portefeuille\".",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Le nom est requis",
|
||||
"NAME_DUPLICATE": "Nom déjà utilisé",
|
||||
"MAX_LENGTH": "Longueur maximale du nom atteinte"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Entrer le mot de passe du portefeuille",
|
||||
"LABEL": "Mot de passe de ce portefeuille",
|
||||
"OPEN": "Ouvrir un portefeuille",
|
||||
"SKIP": "Sauter",
|
||||
"NOT_FOUND": "Introuvable"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Nom du portefeuille",
|
||||
"LABEL_PHRASE_KEY": "Phrase de sécurité / clé privée",
|
||||
"PASS": "Mot de passe du portefeuille",
|
||||
"CONFIRM": "Confirmer le mot de passe du portefeuille",
|
||||
"BUTTON_SELECT": "Sélectionner l'emplacement du portefeuille",
|
||||
"BUTTON_CREATE": "Créer un portefeuille",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Le fichier est invalide ou mot de passe du portefeuille ne correspond pas",
|
||||
"CHOOSE_PATH": "Veuillez choisir un chemin",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Le nom est requis",
|
||||
"NAME_DUPLICATE": "Nom déjà utilisé",
|
||||
"MAX_LENGTH": "Longueur maximale atteinte",
|
||||
"CONFIRM_NOT_MATCH": "La confirmation du mot de passe ne correspond pas",
|
||||
"KEY_REQUIRED": "Clé requise",
|
||||
"KEY_NOT_VALID": "Clé invalide"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Assurez-vous de garder votre phrase de sécurité dans un endroit sûr. Si vous oubliez votre phrase de sécurité, vous ne pourrez pas récupérer votre portefeuille.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Créer un portefeuille",
|
||||
"BUTTON_COPY": "Copier"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Ajouter un portefeuille",
|
||||
"SELECT_LOCATION": "Sélectionner l'emplacement du portefeuille",
|
||||
"CREATE_WALLET": "Créer un nouveau portefeuille",
|
||||
"RESTORE_WALLET": "Restaurer depuis une sauvegarde"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Paramètres",
|
||||
"DARK_THEME": "Thème sombre",
|
||||
"WHITE_THEME": "Thème blanc",
|
||||
"GRAY_THEME": "Thème gris",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Verrouiller l'application après :",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 heure",
|
||||
"TIME4": "Jamais"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Mettre à jour le mot de passe principal",
|
||||
"OLD": "Ancien mot de passe",
|
||||
"NEW": "Nouveau mot de passe",
|
||||
"CONFIRM": "Confirmer le mot de passe",
|
||||
"BUTTON": "Enregistrer"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Mot de passe requis",
|
||||
"PASS_NOT_MATCH": "Ancien mot de passe non correspondant",
|
||||
"CONFIRM_NOT_MATCH": "La confirmation du mot de passe ne correspond pas"
|
||||
},
|
||||
"LAST_BUILD": "Version actuelle : {{value}}",
|
||||
"APP_LOG_TITLE": "Niveau de log :"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Enregistrer un alias",
|
||||
"DETAILS": "Détails",
|
||||
"LOCK": "Verrouillage",
|
||||
"AVAILABLE_BALANCE": "Disponible <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Vérouillé<b>{{locked}}{{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "Que signifie cela?",
|
||||
"TABS": {
|
||||
"SEND": "Envoyer",
|
||||
"RECEIVE": "Recevoir",
|
||||
"HISTORY": "Historique",
|
||||
"CONTRACTS": "Contrats",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Mise"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Nom du portefeuille",
|
||||
"LABEL_FILE_LOCATION": "Emplacement du fichier de portefeuille",
|
||||
"LABEL_SEED_PHRASE": "Phrase de sécurité",
|
||||
"SEED_PHRASE_HINT": "Cliquez pour révéler la phrase de sécurité",
|
||||
"BUTTON_SAVE": "Enregistrer",
|
||||
"BUTTON_REMOVE": "Fermer le portefeuille",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Le nom est requis",
|
||||
"NAME_DUPLICATE": "Nom déjà utilisé",
|
||||
"MAX_LENGTH": "Longueur maximale atteinte"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Entrer l'alias",
|
||||
"TOOLTIP": "Un alias est une forme abréviée pour votre compte. Un alias ne peut inclure que des lettres, des chiffres et des caractères latins « » et « - ». Il doit commencer par « @ »."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Commentaire",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "Le commentaire sera visible à quiconque souhaite effectuer un paiement à votre alias. Vous pouvez fournir des détails sur votre entreprise, vos informations de contact ou inclure tout texte. Les commentaires peuvent être modifiés plus tard."
|
||||
},
|
||||
"COST": "Frais d'alias {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assigner",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Le nom est requis",
|
||||
"NAME_WRONG": "L'alias a un nom incorrect",
|
||||
"NAME_LENGTH": "L'alias doit contenir 6-25 caractères",
|
||||
"NAME_EXISTS": "Alias déjà existant",
|
||||
"NO_MONEY": "Vous n'avez pas assez de fonds pour assigner cet alias",
|
||||
"MAX_LENGTH": "Longueur maximale du commentaire atteinte"
|
||||
},
|
||||
"ONE_ALIAS": "Vous pouvez créer un seul alias par portefeuille",
|
||||
"REQUEST_ADD_REG": "L'alias sera assigné dans les 10 prochaines minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Entrer l'alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Commentaire",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "Vous n'avez pas assez de fonds pour changer le commentaire de cet alias",
|
||||
"MAX_LENGTH": "Longueur maximale du commentaire atteinte"
|
||||
},
|
||||
"COST": "Frais {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Modifier"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Entrer l'alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Commentaire",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transférer à",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "Aucun portefeuille avec ce compte n'existe",
|
||||
"ALIAS_EXISTS": "Ce compte a déjà un alias",
|
||||
"NO_MONEY": "Vous n'avez pas assez de fonds pour transférer cet alias"
|
||||
},
|
||||
"COST": "Frais de transfert {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transférer",
|
||||
"BUTTON_CANCEL": "Annuler",
|
||||
"REQUEST_SEND_REG": "L'alias sera transféré dans les 10 prochaines minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Adresse",
|
||||
"AMOUNT": "Montant",
|
||||
"COMMENT": "Commentaire",
|
||||
"DETAILS": "Détails supplémentaires",
|
||||
"MIXIN": "Mélange",
|
||||
"FEE": "Frais",
|
||||
"HIDE": "Masquer votre adresse de portefeuille au destinataire",
|
||||
"BUTTON": "Envoyer",
|
||||
"SUCCESS_SENT": "Transaction envoyée",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Adresse requise",
|
||||
"ADDRESS_NOT_VALID": "Addresse invalide",
|
||||
"ALIAS_NOT_VALID": "Alias non valide",
|
||||
"AMOUNT_REQUIRED": "Le Montant est requis",
|
||||
"AMOUNT_ZERO": "Le montant est zéro",
|
||||
"FEE_REQUIRED": "Les frais sont requis",
|
||||
"FEE_MINIMUM": "Frais minimum : {{fee}}",
|
||||
"MAX_LENGTH": "Longueur maximale du commentaire atteinte"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Statut",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Verrouillé jusqu'à {{date}}",
|
||||
"SEND": "Envoyé",
|
||||
"RECEIVED": "Reçu",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Montant",
|
||||
"FEE": "Frais",
|
||||
"ADDRESS": "Adresse",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "ID de paiement",
|
||||
"ID": "ID de transaction",
|
||||
"SIZE": "Taille de la transaction",
|
||||
"SIZE_VALUE": "{{value}} octets",
|
||||
"HEIGHT": "Hauteur",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Entrées",
|
||||
"OUTPUTS": "Sorties",
|
||||
"COMMENT": "Commentaire"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "caché",
|
||||
"UNDEFINED": "Non défini",
|
||||
"COMPLETE_BUYER": "Contrat complété",
|
||||
"COMPLETE_SELLER": "Contrat complété",
|
||||
"CREATE_ALIAS": "Frais pour assigner l'alias",
|
||||
"UPDATE_ALIAS": "Frais pour modifier l'alias",
|
||||
"POW_REWARD": "Récompense POW",
|
||||
"POS_REWARD": "Récompense POS",
|
||||
"CREATE_CONTRACT": "Proposition de contrat",
|
||||
"PLEDGE_CONTRACT": "Dépôt de contrat",
|
||||
"NULLIFY_CONTRACT": "Brûler les dépôts",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Demande d'annulation",
|
||||
"CANCEL_CONTRACT": "Annuler et retourner les dépôts"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "Aucun contrat actif",
|
||||
"CONTRACTS": "Contrats",
|
||||
"PURCHASE": "Achat",
|
||||
"SELL": "Vendre",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Montant",
|
||||
"STATUS": "Statut",
|
||||
"COMMENTS": "Commentaires",
|
||||
"PURCHASE_BUTTON": "Nouvel achat",
|
||||
"LISTING_BUTTON": "Créer une offre",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Moins d'une heure pour répondre",
|
||||
"REMAINING_ONE": "{{time}} heure restante",
|
||||
"REMAINING_MANY": "{{time}} heures restantes",
|
||||
"REMAINING_MANY_ALT": "{{time}} heures restantes",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} heure restante",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} heures restantes",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} heures restantes",
|
||||
"REMAINING_ONE_WAITING": "En attente de {{time}} heure",
|
||||
"REMAINING_MANY_WAITING": "En attente de {{time}} heures",
|
||||
"REMAINING_MANY_ALT_WAITING": "En attente de {{time}} heures"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "Nouvelle proposition de contrat",
|
||||
"IGNORED": "Vous avez ignoré la proposition de contrat",
|
||||
"ACCEPTED": "Contrat démarré",
|
||||
"WAIT": "En attente de confirmation du contrat",
|
||||
"WAITING_BUYER": "En attente de livraison",
|
||||
"COMPLETED": "Contrat terminé",
|
||||
"NOT_RECEIVED": "Échec de la livraison",
|
||||
"NULLIFIED": "Tous les dépôts ont été brûlés",
|
||||
"PROPOSAL_CANCEL": "Nouvelle proposition d'annulation de contrat et retour des dépôts",
|
||||
"BEING_CANCELLED": "Annulation en cours",
|
||||
"CANCELLED": "Contrat annulé",
|
||||
"IGNORED_CANCEL": "Vous avez ignoré la proposition d'annulation",
|
||||
"EXPIRED": "La proposition de contrat a expiré"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "En attente d'une réponse",
|
||||
"IGNORED": "Le vendeur a ignoré votre proposition de contrat",
|
||||
"ACCEPTED": "Le vendeur a accepté votre proposition de contrat",
|
||||
"WAIT": "En attente de confirmation des dépôts",
|
||||
"WAITING_SELLER": "En attente de livraison",
|
||||
"COMPLETED": "Contrat complété",
|
||||
"NOT_RECEIVED": "Échec de la livraison",
|
||||
"NULLIFIED": "Tous les dépôts ont été brûlés",
|
||||
"WAITING_CANCEL": "En attente d'annulation du contrat",
|
||||
"BEING_CANCELLED": "Annulation en cours",
|
||||
"CANCELLED": "Contrat annulé",
|
||||
"IGNORED_CANCEL": "Le vendeur a ignoré votre proposition d'annuler le contrat",
|
||||
"EXPIRED": "La proposition de contrat a expiré"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Vendeur",
|
||||
"AMOUNT": "Montant",
|
||||
"YOUR_DEPOSIT": "Votre dépôt",
|
||||
"SELLER_DEPOSIT": "Dépôt du vendeur",
|
||||
"BUYER_DEPOSIT": "Dépôt d'acheteur",
|
||||
"SAME_AMOUNT": "Montant identique",
|
||||
"COMMENT": "Commentaire",
|
||||
"DETAILS": "Détails supplémentaires",
|
||||
"SEND_BUTTON": "Envoyer",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description requise",
|
||||
"DESC_MAXIMUM": "Longueur maximale du champ atteinte",
|
||||
"SELLER_REQUIRED": "Adresse requise",
|
||||
"SELLER_NOT_VALID": "Adresse invalide",
|
||||
"ALIAS_NOT_VALID": "Alias invalide",
|
||||
"AMOUNT_REQUIRED": "Montant requis",
|
||||
"AMOUNT_ZERO": "Le montant ne peut pas être nul",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Dépôt requis",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Dépôt de vendeur requis",
|
||||
"SELLER_SAME": "Utiliser un compte séparé",
|
||||
"COMMENT_MAXIMUM": "Longueur maximale du champ atteinte"
|
||||
},
|
||||
"PROGRESS_NEW": "Nouvel achat",
|
||||
"PROGRESS_WAIT": "En attente d'une réponse",
|
||||
"PROGRESS_RECEIVE": "Réponse reçue",
|
||||
"PROGRESS_COMPLETE": "Complété",
|
||||
"FEE": "Frais",
|
||||
"PAYMENT": "ID de paiement",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "Nouvel achat",
|
||||
"WAITING_SELLER": "En attente d'une réponse",
|
||||
"WAITING_BUYER": "Proposition de contrat reçue",
|
||||
"WAITING_CONFIRMATION": "En attente de confirmation des dépôts",
|
||||
"WAITING_DELIVERY": "En attente de livraison",
|
||||
"COMPLETED": "Contrat complété",
|
||||
"IGNORED_BUYER": "Proposition de contrat ignorée",
|
||||
"IGNORED_SELLER": "Le vendeur a ignoré votre proposition de contrat",
|
||||
"PROPOSAL_CANCEL_SELLER": "Demande d'annulation envoyée",
|
||||
"PROPOSAL_CANCEL_BUYER": "Demande d'annulation reçue",
|
||||
"BEING_CANCELLED": "Annulation en cours",
|
||||
"IGNORED_CANCEL_SELLER": "Le vendeur a ignoré votre proposition d'annuler le contrat",
|
||||
"IGNORED_CANCEL_BUYER": "Proposition d'annulation du contrat ignorée",
|
||||
"CANCELLED": "Contrat annulé",
|
||||
"EXPIRED": "Proposition de contrat expirée",
|
||||
"NOT_RECEIVED": "Échec de la livraison",
|
||||
"NULLIFIED": "Tous les dépôts ont été brûlés"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contrat débuté",
|
||||
"IGNORED_ACCEPT": "Proposition de contrat ignorée",
|
||||
"BURN_PROPOSAL": "Dépositions brûlées",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contrat complété",
|
||||
"SEND_CANCEL_PROPOSAL": "Demande d'annulation envoyée",
|
||||
"IGNORED_CANCEL": "Proposition d'annulation du contrat ignorée",
|
||||
"DEALS_CANCELED_WAIT": "Annulation en cours",
|
||||
"WAITING_TIME": "Heure de réponse",
|
||||
"NEED_MONEY": "Fonds insuffisants",
|
||||
"BUTTON_MAKE_PLEDGE": "Accepter et effectuer un dépôt",
|
||||
"BUTTON_IGNORE": "Ignorer et cacher l'offre",
|
||||
"BUTTON_NULLIFY": "Terminer et brûler les dépôts",
|
||||
"BUTTON_RECEIVED": "Compléter et libérer les dépôts",
|
||||
"BUTTON_CANCEL_BUYER": "Annuler et retourner les dépôts",
|
||||
"BUTTON_NOT_CANCEL": "Ignorer la requête",
|
||||
"BUTTON_CANCEL_SELLER": "Confirmer et retourner les dépôts",
|
||||
"HOUR": "heure",
|
||||
"HOURS": "heures",
|
||||
"CANCEL": "Annuler",
|
||||
"NULLIFY_QUESTION": "Êtes-vous sûr de vouloir brûler les deux dépôts ?",
|
||||
"BUTTON_NULLIFY_SHORT": "Brûler",
|
||||
"WAITING_TIME_QUESTION": "Êtes-vous sûr de vouloir annuler le contrat ?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Adresse",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Tapez un message...",
|
||||
"SEND_BUTTON": "Envoyer"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Erreur",
|
||||
"SUCCESS": "Succès",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Envoyer",
|
||||
"BUTTON_CANCEL": "Annuler",
|
||||
"TITLE": "Confirmer la transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Envoyer",
|
||||
"FROM": "De",
|
||||
"TO": "À",
|
||||
"COMMENT": "Commentaire"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Mise",
|
||||
"TITLE_PENDING": "En attente",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Période de temps:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 semaine",
|
||||
"WEEK2": "2 semaines",
|
||||
"MONTH1": "1 mois",
|
||||
"MONTH3": "3 mois",
|
||||
"MONTH6": "6 mois",
|
||||
"YEAR": "1 an",
|
||||
"ALL": "Tout"
|
||||
},
|
||||
"TITLE_GROUP": "Groupe :",
|
||||
"GROUP": {
|
||||
"DAY": "jour",
|
||||
"WEEK": "semaine",
|
||||
"MONTH": "mois"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Liste de contacts",
|
||||
"IMPORT_EXPORT": "Importer ou exporter des contacts",
|
||||
"IMPORT": "Importer",
|
||||
"EXPORT": "Exporter",
|
||||
"ADD": "Ajouter/modifier un contact",
|
||||
"SEND": "Envoyer",
|
||||
"SEND_FROM": "Envoyer de",
|
||||
"SEND_TO": "À",
|
||||
"OPEN_ADD_WALLET": "Ouvrir/Ajouter un portefeuille",
|
||||
"COPY": "- Copier",
|
||||
"TABLE": {
|
||||
"NAME": "Nom",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Adresse",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "La liste de contacts est vide"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Nom",
|
||||
"ADDRESS": "Adresse",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Le nom est requis",
|
||||
"NAME_DUBLICATED": "Nom déjà utilisé",
|
||||
"ADDRESS_REQUIRED": "Adresse requise",
|
||||
"ADDRESS_NOT_VALID": "Addresse invalide",
|
||||
"SET_MASTER_PASSWORD": "Définir le mot de passe maître",
|
||||
"ADDRESS_DUBLICATED": "L'addresse est dupliquée",
|
||||
"MAX_LENGTH": "Longueur maximale des notes atteinte",
|
||||
"NAME_LENGTH": "Le nom doit contenir 4-25 caractères"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Envoyer",
|
||||
"EDIT": "Modifier",
|
||||
"DELETE": "Supprimer",
|
||||
"ADD": "Ajouter un contact",
|
||||
"ADD_EDIT": "Ajouter/Enregistrer",
|
||||
"GO_TO_WALLET": "Aller au portefeuille",
|
||||
"IMPORT_EXPORT": "Importer/exporter"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact ajouté",
|
||||
"SUCCESS_SAVE": "Contact modifié",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Erreur lors de la lecture du fichier !",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Pas assez de fonds",
|
||||
"NOT_ENOUGH_MONEY": "Fonds insuffisants dans le compte",
|
||||
"CORE_BUSY": "Erreur interne : le noyau est occupé",
|
||||
"DAEMON_BUSY": "Erreur interne : le daemon est occupé",
|
||||
"NO_MONEY_REMOVE_OFFER": "Il n'y a pas de frais pour supprimer une offre, mais pour protéger le réseau contre les transactions de spam, vous devez avoir au moins {{fee}} {{currency}} dans votre portefeuille",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Le nombre de mixage est trop grand pour l'état actuel de la blockchain. Il n'y a pas assez de sorties non utilisées pour mélanger avec",
|
||||
"TRANSACTION_IS_TO_BIG": "La transaction dépasse la limite réseau, envoyez le montant requis avec plusieurs transactions",
|
||||
"TRANSFER_ATTEMPT": "Il n'y a pas de connexion au réseau Zano",
|
||||
"ACCESS_DENIED": "Accès refusé",
|
||||
"TRANSACTION_ERROR": "Erreur. Transaction non complétée.",
|
||||
"BAD_ARG": "Argument invalide",
|
||||
"WALLET_WRONG_ID": "ID de portefeuille invalide",
|
||||
"WRONG_PASSWORD": "Mot de passe invalide",
|
||||
"FILE_RESTORED": "Le fichier de portefeuille a été corrompu. Nous avons récupéré les clés et le portefeuille de la blockchain",
|
||||
"FILE_NOT_FOUND": "Fichier introuvable",
|
||||
"FILE_EXIST": "Un fichier avec ce nom existe déjà. Entrez un autre nom pour enregistrer le fichier sous",
|
||||
"FILE_NOT_SAVED": "Vous ne pouvez pas enregistrer un fichier de portefeuille dans ce dossier. Veuillez choisir un autre dossier.",
|
||||
"TX_TYPE_NORMAL": "Erreur. paiement du portefeuille",
|
||||
"TX_TYPE_NORMAL_TO": "à",
|
||||
"TX_TYPE_NORMAL_END": "n'a pas été complété.",
|
||||
"TX_TYPE_NEW_ALIAS": "Erreur. Impossible d'enregistrer l'alias dans la blockchain",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Veuillez réessayer.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Erreur. Impossible de changer le commentaire de l'alias actuel",
|
||||
"TX_TYPE_COIN_BASE": "Erreur. Le paiement n'a pas été complété."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copier",
|
||||
"PASTE": "coller",
|
||||
"SELECT": "tout sélectionner"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quitter",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Paiement entrant (non confirmé)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Paiement reçu",
|
||||
"MINED": "Miné",
|
||||
"LOCKED": "Bloqué",
|
||||
"IS_MINIMIZE": "L'application Zano est minimisée dans la barre d'état",
|
||||
"RESTORE": "Vous pouvez le récupérer en cliquant ou en utilisant le menu contextuel",
|
||||
"TRAY_MENU_SHOW": "Redimensionner",
|
||||
"TRAY_MENU_MINIMIZE": "Réduire"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
587
src/gui/qt-daemon/html/assets/i18n/he.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/hu.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/it.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Imposta password principale",
|
||||
"SETUP_CONFIRM_PASS": "Conferma la password",
|
||||
"MASTER_PASS": "Password principale",
|
||||
"BUTTON_NEXT": "Prossimo",
|
||||
"BUTTON_SKIP": "Salta",
|
||||
"BUTTON_RESET": "Azzera",
|
||||
"INCORRECT_PASSWORD": "Password non valida",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "La password è necessaria",
|
||||
"CONFIRM_REQUIRED": "La conferma è necessaria",
|
||||
"MISMATCH": "Non corrisponde"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Torna indietro"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Aggiungi portafoglio",
|
||||
"CREATE_WALLET": "Crea un nuovo portafoglio",
|
||||
"SAVE_PHRASE": "Salva la tua frase segreta",
|
||||
"OPEN_WALLET": "Apri portafoglio esistente",
|
||||
"RESTORE_WALLET": "Ripristina da backup",
|
||||
"WALLET_DETAILS": "Dettagli portafoglio",
|
||||
"ASSIGN_ALIAS": "Assegna alias",
|
||||
"EDIT_ALIAS": "Modifica alias",
|
||||
"TRANSFER_ALIAS": "Trasferisci alias",
|
||||
"CONTRACTS": "Contratti",
|
||||
"NEW_PURCHASE": "Nuovo acquisto",
|
||||
"OLD_PURCHASE": "Acquisto"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Portafogli",
|
||||
"ADD_NEW": "+ Aggiungi",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "Nuove offerte/messaggi",
|
||||
"SYNCING": "Sincronizzazione portafoglio"
|
||||
},
|
||||
"CONTACTS": "Contatti",
|
||||
"SETTINGS": "Impostazioni",
|
||||
"LOG_OUT": "Esci",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "Errore di sistema",
|
||||
"COMPLETE": "Completata",
|
||||
"SYNCING": "Sincronizzazione blockchain",
|
||||
"LOADING": "Caricamento dati blockchain"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Aggiornamento disponibile",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Ottieni un nuovo aggiornamento.</span><br><span>L'aggiornamento è consigliato!</span>",
|
||||
"IMPORTANT": "Aggiornamento disponibile",
|
||||
"IMPORTANT_HINT": "Aggiornamento importante!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Ottieni un nuovo aggiornamento.</span><br><span>Aggiornamento importante!</span>",
|
||||
"CRITICAL": "Aggiornamento disponibile",
|
||||
"CRITICAL_HINT": "Aggiornamento critico!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Aggiornamento critico disponibile.</span><i class=\"icon\"></i><span>Aggiornamento fortemente consigliato!</span>",
|
||||
"TIME": "L'orario di sistema differisce dalla rete",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">L'orario di sistema è sbagliato!</span><br><span>Controlla e sistema l'orario di sistema.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Crea o apri il portafoglio per iniziare a usare Zano",
|
||||
"BUTTON_NEW_WALLET": "Crea un nuovo portafoglio",
|
||||
"BUTTON_OPEN_WALLET": "Apri portafoglio esistente",
|
||||
"BUTTON_RESTORE_BACKUP": "Ripristina da backup",
|
||||
"HELP": "Come creare il portafoglio?",
|
||||
"CHOOSE_PATH": "Scegli un percorso"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Nome del portafoglio",
|
||||
"PASS": "Imposta password portafoglio",
|
||||
"CONFIRM": "Conferma password portafoglio",
|
||||
"BUTTON_SELECT": "Seleziona posizione portafoglio",
|
||||
"BUTTON_CREATE": "Crea portafoglio",
|
||||
"TITLE_SAVE": "Salva il file del portafoglio.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "I file del portafoglio esistenti non possono essere sostituiti o sovrascritti",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "I file del portafoglio non possono essere salvati nella partizione di sistema",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Il nome è richiesto",
|
||||
"NAME_DUPLICATE": "Il nome è duplicato",
|
||||
"MAX_LENGTH": "Lunghezza massima del nome raggiunta",
|
||||
"CONFIRM_NOT_MATCH": "La password di conferma non corrisponde"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Nome del portafoglio",
|
||||
"PASS": "Password portafoglio",
|
||||
"BUTTON": "Apri portafoglio",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "Un portafoglio con questo indirizzo è già aperto",
|
||||
"FILE_NOT_FOUND1": "File del portafoglio non trovato",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> Potrebbe essere stato rinominato o spostato. <br/> Per aprirlo, usa il pulsante \"Apri portafoglio\".",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Il nome è richiesto",
|
||||
"NAME_DUPLICATE": "Il nome è un duplicato",
|
||||
"MAX_LENGTH": "Lunghezza massima del nome raggiunta"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Imposta password portafoglio",
|
||||
"LABEL": "Password per questo portafoglio",
|
||||
"OPEN": "Apri portafoglio",
|
||||
"SKIP": "Salta",
|
||||
"NOT_FOUND": "Non trovato"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Nome del portafoglio",
|
||||
"LABEL_PHRASE_KEY": "Frase segreta / chiave privata",
|
||||
"PASS": "Password portafoglio",
|
||||
"CONFIRM": "Conferma password portafoglio",
|
||||
"BUTTON_SELECT": "Seleziona posizione portafoglio",
|
||||
"BUTTON_CREATE": "Crea portafoglio",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "File del portafoglio non valido o password non corrispondente",
|
||||
"CHOOSE_PATH": "Scegli un percorso",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Il nome è richiesto",
|
||||
"NAME_DUPLICATE": "Il nome è un duplicato",
|
||||
"MAX_LENGTH": "Lunghezza massima del nome raggiunta",
|
||||
"CONFIRM_NOT_MATCH": "La password di conferma non corrisponde",
|
||||
"KEY_REQUIRED": "Chiave richiesta",
|
||||
"KEY_NOT_VALID": "Chiave non valida"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Assicurati di mantenere la tua frase segreta in un posto sicuro. Se dimentichi la tua frase segreta non sarai in grado di recuperare il tuo portafoglio.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Crea portafoglio",
|
||||
"BUTTON_COPY": "Copia"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Aggiungi portafoglio",
|
||||
"SELECT_LOCATION": "Seleziona posizione portafoglio",
|
||||
"CREATE_WALLET": "Crea un nuovo portafoglio",
|
||||
"RESTORE_WALLET": "Ripristina da backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Impostazioni",
|
||||
"DARK_THEME": "Tema scuro",
|
||||
"WHITE_THEME": "Tema bianco",
|
||||
"GRAY_THEME": "Tema grigio",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Blocca app dopo:",
|
||||
"TIME1": "5 minuti",
|
||||
"TIME2": "15 minuti",
|
||||
"TIME3": "1 ora",
|
||||
"TIME4": "Mai"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Aggiorna password principale",
|
||||
"OLD": "Vecchia password",
|
||||
"NEW": "Nuova password",
|
||||
"CONFIRM": "Conferma nuova password",
|
||||
"BUTTON": "Salva"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "La password è necessaria",
|
||||
"PASS_NOT_MATCH": "La vecchia password non corrisponde",
|
||||
"CONFIRM_NOT_MATCH": "La password di conferma non corrisponde"
|
||||
},
|
||||
"LAST_BUILD": "Build attuale: {{value}}",
|
||||
"APP_LOG_TITLE": "Livello di log:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Registra un alias",
|
||||
"DETAILS": "Dettagli",
|
||||
"LOCK": "Blocca",
|
||||
"AVAILABLE_BALANCE": "Disponibile <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Bloccato <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "Che cosa significa?",
|
||||
"TABS": {
|
||||
"SEND": "Invia",
|
||||
"RECEIVE": "Ricevi",
|
||||
"HISTORY": "Storico",
|
||||
"CONTRACTS": "Contratti",
|
||||
"MESSAGES": "Messaggi",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Nome portafoglio",
|
||||
"LABEL_FILE_LOCATION": "Posizione file portafoglio",
|
||||
"LABEL_SEED_PHRASE": "Frase segreta",
|
||||
"SEED_PHRASE_HINT": "Clicca per rivelare la frase segreta",
|
||||
"BUTTON_SAVE": "Salva",
|
||||
"BUTTON_REMOVE": "Chiudi portafoglio",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Il nome è richiesto",
|
||||
"NAME_DUPLICATE": "Il nome è un duplicato",
|
||||
"MAX_LENGTH": "Lunghezza massima del nome raggiunta"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Inserisci alias",
|
||||
"TOOLTIP": "Un alias è un modulo abbreviato o il tuo account. Un alias può solo includere lettere latine, numeri e caratteri “.” e “-”. Deve iniziare con “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Commento",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "Il commento sarà visibile a chiunque desideri effettuare un pagamento al tuo alias. Puoi fornire dettagli sul tuo business, contatti o includere qualsiasi testo. I commenti possono essere modificati più tardi."
|
||||
},
|
||||
"COST": "Quota alias {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assegna",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Il nome è richiesto",
|
||||
"NAME_WRONG": "L'Alias ha un nome errato",
|
||||
"NAME_LENGTH": "L'alias deve essere lungo 6-25 caratteri",
|
||||
"NAME_EXISTS": "Il nome dell'alias esiste già",
|
||||
"NO_MONEY": "Non hai fondi sufficienti per assegnare questo alias",
|
||||
"MAX_LENGTH": "Lunghezza massima del nome raggiunta"
|
||||
},
|
||||
"ONE_ALIAS": "Puoi creare solo un alias per portafoglio",
|
||||
"REQUEST_ADD_REG": "L'alias sarà assegnato entro 10 minuti"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Inserisci alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Commento",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "Non hai fondi sufficienti per modificare il commento a questo alias",
|
||||
"MAX_LENGTH": "Lunghezza massima del commento raggiunta"
|
||||
},
|
||||
"COST": "Tassa {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Modifica"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Inserisci alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Commento",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Trasferisci a",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "Non esiste alcun portafoglio con questo account",
|
||||
"ALIAS_EXISTS": "Questo account ha già un alias",
|
||||
"NO_MONEY": "Non hai fondi sufficienti per trasferire questo alias"
|
||||
},
|
||||
"COST": "Trasferimento commissione {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Trasferisci",
|
||||
"BUTTON_CANCEL": "Cancella",
|
||||
"REQUEST_SEND_REG": "L'alias verrà trasferito entro 10 minuti"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Indirizzo",
|
||||
"AMOUNT": "Importo",
|
||||
"COMMENT": "Commento",
|
||||
"DETAILS": "Dettagli aggiuntivi",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Commissione",
|
||||
"HIDE": "Nascondi l'indirizzo del tuo portafoglio dal destinatario",
|
||||
"BUTTON": "Invia",
|
||||
"SUCCESS_SENT": "Transazione inviata",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Indirizzo richiesto",
|
||||
"ADDRESS_NOT_VALID": "Indirizzo non valido",
|
||||
"ALIAS_NOT_VALID": "Alias non valido",
|
||||
"AMOUNT_REQUIRED": "Importo richiesto",
|
||||
"AMOUNT_ZERO": "Importo è zero",
|
||||
"FEE_REQUIRED": "La commissione è richiesta",
|
||||
"FEE_MINIMUM": "Costo minimo: {{fee}}",
|
||||
"MAX_LENGTH": "Lunghezza massima del commento raggiunta"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Stato",
|
||||
"STATUS_TOOLTIP": "Conferme {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Bloccato fino a {{date}}",
|
||||
"SEND": "Inviato",
|
||||
"RECEIVED": "Ricevuto",
|
||||
"DATE": "Data",
|
||||
"AMOUNT": "Importo",
|
||||
"FEE": "Commissione",
|
||||
"ADDRESS": "Indirizzo",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "ID pagamento",
|
||||
"ID": "ID transazione",
|
||||
"SIZE": "Dimensione transazione",
|
||||
"SIZE_VALUE": "{{value}} byte",
|
||||
"HEIGHT": "Altezza",
|
||||
"CONFIRMATION": "Conferme",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Commenti"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "nascosto",
|
||||
"UNDEFINED": "Non definito",
|
||||
"COMPLETE_BUYER": "Contratto completato",
|
||||
"COMPLETE_SELLER": "Contratto completato",
|
||||
"CREATE_ALIAS": "Tassa per l'assegnazione dell'alias",
|
||||
"UPDATE_ALIAS": "Tassa per modificare alias",
|
||||
"POW_REWARD": "Ricompensa POW",
|
||||
"POS_REWARD": "Ricompensa POS",
|
||||
"CREATE_CONTRACT": "Proposta contratto",
|
||||
"PLEDGE_CONTRACT": "Deposito contratto",
|
||||
"NULLIFY_CONTRACT": "Burn deposit",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Richiesta di cancellazione",
|
||||
"CANCEL_CONTRACT": "Annulla e restituisce depositi"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "Nessun contratto attivo",
|
||||
"CONTRACTS": "Contratti",
|
||||
"PURCHASE": "Acquisti",
|
||||
"SELL": "Vendite",
|
||||
"DATE": "Data",
|
||||
"AMOUNT": "Importo",
|
||||
"STATUS": "Stato",
|
||||
"COMMENTS": "Commenti",
|
||||
"PURCHASE_BUTTON": "Nuovo acquisto",
|
||||
"LISTING_BUTTON": "Crea elenco",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Meno di un'ora per rispondere",
|
||||
"REMAINING_ONE": "{{time}} ora rimasta",
|
||||
"REMAINING_MANY": "{{time}} ore rimaste",
|
||||
"REMAINING_MANY_ALT": "{{time}} ore rimaste",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} ora rimasta",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} ore rimaste",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} ore rimaste",
|
||||
"REMAINING_ONE_WAITING": "Attendi {{time}} ora",
|
||||
"REMAINING_MANY_WAITING": "Attendi {{time}} ore",
|
||||
"REMAINING_MANY_ALT_WAITING": "Attendi {{time}} ore"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "Nuova proposta di contratto",
|
||||
"IGNORED": "Hai ignorato la proposta di contratto",
|
||||
"ACCEPTED": "Contratto iniziato",
|
||||
"WAIT": "In attesa di conferma del contratto",
|
||||
"WAITING_BUYER": "In attesa di consegna",
|
||||
"COMPLETED": "Contratto completato",
|
||||
"NOT_RECEIVED": "Consegna fallita",
|
||||
"NULLIFIED": "Tutti i depositi bruciati",
|
||||
"PROPOSAL_CANCEL": "Nuova proposta di cancellare il contratto e restituire i depositi",
|
||||
"BEING_CANCELLED": "Cancellazione in corso",
|
||||
"CANCELLED": "Contratto cancellato",
|
||||
"IGNORED_CANCEL": "Hai ignorato la proposta di cancellazione",
|
||||
"EXPIRED": "La proposta del contratto è scaduta"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "In attesa di risposta",
|
||||
"IGNORED": "Il venditore ha ignorato la tua proposta di contratto",
|
||||
"ACCEPTED": "Il venditore ha accettato la tua proposta di contratto",
|
||||
"WAIT": "In attesa della conferma dei depositi",
|
||||
"WAITING_SELLER": "In attesa di consegna",
|
||||
"COMPLETED": "Contratto completato",
|
||||
"NOT_RECEIVED": "Consegna fallita",
|
||||
"NULLIFIED": "Tutti i depositi bruciati",
|
||||
"WAITING_CANCEL": "In attesa della cancellazione del contratto",
|
||||
"BEING_CANCELLED": "Cancellazione in corso",
|
||||
"CANCELLED": "Contratto cancellato",
|
||||
"IGNORED_CANCEL": "Il venditore ha ignorato la tua proposta di annullare il contratto",
|
||||
"EXPIRED": "La proposta di contratto è scaduta"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Descrizione",
|
||||
"SELLER": "Venditore",
|
||||
"AMOUNT": "Importo",
|
||||
"YOUR_DEPOSIT": "Il tuo deposito",
|
||||
"SELLER_DEPOSIT": "Deposito venditore",
|
||||
"BUYER_DEPOSIT": "Deposito acquirente",
|
||||
"SAME_AMOUNT": "Stesso importo",
|
||||
"COMMENT": "Commento",
|
||||
"DETAILS": "Dettagli aggiuntivi",
|
||||
"SEND_BUTTON": "Invia",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Descrizione richiesta",
|
||||
"DESC_MAXIMUM": "Lunghezza massima del campo raggiunta",
|
||||
"SELLER_REQUIRED": "Indirizzo richiesto",
|
||||
"SELLER_NOT_VALID": "Indirizzo non valido",
|
||||
"ALIAS_NOT_VALID": "Alias non valido",
|
||||
"AMOUNT_REQUIRED": "Importo richiesto",
|
||||
"AMOUNT_ZERO": "L'importo non può essere zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposito richiesto",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Deposito venditore richiesto",
|
||||
"SELLER_SAME": "Usa account separato",
|
||||
"COMMENT_MAXIMUM": "Lunghezza massima del campo raggiunta"
|
||||
},
|
||||
"PROGRESS_NEW": "Nuovo acquisto",
|
||||
"PROGRESS_WAIT": "In attesa di risposta",
|
||||
"PROGRESS_RECEIVE": "Risposta ricevuta",
|
||||
"PROGRESS_COMPLETE": "Completato",
|
||||
"FEE": "Commissione",
|
||||
"PAYMENT": "ID pagamento",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "Nuovo acquisto",
|
||||
"WAITING_SELLER": "In attesa di risposta",
|
||||
"WAITING_BUYER": "Proposta contratto ricevuta",
|
||||
"WAITING_CONFIRMATION": "In attesa della conferma dei depositi",
|
||||
"WAITING_DELIVERY": "In attesa di consegna",
|
||||
"COMPLETED": "Contratto completato",
|
||||
"IGNORED_BUYER": "Proposta del contratto ignorata",
|
||||
"IGNORED_SELLER": "Il venditore ha ignorato la tua proposta di contratto",
|
||||
"PROPOSAL_CANCEL_SELLER": "Richiesta di cancellazione inviata",
|
||||
"PROPOSAL_CANCEL_BUYER": "Richiesta di cancellazione ricevuta",
|
||||
"BEING_CANCELLED": "Cancellazione in corso",
|
||||
"IGNORED_CANCEL_SELLER": "Il venditore ha ignorato la tua proposta di cancellare il contratto",
|
||||
"IGNORED_CANCEL_BUYER": "Proposta di cancellazione del contratto ignorata",
|
||||
"CANCELLED": "Contratto cancellato",
|
||||
"EXPIRED": "Proposta contratto scaduta",
|
||||
"NOT_RECEIVED": "Consegna fallita",
|
||||
"NULLIFIED": "Tutti i depositi bruciati"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contratto iniziato",
|
||||
"IGNORED_ACCEPT": "Proposta del contratto ignorata",
|
||||
"BURN_PROPOSAL": "Depositi bruciati",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contratto completato",
|
||||
"SEND_CANCEL_PROPOSAL": "Richiesta di cancellazione inviata",
|
||||
"IGNORED_CANCEL": "Proposta di cancellazione del contratto ignorata",
|
||||
"DEALS_CANCELED_WAIT": "Cancellazione in corso",
|
||||
"WAITING_TIME": "Tempo di risposta",
|
||||
"NEED_MONEY": "Fondi insufficienti",
|
||||
"BUTTON_MAKE_PLEDGE": "Accetta e effettua il deposito",
|
||||
"BUTTON_IGNORE": "Ignora e nascondi l'offerta",
|
||||
"BUTTON_NULLIFY": "Termina e brucia i depositi",
|
||||
"BUTTON_RECEIVED": "Completa e rilascia i depositi",
|
||||
"BUTTON_CANCEL_BUYER": "Cancella e restituisce i depositi",
|
||||
"BUTTON_NOT_CANCEL": "Ignora richiesta",
|
||||
"BUTTON_CANCEL_SELLER": "Conferma e restituisce depositi",
|
||||
"HOUR": "ora",
|
||||
"HOURS": "ore",
|
||||
"CANCEL": "Cancella",
|
||||
"NULLIFY_QUESTION": "Sei sicuro di voler bruciare entrambi i depositi?",
|
||||
"BUTTON_NULLIFY_SHORT": "Bruciare",
|
||||
"WAITING_TIME_QUESTION": "Sei sicuro di voler cancellare il contratto?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Indirizzo",
|
||||
"MESSAGE": "Messaggio",
|
||||
"SEND_PLACEHOLDER": "Digita un messaggio...",
|
||||
"SEND_BUTTON": "Invia"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Errore",
|
||||
"SUCCESS": "Successo",
|
||||
"INFO": "Informazioni",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Invia",
|
||||
"BUTTON_CANCEL": "Cancella",
|
||||
"TITLE": "Conferma la transazione",
|
||||
"MESSAGE": {
|
||||
"SEND": "Invia",
|
||||
"FROM": "Da",
|
||||
"TO": "A",
|
||||
"COMMENT": "Commento"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "In sospeso",
|
||||
"TITLE_TOTAL": "Totale",
|
||||
"TITLE_PERIOD": "Periodo di tempo:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 settimana",
|
||||
"WEEK2": "2 settimane",
|
||||
"MONTH1": "1 mese",
|
||||
"MONTH3": "3 mesi",
|
||||
"MONTH6": "6 mesi",
|
||||
"YEAR": "1 anno",
|
||||
"ALL": "Tutti"
|
||||
},
|
||||
"TITLE_GROUP": "Gruppo:",
|
||||
"GROUP": {
|
||||
"DAY": "giorno",
|
||||
"WEEK": "settimana",
|
||||
"MONTH": "mese"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Lista contatti",
|
||||
"IMPORT_EXPORT": "Importa o esporta contatti",
|
||||
"IMPORT": "Importa",
|
||||
"EXPORT": "Esporta",
|
||||
"ADD": "Aggiungi/modifica contatto",
|
||||
"SEND": "Invia",
|
||||
"SEND_FROM": "Invia da",
|
||||
"SEND_TO": "A",
|
||||
"OPEN_ADD_WALLET": "Apri/Aggiungi portafoglio",
|
||||
"COPY": "- Copia",
|
||||
"TABLE": {
|
||||
"NAME": "Nome",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Indirizzo",
|
||||
"NOTES": "Note",
|
||||
"EMPTY": "La lista dei contatti è vuota"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Nome",
|
||||
"ADDRESS": "Indirizzo",
|
||||
"NOTES": "Note"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Il nome è richiesto",
|
||||
"NAME_DUBLICATED": "Il nome è un duplicato",
|
||||
"ADDRESS_REQUIRED": "Indirizzo è richiesto",
|
||||
"ADDRESS_NOT_VALID": "Indirizzo non valido",
|
||||
"SET_MASTER_PASSWORD": "Imposta password principale",
|
||||
"ADDRESS_DUBLICATED": "Indirizzo è un duplicato",
|
||||
"MAX_LENGTH": "Lunghezza massima delle note raggiunta",
|
||||
"NAME_LENGTH": "Il nome deve essere lungo da 4 a 25 caratteri"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Invia",
|
||||
"EDIT": "Modifica",
|
||||
"DELETE": "Elimina",
|
||||
"ADD": "Aggiungi contatto",
|
||||
"ADD_EDIT": "Aggiungi/Salva",
|
||||
"GO_TO_WALLET": "Vai al portafoglio",
|
||||
"IMPORT_EXPORT": "Importa/esporta"
|
||||
},
|
||||
"SUCCESS_SENT": "Contatto aggiunto",
|
||||
"SUCCESS_SAVE": "Contatto modificato",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Si è verificato un errore durante la lettura del file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Non abbastanza denaro",
|
||||
"NOT_ENOUGH_MONEY": "Fondi insufficienti nell'account",
|
||||
"CORE_BUSY": "Errore interno: il core è occupato",
|
||||
"DAEMON_BUSY": "Errore interno: daemon è occupato",
|
||||
"NO_MONEY_REMOVE_OFFER": "Non c'è alcun costo per eliminare un'offerta ma, per proteggere la rete dalle molte transazioni, devi avere almeno {{fee}} {{currency}} nel tuo portafoglio",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Il numero di Mix-in è troppo grande per lo stato corrente della blockchain. Non ci sono abbastanza output non spesi per mescolare con",
|
||||
"TRANSACTION_IS_TO_BIG": "La transazione supera il limite di rete, invia l'importo richiesto con transazioni multiple",
|
||||
"TRANSFER_ATTEMPT": "Non c'è connessione alla rete Zano",
|
||||
"ACCESS_DENIED": "Accesso negato",
|
||||
"TRANSACTION_ERROR": "Errore. Transazione non completata.",
|
||||
"BAD_ARG": "Argomento non valido",
|
||||
"WALLET_WRONG_ID": "ID portafoglio non valido",
|
||||
"WRONG_PASSWORD": "Password non valida",
|
||||
"FILE_RESTORED": "Il file del portafoglio è stato danneggiato. Abbiamo recuperato le chiavi e il portafoglio dalla blockchain",
|
||||
"FILE_NOT_FOUND": "File non trovato",
|
||||
"FILE_EXIST": "Esiste già un file con questo nome. Inserisci un altro nome per salvare il file",
|
||||
"FILE_NOT_SAVED": "Non puoi salvare un file di portafoglio in questa cartella. Scegli un'altra cartella.",
|
||||
"TX_TYPE_NORMAL": "Errore. Il pagamento dal portafoglio",
|
||||
"TX_TYPE_NORMAL_TO": "a",
|
||||
"TX_TYPE_NORMAL_END": "non è stato completato.",
|
||||
"TX_TYPE_NEW_ALIAS": "Errore. Impossibile registrare l'alias in sicurezza",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Per favore riprova.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Errore. Impossibile cambiare il commento all'alias in sicurezza",
|
||||
"TX_TYPE_COIN_BASE": "Errore. Il pagamento non è stato completato."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copia",
|
||||
"PASTE": "incolla",
|
||||
"SELECT": "seleziona tutto"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Esci",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Pagamento in arrivo (non confermato)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Pagamento ricevuto",
|
||||
"MINED": "Minato",
|
||||
"LOCKED": "Bloccato",
|
||||
"IS_MINIMIZE": "L'applicazione Zano è minimizzata nella barra di sistema",
|
||||
"RESTORE": "Puoi recuperarlo cliccando o utilizzando il menu contestuale",
|
||||
"TRAY_MENU_SHOW": "Ridimensiona",
|
||||
"TRAY_MENU_MINIMIZE": "Minimizza"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/ja.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/ko.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/nl.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/no.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/pl.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/pt.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/ro.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/ru.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/sr.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/sv.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/tr.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/uk.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/vi.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
587
src/gui/qt-daemon/html/assets/i18n/zh.json
Normal file
|
|
@ -0,0 +1,587 @@
|
|||
{
|
||||
"LOGIN": {
|
||||
"SETUP_MASTER_PASS": "Setup master password",
|
||||
"SETUP_CONFIRM_PASS": "Confirm the password",
|
||||
"MASTER_PASS": "Master password",
|
||||
"BUTTON_NEXT": "Next",
|
||||
"BUTTON_SKIP": "Skip",
|
||||
"BUTTON_RESET": "Reset",
|
||||
"INCORRECT_PASSWORD": "Invalid password",
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"CONFIRM_REQUIRED": "Confirmation is required",
|
||||
"MISMATCH": "Mismatch"
|
||||
}
|
||||
},
|
||||
"COMMON": {
|
||||
"BACK": "Go back"
|
||||
},
|
||||
"BREADCRUMBS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"SAVE_PHRASE": "Save your seed phrase",
|
||||
"OPEN_WALLET": "Open existing wallet",
|
||||
"RESTORE_WALLET": "Restore from backup",
|
||||
"WALLET_DETAILS": "Wallet details",
|
||||
"ASSIGN_ALIAS": "Assign alias",
|
||||
"EDIT_ALIAS": "Edit alias",
|
||||
"TRANSFER_ALIAS": "Transfer alias",
|
||||
"CONTRACTS": "Contracts",
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"OLD_PURCHASE": "Purchase"
|
||||
},
|
||||
"SIDEBAR": {
|
||||
"TITLE": "Wallets",
|
||||
"ADD_NEW": "+ Add",
|
||||
"ACCOUNT": {
|
||||
"STAKING": "Staking",
|
||||
"MESSAGES": "New offers/Messages",
|
||||
"SYNCING": "Syncing wallet"
|
||||
},
|
||||
"CONTACTS": "Contacts",
|
||||
"SETTINGS": "Settings",
|
||||
"LOG_OUT": "Log out",
|
||||
"SYNCHRONIZATION": {
|
||||
"OFFLINE": "Offline",
|
||||
"ONLINE": "Online",
|
||||
"ERROR": "System error",
|
||||
"COMPLETE": "Completion",
|
||||
"SYNCING": "Syncing blockchain",
|
||||
"LOADING": "Loading blockchain data"
|
||||
},
|
||||
"UPDATE": {
|
||||
"STANDARD": "Update available",
|
||||
"STANDARD_TOOLTIP": "<span class=\"standard-update\">Get new update.</span><br><span>Update is recommended!</span>",
|
||||
"IMPORTANT": "Update available",
|
||||
"IMPORTANT_HINT": "Important update!",
|
||||
"IMPORTANT_TOOLTIP": "<span class=\"important-update\">Get new update.</span><br><span>Important update!</span>",
|
||||
"CRITICAL": "Update available",
|
||||
"CRITICAL_HINT": "Critical update!",
|
||||
"CRITICAL_TOOLTIP": "<span class=\"critical-update\">Critical update available.</span><i class=\"icon\"></i><span>Update strongly recommended!</span>",
|
||||
"TIME": "System time differs from network",
|
||||
"TIME_TOOLTIP": "<span class=\"wrong-time\">Wrong system time!</span><br><span>Check and repair your system time.</span>"
|
||||
}
|
||||
},
|
||||
"MAIN": {
|
||||
"TITLE": "Create or open the wallet to start using Zano",
|
||||
"BUTTON_NEW_WALLET": "Create new wallet",
|
||||
"BUTTON_OPEN_WALLET": "Open existing wallet",
|
||||
"BUTTON_RESTORE_BACKUP": "Restore from backup",
|
||||
"HELP": "How to create wallet?",
|
||||
"CHOOSE_PATH": "Please choose a path"
|
||||
},
|
||||
"CREATE_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Set wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"TITLE_SAVE": "Save the wallet file.",
|
||||
"ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten",
|
||||
"ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
}
|
||||
},
|
||||
"OPEN_WALLET": {
|
||||
"NAME": "Wallet name",
|
||||
"PASS": "Wallet password",
|
||||
"BUTTON": "Open wallet",
|
||||
"WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open",
|
||||
"FILE_NOT_FOUND1": "Wallet file not found",
|
||||
"FILE_NOT_FOUND2": "<br/><br/> It might have been renamed or moved. <br/> To open it, use the \"Open wallet\" button.",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
},
|
||||
"MODAL": {
|
||||
"TITLE": "Type wallet password",
|
||||
"LABEL": "Password to this wallet",
|
||||
"OPEN": "Open wallet",
|
||||
"SKIP": "Skip",
|
||||
"NOT_FOUND": "Not found"
|
||||
}
|
||||
},
|
||||
"RESTORE_WALLET": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_PHRASE_KEY": "Seed phrase / private key",
|
||||
"PASS": "Wallet password",
|
||||
"CONFIRM": "Confirm wallet password",
|
||||
"BUTTON_SELECT": "Select wallet location",
|
||||
"BUTTON_CREATE": "Create wallet",
|
||||
"NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match",
|
||||
"CHOOSE_PATH": "Please choose a path",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match",
|
||||
"KEY_REQUIRED": "Key is required",
|
||||
"KEY_NOT_VALID": "Key not valid"
|
||||
}
|
||||
},
|
||||
"SEED_PHRASE": {
|
||||
"TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.",
|
||||
"BUTTON_CREATE_ACCOUNT": "Create wallet",
|
||||
"BUTTON_COPY": "Copy"
|
||||
},
|
||||
"PROGRESS": {
|
||||
"ADD_WALLET": "Add wallet",
|
||||
"SELECT_LOCATION": "Select wallet location",
|
||||
"CREATE_WALLET": "Create new wallet",
|
||||
"RESTORE_WALLET": "Restore from backup"
|
||||
},
|
||||
"SETTINGS": {
|
||||
"TITLE": "Settings",
|
||||
"DARK_THEME": "Dark theme",
|
||||
"WHITE_THEME": "White theme",
|
||||
"GRAY_THEME": "Grey theme",
|
||||
"APP_LOCK": {
|
||||
"TITLE": "Lock app after:",
|
||||
"TIME1": "5 min",
|
||||
"TIME2": "15 min",
|
||||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"MASTER_PASSWORD": {
|
||||
"TITLE": "Update master password",
|
||||
"OLD": "Old password",
|
||||
"NEW": "New password",
|
||||
"CONFIRM": "New password confirmation",
|
||||
"BUTTON": "Save"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"PASS_REQUIRED": "Password is required",
|
||||
"PASS_NOT_MATCH": "Old password not match",
|
||||
"CONFIRM_NOT_MATCH": "Confirm password not match"
|
||||
},
|
||||
"LAST_BUILD": "Current build: {{value}}",
|
||||
"APP_LOG_TITLE": "Log level:"
|
||||
},
|
||||
"WALLET": {
|
||||
"REGISTER_ALIAS": "Register an alias",
|
||||
"DETAILS": "Details",
|
||||
"LOCK": "Lock",
|
||||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
"HISTORY": "History",
|
||||
"CONTRACTS": "Contracts",
|
||||
"MESSAGES": "Messages",
|
||||
"STAKING": "Staking"
|
||||
}
|
||||
},
|
||||
"WALLET_DETAILS": {
|
||||
"LABEL_NAME": "Wallet name",
|
||||
"LABEL_FILE_LOCATION": "Wallet file location",
|
||||
"LABEL_SEED_PHRASE": "Seed phrase",
|
||||
"SEED_PHRASE_HINT": "Click to reveal the seed phrase",
|
||||
"BUTTON_SAVE": "Save",
|
||||
"BUTTON_REMOVE": "Close wallet",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUPLICATE": "Name is duplicate",
|
||||
"MAX_LENGTH": "Maximum name length reached"
|
||||
}
|
||||
},
|
||||
"ASSIGN_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias",
|
||||
"TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”."
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": "",
|
||||
"TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later."
|
||||
},
|
||||
"COST": "Alias fee {{value}} {{currency}}",
|
||||
"BUTTON_ASSIGN": "Assign",
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_WRONG": "Alias has wrong name",
|
||||
"NAME_LENGTH": "The alias must be 6-25 characters long",
|
||||
"NAME_EXISTS": "Alias name already exists",
|
||||
"NO_MONEY": "You do not have enough funds to assign this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"ONE_ALIAS": "You can create only one alias per wallet",
|
||||
"REQUEST_ADD_REG": "The alias will be assigned within 10 minutes"
|
||||
},
|
||||
"EDIT_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NO_MONEY": "You do not have enough funds to change the comment to this alias",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
},
|
||||
"COST": "Fee {{value}} {{currency}}",
|
||||
"BUTTON_EDIT": "Edit"
|
||||
},
|
||||
"TRANSFER_ALIAS": {
|
||||
"NAME": {
|
||||
"LABEL": "Alias",
|
||||
"PLACEHOLDER": "@ Enter alias"
|
||||
},
|
||||
"COMMENT": {
|
||||
"LABEL": "Comment",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"ADDRESS": {
|
||||
"LABEL": "Transfer to",
|
||||
"PLACEHOLDER": ""
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"WRONG_ADDRESS": "No wallet with this account exists",
|
||||
"ALIAS_EXISTS": "This account already has an alias",
|
||||
"NO_MONEY": "You do not have enough funds to transfer this alias"
|
||||
},
|
||||
"COST": "Transfer fee {{value}} {{currency}}",
|
||||
"BUTTON_TRANSFER": "Transfer",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"REQUEST_SEND_REG": "The alias will be transferred within 10 minutes"
|
||||
},
|
||||
"SEND": {
|
||||
"ADDRESS": "Address",
|
||||
"AMOUNT": "Amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"MIXIN": "Mixin",
|
||||
"FEE": "Fee",
|
||||
"HIDE": "Hide your wallet address from recipient",
|
||||
"BUTTON": "Send",
|
||||
"SUCCESS_SENT": "Transaction sent",
|
||||
"FORM_ERRORS": {
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"ALIAS_NOT_VALID": "Alias not valid",
|
||||
"AMOUNT_REQUIRED": "Amount is required",
|
||||
"AMOUNT_ZERO": "Amount is zero",
|
||||
"FEE_REQUIRED": "Fee is required",
|
||||
"FEE_MINIMUM": "Minimum fee: {{fee}}",
|
||||
"MAX_LENGTH": "Maximum comment length reached"
|
||||
}
|
||||
},
|
||||
"HISTORY": {
|
||||
"STATUS": "Status",
|
||||
"STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}",
|
||||
"LOCK_TOOLTIP": "Locked till {{date}}",
|
||||
"SEND": "Sent",
|
||||
"RECEIVED": "Received",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"FEE": "Fee",
|
||||
"ADDRESS": "Address",
|
||||
"DETAILS": {
|
||||
"PAYMENT_ID": "Payment ID",
|
||||
"ID": "Transaction ID",
|
||||
"SIZE": "Transaction size",
|
||||
"SIZE_VALUE": "{{value}} bytes",
|
||||
"HEIGHT": "Height",
|
||||
"CONFIRMATION": "Confirmation",
|
||||
"INPUTS": "Inputs",
|
||||
"OUTPUTS": "Outputs",
|
||||
"COMMENT": "Comment"
|
||||
},
|
||||
"TYPE_MESSAGES": {
|
||||
"HIDDEN": "hidden",
|
||||
"UNDEFINED": "Undefined",
|
||||
"COMPLETE_BUYER": "Contract completed",
|
||||
"COMPLETE_SELLER": "Contract completed",
|
||||
"CREATE_ALIAS": "Fee for assigning alias",
|
||||
"UPDATE_ALIAS": "Fee for editing alias",
|
||||
"POW_REWARD": "POW reward",
|
||||
"POS_REWARD": "POS reward",
|
||||
"CREATE_CONTRACT": "Contract proposal",
|
||||
"PLEDGE_CONTRACT": "Contract deposit",
|
||||
"NULLIFY_CONTRACT": "Burn deposits",
|
||||
"PROPOSAL_CANCEL_CONTRACT": "Cancellation request",
|
||||
"CANCEL_CONTRACT": "Cancel and return deposits"
|
||||
}
|
||||
},
|
||||
"CONTRACTS": {
|
||||
"EMPTY": "No active contracts",
|
||||
"CONTRACTS": "Contracts",
|
||||
"PURCHASE": "Purchase",
|
||||
"SELL": "Sell",
|
||||
"DATE": "Date",
|
||||
"AMOUNT": "Amount",
|
||||
"STATUS": "Status",
|
||||
"COMMENTS": "Comments",
|
||||
"PURCHASE_BUTTON": "New Purchase",
|
||||
"LISTING_BUTTON": "Create listing",
|
||||
"TIME_LEFT": {
|
||||
"REMAINING_LESS_ONE": "Less than an hour to respond",
|
||||
"REMAINING_ONE": "{{time}} hour remains",
|
||||
"REMAINING_MANY": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT": "{{time}} hours remain",
|
||||
"REMAINING_ONE_RESPONSE": "{{time}} hour remains",
|
||||
"REMAINING_MANY_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain",
|
||||
"REMAINING_ONE_WAITING": "Waiting for {{time}} hour",
|
||||
"REMAINING_MANY_WAITING": "Waiting for {{time}} hours",
|
||||
"REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours"
|
||||
},
|
||||
"STATUS_MESSAGES": {
|
||||
"SELLER": {
|
||||
"NEW_CONTRACT": "New contract proposal",
|
||||
"IGNORED": "You ignored contract proposal",
|
||||
"ACCEPTED": "Contract started",
|
||||
"WAIT": "Waiting for contract confirmation",
|
||||
"WAITING_BUYER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "You ignored cancellation proposal",
|
||||
"EXPIRED": "Contract proposal has expired"
|
||||
},
|
||||
"BUYER": {
|
||||
"WAITING": "Waiting for response",
|
||||
"IGNORED": "Seller ignored your contract proposal",
|
||||
"ACCEPTED": "Seller accepted your contract proposal",
|
||||
"WAIT": "Waiting for deposits confirmation",
|
||||
"WAITING_SELLER": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned",
|
||||
"WAITING_CANCEL": "Waiting for contract cancellation",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract",
|
||||
"EXPIRED": "The contract proposal has expired"
|
||||
}
|
||||
}
|
||||
},
|
||||
"PURCHASE": {
|
||||
"DESCRIPTION": "Description",
|
||||
"SELLER": "Seller",
|
||||
"AMOUNT": "Amount",
|
||||
"YOUR_DEPOSIT": "Your deposit",
|
||||
"SELLER_DEPOSIT": "Seller deposit",
|
||||
"BUYER_DEPOSIT": "Buyer deposit",
|
||||
"SAME_AMOUNT": "Same amount",
|
||||
"COMMENT": "Comment",
|
||||
"DETAILS": "Additional details",
|
||||
"SEND_BUTTON": "Send",
|
||||
"FORM_ERRORS": {
|
||||
"DESC_REQUIRED": "Description required",
|
||||
"DESC_MAXIMUM": "Maximum field length reached",
|
||||
"SELLER_REQUIRED": "Address required",
|
||||
"SELLER_NOT_VALID": "Invalid address",
|
||||
"ALIAS_NOT_VALID": "Invalid alias",
|
||||
"AMOUNT_REQUIRED": "Amount required",
|
||||
"AMOUNT_ZERO": "Amount cannot be zero",
|
||||
"YOUR_DEPOSIT_REQUIRED": "Deposit required",
|
||||
"SELLER_DEPOSIT_REQUIRED": "Seller deposit required",
|
||||
"SELLER_SAME": "Use separate account",
|
||||
"COMMENT_MAXIMUM": "Maximum field length reached"
|
||||
},
|
||||
"PROGRESS_NEW": "New purchase",
|
||||
"PROGRESS_WAIT": "Awaiting reply",
|
||||
"PROGRESS_RECEIVE": "Reply received",
|
||||
"PROGRESS_COMPLETE": "Completed",
|
||||
"FEE": "Fee",
|
||||
"PAYMENT": "Payment ID",
|
||||
"STATUS_MESSAGES": {
|
||||
"NEW_PURCHASE": "New purchase",
|
||||
"WAITING_SELLER": "Waiting for response",
|
||||
"WAITING_BUYER": "Contract proposal received",
|
||||
"WAITING_CONFIRMATION": "Waiting for deposits confirmation",
|
||||
"WAITING_DELIVERY": "Waiting for delivery",
|
||||
"COMPLETED": "Contract completed",
|
||||
"IGNORED_BUYER": "Contract proposal ignored",
|
||||
"IGNORED_SELLER": "The seller ignored your contract proposal",
|
||||
"PROPOSAL_CANCEL_SELLER": "Cancellation request sent",
|
||||
"PROPOSAL_CANCEL_BUYER": "Cancellation request received",
|
||||
"BEING_CANCELLED": "Cancellation in progress",
|
||||
"IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract",
|
||||
"IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored",
|
||||
"CANCELLED": "Contract canceled",
|
||||
"EXPIRED": "Contract proposal expired",
|
||||
"NOT_RECEIVED": "Delivery failed",
|
||||
"NULLIFIED": "All deposits burned"
|
||||
},
|
||||
"ACCEPT_STATE_WAIT_BIG": "Contract started",
|
||||
"IGNORED_ACCEPT": "Contract proposal ignored",
|
||||
"BURN_PROPOSAL": "Deposits burned",
|
||||
"SUCCESS_FINISH_PROPOSAL": "Contract completed",
|
||||
"SEND_CANCEL_PROPOSAL": "Cancellation request sent",
|
||||
"IGNORED_CANCEL": "Contract cancellation proposal ignored",
|
||||
"DEALS_CANCELED_WAIT": "Cancellation in progress",
|
||||
"WAITING_TIME": "Response time",
|
||||
"NEED_MONEY": "Insufficient funds",
|
||||
"BUTTON_MAKE_PLEDGE": "Accept and make deposit",
|
||||
"BUTTON_IGNORE": "Ignore and hide offer",
|
||||
"BUTTON_NULLIFY": "Terminate and burn deposits",
|
||||
"BUTTON_RECEIVED": "Complete and release deposits",
|
||||
"BUTTON_CANCEL_BUYER": "Cancel and return deposits",
|
||||
"BUTTON_NOT_CANCEL": "Ignore request",
|
||||
"BUTTON_CANCEL_SELLER": "Confirm and return deposits",
|
||||
"HOUR": "hour",
|
||||
"HOURS": "hours",
|
||||
"CANCEL": "Cancel",
|
||||
"NULLIFY_QUESTION": "Are you sure you want to burn both deposits?",
|
||||
"BUTTON_NULLIFY_SHORT": "Burn",
|
||||
"WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?"
|
||||
},
|
||||
"MESSAGES": {
|
||||
"ADDRESS": "Address",
|
||||
"MESSAGE": "Message",
|
||||
"SEND_PLACEHOLDER": "Type a message...",
|
||||
"SEND_BUTTON": "Send"
|
||||
},
|
||||
"MODALS": {
|
||||
"ERROR": "Error",
|
||||
"SUCCESS": "Success",
|
||||
"INFO": "Information",
|
||||
"OK": "OK"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"BUTTON_CONFIRM": "Send",
|
||||
"BUTTON_CANCEL": "Cancel",
|
||||
"TITLE": "Confirm transaction",
|
||||
"MESSAGE": {
|
||||
"SEND": "Send",
|
||||
"FROM": "From",
|
||||
"TO": "To",
|
||||
"COMMENT": "Comment"
|
||||
}
|
||||
},
|
||||
"STAKING": {
|
||||
"TITLE": "Staking",
|
||||
"TITLE_PENDING": "Pending",
|
||||
"TITLE_TOTAL": "Total",
|
||||
"TITLE_PERIOD": "Time period:",
|
||||
"PERIOD": {
|
||||
"WEEK1": "1 week",
|
||||
"WEEK2": "2 week",
|
||||
"MONTH1": "1 month",
|
||||
"MONTH3": "3 month",
|
||||
"MONTH6": "6 month",
|
||||
"YEAR": "1 year",
|
||||
"ALL": "All"
|
||||
},
|
||||
"TITLE_GROUP": "Group:",
|
||||
"GROUP": {
|
||||
"DAY": "day",
|
||||
"WEEK": "week",
|
||||
"MONTH": "month"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
"TITLE": "Contact list",
|
||||
"IMPORT_EXPORT": "Import or export contacts",
|
||||
"IMPORT": "Import",
|
||||
"EXPORT": "Export",
|
||||
"ADD": "Add/edit contact",
|
||||
"SEND": "Send",
|
||||
"SEND_FROM": "Send from",
|
||||
"SEND_TO": "To",
|
||||
"OPEN_ADD_WALLET": "Open/Add wallet",
|
||||
"COPY": "- Copy",
|
||||
"TABLE": {
|
||||
"NAME": "Name",
|
||||
"ALIAS": "Alias",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes",
|
||||
"EMPTY": "Contact list is empty"
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": "Name",
|
||||
"ADDRESS": "Address",
|
||||
"NOTES": "Notes"
|
||||
},
|
||||
"FORM_ERRORS": {
|
||||
"NAME_REQUIRED": "Name is required",
|
||||
"NAME_DUBLICATED": "Name is dublicated",
|
||||
"ADDRESS_REQUIRED": "Address is required",
|
||||
"ADDRESS_NOT_VALID": "Address not valid",
|
||||
"SET_MASTER_PASSWORD": "Set master password",
|
||||
"ADDRESS_DUBLICATED": "Address is dublicated",
|
||||
"MAX_LENGTH": "Maximum notes length reached",
|
||||
"NAME_LENGTH": "The name must be 4-25 characters long"
|
||||
},
|
||||
"BUTTON": {
|
||||
"SEND": "Send",
|
||||
"EDIT": "Edit",
|
||||
"DELETE": "Delete",
|
||||
"ADD": "Add contact",
|
||||
"ADD_EDIT": "Add/Save",
|
||||
"GO_TO_WALLET": "Go to wallet",
|
||||
"IMPORT_EXPORT": "Import/export"
|
||||
},
|
||||
"SUCCESS_SENT": "Contact added",
|
||||
"SUCCESS_SAVE": "Contact is edited",
|
||||
"SUCCESS_IMPORT": "Contacts are imported",
|
||||
"SUCCESS_EXPORT": "Contacts are exported",
|
||||
"ERROR_IMPORT": "Error is occured while reading file!",
|
||||
"ERROR_TYPE_FILE": "Please import valid .csv file",
|
||||
"ERROR_EXPORT": "Invalid file type. Save file as .csv",
|
||||
"ERROR_EMPTY_LIST": "Contact list is empty",
|
||||
"ERROR_IMPORT_EMPTY": "File is empty"
|
||||
},
|
||||
"ERRORS": {
|
||||
"NO_MONEY": "Not enough money",
|
||||
"NOT_ENOUGH_MONEY": "Insufficient funds in account",
|
||||
"CORE_BUSY": "Internal error: core is busy",
|
||||
"DAEMON_BUSY": "Internal error: daemon is busy",
|
||||
"NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet",
|
||||
"NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with",
|
||||
"TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions",
|
||||
"TRANSFER_ATTEMPT": "There is no connection to Zano network",
|
||||
"ACCESS_DENIED": "Access denied",
|
||||
"TRANSACTION_ERROR": "Error. Transaction not completed.",
|
||||
"BAD_ARG": "Invalid argument",
|
||||
"WALLET_WRONG_ID": "Invalid wallet ID",
|
||||
"WRONG_PASSWORD": "Invalid password",
|
||||
"FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain",
|
||||
"FILE_NOT_FOUND": "File not found",
|
||||
"FILE_EXIST": "A file with that name already exists. Enter another name to save the file under",
|
||||
"FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.",
|
||||
"TX_TYPE_NORMAL": "Error. The payment from the wallet",
|
||||
"TX_TYPE_NORMAL_TO": "to",
|
||||
"TX_TYPE_NORMAL_END": "was not completed.",
|
||||
"TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe",
|
||||
"TX_TYPE_NEW_ALIAS_END": "Please try again.",
|
||||
"TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe",
|
||||
"TX_TYPE_COIN_BASE": "Error. The payment was not completed."
|
||||
},
|
||||
"CONTEXT_MENU": {
|
||||
"COPY": "copy",
|
||||
"PASTE": "paste",
|
||||
"SELECT": "select all"
|
||||
},
|
||||
"BACKEND_LOCALIZATION": {
|
||||
"QUIT": "Quit",
|
||||
"IS_RECEIVED": "",
|
||||
"IS_CONFIRMED": "",
|
||||
"INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)",
|
||||
"INCOME_TRANSFER_CONFIRMED": "Payment received",
|
||||
"MINED": "Mined",
|
||||
"LOCKED": "Blocked",
|
||||
"IS_MINIMIZE": "Zano application is minimized to the system tray",
|
||||
"RESTORE": "You can recover it by clicking or using the context menu",
|
||||
"TRAY_MENU_SHOW": "Resize",
|
||||
"TRAY_MENU_MINIMIZE": "Minimize"
|
||||
}
|
||||
}
|
||||
10
src/gui/qt-daemon/html/assets/icons/close-wallet.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 34 34" style="enable-background:new 0 0 34 34;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<polygon class="st0" points="31.9,4.9 29.1,2.1 17,14.2 4.9,2.1 2.1,4.9 14.2,17 2.1,29.1 4.9,31.9 17,19.8 29.1,31.9 31.9,29.1
|
||||
19.8,17 "/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 545 B |
19
src/gui/qt-daemon/html/assets/icons/contacts.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<title>icons_5</title>
|
||||
<g id="f31d9964-f67b-451c-9eb6-78b833647305">
|
||||
<path class="st0" d="M299.9,197.6c9.3-16.7,14.2-35.5,14.1-54.6c0-70-43.4-105-97-105s-97,35-97,105c-0.1,19.1,4.8,38,14.2,54.6
|
||||
C89.2,218.8,68.5,274.1,50,346l334-0.1C365.5,274,344.8,218.8,299.9,197.6z M178.1,94c11.6-11.6,27.6-14,38.9-14s27.3,2.4,38.9,14
|
||||
c13.3,13.2,16.1,34,16.1,49c0,34.7-24.7,63-55,63s-55-28.3-55-63C162,115.7,170.7,101.3,178.1,94z M128.8,256.5
|
||||
c10.1-14.3,21.1-22.1,36.1-25c31.4,22,73.1,22,104.5-0.1c14.9,2.9,25.9,10.8,35.9,25c8.9,12.6,16.3,29.3,22.7,47.5L106.1,304
|
||||
C112.5,285.8,119.9,269.1,128.8,256.5z"/>
|
||||
<path class="st0" d="M32.5,261H0v42h18.2C23,287,27.6,273.3,32.5,261z"/>
|
||||
<path class="st0" d="M83,182c-0.9-3.6-1.7-7.3-2.4-11H0v42h56.8C64.2,201.6,73,191.2,83,182z"/>
|
||||
<path class="st0" d="M88.8,81H0v42h79C80.4,108.6,83.7,94.5,88.8,81z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
11
src/gui/qt-daemon/html/assets/icons/delete.svg
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M371,76H269V14H115v62H13v42h35v266h288V118h35V76z M157,56h70v20h-70V56z M294,342H90V118h204V342z"/>
|
||||
<rect x="136" y="166" class="st0" width="42" height="128"/>
|
||||
<rect x="206" y="166" class="st0" width="42" height="128"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 651 B |
16
src/gui/qt-daemon/html/assets/icons/details-settings.svg
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 34 34" style="enable-background:new 0 0 34 34;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="st0" d="M15.6,3C14.8,1.2,13,0,11,0S7.2,1.2,6.4,3H0v4h6.4C7.2,8.8,9,10,11,10s3.8-1.2,4.6-3H34V3H15.6z M11,6
|
||||
c-0.6,0-1-0.4-1-1s0.4-1,1-1s1,0.4,1,1S11.6,6,11,6z"/>
|
||||
<path class="st0" d="M23,12c-2,0-3.8,1.2-4.6,3H0v4h18.4c0.8,1.8,2.5,3,4.6,3s3.8-1.2,4.6-3H34v-4h-6.4C26.8,13.2,25,12,23,12z
|
||||
M23,18c-0.6,0-1-0.4-1-1s0.4-1,1-1s1,0.4,1,1S23.6,18,23,18z"/>
|
||||
<path class="st0" d="M11,24c-2,0-3.8,1.2-4.6,3H0v4h6.4c0.8,1.8,2.5,3,4.6,3s3.8-1.2,4.6-3H34v-4H15.6C14.8,25.2,13,24,11,24z
|
||||
M11,30c-0.6,0-1-0.4-1-1s0.4-1,1-1s1,0.4,1,1S11.6,30,11,30z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 971 B |
10
src/gui/qt-daemon/html/assets/icons/edit.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path id="details_1_" class="st0" d="M384,112.9L271.1,0L25,246.1v83.8L0.3,354l29.3,30l25.6-25h82.6L384,112.9z M324.6,112.9
|
||||
l-36.4,36.4l-53.5-53.5l36.4-36.4L324.6,112.9z M70.3,317l-3.3-3.5v-50l138-138l53.5,53.5l-138,138H70.3z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 637 B |
10
src/gui/qt-daemon/html/assets/icons/import-export.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<polygon class="st0" points="296.5,366 384,288 296.5,210.5 296.5,267 0,267 0,309 296.5,309 "/>
|
||||
<polygon class="st0" points="87.5,18 0,96 87.5,173.5 87.5,117 384,117 384,75 87.5,75 "/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 592 B |
10
src/gui/qt-daemon/html/assets/icons/unlock-transaction.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M22,15h-3.4H9.9v-5c0-3.3,2.7-6,6-6H16c3,0,5.4,2.2,5.9,5h4c-0.5-5-4.8-9-9.9-9h-0.1c-5.5,0-10,4.5-10,10v5H3
|
||||
v17h12.9H16h13V15h-3H22z M18,27h-4v-7h4V27z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 581 B |
|
|
@ -20,7 +20,8 @@ button {
|
|||
padding: 0 1rem;
|
||||
height: 4.2rem;
|
||||
|
||||
&:disabled:not(.transparent-button) {
|
||||
&:disabled:not(.transparent-button),
|
||||
&.blue-button_reset{
|
||||
|
||||
@include themify($themes) {
|
||||
background-color: themed(disabledButtonBackgroundColor);
|
||||
|
|
@ -996,3 +997,29 @@ app-open-wallet-modal {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
app-send-modal {
|
||||
.modal {
|
||||
|
||||
@include themify($themes) {
|
||||
background: themed(modalBackground);
|
||||
color: themed(mainTextColor);
|
||||
}
|
||||
|
||||
.title {
|
||||
|
||||
@include themify($themes) {
|
||||
border-bottom: 0.2rem solid themed(transparentButtonBorderColor);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.action-button {
|
||||
|
||||
@include themify($themes) {
|
||||
background-color: themed(blueTextColor);
|
||||
color: themed(alternativeTextColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
88
src/gui/qt-daemon/html/assets/scss/layout/_contact.scss
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
app-contacts, app-add-contacts,
|
||||
app-contact-send, app-export-import {
|
||||
flex: 1 1 auto;
|
||||
padding: 3rem;
|
||||
min-width: 85rem;
|
||||
|
||||
.content {
|
||||
position: relative;
|
||||
padding: 3rem;
|
||||
min-height: 100%;
|
||||
|
||||
@include themify($themes) {
|
||||
background-color: themed(contentBackgroundColor);
|
||||
color: themed(mainTextColor);
|
||||
}
|
||||
|
||||
.head {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
app-contacts {
|
||||
|
||||
table {
|
||||
|
||||
.alias {
|
||||
|
||||
@include themify($themes) {
|
||||
color: themed(blueTextColor);
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
|
||||
.icon {
|
||||
|
||||
@include themify($themes) {
|
||||
background-color: themed(blueTextColor);
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
|
||||
@include themify($themes) {
|
||||
color: themed(mainTextColor)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.footer {
|
||||
|
||||
@include themify($themes) {
|
||||
color: themed(blueTextColor);
|
||||
}
|
||||
|
||||
.import-btn {
|
||||
|
||||
@include themify($themes) {
|
||||
color: themed(blueTextColor);
|
||||
}
|
||||
|
||||
.icon {
|
||||
|
||||
@include themify($themes) {
|
||||
background-color: themed(blueTextColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
app-contact-send {
|
||||
|
||||
.wallets-selection {
|
||||
|
||||
button {
|
||||
|
||||
@include themify($themes) {
|
||||
color: themed(blueTextColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -199,6 +199,13 @@ app-history {
|
|||
}
|
||||
}
|
||||
|
||||
.unlock-transaction {
|
||||
|
||||
@include themify($themes) {
|
||||
background-color: themed(blueTextColor);
|
||||
}
|
||||
}
|
||||
|
||||
.status.send {
|
||||
|
||||
.status-transaction {
|
||||
|
|
|
|||
10
src/gui/qt-daemon/html/close-wallet.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 34 34" style="enable-background:new 0 0 34 34;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<polygon class="st0" points="31.9,4.9 29.1,2.1 17,14.2 4.9,2.1 2.1,4.9 14.2,17 2.1,29.1 4.9,31.9 17,19.8 29.1,31.9 31.9,29.1
|
||||
19.8,17 "/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 545 B |
19
src/gui/qt-daemon/html/contacts.svg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<title>icons_5</title>
|
||||
<g id="f31d9964-f67b-451c-9eb6-78b833647305">
|
||||
<path class="st0" d="M299.9,197.6c9.3-16.7,14.2-35.5,14.1-54.6c0-70-43.4-105-97-105s-97,35-97,105c-0.1,19.1,4.8,38,14.2,54.6
|
||||
C89.2,218.8,68.5,274.1,50,346l334-0.1C365.5,274,344.8,218.8,299.9,197.6z M178.1,94c11.6-11.6,27.6-14,38.9-14s27.3,2.4,38.9,14
|
||||
c13.3,13.2,16.1,34,16.1,49c0,34.7-24.7,63-55,63s-55-28.3-55-63C162,115.7,170.7,101.3,178.1,94z M128.8,256.5
|
||||
c10.1-14.3,21.1-22.1,36.1-25c31.4,22,73.1,22,104.5-0.1c14.9,2.9,25.9,10.8,35.9,25c8.9,12.6,16.3,29.3,22.7,47.5L106.1,304
|
||||
C112.5,285.8,119.9,269.1,128.8,256.5z"/>
|
||||
<path class="st0" d="M32.5,261H0v42h18.2C23,287,27.6,273.3,32.5,261z"/>
|
||||
<path class="st0" d="M83,182c-0.9-3.6-1.7-7.3-2.4-11H0v42h56.8C64.2,201.6,73,191.2,83,182z"/>
|
||||
<path class="st0" d="M88.8,81H0v42h79C80.4,108.6,83.7,94.5,88.8,81z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
11
src/gui/qt-daemon/html/delete.svg
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M371,76H269V14H115v62H13v42h35v266h288V118h35V76z M157,56h70v20h-70V56z M294,342H90V118h204V342z"/>
|
||||
<rect x="136" y="166" class="st0" width="42" height="128"/>
|
||||
<rect x="206" y="166" class="st0" width="42" height="128"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 651 B |
16
src/gui/qt-daemon/html/details-settings.svg
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 34 34" style="enable-background:new 0 0 34 34;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="st0" d="M15.6,3C14.8,1.2,13,0,11,0S7.2,1.2,6.4,3H0v4h6.4C7.2,8.8,9,10,11,10s3.8-1.2,4.6-3H34V3H15.6z M11,6
|
||||
c-0.6,0-1-0.4-1-1s0.4-1,1-1s1,0.4,1,1S11.6,6,11,6z"/>
|
||||
<path class="st0" d="M23,12c-2,0-3.8,1.2-4.6,3H0v4h18.4c0.8,1.8,2.5,3,4.6,3s3.8-1.2,4.6-3H34v-4h-6.4C26.8,13.2,25,12,23,12z
|
||||
M23,18c-0.6,0-1-0.4-1-1s0.4-1,1-1s1,0.4,1,1S23.6,18,23,18z"/>
|
||||
<path class="st0" d="M11,24c-2,0-3.8,1.2-4.6,3H0v4h6.4c0.8,1.8,2.5,3,4.6,3s3.8-1.2,4.6-3H34v-4H15.6C14.8,25.2,13,24,11,24z
|
||||
M11,30c-0.6,0-1-0.4-1-1s0.4-1,1-1s1,0.4,1,1S11.6,30,11,30z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 971 B |
10
src/gui/qt-daemon/html/edit.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path id="details_1_" class="st0" d="M384,112.9L271.1,0L25,246.1v83.8L0.3,354l29.3,30l25.6-25h82.6L384,112.9z M324.6,112.9
|
||||
l-36.4,36.4l-53.5-53.5l36.4-36.4L324.6,112.9z M70.3,317l-3.3-3.5v-50l138-138l53.5,53.5l-138,138H70.3z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 637 B |
10
src/gui/qt-daemon/html/import-export.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 384 384" style="enable-background:new 0 0 384 384;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<polygon class="st0" points="296.5,366 384,288 296.5,210.5 296.5,267 0,267 0,309 296.5,309 "/>
|
||||
<polygon class="st0" points="87.5,18 0,96 87.5,173.5 87.5,117 384,117 384,75 87.5,75 "/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 592 B |
|
|
@ -5800,8 +5800,8 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
__webpack_require__(/*! /Users/apple/Documents/zano/src/gui/qt-daemon/html_source/src/polyfills.ts */"./src/polyfills.ts");
|
||||
module.exports = __webpack_require__(/*! /Users/apple/Documents/zano/src/gui/qt-daemon/html_source/node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js */"./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js");
|
||||
__webpack_require__(/*! d:\Projects\zano\src\gui\qt-daemon\html_source\src\polyfills.ts */"./src/polyfills.ts");
|
||||
module.exports = __webpack_require__(/*! d:\Projects\zano\src\gui\qt-daemon\html_source\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\jit-polyfills.js */"./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js");
|
||||
|
||||
|
||||
/***/ })
|
||||
|
|
|
|||
10
src/gui/qt-daemon/html/unlock-transaction.svg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M22,15h-3.4H9.9v-5c0-3.3,2.7-6,6-6H16c3,0,5.4,2.2,5.9,5h4c-0.5-5-4.8-9-9.9-9h-0.1c-5.5,0-10,4.5-10,10v5H3
|
||||
v17h12.9H16h13V15h-3H22z M18,27h-4v-7h4V27z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 581 B |
|
|
@ -33,6 +33,7 @@
|
|||
"idlejs": "^2.0.1",
|
||||
"json-bignumber": "^1.0.1",
|
||||
"ngx-contextmenu": "^5.1.1",
|
||||
"ngx-papaparse": "^3.0.3",
|
||||
"qrcode": "^1.3.0",
|
||||
"rxjs": "~6.3.3",
|
||||
"zone.js": "~0.8.26"
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@
|
|||
background-position: center;
|
||||
background-size: 200%;
|
||||
padding: 2rem;
|
||||
width: 34rem;
|
||||
min-width: 34rem;
|
||||
max-width: 60rem;
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
|
|
|
|||