From cc94f1a245d992e4bc040fccd685597cf71b6f67 Mon Sep 17 00:00:00 2001 From: malina-qortal <103104671+malina-qortal@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:19:24 +0700 Subject: [PATCH 01/25] Create ru.json --- qortal-ui-core/language/ru.json | 587 ++++++++++++++++++++++++++++++++ 1 file changed, 587 insertions(+) create mode 100644 qortal-ui-core/language/ru.json diff --git a/qortal-ui-core/language/ru.json b/qortal-ui-core/language/ru.json new file mode 100644 index 00000000..2184b70e --- /dev/null +++ b/qortal-ui-core/language/ru.json @@ -0,0 +1,587 @@ +{ + "selectmenu": { + "selectlanguage": "Выберите язык", + "languageflag": "ru", + "english": "Английский", + "chinese1": "Китайский (упрощенный)", + "chinese2": "Китайский (традиционный)", + "german": "Немецкий", + "french": "Французкий", + "polish": "Польский", + "spanish": "Испанский", + "hindi": "Хинди", + "croatian": "Хорватский", + "portuguese": "Португальский", + "hungarian": "Венгерский", + "serbian": "Сербский", + "italian": "Итальянский", + "russian": "Русский" + }, + "sidemenu": { + "mintingdetails": "ДЕТАЛИ ЧЕКАНКИ", + "wallets": "КОШЕЛЬКИ", + "tradeportal": "ТОРГОВЫЙ ПОРТАЛ", + "rewardshare": "ДОЛЯ ВОЗНАГРАЖДЕНИЯ", + "nameregistration": "РЕГИСТРАЦИЯ ИМЕНИ", + "websites": "ВЕБ-САЙТЫ", + "datamanagement": "УПРАВЛЕНИЕ ДАННЫМИ", + "qchat": "Q-ЧАТ", + "groupmanagement": "УПРАВЛЕНИЕ ГРУППАМИ", + "puzzles": "ЗАГАДКИ", + "nodemanagement": "УПРАВЛЕНИЕ УЗЛАМИ" + }, + "login": { + "login": "Войти", + "createaccount": "Создать аккаунт", + "name": "Имя", + "address": "Адрес", + "password": "Пароль", + "youraccounts": "Ваши аккаунты", + "clickto": "Нажмите на свою учетную запись, чтобы войти с ее помощью", + "needcreate": "Вам необходимо создать или сохранить учетную запись, прежде чем вы сможете войти в нее!", + "upload": "Загрузить резервную копию вашего qortal", + "howlogin": "Как бы вы хотели войти?", + "seed": "Seed-фраза", + "seedphrase": "seed-фраза", + "saved": "Сохраненный аккаунт", + "qora": "Seed адреса Qora", + "backup": "Резервная копия кошелька Qortal", + "decrypt": "Расшифровать резервную копию", + "save": "Сохранить в этом браузере", + "prepare": "Подготовка вашей учетной записи", + "areyousure": "Вы уверены, что хотите удалить этот кошелек из сохраненных кошельков?", + "error1": "Резервная копия должна быть в формате JSON", + "error2": "Вариант входа не выбран", + "createwelcome": "Добро пожаловать в Qortal, вы обнаружите, что это похоже на ролевую игру, вы, как минтер в сети Qortal (если вы решите им стать), будете иметь возможность повысить уровень своей учетной записи, что даст вам большее вознаграждения за блок QORT, а также большее влияние на сеть с точки зрения голосования по решениям для платформы.", + "createa": "A", + "click": "Нажмите, чтобы просмотреть исходную фразу", + "confirmpass": "Подтвердить пароль", + "willbe": "Будет генерироваться случайным образом в фоновом режиме. Он используется в качестве генератора приватного ключа для вашей учетной записи блокчейна в Qortal.", + "clicknext": "Создайте учетную запись Qortal, нажав кнопку ДАЛЕЕ ниже.", + "ready": "Теперь ваша учетная запись готова к созданию. Она будет сохранена в этом браузере. Если вы не хотите, чтобы ваша новая учетная запись сохранялась в вашем браузере, вы можете снять флажок ниже. Вы по-прежнему сможете войдите в свою новую учетную запись (после выхода), используя файл резервной копии вашего кошелька, который вы ДОЛЖНЫ загрузить после создания учетной записи.", + "welmessage": "Добро пожаловать в Qortal", + "pleaseenter": "Пожалуйста, введите пароль!", + "notmatch": "Пароли не совпадают!", + "lessthen8": "Ваш пароль содержит менее 8 символов! Это не рекомендуется. Вы можете продолжить, игнорировав это предупреждение.", + "entername": "Пожалуйста, введите Имя!", + "downloaded": "Файл резервной копии кошелька будет загружен!", + "loading": "Идет загрузка, пожалуйста, подождите...", + "createdseed": "Ваша созданная Seed-фраза", + "saveseed": "Сохранить Seed-фразу", + "savein": "Сохранить в браузере", + "backup2": "Этот файл является ЕДИНСТВЕННЫМ способом доступа к вашей учетной записи в системе, в которой он не сохранен в приложении/браузере. ОБЯЗАТЕЛЬНО СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ЭТОГО ФАЙЛА В НЕСКОЛЬКИХ МЕСТАХ. Файл очень надежно зашифрован и расшифровывается с помощью вашего локального пароля, который вы создали на предыдущем шаге. Вы можете безопасно сохранить его в любом месте, но не забудьте сделать это в нескольких местах.", + "savewallet": "Сохранить файл резервной копии кошелька", + "created1": "Ваша учетная запись создана", + "created2": "и будет сохранено в этом браузере.", + "downloadbackup": "Скачать файл резервной копии кошелька" + }, + "logout": { + "logout": "ВЫХОД", + "confirmlogout": "Вы уверены, что хотите выйти из системы?" + }, + "fragfile": { + "selectfile": "Выбрать файл", + "dragfile": "Перетащите резервную копию сюда" + }, + "settings": { + "generalinfo": "Общая информация об учетной записи", + "address": "Адрес", + "publickey": "Открытый ключ", + "settings": "Настройки", + "account": "Учетная запись", + "security": "Безопасность", + "notifications": "Уведомления", + "accountsecurity": "Безопасность учетной записи", + "password": "Пароль", + "download": "Загрузить файл резервной копии", + "choose": "Пожалуйста, выберите пароль для шифрования вашей резервной копии. (Это может быть тот же пароль, с которым вы вошли в систему, или другой)", + "block": "Блокировать уведомления (скоро…)", + "playsound": "Воспроизвести звук", + "shownotifications": "Показать уведомления", + "nodeurl": "URL-адрес узла", + "nodehint": "Выберите узел из списка узлов по умолчанию выше или добавьте пользовательский узел в список выше, нажав кнопку ниже", + "addcustomnode": "Добавить пользовательский узел", + "addandsave": "Добавить и Сохранить", + "protocol": "Протокол", + "domain": "Домен", + "port": "Порт" + }, + "appinfo": { + "blockheight": "Высота блока", + "uiversion": "UI-версия", + "coreversion": "Версия ядра", + "minting": "(Чеканка)", + "synchronizing": "Синхронизация" + }, + "walletprofile": { + "minterlevel": "Уровень Minter", + "blocksminted": "Отчеканеные блоки" + }, + "general": { + "yes": "Да", + "no": "Нет", + "confirm": "Подтвердить", + "decline": "Отклонить", + "open": "Открыть", + "close": "Закрыть", + "back": "Назад", + "next": "Следующий", + "create": "Создать", + "continue": "Продолжить", + "save": "Сохранить" + }, + "mintingpage": { + "mchange1": "Общие сведения о чеканке", + "mchange2": "Статистика блокчейна", + "mchange3": "Среднее время блока", + "mchange4": "Среднее количество блоков в день", + "mchange5": "Среднее количество созданных QORT в день", + "mchange6": "Детали аккаунта", + "mchange7": "Нет чеканки", + "mchange8": "Чеканка", + "mchange9": "Не чеканит", + "mchange10": "Активировать данные учетной записи", + "mchange11": "Не активировано", + "mchange12": "Активировать свою учетную запись", + "mchange13": "Введение", + "mchange14": "Чтобы активировать вашу учетную запись, необходимо выполнить ИСХОДЯЩУЮ транзакцию. Регистрация имени является наиболее распространенным методом. Вы можете попросить кого-нибудь в Q-Chat отправить вам небольшую сумму QORT, чтобы вы могли активировать свою учетную запись, или купите QORT на Торговом Портале, затем совершите ИСХОДЯЩУЮ транзакцию любого вида, она запишет ваш открытый ключ в блокчейне. Пока вы этого не сделаете, ваш открытый ключ известен только вам в вашем пользовательском интерфейсе, и никто другой не может получить ваш открытый ключ ключ от цепочки.", + "mchange15": "Текущий статус", + "mchange16": "Текущий уровень", + "mchange17": "Блоки до следующего уровеня", + "mchange18": "Если вы продолжите чеканить 24/7, вы достигнете уровня", + "mchange19": "Информация о наградах за чеканку", + "mchange20": "Текущий уровень", + "mchange21": "Всего минтеров на уровне", + "mchange22": "Доля уровней на блок", + "mchange23": "Вознаграждение за блок", + "mchange24": "Вознаграждение в день", + "mchange25": "Секунды", + "mchange26": "Блоки", + "mchange27": "Уровень", + "mchange28": "Уровень", + "mchange29": "дни", + "mchange30": "Минтеры", + "mchange31": "Нажмите для помощи", + "mchange32": "Стань Минтером", + "mchange33": "Введение", + "mchange34": "В Qortal, чтобы стать минтером и начать зарабатывать вознаграждения QORT с повышением уровня Minter, вы должны сначала быть спосированы «спонсором». Спонсором в Qortal является любой другой минтер уровня 5 или выше, или Основатель Qortal. Вы получите спонсорский ключ от спонсора и используете этот ключ, чтобы перейти на уровень 1. Достигнув уровня 1, вы сможете создать свой собственный ключ чеканки и начать зарабатывать вознаграждения за помощь в защите блокчейна Qortal.", + "mchange35": "Спонсорство", + "mchange36": "Ваш спонсор выдаст вам "Спонсорский ключ", который вы будете использовать для добавления в свой узел и начнете чеканку (без вознаграждения до достижения уровня 1). Как только вы достигнете уровня 1, вы создадите/назначите свой собственный "Ключ Чеканки" и начните зарабатывать вознаграждения. У вас осталось XXXX блоков в период вашего спонсорства.", + "mchange37": "Просто обратитесь к минтеру в Кортале, уровень которого достаточно высок, чтобы выдать спонсорский ключ, получите этот ключ, затем вернитесь сюда и введите ключ, чтобы начать свое путешествие по чеканке!", + "mchange38": "в" + }, + "walletpage": { + "wchange1": "Получение баланса...", + "wchange2": "Текущий кошелек", + "wchange3": "Скопировать адрес кошелька в буфер обмена", + "wchange4": "Адрес скопирован в буфер обмена", + "wchange5": "Сведения о транзакции", + "wchange6": "Тип транзакции", + "wchange7": "ВЫХОД", + "wchange8": "В", + "wchange9": "Отправитель", + "wchange10": "Получатель", + "wchange11": "Сумма", + "wchange12": "Комиссия за транзакцию", + "wchange13": "Блок", + "wchange14": "Время", + "wchange15": "Подпись транзакции", + "wchange16": "Хэш транзакции", + "wchange17": "Отправитель", + "wchange18": "От адреса", + "wchange19": "Доступные средства", + "wchange20": "Кому (адрес или имя)", + "wchange21": "Текущая статическая плата:", + "wchange22": "Кошельки", + "wchange23": "Кому (адрес)", + "wchange24": "Текущая плата за байт", + "wchange25": "Низкие комиссии могут привести к медленным или неподтвержденным транзакциям.", + "wchange26": "Недостаточно средств!", + "wchange27": "Недопустимая сумма!", + "wchange28": "Получатель не может быть пустым!", + "wchange29": "Неверный получатель!", + "wchange30": "Транзакция прошла успешно!", + "wchange31": "Транзакция не удалась!", + "wchange32": "Не удалось получить баланс QORT. Попробуйте еще раз!", + "wchange33": "Не удалось получить", + "wchange34": "Баланс. Попробуйте еще раз!", + "wchange35": "Тип", + "wchange36": "Платеж", + "wchange37": "Общая сумма", + "wchange38": "Address has no transactions yet.", + "wchange39": "Не удалось скопировать адрес.", + "wchange40": "ОПЛАТА", + "wchange41": "Статус", + "wchange42": "Подтверждено" + }, + "tradepage": { + "tchange1": "Торговый портал", + "tchange2": "Выбрать торговую пару", + "tchange3": "ИСТОРИЧЕСКИЕ РЫНОЧНЫЕ СДЕЛКИ", + "tchange4": "МОЯ ТОРГОВАЯ ИСТОРИЯ", + "tchange5": "ОРДЕРА НА ПРОДАЖУ", + "tchange6": "МОИ ЗАКАЗЫ", + "tchange7": "Зависшие предложения", + "tchange8": "Сумма", + "tchange9": "Цена", + "tchange10": "Всего", + "tchange11": "Дата", + "tchange12": "Статус", + "tchange13": "Продавец", + "tchange14": "Цена за штуку", + "tchange15": "Очистить форму", + "tchange16": "У вас есть", + "tchange17": "Действие", + "tchange18": "КУПИТЬ", + "tchange19": "ПРОДАТЬ", + "tchange20": "Не удалось создать сделку. Повторите попытку!", + "tchange21": "Не удалось создать сделку. Код ошибки", + "tchange22": "Недостаточно средств!", + "tchange23": "Запрос на покупку выполнен успешно!", + "tchange24": "Запрос на покупку существует!", + "tchange25": "Не удалось создать сделку. Код ошибки", + "tchange26": "Выполняется отмена сделки!", + "tchange27": "Не удалось отменить сделку. Повторите попытку!", + "tchange28": "Не удалось отменить сделку. Код ошибки", + "tchange29": "ОТМЕНА", + "tchange30": "Не удалось получить баланс. Повторите попытку!", + "tchange31": "ПРОДАНО", + "tchange32": "КУПИЛ" + }, + "rewardsharepage": { + "rchange1": "Вознаграждения", + "rchange2": "Создать долю вознаграждения", + "rchange3": "Вознаграждения, связанные с этой учетной записью", + "rchange4": "Учетная запись Minting", + "rchange5": "Доля в процентах", + "rchange6": "Получатель", + "rchange7": "Действие", + "rchange8": "Тип", + "rchange9": "Уровень 1–4 может создать собственную акцию, а уровень 5 или выше может создать акцию вознаграждения!", + "rchange10": "Открытый ключ получателя", + "rchange11": "Процент доли вознаграждения", + "rchange12": "Делаю что-нибудь вкусненькое", + "rchange13": "Добавление минтинг-аккаунта", + "rchange14": "Добавить", + "rchange15": "Учетная запись не участвует ни в каких вознаграждениях", + "rchange16": "Собственная доля вознаграждения", + "rchange17": "Удалить", + "rchange18": "Невозможно создать несколько долей вознаграждения!", + "rchange19": "Невозможно создать несколько личных ресурсов!", + "rchange20": "НЕ МОЖЕТЕ СОЗДАТЬ ДОЛЮ НАГРАДЫ! на уровне", + "rchange21": "Раздача вознаграждения прошла успешно!", + "rchange22": "Доля вознаграждения успешно удалена!" + }, + "registernamepage": { + "nchange1": "Регистрация имени", + "nchange2": "Зарегистрировать имя", + "nchange3": "Зарегистрированные имена", + "nchange4": "Аватар", + "nchange5": "Имя", + "nchange6": "Владелец", + "nchange7": "Действие", + "nchange8": "Нет имен, зарегистрированных для этой учетной записи!", + "nchange9": "Зарегистрируйте имя!", + "nchange10": "Описание (необязательно)", + "nchange11": "Делаю что-нибудь вкусненькое", + "nchange12": "Регистрация имени", + "nchange13": "Стоимость регистрации текущего имени составляет", + "nchange14": "Зарегистрироваться", + "nchange15": "Установить аватар", + "nchange16": "Требуется обновление ядра", + "nchange17": "Имя уже существует!", + "nchange18": "Регистрация имени прошло успешно!" + }, + "websitespage": { + "schange1": "Просматривать веб-сайты", + "schange2": "Отслеживаемые сайты", + "schange3": "Заблокированные сайты", + "schange4": "Поиск на сайтах", + "schange5": "Аватар", + "schange6": "Подробнее", + "schange7": "Опубликовано", + "schange8": "Действия", + "schange9": "Веб-сайты", + "schange10": "Нет доступных веб-сайтов", + "schange11": "Сайты, на которые вы подписаны", + "schange12": "Отслеживаемые сайты", + "schange13": "Вы не подписаны ни на один сайт", + "schange14": "Ваши заблокированные сайты", + "schange15": "Заблокированные сайты", + "schange16": "Вы не заблокировали ни один сайт", + "schange17": "Имя не найдено!", + "schange18": "Режим ретрансляции включен. Это означает, что ваш узел будет помогать передавать зашифрованные данные по сети, когда их запрашивает одноранговый узел. Вы можете отказаться в настройках", + "schange19": "в", + "schange20": "Режим реле отключен. Вы можете включить его в настройках", + "schange21": "Опубликовать сайт", + "schange22": "Произошла ошибка при попытке подписаться на это зарегистрированное имя. Повторите попытку!", + "schange23": "Произошла ошибка при попытке отписаться от этого зарегистрированного имени. Повторите попытку!", + "schange24": "Произошла ошибка при попытке заблокировать это зарегистрированное имя. Повторите попытку!", + "schange25": "Произошла ошибка при попытке разблокировать это зарегистрированное имя. Пожалуйста, попробуйте еще раз!", + "schange26": "Без категории", + "schange27": "Размер", + "schange28": "Статус", + "schange29": "Подписаться", + "schange30": "Отписаться", + "schange31": "Заблокировать", + "schange32": "Разблокировать", + "schange33": "Имя для поиска", + "schange34": "Имя не может быть пустым!", + "schange35": "Поиск" + }, + "publishpage": { + "pchange1": "Опубликовать", + "pchange2": "Обновить", + "pchange3": "Примечание: рекомендуется настроить переадресацию портов перед размещением данных, чтобы к ним был более легкий доступ для одноранговых узлов в сети.", + "pchange4": "Выберите имя", + "pchange5": "Название", + "pchange6": "Описание", + "pchange7": "Выберите категорию", + "pchange8": "Тег", + "pchange9": "Сервис", + "pchange10": "Идентификатор", + "pchange11": "Опубликовать", + "pchange12": "Выберите zip-файл со статическим содержимым", + "pchange13": "Локальный путь к статическим файлам", + "pchange14": "Пожалуйста, выберите зарегистрированное имя для публикации данных", + "pchange15": "Выберите файл для размещения", + "pchange16": "Пожалуйста, выберите zip-файл для размещения", + "pchange17": "Пожалуйста, введите путь к каталогу, содержащему статическое содержимое", + "pchange18": "Пожалуйста, введите имя службы", + "pchange19": "Обработка данных... это может занять некоторое время...", + "pchange20": "Ошибка:", + "pchange21": "Внутренняя ошибка сервера при публикации данных", + "pchange22": "Вычисление доказательства работы... это может занять некоторое время...", + "pchange23": "Транзакция прошла успешно!", + "pchange24": "Невозможно подписать и обработать транзакцию", + "pchange25": "Выбрать файл" + }, + "browserpage": { + "bchange1": "Вперед", + "bchange2": "Перезагрузить", + "bchange3": "Вернуться к списку", + "bchange4": "Удалить", + "bchange5": "из узла", + "bchange6": "Ваш браузер не поддерживает iframe", + "bchange7": "Подписаться", + "bchange8": "Отписаться", + "bchange9": "Заблокировать", + "bchange10": "Разблокировать", + "bchange11": "Произошла ошибка при попытке подписаться на это зарегистрированное имя. Повторите попытку!", + "bchange12": "Произошла ошибка при попытке отписаться от этого зарегистрированного имени. Повторите попытку!", + "bchange13": "Произошла ошибка при попытке заблокировать это зарегистрированное имя. Повторите попытку!", + "bchange14": "Произошла ошибка при попытке разблокировать это зарегистрированное имя. Повторите попытку!", + "bchange15": "Невозможно удалить данные из имен, на которые вы подписаны. Сначала отмените подписку.", + "bchange16": "Произошла ошибка при попытке удалить этот ресурс. Повторите попытку!" + }, + "datapage": { + "dchange1": "Управление данными", + "dchange2": "Поиск в размещенных данных по этому узлу", + "dchange3": "Данные для поиска", + "dchange4": "Поиск", + "dchange5": "Зарегистрированное имя", + "dchange6": "Сервис", + "dchange7": "Идентификатор", + "dchange8": "Действия", + "dchange9": "Данные, размещенные на этом узле", + "dchange10": "Имя данных не может быть пустым!", + "dchange11": "Данные не найдены!", + "dchange12": "Не удалось получить список размещенных данных с узла", + "dchange13": "На этом узле нет данных", + "dchange14": "Отписаться", + "dchange15": "Удалить", + "dchange16": "Заблокировать", + "dchange17": "Разблокировать", + "dchange18": "Произошла ошибка при попытке заблокировать это зарегистрированное имя. Пожалуйста, попробуйте еще раз!", + "dchange19": "Произошла ошибка при попытке отписаться от этого зарегистрированного имени. Повторите попытку!", + "dchange20": "Произошла ошибка при попытке разблокировать это зарегистрированное имя. Пожалуйста, попробуйте еще раз!", + "dchange21": "Произошла ошибка при попытке удалить этот ресурс. Повторите попытку!" + }, + "chatpage": { + "cchange1": "Новое личное сообщение", + "cchange2": "Загружается...", + "cchange3": "Заблокированные пользователи", + "cchange4": "Новое сообщение", + "cchange5": "(Нажмите, чтобы прокрутить вниз)", + "cchange6": "Введите имя или адрес того, с кем вы хотите пообщаться, чтобы отправить личное сообщение!", + "cchange7": "Имя/Адрес", + "cchange8": "Сообщение...", + "cchange9": "Отправить", + "cchange10": "Список заблокированных пользователей", + "cchange11": "Имя", + "cchange12": "Владелец", + "cchange13": "Действие", + "cchange14": "Эта учетная запись не заблокировала ни одного пользователя.", + "cchange15": "Нет зарегистрированного имени", + "cchange16": "Успешно разблокирован этот пользователь.", + "cchange17": "Произошла ошибка при попытке разблокировать этого пользователя. Повторите попытку!", + "cchange18": "разблокировать", + "cchange19": "Неверное имя/адрес. Проверьте имя/адрес и повторите попытку...", + "cchange20": "Сообщение успешно отправлено!", + "cchange21": "Ошибка отправки. Повторите попытку...", + "cchange22": "Загружаются сообщения...", + "cchange23": "Невозможно расшифровать сообщение!", + "cchange24": "Максимальное количество символов в сообщении - 255" + }, + "welcomepage": { + "wcchange1": "Добро пожаловать в Q-Chat", + "wcchange2": "Новое личное сообщение", + "wcchange3": "Введите имя или адрес того, с кем вы хотите пообщаться, чтобы отправить личное сообщение!", + "wcchange4": "Имя/адрес", + "wcchange5": "Сообщение...", + "wcchange6": "Отправить", + "wcchange7": "Неверное имя/адрес, проверьте имя/адрес и повторите попытку...", + "wcchange8": "Сообщение успешно отправлено!", + "wcchange9": "Отправка не удалась, повторите попытку... + }, + "blockpage": { + "bcchange1": "заблокировать", + "bcchange2": "Успешно заблокирован этот пользователь!", + "bcchange3": "Произошла ошибка при попытке заблокировать этого пользователя. Повторите попытку!", + "bcchange4": "Нет зарегистрированного имени" + }, + "grouppage": { + "gchange1": "Кортальные группы", + "gchange2": "Создать группу", + "gchange3": "Ваши присоединенные группы", + "gchange4": "Имя группы", + "gchange5": "Описание", + "gchange6": "Роль", + "gchange7": "Действие", + "gchange8": "Не состоит ни в одной группе!", + "gchange9": "Общие группы", + "gchange10": "Владелец", + "gchange11": "Открытые публичные группы недоступны!", + "gchange12": "Создать новую группу", + "gchange13": "Тип группы", + "gchange14": "Это поле обязательно для заполнения", + "gchange15": "Выберите вариант", + "gchange16": "Общедоступный", + "gchange17": "Частный", + "gchange18": "Порог одобрения группы (количество / процент администраторов, которые должны одобрить транзакцию):", + "gchange19": "НЕТ", + "gchange20": "ОДИН", + "gchange21": "Минимальная задержка блокировки для утверждения групповых транзакций:", + "gchange22": "минуты", + "gchange23": "час", + "gchange24": "часы", + "gchange25": "день", + "gchange26": "дни", + "gchange27": "Максимальная задержка блокировки для утверждения групповых транзакций:", + "gchange28": "Создание группы", + "gchange29": "Создать группу", + "gchange30": "Запрос на вступление в группу", + "gchange31": "Дата создания", + "gchange32": "Дата обновления", + "gchange33": "Присоединение", + "gchange34": "Вступить в группу", + "gchange35": "Запрос на выход из группы", + "gchange36": "Уход", + "gchange37": "Покинуть группу", + "gchange38": "Управление владельцем группы:", + "gchange39": "Управление администратором группы:", + "gchange40": "Управление группой", + "gchange41": "Группа создана успешно!", + "gchange42": "Недопустимое имя группы", + "gchange43": "Недопустимое описание группы", + "gchange44": "Выберите тип группы", + "gchange45": "Выберите порог одобрения группы", + "gchange46": "Выберите минимальную задержку блокировки для утверждения групповых транзакций", + "gchange47": "Выберите максимальную задержку блокировки для утверждения групповых транзакций", + "gchange48": "Запрос на присоединение к группе успешно отправлен!", + "gchange49": "Запрос на выход из группы успешно отправлен!", + "gchange50": "Выйти", + "gchange51": "Присоединиться", + "gchange52": "Администратор", + "gchange53": "Член", + "gchange54": "Члены" + }, + "puzzlepage": { + "pchange1": "Головоломки", + "pchange2": "Награда", + "pchange3": "РЕШЕНО", + "pchange4": "Имя", + "pchange5": "Описание", + "pchange6": "Подсказка/Ответ", + "pchange7": "Действие", + "pchange8": "Угадай", + "pchange9": "Введите свое предположение, чтобы решить эту головоломку и выиграть", + "pchange10": "Ваше предположение должно состоять из 43 или 44 символов и", + "pchange11": "нет", + "pchange12": "включить 0 (ноль), I (верхний i), O (верхний o) или l (нижний L).", + "pchange13": "Ваша догадка", + "pchange14": "Проверяю ваши предположения...", + "pchange15": "Отправить", + "pchange16": "Неверное предположение!", + "pchange17": "Заявка на вознаграждение отправлена — проверьте кошелек на наличие вознаграждения!" + }, + "nodepage": { + "nchange1": "Управление узлом для:", + "nchange2": "Узел был в сети в течении:", + "nchange3": "Учетные записи чеканки узла", + "nchange4": "Добавить минтинг-аккаунт", + "nchange5": "Если вы хотите чеканить с помощью своей учетной записи, вам нужно будет создать транзакцию вознаграждения для себя (с процентом вознаграждения, установленным на 0), а затем чеканить с помощью ключа вознаграждения, который он вам дает.", + "nchange6": "Ключ вознаграждения", + "nchange7": "Добавление минтинг-аккаунта", + "nchange8": "Добавить", + "nchange9": "Учетная запись Minting", + "nchange10": "Учетная запись получателя", + "nchange11": "Действие", + "nchange12": "Удалить", + "nchange13": "Для этого узла не найдено ни одного минтинг-аккаунта", + "nchange14": "Пиры, подключенные к этому узлу", + "nchange15": "Добавить одноранговый узел", + "nchange16": "Введите ниже адрес пира, которого вы хотите добавить", + "nchange17": "Адрес узла", + "nchange18": "Адрес", + "nchange19": "Последняя высота", + "nchange20": "Версия сборки", + "nchange21": "Подключено для", + "nchange22": "Действие", + "nchange23": "Принудительная синхронизация", + "nchange24": "У узла нет подключенных пиров", + "nchange25": "Запуск синхронизации с узлом: ", + "nchange26": "Пир успешно удален: ", + "nchange27": "Узел Minting успешно добавлен!", + "nchange28": "Не удалось добавить узел Minting!", + "nchange29": "Учетная запись Minting успешно удалена!", + "nchange30": "Не удалось удалить учетную запись Minting!", + "nchange31": "Остановить узел", + "nchange32": "Запрос на остановку успешно отправлен!" + }, + "transpage": { + "tchange1": "Запрос транзакции", + "tchange2": "Отклонить", + "tchange3": "Подтвердить", + "tchange4": "Кому", + "tchange5": "Сумма" + }, + "apipage": { + "achange1": "Добавить ключ API", + "achange2": "Ключ API", + "achange3": "Пожалуйста, введите ключ API для этого узла. Его можно найти в файле с именем «apikey.txt» в каталоге, где установлено ядро. Либо нажмите «Отмена», чтобы использовать ядро с ограниченной функциональностью.", + "achange4": "Отмена", + "achange5": "Добавить", + "achange6": "Ключ API успешно добавлен", + "achange7": "Ключ API неверный, ключ API не добавленed" + }, + "transactions": { + "amount": "Сумма", + "to": "к", + "declined": "Пользователь отклонил транзакцию!", + "namemedialog1": "Вы регистрируете имя ниже:", + "namemedialog2": "При нажатии подтверждения имя будет зарегистрировано!", + "groupdialog1": "Вы запрашиваете вступление в группу ниже:", + "groupdialog2": "При нажатии подтверждения будет отправлен запрос на вступление в группу!", + "groupdialog3": "Вы запрашиваете выход из группы ниже:", + "groupdialog4": "При нажатии подтверждения будет отправлен запрос на выход из группы!", + "groupdialog5": "Вы запрашиваете создание группы ниже:", + "groupdialog6": "При нажатии подтверждения будет отправлен запрос на создание группы!", + "rewarddialog1": "Хотели бы вы создать транзакцию обмена вознаграждением, обмен", + "rewarddialog2": "из ваших наград за чеканку", + "rewarddialog3": "Если да, вам нужно будет сохранить приведенный ниже ключ, чтобы чеканить. Его можно передать любому узлу, чтобы он мог чеканить от вашего имени.", + "rewarddialog4": "При нажатии кнопки подтверждения будет создана доля вознаграждения, но вам все равно нужно будет предоставить вышеуказанный ключ узлу, чтобы создать учетную запись.", + "rewarddialog5": "Вы удаляете транзакцию распределения вознаграждения, связанную с аккаунтом:", + "rewarddialog6": "При нажатии кнопки подтверждения доля вознаграждения будет удалена, а ключ чеканки станет недействительным." + } +} From 3762670e310e6481a60dc72e7f6be9bd09063807 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 3 May 2022 14:51:09 +0200 Subject: [PATCH 02/25] add name menu --- qortal-ui-core/language/de.json | 9 +- qortal-ui-core/language/es.json | 9 +- qortal-ui-core/language/fr.json | 9 +- qortal-ui-core/language/hindi.json | 9 +- qortal-ui-core/language/hr.json | 9 +- qortal-ui-core/language/hu.json | 1129 +++++++++-------- qortal-ui-core/language/it.json | 9 +- qortal-ui-core/language/pl.json | 13 +- qortal-ui-core/language/pt.json | 9 +- qortal-ui-core/language/rs.json | 9 +- qortal-ui-core/language/us.json | 9 +- qortal-ui-core/language/zhc.json | 11 +- qortal-ui-core/language/zht.json | 9 +- .../plugins/core/components/BlockAddress.js | 164 --- .../plugins/core/components/ChatPage.js | 87 +- .../plugins/core/components/ChatScroller.js | 34 +- .../core/components/ChatWelcomePage.js | 2 +- .../core/messaging/q-chat/q-chat.src.js | 1 - 18 files changed, 715 insertions(+), 816 deletions(-) delete mode 100644 qortal-ui-plugins/plugins/core/components/BlockAddress.js diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json index 4d48f75f..e9051e99 100644 --- a/qortal-ui-core/language/de.json +++ b/qortal-ui-core/language/de.json @@ -434,10 +434,15 @@ "wcchange9": "Senden fehlgeschlagen, bitte erneut versuchen..." }, "blockpage": { - "bcchange1": "blockieren", + "bcchange1": "Benutzer Blockieren", "bcchange2": "Dieser Benutzer wurde erfolgreich blockiert!", "bcchange3": "Beim Blockieren dieses Benutzers ist ein Fehler aufgetreten. Bitte versuche es erneut!", - "bcchange4": "Kein Name registriert" + "bcchange4": "Kein Name registriert", + "bcchange5": "Diesen Benutzer Blockieren", + "bcchange6": "Möchten Sie diesen Benutzer wirklich blockieren?", + "bcchange7": "MENÜ", + "bcchange8": "Adresse Kopieren", + "bcchange9": "Private Nachricht" }, "grouppage": { "gchange1": "Qortal-Gruppen", diff --git a/qortal-ui-core/language/es.json b/qortal-ui-core/language/es.json index 8cff1367..de0d42b1 100644 --- a/qortal-ui-core/language/es.json +++ b/qortal-ui-core/language/es.json @@ -434,10 +434,15 @@ "wcchange9": "El envío ha fallado, por favor intente de nuevo..." }, "blockpage": { - "bcchange1": "bloquear", + "bcchange1": "Bloquear Usuario", "bcchange2": "Se ha bloqueado con éxito a este usuario!", "bcchange3": "Ha ocurrido un error al intentar bloquear este usuario. Por favor, inténtelo de nuevo!", - "bcchange4": "Nombre no registrado" + "bcchange4": "Nombre no registrado", + "bcchange5": "Bloquear solicitud de usuario", + "bcchange6": "Estás seguro de bloquear a este usuario?", + "bcchange7": "MENÚ", + "bcchange8": "Copiar Dirección", + "bcchange9": "Mensaje Privado" }, "grouppage": { "gchange1": "Grupos Qortal", diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json index 1aca777b..a5688ede 100644 --- a/qortal-ui-core/language/fr.json +++ b/qortal-ui-core/language/fr.json @@ -434,10 +434,15 @@ "wcchange9": "Échec de l’envoi, veuillez réessayer..." }, "blockpage": { - "bcchange1": "bloquer", + "bcchange1": "Bloquer un Utilisateur", "bcchange2": "Blocage réussi de cet utilisateur!", "bcchange3": "Une erreur s’est produite lors de la tentative de blocage de cet utilisateur. Veuillez réessayer!", - "bcchange4": "Pas de nom enregistré" + "bcchange4": "Pas de nom enregistré", + "bcchange5": "Bloquer la demande de l'utilisateur", + "bcchange6": "Êtes-vous sûr de bloquer cet utilisateur ?", + "bcchange7": "MENU", + "bcchange8": "Copier l'Adresse", + "bcchange9": "Message Privé" }, "grouppage": { "gchange1": "Groupes Qortal", diff --git a/qortal-ui-core/language/hindi.json b/qortal-ui-core/language/hindi.json index f6538a97..51458b76 100644 --- a/qortal-ui-core/language/hindi.json +++ b/qortal-ui-core/language/hindi.json @@ -441,10 +441,15 @@ "wcchange9": "भेजना विफल, कृपया पुन: प्रयास करें..." }, "blockpage": { - "bcchange1": "ब्लॉक", + "bcchange1": "खंड उपयोगकर्ता", "bcchange2": "इस उपयोगकर्ता को सफलतापूर्वक अवरुद्ध!", "bcchange3": "इस उपयोगकर्ता को ब्लॉक करने की कोशिश करते समय त्रुटि हुई कृपया फिर से प्रयास करें!", - "bcchange4": "कोई पंजीकृत नाम नहीं" + "bcchange4": "कोई पंजीकृत नाम नहीं", + "bcchange5": "उपयोगकर्ता अनुरोध को ब्लॉक करें", + "bcchange6": "क्या आप वाकई इस उपयोगकर्ता को ब्लॉक करना चाहते हैं?", + "bcchange7": "मेन्यू", + "bcchange8": "कॉपी पता", + "bcchange9": "निजी संदेश" }, "grouppage": { "gchange1": "क्वॉर्टल समूह", diff --git a/qortal-ui-core/language/hr.json b/qortal-ui-core/language/hr.json index f7fa186e..8bf36b41 100644 --- a/qortal-ui-core/language/hr.json +++ b/qortal-ui-core/language/hr.json @@ -434,10 +434,15 @@ "wcchange9": "Slanje neuspješno, molimo ponovite..." }, "blockpage": { - "bcchange1": "blokiraj", + "bcchange1": "Blokirati Korisnika", "bcchange2": "Uspješno blokiran ovaj korisnik", "bcchange3": "Došlo je do pogreške prilikom pokušaja blokiranja ovog korisnika. Molimo pokušajte ponovno!", - "bcchange4": "Nema registrirano ime" + "bcchange4": "Nema registrirano ime", + "bcchange5": "Blokiraj korisnički zahtjev", + "bcchange6": "Jeste li sigurni da ćete blokirati ovog korisnika?", + "bcchange7": "MENI", + "bcchange8": "Kopiraj Adresu", + "bcchange9": "Privatna Poruka" }, "grouppage": { "gchange1": "Qortal Grupe", diff --git a/qortal-ui-core/language/hu.json b/qortal-ui-core/language/hu.json index 6c24cff3..b37beec6 100644 --- a/qortal-ui-core/language/hu.json +++ b/qortal-ui-core/language/hu.json @@ -1,562 +1,573 @@ { - "selectmenu": { - "selectlanguage": "Nyelv kiválasztása", - "languageflag": "hu", - "hungarian": "Maygar", - "english": "Angol", - "chinese1": "Kínai (Egyszerűsített)", - "chinese2": "Kínai (Hagyományos)", - "german": "Német", - "french": "Francia", - "polish": "Lengyel", - "spanish": "Spanyol" - }, - "sidemenu": { - "mintingdetails": "PÉNZVERÉSI RÉSZLETEK", - "wallets": "PÉNZTÁRCA", - "tradeportal": "KERESKEDELEM PORTÁL", - "rewardshare": "JUTALOM RÉSZVÉNY", - "nameregistration": "NÉV REGISZTRÁCIÓ", - "websites": "WEBHELY", - "datamanagement": "ADATKEZELÉS", - "qchat": "Q-CHAT", - "groupmanagement": "CSOPORTKEZELÉS", - "puzzles": "REJTVÉNYEK", - "nodemanagement": "CSOMÓPONTKEZELÉS" - }, - "login": { - "login": "Bejelentkezés", - "createaccount": "Fiók Létrehozása", - "name": "Elnevezés", - "address": "Cím", - "password": "Jelszó", - "youraccounts": "Fiókjai", - "clickto": "Kattintson a fiókjára a bejelentkezéshez", - "needcreate": "A bejelentkezés előtt létre kell hoznia vagy mentenie kell egy fiókot!", - "upload": "A Qortal biztonsági másolat feltöltése", - "howlogin": "Hogyan szeretne bejelentkezni?", - "seed": "Mag (seed)", - "seedphrase": "Szo Kifejezes (seed phrase)", - "saved": "Mentett Fiók", - "qora": "Qora Cím Szo Kifejezes (seed phrase)", - "backup": "Qortal pénztárca biztonsági mentése", - "decrypt": "Visszafejt biztonsági másolat", - "save": "Mentés ebben a böngészőben.", - "prepare": "Fiók előkészítése", - "areyousure": "Biztosan el akarja távolítani ezt a pénztárcát a mentett pénztárcákból?", - "error1": "A biztonsági másolatnak érvényes JSONnak kell lennie", - "error2": "Bejelentkezési beállítás nincs kijelölve", - "createwelcome": "Üdvözöljük a Qortalban. Meg fogja latni hogy hasonlit az RPG játékhoz. Mint a Qortal hálózat penzverője (ha úgy dönt, hogy csatlakozik), lehetősége lesz, hogy halladjon felfele a kulonbozo szinteken amilyek egyre tobb blokk dij es szavazati jogot biztosit a verok szamara es annal nagyob befolyasuk lesz a platform novekedeseben.", - "createa": "A", - "click": "Kattintson ide a szó kifejezés megtekintéséhez", - "confirmpass": "Jelszó megerősítése", - "willbe": "Véletlenszerűen generalodik a háttérben. Ez a jelszo generator lesz használva az On privát Qortal blokkchain-fiókjához.", - "clicknext": "Qortal-fiók létrehozása a TOVÁBB gombra kattintva", - "ready": "Fiókja készen áll a létrehozására. Ez a böngészőben lesz mentve. Ha nem szeretné, hogy új fiókját a böngészőbe mentse, törölje a jelet az alábbi jelölőnégyzetből. Továbbra is bejelentkezhet az új fiókjával (kijelentkezés után), a pénztárca biztonsági mentési fájljával, amelyet le kell töltenie a fiók létrehozása után.", - "welmessage": "Üdvözöljük a Qortalban", - "pleaseenter": "Kérjük, adjon meg egy jelszót!", - "notmatch": "A jelszavak nem egyeznek!", - "lessthen8": "A jelszó kevesebb, mint 8 karakter! Ez nem ajánlott. Továbbra is figyelmen kívül hagyhatja ezt a figyelmeztetést.", - "entername": "Adjon meg egy nevet!", - "downloaded": "Letöltődött a Wallet BackUp fájl!", - "loading": "Betöltés, kérjük, várjon...", - "createdseed": "A létrehozott magfrázis (seed phrase)", - "saveseed": "A magfrázis mentése", - "savein": "Mentés böngészőben", - "backup2": "Ez a fájl az egyetlen módja annak, hogy hozzáférjen fiókjához egy olyan rendszeren, amely nem menti az alkalmazásba / böngészőbe. GYŐZŐDJÖN MEG RÓLA, HOGY TÖBB HELYEN IS BIZTONSÁGI MÁSOLATOT KÉSZÍT A FÁJLRÓL. A fájl nagyon biztonságosan titkosítva van, és visszafejtődik az előző lépésben létrehozott helyi jelszóval. Bárhová biztonságosan mentheti, de győződjön meg róla, hogy ezt több helyen is megteheti.", - "savewallet": "Pénztárca biztonsági mentési fájl mentése", - "created1": "A fiók most jön létre", - "created2": " és mentésre kerül ebben a böngészőben.", - "downloadbackup": "Pénztárca biztonsági mentési fájl letöltése" - }, - "logout": { - "logout": "KIJELENTKEZES", - "confirmlogout": "Biztosan kijelentkezik?" - }, - "fragfile": { - "selectfile": "Fájl kijelölése", - "dragfile": "Húzza és dobja a biztonsági mentést" - }, - "settings": { - "generalinfo": "Általános Fiókadatok", - "address": "Cím", - "publickey": "Nyilvános Kulcs", - "settings": "Beállítások", - "account": "Fiók", - "security": "Biztonság", - "notifications": "Értesítések", - "accountsecurity": "Fiók Biztonsága", - "password": "Jelszó", - "download": "Biztonságimásolat-fájl letöltése", - "choose": "Válasszon egy jelszót a biztonsági mentés titkosításához. (Ez lehet ugyanaz, mint az, amelyikbe bejelentkezett, vagy más)", - "block": "Blokkolás értesítések (hamarosan...)", - "playsound": "Hang Lejátszása", - "shownotifications": "Értesítések Megjelenítése", - "nodeurl": "Csomópont URL-címe", - "nodehint": "Válasszon ki egy csomópontot a feltuntetet listából, vagy adjon hozzá egyéni csomópontot a fenti listához a lenti gombra kattintva.", - "addcustomnode": "Egyéni csomópont hozzáadása", - "addandsave": "Hozzáadás és mentés", - "protocol": "Protokoll", - "domain": "Tartomány", - "port": "Kikötő" - }, - "appinfo": { - "blockheight": "Blokk Magassága", - "uiversion": "UI Verzió", - "coreversion": "Alap Software Verzió", - "minting": "(Penzverés)", - "synchronizing": "Szinkronizálás" - }, - "walletprofile": { - "minterlevel": "Pénzverő Szint", - "blocksminted": "Pénzvert Blokkok" - }, - "general": { - "yes": "Igen", - "no": "Nem", - "confirm": "Megerősít", - "decline": "Visszautasít", - "open": "Nyit", - "close": "Bezár", - "back": "Vissza", - "next": "Következő", - "create": "Létrehozáshoz", - "continue": "Folytatás", - "save": "Mentés" - }, - "mintingpage": { - "mchange1": "Általános Pénzverés Részletei", - "mchange2": "Blokkchain Statisztika", - "mchange3": "Átlagos Qortal-Blokkolási Idő", - "mchange4": "Átlagos Blokkok Naponta", - "mchange5": "Átlagos Létrehozott QORT Naponta", - "mchange6": "Penzverés Számlaadatok", - "mchange7": "Nem Penzverő", - "mchange8": "Penzverés", - "mchange9": "Nem Tortenik Penzverés", - "mchange10": "Fiók Adatok Aktiválása", - "mchange11": "Nincs Aktiválva", - "mchange12": "Fiók Aktiválása", - "mchange13": "Bevezetés", - "mchange14": "A fiók aktiválásához kimenő tranzakcióra van szükség. A névregisztráció a leggyakoribb módszer. Megkérhet valakit a Q-Chatben, hogy küldjön önnek egy kis mennyiségű QORT-t, hogy aktiválhassa fiókját, vagy vásároljon QORT-t a Trade Portalon belül. Majd végezzen barmilyen kimenő tranzakciót, hogy biztosítsa nyilvános kulcsát a blokkchainen. Amíg ezt nem teszi meg, a nyilvános kulcs csak Ön ismeri a felhasználói felületén, és senki más nem tudja kiszedni a nyilvános kulcsot a láncból.", - "mchange15": "Aktuális Állapot", - "mchange16": "Aktuális Szint", - "mchange17": "Blokkok A Következő Szintre", - "mchange18": "Ha 0 - 24 oraban fojtatja a pénzverést elérheti a szintet", - "mchange19": "Pénzverő Jutalmak Adatai", - "mchange20": "Aktuális Szint", - "mchange21": "Összes Pénzverő A Szinten", - "mchange22": "Rétegmegosztás Blokkonként", - "mchange23": "Becsült Jutalom Blokkonként", - "mchange24": "Becsült Jutalom Naponta", - "mchange25": "Másodperc", - "mchange26": "Blokkok", - "mchange27": "Szint", - "mchange28": "Csoport", - "mchange29": "Napok", - "mchange30": "Pénzverők", - "mchange31": "Segítségért Nyomja Meg A Gombot", - "mchange32": "Legyen Pénzverő", - "mchange33": "Bevezetés", - "mchange34": "Ahoz hogy a Qortalban, pénzverővé váljon, és elkezdjen QORT jutalmakat szerezni a penzvero szint növelésével, először 'szponzoráciot' kell szerezni. A Qortal szponzora bárki lehet aki már az 5 vagy annál magasabb szinten pénzverő, vagy qortal alapító. A szponzortol kapot kulcssal tud eljutni az elso szintig ahol a sajat penzveroi kulcsat letre tudja hozni az. Miután elérte az 1. szintet, létrehozhatja saját penzverési kulcsát, és amivel el kezdheti gyujteni a jutalmakat a segitve a Qortal Blockchain biztosításágát.", - "mchange35": "Szponzorálás", - "mchange36": "A szponzortol kapot 'szponzorációs kulcs' a csomópontodhoz valo hozzaadasa uttan, elkezdodik a penzveres (jutalom nélkül, amíg el nem éri az elso szintet.) Amint eléri az 1. szintet, létrehozza es hozzárendeli saját 'Pénzverő Kulcsát', és elkezdi keresni a jutalmakat. XXXX blokkok maradnak a szponzorációs időszakban", - "mchange37": "Egyszerűen lépjen kapcsolatba egy Qortal-i pénzverovel, aki elég magas szinten van ahhoz, hogy kiadjon egy szponzorációs kulcsot, amivel ide visszaterve el tudja kezdeni a penzveréshez vezeto útat!", - "mchange38": "Ben" - }, - "walletpage": { - "wchange1": "Egyenleg lekérése...", - "wchange2": "Jelenlegi Pénztárca", - "wchange3": "Pénztárca Címének Másolás a Vágólapra", - "wchange4": "Vágólapra Másolt Cím", - "wchange5": "Tranzakció Részletei", - "wchange6": "Tranzakció Típusa", - "wchange7": "KI", - "wchange8": "BEN", - "wchange9": "Feladó", - "wchange10": "Vevőkészülék", - "wchange11": "Mennyiség", - "wchange12": "Tranzakciós Díj", - "wchange13": "Blokk", - "wchange14": "Idő", - "wchange15": "Tranzakció Aláírása", - "wchange16": "Tranzakció 'Hash'", - "wchange17": "Küld", - "wchange18": "Feladó Címe", - "wchange19": "Rendelkezésre álló egyenleg", - "wchange20": "Címzett (cím vagy név)", - "wchange21": "Aktuális statikus díj:", - "wchange22": "Pénztárca", - "wchange23": "Címzett (cím)", - "wchange24": "Aktuális díj bájtonként", - "wchange25": "Az alacsony díjak lassú vagy meg nem erősített tranzakciókat eredményezhetnek.", - "wchange26": "Nincs Elegendő Pénz!", - "wchange27": "Érvénytelen összeg!", - "wchange28": "A vevő nem lehet üres!", - "wchange29": "Érvénytelen vevő!", - "wchange30": "A tranzakció sikeres!", - "wchange31": "A tranzakció sikertelen!", - "wchange32": "Nem sikerült lekérni a QORT-egyenleget. Próbáld újra!", - "wchange33": "Nem sikerült beolvasni", - "wchange34": "Mérleg. Próbáld újra!", - "wchange35": "Típus", - "wchange36": "Díj", - "wchange37": "Teljes Mennyiség", - "wchange38": "A címnek még nincs tranzakciója.", - "wchange39": "Nem lehet másolni a címet.", - "wchange40": "FIZETÉS", - "wchange41": "Állapot", - "wchange42": "Visszaigazolások" - }, - "tradepage": { - "tchange1": "Kereskedelmi Portál", - "tchange2": "Kereskedési Pár Kiválasztása", - "tchange3": "TÖRTÉNELMI PIACI KERESKEDÉSEK", - "tchange4": "SAJÁT KERESKEDELMI TÖRTÉNETEM", - "tchange5": "NYÍLT PIACI ELADÁSI MEGBÍZÁSOK", - "tchange6": "SAJÁT MEGRENDELÉSEK", - "tchange7": "Beragadt Ajánlatok", - "tchange8": "Mennyiség", - "tchange9": "Ár", - "tchange10": "Teljes", - "tchange11": "Dátum", - "tchange12": "Állapot", - "tchange13": "Eladó", - "tchange14": "Ár per", - "tchange15": "Űrlap Törlése", - "tchange16": "Van", - "tchange17": "Akció", - "tchange18": "VESZ", - "tchange19": "ELAD", - "tchange20": "Nem sikerült létrehozni a kereskedelmet. Próbáld újra!", - "tchange21": "Nem sikerült létrehozni a kereskedelmet. Hibakód", - "tchange22": "Elégtelen Alapok!", - "tchange23": "Sikeres vásárlási kérelem!", - "tchange24": "Meglévő vételi kérelem!", - "tchange25": "Nem sikerült létrehozni a kereskedelmet. Hibakód", - "tchange26": "Folyamatban van a kereskedelem törlése!", - "tchange27": "Nem sikerült megszakítani a kereskedést. Próbáld újra!", - "tchange28": "Nem sikerült megszakítani a kereskedést. Hibakód", - "tchange29": "ÉRVÉNYTELENÍT", - "tchange30": "Nem sikerült lekérni az egyenleget. Próbáld újra!", - "tchange31": "ELADOTT", - "tchange32": "VÁSÁROLT" - }, - "rewardsharepage": { - "rchange1": "Jutalommegosztások", - "rchange2": "Jutalommegosztás Létrehozása", - "rchange3": "Jutalommegosztások, Amelyek Ebben a Fiókban Szerepelnek", - "rchange4": "Penzerő fiók", - "rchange5": "Részvény Százaléka", - "rchange6": "Címzett", - "rchange7": "Akció", - "rchange8": "Típus", - "rchange9": "Az 1- 4. szint létrehozhat egy önmegosztást, és az 5. vagy annál magasabb szint jutalommegosztást hozhat létre!", - "rchange10": "Címzett Nyilvános Kulcsa", - "rchange11": "Jutalomrészesedési Százalék", - "rchange12": "Valami Finomat Csinál", - "rchange13": "Penzverő Fiók Hozzáadása", - "rchange14": "Hozzáad", - "rchange15": "A számla nem vesz részt jutalomrészesedésekben", - "rchange16": "Saját Jutalommegosztás", - "rchange17": "Eltávolít", - "rchange18": "Nem lehet több jutalommegosztást létrehozni!", - "rchange19": "Nem Hozható Létre Több Önmegosztás!", - "rchange20": "NEM HOZHAT LÉTRE JUTALOMMEGOSZTÁST! Önrészesedések szintjén", - "rchange21": "Jutalommegosztás Sikeres!", - "rchange22": "Sikeresen Eltávolított Jutalommegosztás!" - }, - "registernamepage": { - "nchange1": "Név Regisztrációja", - "nchange2": "Jegyzék Neve", - "nchange3": "Regisztrált Nevek", - "nchange4": "Avatar", - "nchange5": "Elnevezés", - "nchange6": "Tulajdonos", - "nchange7": "Akció", - "nchange8": "Nincs név, amelyet ez a fiók regisztrálna!", - "nchange9": "Név Regisztrálása!", - "nchange10": "Leírás (nem kötelező)", - "nchange11": "Valami finomat csinál", - "nchange12": "Név Regisztrálása", - "nchange13": "Az aktuális névregisztrációs díj", - "nchange14": "Regisztráció", - "nchange15": "Avatar Beállítása", - "nchange16": "Alap Software Frissítésre Van Szükség", - "nchange17": "A Név Már Létezik!", - "nchange18": "Sikeres Névregisztráció!" - }, - "websitespage": { - "schange1": "Webhelyek Böngészése", - "schange2": "Követett Webhelyek", - "schange3": "Letiltott Webhelyek", - "schange4": "Webhelyek Keresése", - "schange5": "Avatar", - "schange6": "Részletek", - "schange7": "Közzétette", - "schange8": "Műveletek", - "schange9": "Weboldalak", - "schange10": "Nincs elérhető webhely", - "schange11": "Az Ön által követett webhelyek", - "schange12": "Követett webhelyek", - "schange13": "Nem követsz egyetlen webhelyet sem", - "schange14": "Az Ön letiltott webhelyei", - "schange15": "Letiltott webheylek", - "schange16": "Nem blokkolt egyetlen webhelyet sem", - "schange17": "A név nem található!", - "schange18": "A továbbítási mód engedélyezve van. Ez azt jelenti, hogy a csomópont segít a titkosított adatok hálózaton belüli továbbításában, amikor egy társ kéri. Leiratkozhat, ha beállítja.", - "schange19": "ben", - "schange20": "A továbbítási mód le van tiltva. Ezt engedélyezheti, ha beállítja ", - "schange21": "Webhely Közzététele", - "schange22": "Hiba történt a regisztrált név követésekor. Próbálkozzon újra!", - "schange23": "Hiba történt, amikor megpróbálta megszüntetni a regisztrált név követését Próbálkozzon újra!", - "schange24": "Hiba történt a regisztrált név blokkolása közben.. Próbálkozzon újra!", - "schange25": "Hiba történt a regisztrált név blokkolásának feloldásakor. Próbálkozzon újra!", - "schange26": "Nem Kategorizált", - "schange27": "Méret", - "schange28": "Állapot", - "schange29": "Követ", - "schange30": "Követés Megszüntetése", - "schange31": "Blokkolas", - "schange32": "Vissza Enged", - "schange33": "Keresendő Név", - "schange34": "A név nem lehet üres!", - "schange35": "Keresés" - }, - "publishpage": { - "pchange1": "Közzétesz", - "pchange2": "Frissítés", - "pchange3": "Megjegyzés: javasoljuk, hogy az adatok tárolása előtt állítsa be a port továbbítást, hogy a hálózat társai könnyebben hozzáférhessenek hozzá.", - "pchange4": "Név Kiválasztása", - "pchange5": "Cím", - "pchange6": "Leírás", - "pchange7": "Kategória Kiválasztása", - "pchange8": "Címke", - "pchange9": "Szolgáltatás", - "pchange10": "Azonosító", - "pchange11": "Közzétesz", - "pchange12": "Statikus tartalmat tartalmazó zip fájl kijelölése", - "pchange13": "Statikus fájlok helyi elérési útja", - "pchange14": "Válasszon egy regisztrált nevet, amelyhez adatokat szeretne közzétenni.", - "pchange15": "Válassza ki a tárolni kívánt fájlt", - "pchange16": "Válasszon ki egy zip fájlt a gazdaszervezethez", - "pchange17": "Adja meg a statikus tartalmat tartalmazó könyvtár elérési útját.", - "pchange18": "Adjon meg egy szolgáltatásnevet.", - "pchange19": "Adatok feldolgozása... Ez eltarthat egy ideig...", - "pchange20": "Hibas:", - "pchange21": "Belső kiszolgálóhiba az adatok közzétételekor", - "pchange22": "A munka igazolásának számítása... Ez eltarthat egy ideig...", - "pchange23": "A tranzakció sikeres!", - "pchange24": "Nem lehet aláírni és feldolgozni a tranzakciót", - "pchange25": "Fájl Kiválasztása" - }, - "browserpage": { - "bchange1": "Előre", - "bchange2": "Újratöltés", - "bchange3": "Vissza a listahoz", - "bchange4": "Töröl", - "bchange5": "csomópontból", - "bchange6": "A böngésző nem támogatja az iframe-eket.", - "bchange7": "Követ", - "bchange8": "Követés Megszüntetése", - "bchange9": "Blokk", - "bchange10": "Blokkolás Megszüntetése", - "bchange11": "Hiba történt a regisztrált név követésekor. Próbálkozzon újra!", - "bchange12": "Hiba történt, amikor megpróbálta megszüntetni a regisztrált név követését. Próbálkozzon újra!", - "bchange13": "Hiba történt a regisztrált név letiltásakor. Próbálkozzon újra!", - "bchange14": "Hiba történt a regisztrált név blokkolásának feloldásakor. Próbálkozzon újra!", - "bchange15": "Nem lehet adatokat törölni a követett nevekből. Először szüntesse meg a követést.", - "bchange16": "Hiba történt az erőforrás törlésekor. Próbálkozzon újra!" - }, - "datapage": { - "dchange1": "Adatkezelés", - "dchange2": "Keresés a csomópont által szálló adatok között", - "dchange3": "Keresendő adatok", - "dchange4": "Kereses", - "dchange5": "Regisztrált Név", - "dchange6": "Szolgáltatás", - "dchange7": "Azonosító", - "dchange8": "Műveletek", - "dchange9": "A csomópont által üzemeltetett adatok", - "dchange10": "Az adatnév nem lehet üres!", - "dchange11": "Az adatok nem találhatók!", - "dchange12": "Nem sikerült lekérni a kihelyezett adatlistát a csomópontról", - "dchange13": "Ez a csomópont nem tárol adatokat", - "dchange14": "Követés megszüntetése", - "dchange15": "Töröl", - "dchange16": "Blokk", - "dchange17": "Felszabadít", - "dchange18": "Hiba történt a regisztrált név letiltásakor. Próbálkozzon újra!", - "dchange19": "Hiba történt, amikor megpróbálta megszüntetni a regisztrált név követését. Próbálkozzon újra!", - "dchange20": "Hiba történt a regisztrált név blokkolásának feloldásakor. Próbálkozzon újra!", - "dchange21": "Hiba történt az erőforrás törlésekor. Próbálkozzon újra!" - }, - "chatpage": { - "cchange1": "Új Privát Üzenet", - "cchange2": "Berakás...", - "cchange3": "Letiltott Felhasználók", - "cchange4": "Új Üzenet", - "cchange5": "(Kattintson a lefelé görgetéshez)", - "cchange6": "Írja be annak a nevét vagy címét, akivel csevegni szeretne, hogy privát üzenetet küldjön!", - "cchange7": "Név / Cím", - "cchange8": "Üzenet...", - "cchange9": "Küld", - "cchange10": "Letiltott Felhasználók Listája", - "cchange11": "Név", - "cchange12": "Tulajdonos", - "cchange13": "Akció", - "cchange14": "Ez a fiók egyetlen felhasználót sem blokkolt.", - "cchange15": "Nincs bejegyzett név", - "cchange16": "A felhasználó blokkolásának a feloldása sikeres.", - "cchange17": "Hiba történt a felhasználó blokkolásának feloldásakor. Próbálkozzon újra!", - "cchange18": "Felszabadít", - "cchange19": "Érvénytelen Név / Cím, Ellenőrizze a nevet / címet és újrapróbálkozon...", - "cchange20": "Az üzenet elküldése sikeresen megtörtént!", - "cchange21": "A küldés sikertelen, próbálkozzon újra...", - "cchange22": "Üzenetek Betöltése...", - "cchange23": "Az Üzenet Nem Visszafejthető!", - "cchange24": "Üzenetenkénti maximális karakterszám 255" - }, - "welcomepage": { - "wcchange1": "Üdvözöljük a Q-Chatben", - "wcchange2": "Új Privát Üzenet", - "wcchange3": "Írja be annak a nevét vagy címét, akivel csevegni szeretne, hogy privát üzenetet küldjön!", - "wcchange4": "Név / Cím", - "wcchange5": "Üzenet...", - "wcchange6": "Küld", - "wcchange7": "Érvénytelen Név / Cím, Ellenőrizze a nevet / Cím, és próbálkozzon újra", - "wcchange8": "Az üzenet elküldése sikeresen megtörtént!", - "wcchange9": "A küldés sikertelen, próbálkozzon újra..." - }, - "blockpage": { - "bcchange1": "blokk", - "bcchange2": "Sikeresen letiltotta ezt a felhasználót!", - "bcchange3": "Hiba történt a felhasználó letiltásakor. Próbálkozzon újra!", - "bcchange4": "Nincs bejegyzett név" - }, - "grouppage": { - "gchange1": "Qortal Csoportok", - "gchange2": "Csoport Létrehozása", - "gchange3": "Az Ön által Egyesített Csoportok", - "gchange4": "Csoport Név", - "gchange5": "Leírás", - "gchange6": "Szerep", - "gchange7": "Akció", - "gchange8": "Nem tagja egyetlen csoportnak sem!", - "gchange9": "Nyilvános Csoportok", - "gchange10": "Tulajdonos", - "gchange11": "Nyilvános Csoport Nem Elerheto!", - "gchange12": "Új Csoport Létrehozása", - "gchange13": "Csoport Típusa", - "gchange14": "Sukseges ez a Mező Kitoltese", - "gchange15": "Válasszon Egy Beállítást", - "gchange16": "Nyilvános", - "gchange17": "Privát", - "gchange18": "Csoport jóváhagyási küszöbértéke (a tranzakciót jóváhagyó rendszergazdák száma / százaléka):", - "gchange19": "EGYIK SEM", - "gchange20": "EGY", - "gchange21": "Csoporttranzakció-jóváhagyások minimális blokk késleltetése:", - "gchange22": "percek", - "gchange23": "óra", - "gchange24": "órak", - "gchange25": "nap", - "gchange26": "napok", - "gchange27": "Csoporttranzakció jóváhagyásaihoz kapcsolodo maximális blokk késedelem:", - "gchange28": "Csoport Létrehozása", - "gchange29": "Csoport Létrehozása", - "gchange30": "Csatlakozás Csoportkérelemhez", - "gchange31": "Létrehozás Dátuma", - "gchange32": "Frissítés Dátuma", - "gchange33": "Csatlakozás", - "gchange34": "Csatlakozás Csoporthoz", - "gchange35": "Csoportkérelem Elhagyása", - "gchange36": "Kilépes", - "gchange37": "Csoport Elhagyása", - "gchange38": "Csoport Tulajdonosának Kezelése:", - "gchange39": "Csoport 'Admin' Kezelése:", - "gchange40": "Csoport Kezelése", - "gchange41": "A Csoport Létrehozása Sikeres!", - "gchange42": "Érvénytelen Csoportnév", - "gchange43": "Érvénytelen Csoportleírás", - "gchange44": "Csoporttípus Kiválasztása", - "gchange45": "Csoport jóváhagyási küszöbértékének kiválasztása", - "gchange46": "A csoporttranzakció jóváhagyások minimális blokk-késleltetésének kiválasztása", - "gchange47": "Csoporttranzakció jóváhagyások maximális blokkolási késleltetésének kiválasztása", - "gchange48": "Csatlakozás a Csoportkérelemhez Sikeresen Elküldot!", - "gchange49": "A Csoportkérelem Sikeres Elküldésének Elhagyása!", - "gchange50": "Elhagy", - "gchange51": "Csatlakoz", - "gchange52": "Admin", - "gchange53": "Tag" - }, - "puzzlepage": { - "pchange1": "Rejtvények", - "pchange2": "Jutalom", - "pchange3": "Megoldota", - "pchange4": "Név", - "pchange5": "Leírás", - "pchange6": "Nyom / Válasz", - "pchange7": "Akció", - "pchange8": "Kitalál", - "pchange9": "Adja meg a tippjét, hogy megoldja ezt a rejtvényt, és nyerjen", - "pchange10": "A tippnek 43 vagy 44 karakternek kell lennie, és", - "pchange11": "nem", - "pchange12": "tartalmaz 0 (nul), I (felső i), O (felső o) or l (alső L).", - "pchange13": "A Tipped", - "pchange14": "A találgatás ellenőrzése...", - "pchange15": "Előterjeszt", - "pchange16": "A találgatás helytelen!", - "pchange17": "Benyújtott jutalomigény - ellenőrizze a pénztárcát jutalomért!" - }, - "nodepage": { - "nchange1": "Csomópontkezelés:", - "nchange2": "A csomópont online állapotban van:", - "nchange3": "Csomópontnak a penzverési fiokok", - "nchange4": "Penzverő fiok hozzáadása", - "nchange5": "Ha saját fiókkal szeretne penzt verni, akkor létre kell hoznia egy sajat jutalommegosztási tranzakciót (a jutalomrészesedési százalék 0-ra állítva), majd jutalom a részvény kulcs hasznalataval tud elkezdeni penzt verni.", - "nchange6": "Jutalommegosztási Kulcs", - "nchange7": "Penzverő Fiók Hozzáadása", - "nchange8": "Hozzáadas", - "nchange9": "Penzverési Fiók", - "nchange10": "Címzett Fiók", - "nchange11": "Akció", - "nchange12": "Eltávolít", - "nchange13": "Nem található penzverési fiók ehhez a csomóponthoz", - "nchange14": "A csomóponthoz csatlakoztatott társak", - "nchange15": "Társ Hozzáadása", - "nchange16": "Írja be a hozzáadni kívánt társnak a címét alul", - "nchange17": "Társ Címe", - "nchange18": "Cím", - "nchange19": "Utolsó Magasság", - "nchange20": "Építet Verzió", - "nchange21": "Csatlakoztatva a következőhöz", - "nchange22": "Akció", - "nchange23": "Szinkronizálás Kényszerítése", - "nchange24": "A csomópontnak nincsenek csatlakoztatott társai", - "nchange25": "Szinkronizálás indítása társsal: ", - "nchange26": "Sikeresen eltávolított társ: ", - "nchange27": "Sikerült Hozzáadni a Penzverési Csomópontot!", - "nchange28": "Nem Sikerült Hozzáadni a Penzverési Csomópontot!", - "nchange29": "Sikerült Eltávolítani a Penzverési Fiókot!", - "nchange30": "Nem Sikerült Eltávolítani a Penzverési Fiókot!", - "nchange31": "Csomópont Leállítás", - "nchange32": "Sikeresen Elküldött Lealitas Kervenyezes!" - }, - "transpage": { - "tchange1": "Tranzakciós Kérelem", - "tchange2": "Visszautasít", - "tchange3": "Megerősít", - "tchange4": "Hoz", - "tchange5": "Mennyiség" - }, - "apipage": { - "achange1": "API-kulcs hozzáadása", - "achange2": "API-kulcs", - "achange3": "Adja meg a csomópont API-kulcsát. Megtalálható az 'apikey.txt' nevű fájlban abban a könyvtárban, ahol a alap software telepítve van. Másik lehetőségként kattintson a Mégse gombra a csökkentett funkcionalitású alap használatához.", - "achange4": "Érvénytelenít", - "achange5": "Hozzáad", - "achange6": "Sikeresen hozzáadta az API-kulcsot", - "achange7": "Az API-kulcs hibás, nincs API-kulcs hozzáadva" + "selectmenu": { + "selectlanguage": "Nyelv kiválasztása", + "languageflag": "hu", + "english": "Angol", + "chinese1": "Kínai (Egyszerűsített)", + "chinese2": "Kínai (Hagyományos)", + "german": "Német", + "french": "Francia", + "polish": "Lengyel", + "spanish": "Spanyol", + "hindi": "Hindi", + "croatian": "Horvát", + "portuguese": "Portugál", + "hungarian": "Magyar", + "serbian": "Szerb", + "italian": "Olasz" + }, + "sidemenu": { + "mintingdetails": "VERÉSI RÉSZLETEK", + "wallets": "Pénztárca", + "tradeportal": "KERESKEDELEM PORTÁL", + "rewardshare": "JUTALOM RÉSZVÉNY", + "nameregistration": "NÉV REGISZTRÁCIÓ", + "websites": "WEBHELY", + "datamanagement": "ADATKEZELÉS", + "qchat": "Q-CHAT", + "groupmanagement": "CSOPORTKEZELÉS", + "puzzles": "REJTVÉNYEK", + "nodemanagement": "CSOMÓPONTKEZELÉS" + }, + "login": { + "login": "Bejelentkezés", + "createaccount": "Fiók Létrehozása", + "name": "Elnevezés", + "address": "Cím", + "password": "Jelszó", + "youraccounts": "Fiókjai", + "clickto": "Kattintson a fiókjára a bejelentkezéshez", + "needcreate": "A bejelentkezés előtt létre kell hoznia vagy mentenie kell egy fiókot!", + "upload": "A Qortal biztonsági másolat feltöltése", + "howlogin": "Hogyan szertne bejelentkezni?", + "seed": "Mag", + "seedphrase": "Magfrázis", + "saved": "Mentett fiók", + "qora": "Qora címmag", + "backup": "Qortal pénztárca biztonsági mentése", + "decrypt": "Visszafejt biztonsági másolat", + "save": "Mentés ebben a böngészőben.", + "prepare": "Fiók előkészítése", + "areyousure": "Biztosan el akarja távolítani ezt a pénztárcát a mentett pénztárcákból?", + "error1": "A biztonsági másolatnak érvényes JSONnak kell lennie", + "error2": "Bejelentkezési beállítás nincs kijelölve", + "createwelcome": "Üdvözöljük a Qortalban, úgy fogja találni, hogy hasonló az RPG játékhoz. Mint a Qortal hálózat verője (ha úgy dönt, hogy eggyé válik), lehetősége lesz arra, hogy kiegyenlítse fiókját. Ez mind a QORT blokk jutalmát, mind a nagyobb befolyást biztosítja a hálózatra a platformra vonatkozó döntésekről szóló szavazás tekintetében.", + "createa": "A", + "click": "Kattintson ide a magfrázis megtekintéséhez", + "confirmpass": "Jelszó megerősítése", + "willbe": "Véletlenszerűen jön létre a háttérben. Ezt használják a Qortal blokklánc-fiókjához tartozó privát kulcsgenerátorként.", + "clicknext": "Qortal-fiók létrehozása az alábbi TOVÁBB/NEXT gombra kattintva", + "ready": "Fiókja készen áll a létrehozására. Ez a böngészőben lesz mentve.Ha nem szeretné, hogy új fiókját a böngészőbe mentse, törölje a jelet az alábbi jelölőnégyzetből. Továbbra is bejelentkezhet az új fiókjával (kijelentkezés után), a pénztárca biztonsági mentési fájljával, amelyet le kell töltenie a fiók létrehozása után.", + "welmessage": "Üdvözöljük a Qortalban", + "pleaseenter": "Kérjük, adjon meg egy jelszót!", + "notmatch": "A jelszavak nem egyeznek!", + "lessthen8": "A jelszó kevesebb, mint 8 karakter! Ez nem ajánlott. Továbbra is figyelmen kívül hagyhatja ezt a figyelmeztetést.", + "entername": "Adjon meg egy nevet!", + "downloaded": "Letöltődött a Wallet BackUp fájl!", + "loading": "Betöltés, kérjük, várjon...", + "createdseed": "A létrehozott magfrázis", + "saveseed": "A magfrázis mentése", + "savein": "Mentés böngészőben", + "backup2": "Ez a fájl az egyetlen módja annak, hogy hozzáférjen fiókjához egy olyan rendszeren, amely nem menti az alkalmazásba / böngészőbe. GYŐZŐDJÖN MEG RÓLA, HOGY TÖBB HELYEN IS BIZTONSÁGI MÁSOLATOT KÉSZÍT A FÁJLRÓL. A fájl nagyon biztonságosan titkosítva van, és visszafejtődik az előző lépésben létrehozott helyi jelszóval.Bárhová biztonságosan mentheti, de győződjön meg róla, hogy ezt több helyen is megteheti.", + "savewallet": "Pénztárca biztonsági mentési fájl mentése", + "created1": "A fiók most jön létre", + "created2": " és mentésre kerül ebben a böngészőben.", + "downloadbackup": "Pénztárca biztonsági mentési fájl letöltése" + }, + "logout": { + "logout": "KIJELENTKEZIK", + "confirmlogout": "Biztosan kijelentkezik?" + }, + "fragfile": { + "selectfile": "Fájl kijelölése", + "dragfile": "Biztonsági mentés húzása ide" + }, + "settings": { + "generalinfo": "Általános fiókadatok", + "address": "Cím", + "publickey": "Nyilvános kulcs", + "settings": "Beállítások", + "account": "Fiók", + "security": "Biztonság", + "notifications": "Értesítések", + "accountsecurity": "Fiók biztonsága", + "password": "Jelszó", + "download": "Biztonságimásolat-fájl letöltése", + "choose": "Válasszon egy jelszót a biztonsági mentés titkosításához. (Ez lehet ugyanaz, mint az, amelyikbe bejelentkezett, vagy más)", + "block": "Értesítések blokkolása (hamarosan...)", + "playsound": "Hang lejátszása", + "shownotifications": "Értesítések megjelenítése", + "nodeurl": "Csomópont URL-címe", + "nodehint": "Válasszon ki egy csomópontot a fenti csomópontok alapértelmezett listájából, vagy adjon hozzá egyéni csomópontot a fenti listához az alábbi gombra kattintva.", + "addcustomnode": "Egyéni csomópont hozzáadása", + "addandsave": "Hozzáadás és mentés", + "protocol": "Protokoll", + "domain": "Tartomány", + "port": "Kikötő" + }, + "appinfo": { + "blockheight": "Blokk Magassága", + "uiversion": "UI Verzió", + "coreversion": "Mag verzió", + "minting": "(Verés)", + "synchronizing": "Szinkronizálása" + }, + "walletprofile": { + "minterlevel": "Pénzverő Szint", + "blocksminted": "Vert blokkok" + }, + "general": { + "yes": "Igen", + "no": "Nem", + "confirm": "Megerősít", + "decline": "Visszautasít", + "open": "Nyit", + "close": "Bezár", + "back": "Vissza", + "next": "Következő", + "create": "Létrehozáshoz", + "continue": "Folytatódik/folytatáshoz", + "save": "Mentéshez" + }, + "mintingpage": { + "mchange1": "Általános Pénzverés Részletei", + "mchange2": "Blokklánc Statisztika", + "mchange3": "Átlagos Qortal-Blokkolási Idő", + "mchange4": "Átlagos Blokkok Naponta", + "mchange5": "Átlagos Létrehozott QORT Naponta", + "mchange6": "Számlaadatok Verése", + "mchange7": "Nem Egy Verő", + "mchange8": "Verés", + "mchange9": "Nem Verés", + "mchange10": "Fiókadatok Aktiválása", + "mchange11": "Nincs Aktiválva", + "mchange12": "Fiók Aktiválása", + "mchange13": "Bevezetés", + "mchange14": "A fiók aktiválásához kimenő tranzakcióra van szükség. A névregisztráció a leggyakoribb módszer. Megkérhet valakit a Q-Chatben, hogy küldjön önnek egy kis mennyiségű QORT-t, hogy aktiválhassa fiókját, vagy vásároljon QORT-t a Trade Portalon belül, majd végezzen kimenő tranzakciót bármilyen módon, és biztosítsa nyilvános kulcsát a blokkláncon. Amíg ezt nem teszi meg, a nyilvános kulcs csak Ön ismeri a felhasználói felületén, és senki más nem tudja kihúzni a nyilvános kulcsot a láncból.", + "mchange15": "Aktuális Állapot", + "mchange16": "Aktuális Szint", + "mchange17": "Blokkok A Következő Szintre", + "mchange18": "Ha továbbra is verés 24 / 7 akkor eléri a szintet", + "mchange19": "Pénzverő jutalmak adatai", + "mchange20": "Aktuális Szint", + "mchange21": "Összes Pénzverő A Rétegben", + "mchange22": "Rétegmegosztás Blokkonként", + "mchange23": "Becsült Jutalom Blokkonként", + "mchange24": "Becsült Jutalom Naponta", + "mchange25": "Másodperc", + "mchange26": "Blokkok", + "mchange27": "Szint", + "mchange28": "Tier", + "mchange29": "Napok", + "mchange30": "Minters", + "mchange31": "Segítségért Nyomja Meg A Gombot", + "mchange32": "Legyen Pénzverő", + "mchange33": "Bevezetés", + "mchange34": "A Qortalban ahhoz, hogy pénzverővé váljon, és elkezdjen QORT jutalmakat keresni a Minter szint növelésével, először 'szponzorálttá' kell válnia. A Qortal szponzora bármely más 5. vagy annál magasabb szintű pénzverő, vagy qortal alapító.Szponzori kulcsot kap a szponzortól, és ezt a kulcsot használja az 1. szintre való eljutáshoz. Miután elérte az 1. szintet, létrehozhatja saját verési kulcsát, és elkezdhet jutalmakat keresni a Qortal Blockchain biztosításáért.", + "mchange35": "Szponzorálás", + "mchange36": "A szponzorod kiad neked egy 'szponzorációs kulcsot', amelyet a csomópontodhoz való hozzáadáshoz fogsz használni, és elkezd verni (jutalom nélkül, amíg el nem éri a szintet 1.) Amint eléri az 1. szintet, létrehozza / hozzárendeli saját 'pénzverő kulcsát', és elkezdi keresni a jutalmakat XXXX blokkok maradnak a szponzorációs időszakban", + "mchange37": "Egyszerűen lépjen kapcsolatba egy Qortal-i pénzverdével, aki elég magas ahhoz, hogy kiadjon egy szponzorációs kulcsot, megszerezze azt a kulcsot, majd jöjjön vissza ide, és adja meg a kulcsot a verési út megkezdéséhez!", + "mchange38": "Ben" + }, + "walletpage": { + "wchange1": "Egyenleg lekérése...", + "wchange2": "Jelenlegi Pénztárca", + "wchange3": "Copy wallet address to clipboard", + "wchange4": "Pénztárca címének másolása vágólapra", + "wchange5": "Tranzakció Részletei", + "wchange6": "Tranzakció Típusa", + "wchange7": "KI", + "wchange8": "BEN", + "wchange9": "Feladó", + "wchange10": "Vevőkészülék", + "wchange11": "Mennyiség", + "wchange12": "Tranzakciós Díj", + "wchange13": "Blokk", + "wchange14": "Idő", + "wchange15": "Tranzakció Aláírása", + "wchange16": "Tranzakció Hash", + "wchange17": "Küld", + "wchange18": "Feladó Címe", + "wchange19": "Rendelkezésre álló egyenleg", + "wchange20": "Címzett (cím vagy név)", + "wchange21": "Aktuális statikus díj:", + "wchange22": "Pénztárca", + "wchange23": "Címzett (cím)", + "wchange24": "Aktuális díj bájtonként", + "wchange25": "Az alacsony díjak lassú vagy meg nem erősített tranzakciókat eredményezhetnek.", + "wchange26": "Nincs elegendő pénz!", + "wchange27": "Érvénytelen összeg!", + "wchange28": "A vevő nem lehet üres!", + "wchange29": "Érvénytelen vevő!", + "wchange30": "A tranzakció sikeres!", + "wchange31": "A tranzakció sikertelen!", + "wchange32": "Nem sikerült lekérni a QORT-egyenleget. Próbáld újra!", + "wchange33": "Nem sikerült beolvasni", + "wchange34": "Mérleg. Próbáld újra!", + "wchange35": "Típus", + "wchange36": "Díj", + "wchange37": "Teljes Mennyiség", + "wchange38": "A címnek még nincs tranzakciója.", + "wchange39": "Nem lehet másolni a címet.", + "wchange40": "FIZETÉS", + "wchange41": "Állapot", + "wchange42": "Visszaigazolások" + }, + "tradepage": { + "tchange1": "Kereskedelmi Portál", + "tchange2": "Kereskedési Pár Kiválasztása", + "tchange3": "TÖRTÉNELMI PIACI KERESKEDÉSEK", + "tchange4": "SAJÁT KERESKEDELMI TÖRTÉNETEM", + "tchange5": "NYÍLT PIACI ELADÁSI MEGBÍZÁSOK", + "tchange6": "SAJÁT MEGRENDELÉSEK", + "tchange7": "Beragadt Ajánlatok", + "tchange8": "Mennyiség", + "tchange9": "Ár", + "tchange10": "Teljes", + "tchange11": "Dátum", + "tchange12": "Állapot", + "tchange13": "Eladó", + "tchange14": "Ár Minden", + "tchange15": "Űrlap Törlése", + "tchange16": "Van", + "tchange17": "Akció", + "tchange18": "VESZ", + "tchange19": "ELAD", + "tchange20": "Nem sikerült létrehozni a kereskedelmet. Próbáld újra!", + "tchange21": "Nem sikerült létrehozni a kereskedelmet. Hibakód", + "tchange22": "Elégtelen Alapok!", + "tchange23": "Sikeres vásárlási kérelem!", + "tchange24": "Meglévő vételi kérelem!", + "tchange25": "Nem sikerült létrehozni a kereskedelmet. Hibakód", + "tchange26": "Folyamatban van a kereskedelem törlése!", + "tchange27": "Nem sikerült megszakítani a kereskedést. Próbáld újra!", + "tchange28": "Nem sikerült megszakítani a kereskedést. Hibakód", + "tchange29": "ÉRVÉNYTELENÍT", + "tchange30": "Nem sikerült lekérni az egyenleget. Próbáld újra!", + "tchange31": "ELADOTT", + "tchange32": "VÁSÁROLT" + }, + "rewardsharepage": { + "rchange1": "Jutalommegosztások", + "rchange2": "Jutalommegosztás Létrehozása", + "rchange3": "Jutalommegosztások, Amelyek Ebben a Fiókban Szerepelnek", + "rchange4": "Verőfiók", + "rchange5": "Részvény Százaléka", + "rchange6": "Címzett", + "rchange7": "Akció", + "rchange8": "Típus", + "rchange9": "Az 1- 4. szint létrehozhat egy önmegosztást, és az 5. vagy annál magasabb szint jutalommegosztást hozhat létre!", + "rchange10": "Címzett Nyilvános Kulcsa", + "rchange11": "Jutalomrészesedési Százalék", + "rchange12": "Valami Finomat Csinálni", + "rchange13": "Verőfiók Hozzáadása", + "rchange14": "Hozzáad", + "rchange15": "A számla nem vesz részt jutalomrészesedésekben", + "rchange16": "Saját Jutalommegosztás", + "rchange17": "Eltávolít", + "rchange18": "Nem lehet több jutalommegosztást létrehozni!", + "rchange19": "Nem Hozható Létre Több Önmegosztás!", + "rchange20": "NEM HOZHAT LÉTRE JUTALOMMEGOSZTÁST! Önrészesedések szintjén", + "rchange21": "Jutalommegosztás Sikeres!", + "rchange22": "Sikeresen Eltávolított Jutalommegosztás!" + }, + "registernamepage": { + "nchange1": "Név Regisztrációja", + "nchange2": "Jegyzék Neve", + "nchange3": "Regisztrált Nevek", + "nchange4": "Megtestesülés", + "nchange5": "Elnevezés", + "nchange6": "Tulajdonos", + "nchange7": "Akció", + "nchange8": "Nincs név, amelyet ez a fiók regisztrálna!", + "nchange9": "Név Regisztrálása!", + "nchange10": "Leírás (nem kötelező)", + "nchange11": "Valami finomat csinálni", + "nchange12": "Név Regisztrálása", + "nchange13": "Az aktuális névregisztrációs díj", + "nchange14": "Bejegyzes", + "nchange15": "Avatar Beállítása", + "nchange16": "Alapvető Frissítésre Van Szükség", + "nchange17": "A Név Már Létezik!", + "nchange18": "Sikeres Névregisztráció!" + }, + "websitespage": { + "schange1": "Webhelyek Böngészése", + "schange2": "Követett Webhelyek", + "schange3": "Letiltott Webhelyek", + "schange4": "Webhelyek Keresése", + "schange5": "Avatar", + "schange6": "Részletek", + "schange7": "Közzétette", + "schange8": "Műveletek", + "schange9": "Weboldalak", + "schange10": "Nincs elérhető webhely", + "schange11": "Az Ön által követett webhelyek", + "schange12": "Követett webhelyek", + "schange13": "Nem követsz egyetlen webhelyet sem", + "schange14": "Az Ön letiltott webhelyei", + "schange15": "Letiltott webheylek", + "schange16": "Nem blokkolt egyetlen webhelyet sem", + "schange17": "A név nem található!", + "schange18": "A továbbítási mód engedélyezve van. Ez azt jelenti, hogy a csomópont segít a titkosított adatok hálózaton belüli továbbításában, amikor egy társ kéri. Leiratkozhat, ha beállítja.", + "schange19": "ben", + "schange20": "A továbbítási mód le van tiltva. Ezt engedélyezheti, ha beállítja ", + "schange21": "Webhely Közzététele", + "schange22": "Hiba történt a regisztrált név követésekor. Próbálkozzon újra!", + "schange23": "Hiba történt, amikor megpróbálta megszüntetni a regisztrált név követését Próbálkozzon újra!", + "schange24": "Hiba történt a regisztrált név blokkolása közben.. Próbálkozzon újra!", + "schange25": "Hiba történt a regisztrált név blokkolásának feloldásakor. Próbálkozzon újra!", + "schange26": "Nem Kategorizált", + "schange27": "Méret", + "schange28": "Állapot", + "schange29": "Követ", + "schange30": "Követés megszüntetése", + "schange31": "Blokk", + "schange32": "Felszabadít", + "schange33": "Keresendő Név", + "schange34": "A név nem lehet üres!", + "schange35": "Keresés" + }, + "publishpage": { + "pchange1": "Közzétesz", + "pchange2": "Frissítés", + "pchange3": "Megjegyzés: javasoljuk, hogy az adatok tárolása előtt állítsa be a porttovábbítást, hogy a hálózat társai könnyebben hozzáférhessenek hozzá.", + "pchange4": "Név Kiválasztása", + "pchange5": "Cím", + "pchange6": "Leírás", + "pchange7": "Kategória Kiválasztása", + "pchange8": "Címke", + "pchange9": "Szolgáltatás", + "pchange10": "Azonosító", + "pchange11": "Közzétesz", + "pchange12": "Statikus tartalmat tartalmazó zip fájl kijelölése", + "pchange13": "Statikus fájlok helyi elérési útja", + "pchange14": "Válasszon egy regisztrált nevet, amelyhez adatokat szeretne közzétenni.", + "pchange15": "Válassza ki a tárolni kívánt fájlt", + "pchange16": "Válasszon ki egy zip fájlt a gazdaszervezethez", + "pchange17": "Adja meg a statikus tartalmat tartalmazó könyvtár elérési útját.", + "pchange18": "djon meg egy szolgáltatásnevet.", + "pchange19": "Adatok feldolgozása... Ez eltarthat egy ideig...", + "pchange20": "Hibas:", + "pchange21": "Belső kiszolgálóhiba az adatok közzétételekor", + "pchange22": "A munka igazolásának számítása... Ez eltarthat egy ideig...", + "pchange23": "A tranzakció sikeres!", + "pchange24": "Nem lehet aláírni és feldolgozni a tranzakciót", + "pchange25": "Fájl Kiválasztása" + }, + "browserpage": { + "bchange1": "Előre", + "bchange2": "Újratöltés", + "bchange3": "Back to list", + "bchange4": "Töröl", + "bchange5": "csomópontból", + "bchange6": "A böngésző nem támogatja az iframe-eket.", + "bchange7": "Követ", + "bchange8": "Követés megszüntetése", + "bchange9": "Blokk", + "bchange10": "Blokkolás megszüntetése", + "bchange11": "Hiba történt a regisztrált név követésekor. Próbálkozzon újra!", + "bchange12": "Hiba történt, amikor megpróbálta megszüntetni a regisztrált név követését. Próbálkozzon újra!", + "bchange13": "Hiba történt a regisztrált név letiltásakor. Próbálkozzon újra!", + "bchange14": "Hiba történt a regisztrált név blokkolásának feloldásakor. Próbálkozzon újra!", + "bchange15": "Nem lehet adatokat törölni a követett nevekből. Először szüntesse meg a követést.", + "bchange16": "Hiba történt az erőforrás törlésekor. Próbálkozzon újra!" + }, + "datapage": { + "dchange1": "Adatkezelés", + "dchange2": "Keresés a csomópont által üzemeltetett adatok között", + "dchange3": "Keresendő adatok", + "dchange4": "Kereses", + "dchange5": "Regisztrált Név", + "dchange6": "Szolgáltatás", + "dchange7": "Azonosító", + "dchange8": "Műveletek", + "dchange9": "A csomópont által üzemeltetett adatok", + "dchange10": "Az adatnév nem lehet üres!", + "dchange11": "Az adatok nem találhatók!", + "dchange12": "Nem sikerült lekérni a kihelyezett adatlistát a csomópontról", + "dchange13": "Ez a csomópont nem tárol adatokat", + "dchange14": "Követés megszüntetése", + "dchange15": "Töröl", + "dchange16": "Blokk", + "dchange17": "Felszabadít", + "dchange18": "Hiba történt a regisztrált név letiltásakor. Próbálkozzon újra!", + "dchange19": "Hiba történt, amikor megpróbálta megszüntetni a regisztrált név követését. Próbálkozzon újra!", + "dchange20": "Hiba történt a regisztrált név blokkolásának feloldásakor. Próbálkozzon újra!", + "dchange21": "Hiba történt az erőforrás törlésekor. Próbálkozzon újra!" + }, + "chatpage": { + "cchange1": "Új Privát Üzenet", + "cchange2": "Berakás...", + "cchange3": "Letiltott Felhasználók", + "cchange4": "Új Üzenet", + "cchange5": "(Kattintson ide a lefelé görgetéshez)", + "cchange6": "Írja be annak a nevét vagy címét, akivel csevegni szeretne, hogy privát üzenetet küldjön!", + "cchange7": "Név / Cím", + "cchange8": "Üzenet...", + "cchange9": "Küld", + "cchange10": "Letiltott felhasználók listája", + "cchange11": "Név", + "cchange12": "Tulajdonos", + "cchange13": "Akció", + "cchange14": "Ez a fiók egyetlen felhasználót sem blokkolt.", + "cchange15": "Nincs bejegyzett név", + "cchange16": "A felhasználó blokkolásának feloldása sikeresen feloldása.", + "cchange17": "Hiba történt a felhasználó blokkolásának feloldásakor. Próbálkozzon újra!", + "cchange18": "Felszabadít", + "cchange19": "Érvénytelen Név / Cím, Ellenőrizze a nevet / cím és újrapróbálkozás...", + "cchange20": "Az üzenet elküldése sikeresen megtörtént!", + "cchange21": "A küldés sikertelen, próbálkozzon újra...", + "cchange22": "Üzenetek Betöltése...", + "cchange23": "Az Üzenet Nem Visszafejthető!", + "cchange24": "Üzenetenkénti maximális karakterszám 255" + }, + "welcomepage": { + "wcchange1": "Üdvözöljük a Q-Chathoz", + "wcchange2": "Új privát üzenet", + "wcchange3": "Írja be annak a nevét vagy címét, akivel csevegni szeretne, hogy privát üzenetet küldjön!", + "wcchange4": "Név / Cím", + "wcchange5": "Üzenet...", + "wcchange6": "Küld", + "wcchange7": "Érvénytelen Név / Cím, Ellenőrizze a nevet / Cím, és próbálkozzon újra", + "wcchange8": "Az üzenet elküldése sikeresen megtörtént!", + "wcchange9": "A küldés sikertelen, próbálkozzon újra..." + }, + "blockpage": { + "bcchange1": "Felhasználó Letiltása", + "bcchange2": "Sikeresen letiltotta ezt a felhasználót!", + "bcchange3": "Hiba történt a felhasználó letiltásakor. Próbálkozzon újra!", + "bcchange4": "Nincs bejegyzett név", + "bcchange5": "Felhasználói kérés blokkolása", + "bcchange6": "Biztosan letiltod ezt a felhasználót?", + "bcchange7": "MENÜ", + "bcchange8": "Cím Másolása", + "bcchange9": "Privát Üzenet" + }, + "grouppage": { + "gchange1": "Qortal Csoportok", + "gchange2": "Csoport Létrehozása", + "gchange3": "Az Egyesített Csoportokod", + "gchange4": "Csoport Név", + "gchange5": "Leírás", + "gchange6": "Szerep", + "gchange7": "Akció", + "gchange8": "Nem tagja egyetlen csoportnak sem!", + "gchange9": "Nyilvános Csoportok", + "gchange10": "Tulajdonos", + "gchange11": "Nem érhetők el nyílt nyilvános csoportok!", + "gchange12": "Új Csoport Létrehozása", + "gchange13": "Csoport Típusa", + "gchange14": "Ez a Mező Kötelező", + "gchange15": "Válasszon Egy Beállítást", + "gchange16": "Nyilvános", + "gchange17": "Privát", + "gchange18": "Csoport jóváhagyási küszöbértéke (a tranzakciót jóváhagyó rendszergazdák száma / százaléka):", + "gchange19": "EGYIK SEM", + "gchange20": "EGY", + "gchange21": "Csoporttranzakció-jóváhagyások minimális blokkkésleltetése:", + "gchange22": "percek", + "gchange23": "óra", + "gchange24": "órak", + "gchange25": "nap", + "gchange26": "napok", + "gchange27": "Csoporttranzakció-jóváhagyások maximális blokkkésése:", + "gchange28": "Csoport Létrehozása", + "gchange29": "Csoport Létrehozása", + "gchange30": "Csatlakozás Csoportkérelemhez", + "gchange31": "Létrehozás Dátuma", + "gchange32": "Frissítés Dátuma", + "gchange33": "Csatlakozás", + "gchange34": "Csatlakozás Csoporthoz", + "gchange35": "Csoportkérelem Elhagyása", + "gchange36": "Kilépő", + "gchange37": "Csoport Elhagyása", + "gchange38": "Csoport Tulajdonosának Kezelése:", + "gchange39": "Csoportgazda Kezelése:", + "gchange40": "Csoport Kezelése", + "gchange41": "A Csoport Létrehozása Sikeres!", + "gchange42": "Érvénytelen Csoportnév", + "gchange43": "Érvénytelen Csoportleírás", + "gchange44": "Csoporttípus Kiválasztása", + "gchange45": "Csoport jóváhagyási küszöbértékének kiválasztása", + "gchange46": "A csoporttranzakció-jóváhagyások minimális blokkkésleltetésének kiválasztása", + "gchange47": "Csoporttranzakció-jóváhagyások maximális blokkolási késleltetésének kiválasztása", + "gchange48": "Csatlakozás a csoportkérelem sikeres elküldéséhez!", + "gchange49": "A csoportkérelem sikeres elküldésének elhagyása!", + "gchange50": "Elhagy", + "gchange51": "Csatlakoz", + "gchange52": "Kormányozo", + "gchange53": "Tag", + "gchange54": "Tagok" + }, + "puzzlepage": { + "pchange1": "Rejtvények", + "pchange2": "Jutalom", + "pchange3": "Megoldota", + "pchange4": "Név", + "pchange5": "Leírás", + "pchange6": "Nyom / Válasz", + "pchange7": "Akció", + "pchange8": "Kitalál", + "pchange9": "Adja meg a tipp, hogy megoldja ezt a puzzle-t, és nyerjen", + "pchange10": "A tippnek 43 vagy 44 karakternek kell lennie, és", + "pchange11": "nem", + "pchange12": "tartalmaz 0 (nul), I (felső i), O (felső o) or l (alső L).", + "pchange13": "A tipped", + "pchange14": "A találgatás ellenőrzése...", + "pchange15": "Előterjeszt", + "pchange16": "A találgatás helytelen!", + "pchange17": "Benyújtott jutalomigény - ellenőrizze a pénztárcát jutalomért!" + }, + "nodepage": { + "nchange1": "Csomópontkezelés:", + "nchange2": "A csomópont online állapotban van:", + "nchange3": "Csomópontnak a verési fiokok", + "nchange4": "Verőfiok hozzáadása", + "nchange5": "Ha saját fiókkal szeretne veregetni, akkor létre kell hoznia magának egy jutalommegosztási tranzakciót (a jutalomrészesedési százalék 0-ra állítva), majd verj a jutalom részvény kulcs ad neked.", + "nchange6": "Jutalommegosztási Kulcs", + "nchange7": "Verőfiók hozzáadása", + "nchange8": "Hozzáadas", + "nchange9": "Verési Fiók", + "nchange10": "Címzett Fiók", + "nchange11": "Akció", + "nchange12": "Eltávolít", + "nchange13": "Nem található verési fiók ehhez a csomóponthoz", + "nchange14": "A csomóponthoz csatlakoztatott társak", + "nchange15": "Társ Hozzáadása", + "nchange16": "Írja be a hozzáadni kívánt társnak a címét alul", + "nchange17": "Társ Címe", + "nchange18": "Cím", + "nchange19": "Utolsó Magasság", + "nchange20": "Építet Verzió", + "nchange21": "Csatlakoztatva a következőhöz", + "nchange22": "Akció", + "nchange23": "Szinkronizálás Kényszerítése", + "nchange24": "A csomópontnak nincsenek csatlakoztatott társai", + "nchange25": "Szinkronizálás indítása társsal: ", + "nchange26": "Sikeresen eltávolított társ: ", + "nchange27": "Sikerült hozzáadni a verési csomópontot!", + "nchange28": "Nem sikerült hozzáadni a verési csomópontot!", + "nchange29": "Sikerült eltávolítani a verési fiókot!", + "nchange30": "Nem sikerült eltávolítani a verési fiókot!", + "nchange31": "Csomópont Leállítás", + "nchange32": "Sikeresen Elküldött Stop Kérés!" + }, + "transpage": { + "tchange1": "Tranzakciós Kérelem", + "tchange2": "Visszautasít", + "tchange3": "Megerősít", + "tchange4": "Hoz", + "tchange5": "Mennyiség" + }, + "apipage": { + "achange1": "API-kulcs hozzáadása", + "achange2": "API-kulcs", + "achange3": "Adja meg a csomópont API-kulcsát. Megtalálható az 'apikey.txt' nevű fájlban abban a könyvtárban, ahol a mag telepítve van. Másik lehetőségként kattintson a Mégse gombra a csökkentett funkcionalitású mag használatához.", + "achange4": "Érvénytelenít", + "achange5": "Hozzáad", + "achange6": "Sikeresen hozzáadta az API-kulcsot", + "achange7": "Az API-kulcs hibás, nincs API-kulcs hozzáadva" }, "transactions": { "amount": "Mennyiség", @@ -577,4 +588,4 @@ "rewarddialog5": "Ön a következő fiókhoz társított jutalommegosztási tranzakciót távolít el:", "rewarddialog6": "A megerősítés megnyomására a jutalommegosztás törlődik, és a pénzverési kulcs érvénytelenné válik." } -} +} \ No newline at end of file diff --git a/qortal-ui-core/language/it.json b/qortal-ui-core/language/it.json index 8346eaab..ab9afadc 100644 --- a/qortal-ui-core/language/it.json +++ b/qortal-ui-core/language/it.json @@ -434,10 +434,15 @@ "wcchange9": "Invio fallito, riprovare..." }, "blockpage": { - "bcchange1": "blocco", + "bcchange1": "Blocca Utente", "bcchange2": "Bloccato con successo questo utente!", "bcchange3": "Si è verificato un errore durante il tentativo di bloccare questo utente. Per favore, riprova!", - "bcchange4": "Nessun nome registrato" + "bcchange4": "Nessun nome registrato", + "bcchange5": "Blocca richiesta utente", + "bcchange6": "Sei sicuro di bloccare questo utente?", + "bcchange7": "MENÙ", + "bcchange8": "Copia Indirizzo", + "bcchange9": "Messaggio Privato" }, "grouppage": { "gchange1": "Gruppi Qortal", diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json index 777e6c0a..fc013b00 100644 --- a/qortal-ui-core/language/pl.json +++ b/qortal-ui-core/language/pl.json @@ -434,10 +434,15 @@ "wcchange9": "Wysyłanie nie powiodło się, spróbuj ponownie..." }, "blockpage": { - "bcchange1": "zablokuj", - "bcchange2": "Pomyślnie zablokowano tego użytkownika!", - "bcchange3": "Wystąpił błąd podczas próby zablokowania tego użytkownika. Spróbuj ponownie!", - "bcchange4": "Brak zarejestrowanej nazwy" + "bcchange1": "Zablokuj Użytkownika", + "bcchange2": "Pomyślnie zablokowano tego użytkownika!", + "bcchange3": "Wystąpił błąd podczas próby zablokowania tego użytkownika. Spróbuj ponownie!", + "bcchange4": "Brak zarejestrowanej nazwy", + "bcchange5": "Zablokuj żądanie użytkownika", + "bcchange6": "Czy na pewno chcesz zablokować tego użytkownika?", + "bcchange7": "MENU", + "bcchange8": "Kopiuj Adres", + "bcchange9": "Prywatna Wiadomość" }, "grouppage": { "gchange1": "Grupy Qortal", diff --git a/qortal-ui-core/language/pt.json b/qortal-ui-core/language/pt.json index cf5ea549..02af6952 100644 --- a/qortal-ui-core/language/pt.json +++ b/qortal-ui-core/language/pt.json @@ -434,10 +434,15 @@ "wcchange9": "Envio falhou, por favor tente novamente..." }, "blockpage": { - "bcchange1": "Bloquear", + "bcchange1": "Bloquear Usuário", "bcchange2": "Bloqueou com sucesso este usuário!", "bcchange3": "Ocorreu um erro ao tentar bloquear esse usuário. Por favor, tente de novo!", - "bcchange4": "Nenhum nome registrado" + "bcchange4": "Nenhum nome registrado", + "bcchange5": "Bloquear solicitação de usuário", + "bcchange6": "Tem certeza de bloquear este usuário?", + "bcchange7": "MENU", + "bcchange8": "Copiar Endereço", + "bcchange9": "Mensagem Privada" }, "grouppage": { "gchange1": "Grupos Qortal", diff --git a/qortal-ui-core/language/rs.json b/qortal-ui-core/language/rs.json index acdd039c..6d1aa1ae 100644 --- a/qortal-ui-core/language/rs.json +++ b/qortal-ui-core/language/rs.json @@ -434,10 +434,15 @@ "wcchange9": "Slanje neuspešno, Molim pokušajte ponov..." }, "blockpage": { - "bcchange1": "blokirajte", + "bcchange1": "Blokirajte Korisnika", "bcchange2": "Korisnik uspešno blokiran!", "bcchange3": "Desila se greška pri pokušaju blokiranja ovog korisnika. Molim pokušajte ponovo!", - "bcchange4": "Bez registrovanih imena" + "bcchange4": "Bez registrovanih imena", + "bcchange5": "Blokiraj korisnički zahtev", + "bcchange6": "Da li ste sigurni da blokirate ovog korisnika?", + "bcchange7": "MENI", + "bcchange8": "Kopiraj Adresu", + "bcchange9": "Privatna Poruka" }, "grouppage": { "gchange1": "Qortal Grupe", diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index a3853ce7..0de9bc94 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -434,10 +434,15 @@ "wcchange9": "Sending failed, Please retry..." }, "blockpage": { - "bcchange1": "block", + "bcchange1": "Block User", "bcchange2": "Successfully blocked this user!", "bcchange3": "Error occurred when trying to block this user. Please try again!", - "bcchange4": "No registered name" + "bcchange4": "No registered name", + "bcchange5": "Block User Request", + "bcchange6": "Are you sure to block this user ?", + "bcchange7": "MENU", + "bcchange8": "Copy Address", + "bcchange9": "Private Message" }, "grouppage": { "gchange1": "Qortal Groups", diff --git a/qortal-ui-core/language/zhc.json b/qortal-ui-core/language/zhc.json index 54600cde..6a31fc9e 100644 --- a/qortal-ui-core/language/zhc.json +++ b/qortal-ui-core/language/zhc.json @@ -434,10 +434,15 @@ "wcchange9": "发送失败, 请再此尝试..." }, "blockpage": { - "bcchange1": "封锁", + "bcchange1": "阻止用户", "bcchange2": "成功封锁此用户!", "bcchange3": "尝试封锁此用户时出错。 请再试一次!", - "bcchange4": "没有注册名称" + "bcchange4": "没有注册名称", + "bcchange5": "阻止用户请求", + "bcchange6": "你确定要屏蔽这个用户吗?", + "bcchange7": "菜单", + "bcchange8": "复制地址", + "bcchange9": "私人讯息" }, "grouppage": { "gchange1": "Qortal 群组", @@ -580,7 +585,7 @@ "rewarddialog2": "给", "rewarddialog3": "如果是的话,请保存下面的铸币密钥并添加到任何节点上,以允许它代表您铸币.", "rewarddialog4": "点击确认后,奖励分享密钥将会创建,但你必须将该密钥添加到节点中才能成功铸币并获得相对应的奖励.", - "rewarddialog5": "您正在删除与此账号关联的奖励分享交易:", + "rewarddialog5": "您正在删除与此账号关联的奖励分享交易:", "rewarddialog6": "点击确认后,奖励分享将被移除,已创建的铸币密钥也随之失效。" } } diff --git a/qortal-ui-core/language/zht.json b/qortal-ui-core/language/zht.json index f87c4be5..c0811a4b 100644 --- a/qortal-ui-core/language/zht.json +++ b/qortal-ui-core/language/zht.json @@ -434,10 +434,15 @@ "wcchange9": "發送失敗, 請再此嘗試..." }, "blockpage": { - "bcchange1": "封鎖", + "bcchange1": "阻止用戶", "bcchange2": "成功封鎖此用戶!", "bcchange3": "嘗試封鎖此用戶時出錯。 請再試一次!", - "bcchange4": "沒有註冊名稱" + "bcchange4": "沒有註冊名稱", + "bcchange5": "阻止用戶請求", + "bcchange6": "你確定要屏蔽這個用戶嗎?", + "bcchange7": "菜單", + "bcchange8": "複製地址", + "bcchange9": "私人讯息" }, "grouppage": { "gchange1": "Qortal 群組", diff --git a/qortal-ui-plugins/plugins/core/components/BlockAddress.js b/qortal-ui-plugins/plugins/core/components/BlockAddress.js deleted file mode 100644 index 72cc777f..00000000 --- a/qortal-ui-plugins/plugins/core/components/BlockAddress.js +++ /dev/null @@ -1,164 +0,0 @@ -import { LitElement, html, css } from 'lit' -import { render } from 'lit/html.js' -import { Epml } from '../../../epml.js' -import snackbar from './snackbar.js' -import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' - -registerTranslateConfig({ - loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) -}) - -import '@material/mwc-button' -import '@material/mwc-dialog' -import '@material/mwc-icon' -import '@material/mwc-snackbar' - -const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) - -class BlockAddress extends LitElement { - static get properties() { - return { - toblockaddress: { type: String, attribute: true }, - chatBlockedAdresses: { type: Array } - } - } - - static get styles() { - return css` - * { - --mdc-theme-primary: rgb(3, 169, 244); - --mdc-theme-secondary: var(--mdc-theme-primary); - --mdc-dialog-content-ink-color: var(--black); - --mdc-theme-surface: var(--white); - --mdc-theme-text-primary-on-background: var(--black); - } - ` - } - - constructor() { - super() - this.chatBlockedAdresses = [] - } - - render() { - return html` - - ` - } - - firstUpdated() { - - this.changeLanguage() - this.getChatBlockedAdresses() - - setInterval(() => { - this.getChatBlockedAdresses(); - }, 60000) - - window.addEventListener('storage', () => { - const checkLanguage = localStorage.getItem('qortalLanguage') - use(checkLanguage) - }) - - } - - updated(changedProps) { - } - - changeLanguage() { - const checkLanguage = localStorage.getItem('qortalLanguage') - - if (checkLanguage === null || checkLanguage.length === 0) { - localStorage.setItem('qortalLanguage', 'us') - use('us') - } else { - use(checkLanguage) - } - } - - async getChatBlockedAdresses() { - const chatBlockedAdresses = await parentEpml.request('apiCall', { - url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}` - }) - this.chatBlockedAdresses = chatBlockedAdresses - } - - async chatBlockAddress() { - let address = this.toblockaddress - - let items = [ - address - ] - - let addressJsonString = JSON.stringify({ "items": items }) - - let ret = await parentEpml.request('apiCall', { - url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}`, - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: `${addressJsonString}` - }) - - if (ret === true) { - this.chatBlockedAdresses = this.chatBlockedAdresses.filter(item => item != address) - this.chatBlockedAdresses.push(address) - this.getChatBlockedList() - let err1string = get("blockpage.bcchange2") - snackbar.add({ - labelText: `${err1string}`, - dismiss: true - }) - } else { - let err2string = get("blockpage.bcchange2") - snackbar.add({ - labelText: `${err2string}`, - dismiss: true - }) - } - return ret - } - - getChatBlockedList() { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port - const blockedAddressesUrl = `${nodeUrl}/lists/blockedAddresses?apiKey=${this.getApiKey()}` - const err3string = 'No regitered name' - - localStorage.removeItem("ChatBlockedAddresses") - - var obj = []; - - fetch(blockedAddressesUrl).then(response => { - return response.json() - }).then(data => { - return data.map(item => { - const noName = { - name: err3string, - owner: item - } - fetch(`${nodeUrl}/names/address/${item}?limit=0&reverse=true`).then(res => { - return res.json() - }).then(jsonRes => { - if(jsonRes.length) { - jsonRes.map (item => { - obj.push(item) - }) - } else { - obj.push(noName) - } - localStorage.setItem("ChatBlockedAddresses", JSON.stringify(obj)) - }) - }) - }) - } - - getApiKey() { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]; - let apiKey = myNode.apiKey; - return apiKey; - } -} - -window.customElements.define('block-address', BlockAddress) diff --git a/qortal-ui-plugins/plugins/core/components/ChatPage.js b/qortal-ui-plugins/plugins/core/components/ChatPage.js index 23b8263d..1872b273 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatPage.js +++ b/qortal-ui-plugins/plugins/core/components/ChatPage.js @@ -10,7 +10,7 @@ registerTranslateConfig({ import { escape, unescape } from 'html-escaper'; import { inputKeyCodes } from '../../utils/keyCodes.js' import './ChatScroller.js' -import './BlockAddress.js' +import './NameMenu.js' import './TimeAgo.js' import { EmojiPicker } from 'emoji-picker-js'; import '@polymer/paper-spinner/paper-spinner-lite.js' @@ -258,9 +258,6 @@ class ChatPage extends LitElement { parentEpml.imReady(); } - updated(changedProps) { - } - changeLanguage() { const checkLanguage = localStorage.getItem('qortalLanguage') @@ -358,7 +355,7 @@ class ChatPage extends LitElement { */ chatMessageTemplate(messageObj) { let avatarImg = ''; - let blockButton = ''; + let nameMenu = ''; if (messageObj.senderName) { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]; const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port; @@ -366,18 +363,17 @@ class ChatPage extends LitElement { avatarImg = ``; } - if (messageObj.sender === this.selectedAddress.address) { - blockButton = `` + if (messageObj.sender === this.myAddress) { + nameMenu = `` } else { - blockButton = `` + nameMenu = `` } return `
  • - ${messageObj.senderName ? messageObj.senderName : messageObj.sender} + ${nameMenu} - ${blockButton}
    ${avatarImg}
    ${this.emojiPicker.parse(escape(messageObj.decodedMessage))}
    @@ -662,7 +658,7 @@ class ChatPage extends LitElement { const hashAry = new Uint8Array(window.parent.memory.buffer, hashPtr, 32); hashAry.set(chatBytesHash); - const difficulty = this.balance === 0 ? 14 : 8; + const difficulty = this.balance === 0 ? 12 : 8; const workBufferLength = 8 * 1024 * 1024; const workBufferPtr = window.parent.sbrk(workBufferLength, window.parent.heap); let nonce = window.parent.computePow(hashPtr, workBufferPtr, workBufferLength, difficulty); @@ -698,7 +694,6 @@ class ChatPage extends LitElement { * @param { Boolean } isDown */ setIsUserDown(isDown) { - this.isUserDown = isDown; } @@ -790,40 +785,40 @@ class ChatPage extends LitElement { editor.styles = document.createElement('style'); editor.styles.setAttribute('type', 'text/css'); editor.styles.innerText = ` - html { - cursor: text; - } - body { - font-size: 1rem; - line-height: 1.38rem; - font-weight: 400; - font-family: "Open Sans", helvetica, sans-serif; - padding-right: 3px; - text-align: left; - white-space: break-spaces; - word-break: break-word; - outline: none; - } - body[contentEditable=true]:empty:before { - content: attr(data-placeholder); - display: block; - color: rgb(103, 107, 113); - text-overflow: ellipsis; - overflow: hidden; - user-select: none; - white-space: nowrap; - } - body[contentEditable=false]{ - background: rgba(0,0,0,0.1); - } - img.emoji { - width: 1.7em; - height: 1.5em; - margin-bottom: -2px; - vertical-align: bottom; - } - `; - editor.content.head.appendChild(editor.styles); + html { + cursor: text; + } + body { + font-size: 1rem; + line-height: 1.38rem; + font-weight: 400; + font-family: "Open Sans", helvetica, sans-serif; + padding-right: 3px; + text-align: left; + white-space: break-spaces; + word-break: break-word; + outline: none; + } + body[contentEditable=true]:empty:before { + content: attr(data-placeholder); + display: block; + color: rgb(103, 107, 113); + text-overflow: ellipsis; + overflow: hidden; + user-select: none; + white-space: nowrap; + } + body[contentEditable=false]{ + background: rgba(0,0,0,0.1); + } + img.emoji { + width: 1.7em; + height: 1.5em; + margin-bottom: -2px; + vertical-align: bottom; + } + `; + editor.content.head.appendChild(editor.styles); }; ChatEditor.prototype.enable = function () { diff --git a/qortal-ui-plugins/plugins/core/components/ChatScroller.js b/qortal-ui-plugins/plugins/core/components/ChatScroller.js index 450d2f70..25ef38ae 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatScroller.js +++ b/qortal-ui-plugins/plugins/core/components/ChatScroller.js @@ -2,7 +2,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' -import './BlockAddress.js' +import './NameMenu.js' import '@material/mwc-button' import '@material/mwc-dialog' @@ -36,6 +36,8 @@ class ChatScroller extends LitElement { * { scrollbar-width: thin; scrollbar-color: var(--thumbBG) var(--scrollbarBG); + --mdc-theme-primary: rgb(3, 169, 244); + --mdc-theme-secondary: var(--mdc-theme-primary); } *::-webkit-scrollbar-track { @@ -48,6 +50,11 @@ class ChatScroller extends LitElement { border: 3px solid var(--scrollbarBG); } + a { + color: var(--black); + text-decoration: none; + } + ul { list-style: none; margin: 0; @@ -56,7 +63,7 @@ class ChatScroller extends LitElement { .chat-list { overflow-y: auto; - height: 91vh; + height: 92vh; box-sizing: border-box; } @@ -66,23 +73,14 @@ class ChatScroller extends LitElement { .message-data-name { color: var(--black); + cursor: pointer; } .message-data-time { color: #a8aab1; font-size: 13px; padding-left: 6px; - } - - .message-data-block { - color: #03a9f4; - font-size: 16px; - padding-left: 6px; - } - - .blockicon { - color: #03a9f4; - --mdc-icon-size: 16px; + padding-bottom: 4px; } .message { @@ -204,7 +202,7 @@ class ChatScroller extends LitElement { chatMessageTemplate(messageObj) { let avatarImg = ''; - let blockButton = ''; + let nameMenu = ''; if (messageObj.senderName) { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]; const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port; @@ -213,17 +211,17 @@ class ChatScroller extends LitElement { } if (messageObj.sender === this.myAddress) { - blockButton = `` + nameMenu = `` } else { - blockButton = `` + nameMenu = `` } return `
  • - ${messageObj.senderName ? messageObj.senderName : messageObj.sender} + ${nameMenu} - ${blockButton} +
    ${avatarImg}
    ${this.emojiPicker.parse(this.escapeHTML(messageObj.decodedMessage))}
    diff --git a/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js b/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js index 7b0d3afc..8bf3725d 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js +++ b/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js @@ -432,7 +432,7 @@ class ChatWelcomePage extends LitElement { const hashAry = new Uint8Array(window.parent.memory.buffer, hashPtr, 32); hashAry.set(chatBytesHash); - const difficulty = this.balance === 0 ? 14 : 8; + const difficulty = this.balance === 0 ? 12 : 8; const workBufferLength = 8 * 1024 * 1024; const workBufferPtr = window.parent.sbrk(workBufferLength, window.parent.heap); diff --git a/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js b/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js index d6b22088..3fb82fab 100644 --- a/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js +++ b/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js @@ -904,7 +904,6 @@ class Chat extends LitElement { } scrollToBottom() { - const viewElement = this.shadowRoot.querySelector('chat-page').shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById('viewElement'); viewElement.scroll({ top: viewElement.scrollHeight, left: 0, behavior: 'smooth' }) } From 6b546893623434455ee1d7c21939627eeb39b618 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 3 May 2022 14:52:17 +0200 Subject: [PATCH 03/25] New Menu --- .../plugins/core/components/NameMenu.js | 622 ++++++++++++++++++ 1 file changed, 622 insertions(+) create mode 100644 qortal-ui-plugins/plugins/core/components/NameMenu.js diff --git a/qortal-ui-plugins/plugins/core/components/NameMenu.js b/qortal-ui-plugins/plugins/core/components/NameMenu.js new file mode 100644 index 00000000..910dd7d4 --- /dev/null +++ b/qortal-ui-plugins/plugins/core/components/NameMenu.js @@ -0,0 +1,622 @@ +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' +import { Epml } from '../../../epml.js' +import snackbar from './snackbar.js' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' + +registerTranslateConfig({ + loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) +}) + +import '@material/mwc-snackbar' +import '@material/mwc-button' +import '@material/mwc-dialog' +import '@material/mwc-icon' +import '@polymer/paper-tooltip/paper-tooltip.js' +import '@polymer/paper-spinner/paper-spinner-lite.js' + +const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) + +class NameMenu extends LitElement { + static get properties() { + return { + toblockaddress: { type: String, attribute: true }, + nametodialog: { type: String, attribute: true }, + chatBlockedAdresses: { type: Array }, + selectedAddress: { type: Object }, + config: { type: Object }, + myAddress: { type: Object, reflect: true }, + messages: { type: Array }, + btnDisable: { type: Boolean }, + isLoading: { type: Boolean }, + balance: { type: Number } + } + } + + static get styles() { + return css` + * { + --mdc-theme-primary: rgb(3, 169, 244); + --mdc-theme-secondary: var(--mdc-theme-primary); + --mdc-dialog-content-ink-color: var(--black); + --mdc-theme-surface: var(--white); + --mdc-theme-text-primary-on-background: var(--black); + --paper-input-container-focus-color: var(--mdc-theme-primary); + --lumo-primary-text-color: rgb(0, 167, 245); + --lumo-primary-color-50pct: rgba(0, 167, 245, 0.5); + --lumo-primary-color-10pct: rgba(0, 167, 245, 0.1); + --lumo-primary-color: hsl(199, 100%, 48%); + --lumo-base-color: var(--white); + --lumo-body-text-color: var(--black); + } + + a { + background-color: transparent; + color: var(--black); + text-decoration: none; + display: inline; + position: relative; + } + + a:hover { + background-color: transparent; + color: var(--black); + text-decoration: none; + display: inline; + position: relative; + } + + a:after { + content: ''; + position: absolute; + width: 100%; + transform: scaleX(0); + height: 2px; + bottom: 0; + left: 0; + background-color: #03a9f4; + transform-origin: bottom right; + transition: transform 0.25s ease-out; + } + + a:hover:after { + transform: scaleX(1); + transform-origin: bottom left; + } + + .block { + } + + .red { + --mdc-theme-primary: red; + } + + h2 { + margin:0; + } + + h2, h3, h4, h5 { + color:# var(--black); + font-weight: 400; + } + + .custom { + --paper-tooltip-background: #03a9f4; + --paper-tooltip-text-color: #fff; + } + + .dropdown { + position: relative; + display: inline; + } + + .dropdown a:hover { + background-color: transparent; + } + + .dropdown-content { + display: none; + position: absolute; + bottom: 25px; + left: 10px; + background-color: var(--white); + min-width: 200px; + overflow: auto; + border: 1px solid transparent; + border-radius: 10px; + box-shadow: var(--qchatshadow); + z-index: 1; + } + + .dropdown-content span { + color: var(--nav-text-color); + text-align: center; + padding-top: 12px; + display: block; + } + + .dropdown-content a { + color: var(--nav-text-color); + padding: 12px 12px; + text-decoration: none; + display: block; + } + + .dropdown-content a:hover { + background-color: var(--nav-color-hover); + } + + .showList { + display: block; + } + + .input { + width: 90%; + border: none; + display: inline-block; + font-size: 16px; + padding: 10px 20px; + border-radius: 5px; + resize: none; + background: #eee; + } + + .textarea { + width: 90%; + border: none; + display: inline-block; + font-size: 16px; + padding: 10px 20px; + border-radius: 5px; + height: 120px; + resize: none; + background: #eee; + } + ` + } + + constructor() { + super() + this.chatBlockedAdresses = [] + this.selectedAddress = window.parent.reduxStore.getState().app.selectedAddress.address + this.myAddress = {} + this.balance = 1 + this.messages = [] + this.btnDisable = false + this.isLoading = false + } + + render() { + return html` + + +
    +

    ${translate("blockpage.bcchange5")}

    +
    +

    ${translate("blockpage.bcchange6")}


    +

    ${this.nametodialog}

    +
    + + ${translate("general.yes")} + + + ${translate("general.no")} + +
    + +
    +

    ${translate("welcomepage.wcchange2")}

    +
    +
    +

    ${translate("welcomepage.wcchange3")}

    + +

    + +

    + ${translate("welcomepage.wcchange6")} + + ${translate("general.close")} + +
    + ` + } + + firstUpdated() { + + this.changeLanguage() + this.getChatBlockedAdresses() + + setInterval(() => { + this.getChatBlockedAdresses(); + }, 60000) + + window.addEventListener('storage', () => { + const checkLanguage = localStorage.getItem('qortalLanguage') + use(checkLanguage) + }) + + window.onclick = function(event) { + if (!event.target.matches('.block')) { + var dropdowns = document.getElementsByClassName('dropdown-content'); + var i; + for (i = 0; i < dropdowns.length; i++) { + var openDropdown = dropdowns[i]; + if (openDropdown.classList.contains('showList')) { + openDropdown.classList.remove('showList'); + } + } + } + } + + const stopKeyEventPropagation = (e) => { + e.stopPropagation(); + return false; + } + + this.shadowRoot.getElementById('sendTo').addEventListener('keydown', stopKeyEventPropagation); + this.shadowRoot.getElementById('messageBox').addEventListener('keydown', stopKeyEventPropagation); + + const getDataFromURL = () => { + let tempUrl = document.location.href + let splitedUrl = decodeURI(tempUrl).split('?') + let urlData = splitedUrl[1] + if (urlData !== undefined) { + this.chatId = urlData + } + } + + let configLoaded = false + + parentEpml.ready().then(() => { + parentEpml.subscribe('selected_address', async selectedAddress => { + this.selectedAddress = {} + selectedAddress = JSON.parse(selectedAddress) + if (!selectedAddress || Object.entries(selectedAddress).length === 0) return + this.selectedAddress = selectedAddress + }) + parentEpml.request('apiCall', { + url: `/addresses/balance/${window.parent.reduxStore.getState().app.selectedAddress.address}` + }).then(res => { + this.balance = res + }) + }) + parentEpml.imReady() + } + + changeLanguage() { + const checkLanguage = localStorage.getItem('qortalLanguage') + + if (checkLanguage === null || checkLanguage.length === 0) { + localStorage.setItem('qortalLanguage', 'us') + use('us') + } else { + use(checkLanguage) + } + } + + myMenu() { + this.shadowRoot.getElementById('myDropdown').classList.toggle('showList') + this.shadowRoot.querySelector('#blockNameDialog').close() + this.shadowRoot.querySelector('#startPmDialog').close() + } + + closeMenu() { + this.shadowRoot.getElementById('myDropdown').classList.toggle('showList') + var dropdowns = document.getElementsByClassName('dropdown-content'); + var i; + for (i = 0; i < dropdowns.length; i++) { + var openDropdown = dropdowns[i]; + if (openDropdown.classList.contains('showList')) { + openDropdown.classList.remove('showList'); + } + } + } + + async copyToClipboard(text) { + try { + let copyString1 = get("walletpage.wchange4") + await navigator.clipboard.writeText(text) + parentEpml.request('showSnackBar', `${copyString1}`) + this.closeMenu() + } catch (err) { + let copyString2 = get("walletpage.wchange39") + parentEpml.request('showSnackBar', `${copyString2}`) + console.error('Copy to clipboard error:', err) + this.closeMenu() + } + } + + async getChatBlockedAdresses() { + const chatBlockedAdresses = await parentEpml.request('apiCall', { + url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}` + }) + this.chatBlockedAdresses = chatBlockedAdresses + } + + async chatBlockAddress() { + let address = this.toblockaddress + + let items = [ + address + ] + + let addressJsonString = JSON.stringify({ "items": items }) + + let ret = await parentEpml.request('apiCall', { + url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}`, + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: `${addressJsonString}` + }) + + if (ret === true) { + this.chatBlockedAdresses = this.chatBlockedAdresses.filter(item => item != address) + this.chatBlockedAdresses.push(address) + this.getChatBlockedList() + this.closeMenu() + this.shadowRoot.querySelector('#blockNameDialog').close() + let err1string = get("blockpage.bcchange2") + snackbar.add({ + labelText: `${err1string}`, + dismiss: true + }) + } else { + this.closeMenu() + this.shadowRoot.querySelector('#blockNameDialog').close() + let err2string = get("blockpage.bcchange2") + snackbar.add({ + labelText: `${err2string}`, + dismiss: true + }) + } + return ret + } + + getChatBlockedList() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const blockedAddressesUrl = `${nodeUrl}/lists/blockedAddresses?apiKey=${this.getApiKey()}` + const err3string = 'No regitered name' + + localStorage.removeItem("ChatBlockedAddresses") + + var obj = []; + + fetch(blockedAddressesUrl).then(response => { + return response.json() + }).then(data => { + return data.map(item => { + const noName = { + name: err3string, + owner: item + } + fetch(`${nodeUrl}/names/address/${item}?limit=0&reverse=true`).then(res => { + return res.json() + }).then(jsonRes => { + if(jsonRes.length) { + jsonRes.map (item => { + obj.push(item) + }) + } else { + obj.push(noName) + } + localStorage.setItem("ChatBlockedAddresses", JSON.stringify(obj)) + }) + }) + }) + } + + _sendMessage() { + this.isLoading = true + + const recipient = this.shadowRoot.getElementById('sendTo').value + const messageBox = this.shadowRoot.getElementById('messageBox') + const messageText = messageBox.value + + if (recipient.length === 0) { + this.isLoading = false + } else if (messageText.length === 0) { + this.isLoading = false + } else { + this.sendMessage() + } + } + + async sendMessage(e) { + this.isLoading = true + + const _recipient = this.shadowRoot.getElementById('sendTo').value + const messageBox = this.shadowRoot.getElementById('messageBox') + const messageText = messageBox.value + let recipient + + const validateName = async (receiverName) => { + let myRes + let myNameRes = await parentEpml.request('apiCall', { + type: 'api', + url: `/names/${receiverName}` + }) + + if (myNameRes.error === 401) { + myRes = false + } else { + myRes = myNameRes + } + + return myRes + } + + const myNameRes = await validateName(_recipient) + if (!myNameRes) { + + recipient = _recipient + } else { + + recipient = myNameRes.owner + } + + let _reference = new Uint8Array(64); + window.crypto.getRandomValues(_reference); + + let sendTimestamp = Date.now() + + let reference = window.parent.Base58.encode(_reference) + + const getAddressPublicKey = async () => { + let isEncrypted + let _publicKey + + let addressPublicKey = await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/publickey/${recipient}` + }) + + + if (addressPublicKey.error === 102) { + _publicKey = false + // Do something here... + let err1string = get("welcomepage.wcchange7") + parentEpml.request('showSnackBar', `${err1string}`) + this.isLoading = false + } else if (addressPublicKey !== false) { + isEncrypted = 1 + _publicKey = addressPublicKey + sendMessageRequest(isEncrypted, _publicKey) + } else { + isEncrypted = 0 + _publicKey = this.selectedAddress.address + sendMessageRequest(isEncrypted, _publicKey) + } + }; + + const sendMessageRequest = async (isEncrypted, _publicKey) => { + + let chatResponse = await parentEpml.request('chat', { + type: 18, + nonce: this.selectedAddress.nonce, + params: { + timestamp: sendTimestamp, + recipient: recipient, + recipientPublicKey: _publicKey, + message: messageText, + lastReference: reference, + proofOfWorkNonce: 0, + isEncrypted: isEncrypted, + isText: 1 + } + }) + _computePow(chatResponse) + } + + const _computePow = async (chatBytes) => { + + const _chatBytesArray = Object.keys(chatBytes).map(function (key) { return chatBytes[key]; }); + const chatBytesArray = new Uint8Array(_chatBytesArray) + const chatBytesHash = new window.parent.Sha256().process(chatBytesArray).finish().result + const hashPtr = window.parent.sbrk(32, window.parent.heap); + const hashAry = new Uint8Array(window.parent.memory.buffer, hashPtr, 32); + hashAry.set(chatBytesHash); + + const difficulty = this.balance === 0 ? 12 : 8; + + const workBufferLength = 8 * 1024 * 1024; + const workBufferPtr = window.parent.sbrk(workBufferLength, window.parent.heap); + + let nonce = window.parent.computePow(hashPtr, workBufferPtr, workBufferLength, difficulty) + + let _response = await parentEpml.request('sign_chat', { + nonce: this.selectedAddress.nonce, + chatBytesArray: chatBytesArray, + chatNonce: nonce + }) + getSendChatResponse(_response) + } + + const getSendChatResponse = (response) => { + + if (response === true) { + messageBox.value = "" + let err2string = get("welcomepage.wcchange8") + parentEpml.request('showSnackBar', `${err2string}`) + this.isLoading = false + this.closeMenu() + } else if (response.error) { + parentEpml.request('showSnackBar', response.message) + this.isLoading = false + this.closeMenu() + } else { + let err3string = get("welcomepage.wcchange9") + parentEpml.request('showSnackBar', `${err3string}`) + this.isLoading = false + this.closeMenu() + } + + } + getAddressPublicKey() + } + + _textMenu(event) { + const getSelectedText = () => { + var text = ""; + if (typeof window.getSelection != "undefined") { + text = window.getSelection().toString(); + } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { + text = this.shadowRoot.selection.createRange().text; + } + return text; + } + + const checkSelectedTextAndShowMenu = () => { + let selectedText = getSelectedText(); + if (selectedText && typeof selectedText === 'string') { + let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } + let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } + parentEpml.request('openCopyTextMenu', textMenuObject) + } + } + checkSelectedTextAndShowMenu() + } + + _textArea(e) { + if (e.keyCode === 13 && !e.shiftKey) this._sendMessage() + } + + isEmptyArray(arr) { + if (!arr) { return true } + return arr.length === 0 + } + + getApiKey() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]; + let apiKey = myNode.apiKey; + return apiKey; + } +} + +window.customElements.define('name-menu', NameMenu) From 6fc012352edae5003396e5398dcf8939b4cd7203 Mon Sep 17 00:00:00 2001 From: Jaymen <68678251+JaymenChou@users.noreply.github.com> Date: Tue, 3 May 2022 22:04:09 +0800 Subject: [PATCH 04/25] Update zht.json --- qortal-ui-core/language/zht.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qortal-ui-core/language/zht.json b/qortal-ui-core/language/zht.json index c0811a4b..3be708a8 100644 --- a/qortal-ui-core/language/zht.json +++ b/qortal-ui-core/language/zht.json @@ -434,15 +434,15 @@ "wcchange9": "發送失敗, 請再此嘗試..." }, "blockpage": { - "bcchange1": "阻止用戶", + "bcchange1": "封鎖用戶", "bcchange2": "成功封鎖此用戶!", "bcchange3": "嘗試封鎖此用戶時出錯。 請再試一次!", "bcchange4": "沒有註冊名稱", - "bcchange5": "阻止用戶請求", - "bcchange6": "你確定要屏蔽這個用戶嗎?", + "bcchange5": "請求封鎖用戶", + "bcchange6": "你確定要封鎖這個用戶嗎?", "bcchange7": "菜單", "bcchange8": "複製地址", - "bcchange9": "私人讯息" + "bcchange9": "私人信息" }, "grouppage": { "gchange1": "Qortal 群組", From 822467b03c7933d93b7594f50a828069e49f1685 Mon Sep 17 00:00:00 2001 From: Jaymen <68678251+JaymenChou@users.noreply.github.com> Date: Tue, 3 May 2022 22:05:19 +0800 Subject: [PATCH 05/25] Update zhc.json --- qortal-ui-core/language/zhc.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qortal-ui-core/language/zhc.json b/qortal-ui-core/language/zhc.json index 6a31fc9e..87145f7e 100644 --- a/qortal-ui-core/language/zhc.json +++ b/qortal-ui-core/language/zhc.json @@ -434,15 +434,15 @@ "wcchange9": "发送失败, 请再此尝试..." }, "blockpage": { - "bcchange1": "阻止用户", + "bcchange1": "封锁用户", "bcchange2": "成功封锁此用户!", "bcchange3": "尝试封锁此用户时出错。 请再试一次!", "bcchange4": "没有注册名称", - "bcchange5": "阻止用户请求", - "bcchange6": "你确定要屏蔽这个用户吗?", + "bcchange5": "请求封锁用户", + "bcchange6": "你确定要封锁这个用户吗?", "bcchange7": "菜单", "bcchange8": "复制地址", - "bcchange9": "私人讯息" + "bcchange9": "私人信息" }, "grouppage": { "gchange1": "Qortal 群组", From d23b7e806afc74e245643839c828c67f81a9e5be Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 3 May 2022 16:44:27 +0200 Subject: [PATCH 06/25] wip --- qortal-ui-plugins/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qortal-ui-plugins/package.json b/qortal-ui-plugins/package.json index 4cd04da3..8620215e 100644 --- a/qortal-ui-plugins/package.json +++ b/qortal-ui-plugins/package.json @@ -35,9 +35,12 @@ "@material/mwc-tab": "0.25.3", "@material/mwc-tab-bar": "0.25.3", "@material/mwc-textfield": "0.25.3", + "@polymer/iron-icons": "3.0.1", + "@polymer/paper-icon-button": "3.0.2", "@polymer/paper-progress": "3.0.1", "@polymer/paper-slider": "3.0.1", "@polymer/paper-spinner": "3.0.2", + "@polymer/paper-tooltip": "3.0.1", "@rollup/plugin-alias": "3.1.9", "@rollup/plugin-babel": "5.3.1", "@rollup/plugin-commonjs": "21.1.0", From 75e51f8ea7f8376b18f2dc2d4dde2dc074322f59 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 3 May 2022 16:54:05 +0200 Subject: [PATCH 07/25] fix json --- qortal-ui-core/language/ru.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qortal-ui-core/language/ru.json b/qortal-ui-core/language/ru.json index 2184b70e..a573f1e4 100644 --- a/qortal-ui-core/language/ru.json +++ b/qortal-ui-core/language/ru.json @@ -166,7 +166,7 @@ "mchange33": "Введение", "mchange34": "В Qortal, чтобы стать минтером и начать зарабатывать вознаграждения QORT с повышением уровня Minter, вы должны сначала быть спосированы «спонсором». Спонсором в Qortal является любой другой минтер уровня 5 или выше, или Основатель Qortal. Вы получите спонсорский ключ от спонсора и используете этот ключ, чтобы перейти на уровень 1. Достигнув уровня 1, вы сможете создать свой собственный ключ чеканки и начать зарабатывать вознаграждения за помощь в защите блокчейна Qortal.", "mchange35": "Спонсорство", - "mchange36": "Ваш спонсор выдаст вам "Спонсорский ключ", который вы будете использовать для добавления в свой узел и начнете чеканку (без вознаграждения до достижения уровня 1). Как только вы достигнете уровня 1, вы создадите/назначите свой собственный "Ключ Чеканки" и начните зарабатывать вознаграждения. У вас осталось XXXX блоков в период вашего спонсорства.", + "mchange36": "Ваш спонсор выдаст вам ‘Спонсорский ключ’, который вы будете использовать для добавления в свой узел и начнете чеканку (без вознаграждения до достижения уровня 1). Как только вы достигнете уровня 1, вы создадите/назначите свой собственный ‘Ключ Чеканки’ и начните зарабатывать вознаграждения. У вас осталось XXXX блоков в период вашего спонсорства.", "mchange37": "Просто обратитесь к минтеру в Кортале, уровень которого достаточно высок, чтобы выдать спонсорский ключ, получите этот ключ, затем вернитесь сюда и введите ключ, чтобы начать свое путешествие по чеканке!", "mchange38": "в" }, @@ -432,7 +432,7 @@ "wcchange6": "Отправить", "wcchange7": "Неверное имя/адрес, проверьте имя/адрес и повторите попытку...", "wcchange8": "Сообщение успешно отправлено!", - "wcchange9": "Отправка не удалась, повторите попытку... + "wcchange9": "Отправка не удалась, повторите попытку..." }, "blockpage": { "bcchange1": "заблокировать", From 1859240b041a32157e5609695aa798c4147f5796 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 3 May 2022 17:24:07 +0200 Subject: [PATCH 08/25] WIP --- qortal-ui-plugins/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qortal-ui-plugins/package.json b/qortal-ui-plugins/package.json index 4cd04da3..8620215e 100644 --- a/qortal-ui-plugins/package.json +++ b/qortal-ui-plugins/package.json @@ -35,9 +35,12 @@ "@material/mwc-tab": "0.25.3", "@material/mwc-tab-bar": "0.25.3", "@material/mwc-textfield": "0.25.3", + "@polymer/iron-icons": "3.0.1", + "@polymer/paper-icon-button": "3.0.2", "@polymer/paper-progress": "3.0.1", "@polymer/paper-slider": "3.0.1", "@polymer/paper-spinner": "3.0.2", + "@polymer/paper-tooltip": "3.0.1", "@rollup/plugin-alias": "3.1.9", "@rollup/plugin-babel": "5.3.1", "@rollup/plugin-commonjs": "21.1.0", From ec46e4bdf25df888c30cef15e8e07575729bcd4e Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Thu, 5 May 2022 19:22:08 +0200 Subject: [PATCH 09/25] Add new message translations --- qortal-ui-core/language/de.json | 4 +++- qortal-ui-core/language/es.json | 4 +++- qortal-ui-core/language/fr.json | 4 +++- qortal-ui-core/language/hindi.json | 4 +++- qortal-ui-core/language/hr.json | 4 +++- qortal-ui-core/language/hu.json | 4 +++- qortal-ui-core/language/it.json | 4 +++- qortal-ui-core/language/pl.json | 4 +++- qortal-ui-core/language/pt.json | 4 +++- qortal-ui-core/language/rs.json | 4 +++- qortal-ui-core/language/ru.json | 4 +++- qortal-ui-core/language/us.json | 4 +++- qortal-ui-core/language/zhc.json | 12 +++++++----- qortal-ui-core/language/zht.json | 12 +++++++----- 14 files changed, 50 insertions(+), 22 deletions(-) diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json index e9051e99..afd276de 100644 --- a/qortal-ui-core/language/de.json +++ b/qortal-ui-core/language/de.json @@ -211,7 +211,9 @@ "wchange39": "Adresse kann nicht kopiert werden.", "wchange40": "ZAHLUNG", "wchange41": "Status", - "wchange42": "Bestätigungen" + "wchange42": "Bestätigungen", + "wchange43": "Ihre Transaktion wird erst angezeigt, wenn sie bestätigt wurde. Seien Sie geduldig...", + "wchange44": "Bitte versuche es erneut..." }, "tradepage": { "tchange1": "Handelsportal", diff --git a/qortal-ui-core/language/es.json b/qortal-ui-core/language/es.json index de0d42b1..c7b07551 100644 --- a/qortal-ui-core/language/es.json +++ b/qortal-ui-core/language/es.json @@ -211,7 +211,9 @@ "wchange39": "No se puede copiar la dirección.", "wchange40": "PAGO", "wchange41": "Estado", - "wchange42": "Confirmaciones" + "wchange42": "Confirmaciones", + "wchange43": "Su transacción no se mostrará hasta que se confirme, sea paciente...", + "wchange44": "Inténtalo de nuevo..." }, "tradepage": { "tchange1": "Portal de Comercio", diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json index a5688ede..1a0909ab 100644 --- a/qortal-ui-core/language/fr.json +++ b/qortal-ui-core/language/fr.json @@ -211,7 +211,9 @@ "wchange39": "Impossible de copier l’adresse.", "wchange40": "PAIEMENT", "wchange41": "Status", - "wchange42": "Confirmations" + "wchange42": "Confirmations", + "wchange43": "Votre transaction ne s'affichera pas tant qu'elle n'aura pas été confirmée, soyez patient...", + "wchange44": "Veuillez réessayer..." }, "tradepage": { "tchange1": "Portail de commerce", diff --git a/qortal-ui-core/language/hindi.json b/qortal-ui-core/language/hindi.json index 51458b76..f86cad50 100644 --- a/qortal-ui-core/language/hindi.json +++ b/qortal-ui-core/language/hindi.json @@ -218,7 +218,9 @@ "wchange39": "पता कॉपी करने में असमर्थ", "wchange40": "भुगतान", "wchange41": "स्थिति", - "wchange42": "पुष्टियों" + "wchange42": "पुष्टियों", + "wchange43": "कन्फर्म होने तक आपका ट्रांजैक्शन नहीं दिखेगा, धैर्य रखें...", + "wchange44": "कृपया पुन: प्रयास करें..." }, "tradepage": { "tchange1": "व्यापार पोर्टल", diff --git a/qortal-ui-core/language/hr.json b/qortal-ui-core/language/hr.json index 8bf36b41..115e45f3 100644 --- a/qortal-ui-core/language/hr.json +++ b/qortal-ui-core/language/hr.json @@ -211,7 +211,9 @@ "wchange39": "Nije moguće kopirati adresu.", "wchange40": "PLAĆANJE", "wchange41": "Status", - "wchange42": "Potvrde" + "wchange42": "Potvrde", + "wchange43": "Vaša transakcija se neće prikazati dok se ne potvrdi, budite strpljivi...", + "wchange44": "Molim te pokušaj ponovno..." }, "tradepage": { "tchange1": "Portal razmjene", diff --git a/qortal-ui-core/language/hu.json b/qortal-ui-core/language/hu.json index b37beec6..35f0642d 100644 --- a/qortal-ui-core/language/hu.json +++ b/qortal-ui-core/language/hu.json @@ -211,7 +211,9 @@ "wchange39": "Nem lehet másolni a címet.", "wchange40": "FIZETÉS", "wchange41": "Állapot", - "wchange42": "Visszaigazolások" + "wchange42": "Visszaigazolások", + "wchange43": "A tranzakció nem jelenik meg a megerősítésig, legyen türelemmel...", + "wchange44": "Kérlek próbáld újra..." }, "tradepage": { "tchange1": "Kereskedelmi Portál", diff --git a/qortal-ui-core/language/it.json b/qortal-ui-core/language/it.json index ab9afadc..7b004fa0 100644 --- a/qortal-ui-core/language/it.json +++ b/qortal-ui-core/language/it.json @@ -211,7 +211,9 @@ "wchange39": "Impossibile copiare l'indirizzo.", "wchange40": "PAGAMENTO", "wchange41": "Stato", - "wchange42": "Conferme" + "wchange42": "Conferme", + "wchange43": "La tua transazione non verrà mostrata fino a quando non sarà confermata, sii paziente...", + "wchange44": "Per favore riprova..." }, "tradepage": { "tchange1": "Portale commerciale", diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json index fc013b00..66746185 100644 --- a/qortal-ui-core/language/pl.json +++ b/qortal-ui-core/language/pl.json @@ -211,7 +211,9 @@ "wchange39": "Nie można skopiować adresu.", "wchange40": "PŁATNOŚĆ", "wchange41": "Status", - "wchange42": "Potwierdzenia" + "wchange42": "Potwierdzenia", + "wchange43": "Twoja transakcja nie pojawi się, dopóki nie zostanie potwierdzona, bądź cierpliwy...", + "wchange44": "Proszę spróbuj ponownie..." }, "tradepage": { "tchange1": "Portal Handlowy", diff --git a/qortal-ui-core/language/pt.json b/qortal-ui-core/language/pt.json index 02af6952..562a5737 100644 --- a/qortal-ui-core/language/pt.json +++ b/qortal-ui-core/language/pt.json @@ -211,7 +211,9 @@ "wchange39": "Não é possível copiar o endereço.", "wchange40": "PAGAMENTO", "wchange41": "Status", - "wchange42": "Confirmações" + "wchange42": "Confirmações", + "wchange43": "Sua transação não será exibida até ser confirmada, seja paciente...", + "wchange44": "Por favor, tente novamente..." }, "tradepage": { "tchange1": "Portal do Comércio", diff --git a/qortal-ui-core/language/rs.json b/qortal-ui-core/language/rs.json index 6d1aa1ae..63e8432a 100644 --- a/qortal-ui-core/language/rs.json +++ b/qortal-ui-core/language/rs.json @@ -211,7 +211,9 @@ "wchange39": "Nemogućnost kopiranja adrese.", "wchange40": "UPLATA", "wchange41": "Status", - "wchange42": "Potvrde" + "wchange42": "Potvrde", + "wchange43": "Vaša transakcija se neće prikazati dok se ne potvrdi, budite strpljivi...", + "wchange44": "Molim vas, pokušajte ponovo..." }, "tradepage": { "tchange1": "Trgovinski prozor", diff --git a/qortal-ui-core/language/ru.json b/qortal-ui-core/language/ru.json index a573f1e4..85599fe8 100644 --- a/qortal-ui-core/language/ru.json +++ b/qortal-ui-core/language/ru.json @@ -212,7 +212,9 @@ "wchange39": "Не удалось скопировать адрес.", "wchange40": "ОПЛАТА", "wchange41": "Статус", - "wchange42": "Подтверждено" + "wchange42": "Подтверждено", + "wchange43": "Ваша транзакция не будет отображаться, пока не будет подтверждена, наберитесь терпения...", + "wchange44": "Пожалуйста, попробуйте еще раз..." }, "tradepage": { "tchange1": "Торговый портал", diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index 0de9bc94..2a7e47a6 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -211,7 +211,9 @@ "wchange39": "Unable to copy address.", "wchange40": "PAYMENT", "wchange41": "Status", - "wchange42": "Confirmations" + "wchange42": "Confirmations", + "wchange43": "Your transaction will not show until confirmed, be patient...", + "wchange44": "Please try again..." }, "tradepage": { "tchange1": "Trade Portal", diff --git a/qortal-ui-core/language/zhc.json b/qortal-ui-core/language/zhc.json index 87145f7e..5f952bd9 100644 --- a/qortal-ui-core/language/zhc.json +++ b/qortal-ui-core/language/zhc.json @@ -211,7 +211,9 @@ "wchange39": "无法复制钱包地址.", "wchange40": "交易", "wchange41": "状态", - "wchange42": "确认数" + "wchange42": "确认数", + "wchange43": "您的交易在确认之前不会显示,请耐心等待...", + "wchange44": "请再试一次..." }, "tradepage": { "tchange1": "交易门户", @@ -434,15 +436,15 @@ "wcchange9": "发送失败, 请再此尝试..." }, "blockpage": { - "bcchange1": "封锁用户", + "bcchange1": "阻止用户", "bcchange2": "成功封锁此用户!", "bcchange3": "尝试封锁此用户时出错。 请再试一次!", "bcchange4": "没有注册名称", - "bcchange5": "请求封锁用户", - "bcchange6": "你确定要封锁这个用户吗?", + "bcchange5": "阻止用户请求", + "bcchange6": "你确定要屏蔽这个用户吗?", "bcchange7": "菜单", "bcchange8": "复制地址", - "bcchange9": "私人信息" + "bcchange9": "私人讯息" }, "grouppage": { "gchange1": "Qortal 群组", diff --git a/qortal-ui-core/language/zht.json b/qortal-ui-core/language/zht.json index 3be708a8..bba97ea3 100644 --- a/qortal-ui-core/language/zht.json +++ b/qortal-ui-core/language/zht.json @@ -211,7 +211,9 @@ "wchange39": "無法複製錢包地址.", "wchange40": "交易", "wchange41": "狀態", - "wchange42": "確認數" + "wchange42": "確認數", + "wchange43": "您的交易在確認之前不會顯示,請耐心等待...", + "wchange44": "請再試一次..." }, "tradepage": { "tchange1": "交易門戶", @@ -434,15 +436,15 @@ "wcchange9": "發送失敗, 請再此嘗試..." }, "blockpage": { - "bcchange1": "封鎖用戶", + "bcchange1": "阻止用戶", "bcchange2": "成功封鎖此用戶!", "bcchange3": "嘗試封鎖此用戶時出錯。 請再試一次!", "bcchange4": "沒有註冊名稱", - "bcchange5": "請求封鎖用戶", - "bcchange6": "你確定要封鎖這個用戶嗎?", + "bcchange5": "阻止用戶請求", + "bcchange6": "你確定要屏蔽這個用戶嗎?", "bcchange7": "菜單", "bcchange8": "複製地址", - "bcchange9": "私人信息" + "bcchange9": "私人讯息" }, "grouppage": { "gchange1": "Qortal 群組", From 73124edb9864c7b10a2b50472443160022000140 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Fri, 6 May 2022 09:52:45 +0200 Subject: [PATCH 10/25] Change messages and update deps --- package.json | 4 +- qortal-ui-core/package.json | 26 ++-- qortal-ui-plugins/package.json | 18 +-- .../plugins/core/wallet/wallet-app.src.js | 125 +++++++++++++++--- 4 files changed, 127 insertions(+), 46 deletions(-) diff --git a/package.json b/package.json index 5b992499..6065c377 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "electron-log": "4.4.6" }, "devDependencies": { - "electron": "17.4.1", + "electron": "17.4.3", "electron-builder": "23.0.3", "electron-notarize": "1.2.1", "electron-packager": "15.5.1", @@ -44,4 +44,4 @@ "engines": { "node": ">=14.17.0" } -} +} \ No newline at end of file diff --git a/qortal-ui-core/package.json b/qortal-ui-core/package.json index 1461915f..03a89271 100644 --- a/qortal-ui-core/package.json +++ b/qortal-ui-core/package.json @@ -17,12 +17,12 @@ "author": "QORTAL ", "license": "GPL-3.0", "dependencies": { - "@hapi/hapi": "20.2.1", + "@hapi/hapi": "20.2.2", "@hapi/inert": "6.0.5", - "sass": "1.50.0" + "sass": "1.51.0" }, "devDependencies": { - "@babel/core": "7.17.9", + "@babel/core": "7.17.10", "@material/mwc-button": "0.25.3", "@material/mwc-checkbox": "0.25.3", "@material/mwc-dialog": "0.25.3", @@ -55,24 +55,24 @@ "@polymer/paper-tooltip": "3.0.1", "@rollup/plugin-alias": "3.1.9", "@rollup/plugin-babel": "5.3.1", - "@rollup/plugin-commonjs": "21.1.0", - "@rollup/plugin-node-resolve": "13.2.1", + "@rollup/plugin-commonjs": "22.0.0", + "@rollup/plugin-node-resolve": "13.3.0", "@rollup/plugin-replace": "4.0.0", - "@vaadin/grid": "23.0.6", - "@vaadin/icons": "23.0.6", - "@vaadin/password-field": "23.0.6", + "@vaadin/grid": "23.0.7", + "@vaadin/icons": "23.0.7", + "@vaadin/password-field": "23.0.7", "asmcrypto.js": "2.3.2", "bcryptjs": "2.4.3", "epml": "0.3.3", "file-saver": "2.0.5", - "lit": "2.2.2", - "lit-translate": "2.0.0", - "postcss": "8.4.12", + "lit": "2.2.3", + "lit-translate": "2.0.1", + "postcss": "8.4.13", "pwa-helpers": "0.9.1", "random-sentence-generator": "0.0.8", - "redux": "4.1.2", + "redux": "4.2.0", "redux-thunk": "2.4.1", - "rollup": "2.70.2", + "rollup": "2.72.0", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-postcss": "4.0.2", "rollup-plugin-progress": "1.1.2", diff --git a/qortal-ui-plugins/package.json b/qortal-ui-plugins/package.json index 8620215e..ea019706 100644 --- a/qortal-ui-plugins/package.json +++ b/qortal-ui-plugins/package.json @@ -22,7 +22,7 @@ "emoji-picker-js": "https://github.com/Qortal/emoji-picker-js" }, "devDependencies": { - "@babel/core": "7.17.9", + "@babel/core": "7.17.10", "@github/time-elements": "3.1.2", "@material/mwc-button": "0.25.3", "@material/mwc-checkbox": "0.25.3", @@ -43,17 +43,17 @@ "@polymer/paper-tooltip": "3.0.1", "@rollup/plugin-alias": "3.1.9", "@rollup/plugin-babel": "5.3.1", - "@rollup/plugin-commonjs": "21.1.0", - "@rollup/plugin-node-resolve": "13.2.1", + "@rollup/plugin-commonjs": "22.0.0", + "@rollup/plugin-node-resolve": "13.3.0", "@rollup/plugin-replace": "4.0.0", - "@vaadin/button": "23.0.6", - "@vaadin/grid": "23.0.6", - "@vaadin/icons": "23.0.6", + "@vaadin/button": "23.0.7", + "@vaadin/grid": "23.0.7", + "@vaadin/icons": "23.0.7", "epml": "0.3.3", "html-escaper": "3.0.3", - "lit": "2.2.2", - "lit-translate": "2.0.0", - "rollup": "2.70.2", + "lit": "2.2.3", + "lit-translate": "2.0.1", + "rollup": "2.72.0", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-progress": "1.1.2", "rollup-plugin-terser": "7.0.2" diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js index 2b48c42d..46948957 100644 --- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js +++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js @@ -13,6 +13,7 @@ import '@material/mwc-checkbox' import '@material/mwc-dialog' import '@material/mwc-formfield' import '@material/mwc-icon' +import '@material/mwc-icon-button' import '@material/mwc-textfield' import '@polymer/paper-progress/paper-progress.js' import '@polymer/paper-slider/paper-slider.js' @@ -446,6 +447,16 @@ class MultiWallet extends LitElement { position: relative; } + .btn-clear-success { + --mdc-icon-button-size: 32px; + color: red; + } + + .btn-clear-error { + --mdc-icon-button-size: 32px; + color: green; + } + @keyframes fade-in { 0% { opacity: 0; @@ -455,6 +466,26 @@ class MultiWallet extends LitElement { } } + .successBox { + height: 34px; + min-width: 300px; + width: 100%; + border: 1px solid green; + border-radius: 5px; + background-color: transparent; + margin-top: 15px; + } + + .errorBox { + height: 34px; + min-width: 300px; + width: 100%; + border: 1px solid red; + border-radius: 5px; + background-color: transparent; + margin-top: 15px; + } + @media (max-width: 863px) { .wallet { width: 100%; @@ -558,7 +589,7 @@ class MultiWallet extends LitElement { this.sendMoneyLoading = false this.isValidAmount = false this.btnDisable = false - this.balance = 0 + this.balance = 0 this.amount = 0 this.btcAmount = 0 this.ltcAmount = 0 @@ -901,11 +932,11 @@ class MultiWallet extends LitElement { >

    -
    +

    ${translate("walletpage.wchange21")} 0.001 QORT

    -

    ${this.errorMessage}

    -

    ${this.successMessage}

    + ${this.renderClearSuccess()} + ${this.renderClearError()} ${this.sendMoneyLoading ? html` ` : ''}
    @@ -918,7 +949,7 @@ class MultiWallet extends LitElement {
    ${translate("general.close")} @@ -978,8 +1009,8 @@ class MultiWallet extends LitElement { >
    -

    ${this.errorMessage}

    -

    ${this.successMessage}

    + ${this.renderClearSuccess()} + ${this.renderClearError()} ${this.sendMoneyLoading ? html` ` : ''}
    @@ -992,7 +1023,7 @@ class MultiWallet extends LitElement {
    ${translate("general.close")} @@ -1052,8 +1083,8 @@ class MultiWallet extends LitElement { >
    -

    ${this.errorMessage}

    -

    ${this.successMessage}

    + ${this.renderClearSuccess()} + ${this.renderClearError()} ${this.sendMoneyLoading ? html` ` : ''}
    @@ -1066,7 +1097,7 @@ class MultiWallet extends LitElement {
    ${translate("general.close")} @@ -1128,8 +1159,8 @@ class MultiWallet extends LitElement { >
    -

    ${this.errorMessage}

    -

    ${this.successMessage}

    + ${this.renderClearSuccess()} + ${this.renderClearError()} ${this.sendMoneyLoading ? html` ` : ''}
    @@ -1142,7 +1173,7 @@ class MultiWallet extends LitElement {
    ${translate("general.close")} @@ -1157,14 +1188,6 @@ class MultiWallet extends LitElement { this.changeTheme() this.changeLanguage() - setInterval(() => { - this.errorMessage = ''; - }, 10000) - - setInterval(() => { - this.successMessage = ''; - }, 10000) - this.currencyBoxes = this.shadowRoot.querySelectorAll('.currency-box') this.transactionsDOM = this.shadowRoot.getElementById('transactionsDOM') @@ -1391,6 +1414,64 @@ class MultiWallet extends LitElement { }) } + renderClearSuccess() { + let strSuccessValue = this.successMessage + if (strSuccessValue === "") { + return html`` + } else { + return html` +
    + ${this.successMessage} + +
    +
    +

    ${translate("walletpage.wchange43")}

    +
    + ` + } + } + + renderClearError() { + let strErrorValue = this.errorMessage + if (strErrorValue === "") { + return html`` + } else { + return html` +
    + ${this.errorMessage} + +
    +
    +

    ${translate("walletpage.wchange44")}

    +
    + ` + } + } + + closeQortDialog() { + this.shadowRoot.querySelector('#sendQortDialog').close() + this.successMessage = '' + this.errorMessage = '' + } + + closeBtcDialog() { + this.shadowRoot.querySelector('#sendBtcDialog').close() + this.successMessage = '' + this.errorMessage = '' + } + + closeLtcDialog() { + this.shadowRoot.querySelector('#sendLtcDialog').close() + this.successMessage = '' + this.errorMessage = '' + } + + closeDogeDialog() { + this.shadowRoot.querySelector('#sendDogeDialog').close() + this.successMessage = '' + this.errorMessage = '' + } + renderFetchText() { return html`${translate("walletpage.wchange1")}` } From 72d66fac49a028bfb37a4203e1d849ef81e326be Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Fri, 6 May 2022 17:56:38 +0200 Subject: [PATCH 11/25] Fix not show own name --- qortal-ui-plugins/plugins/core/components/ChatPage.js | 2 +- qortal-ui-plugins/plugins/core/components/ChatScroller.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qortal-ui-plugins/plugins/core/components/ChatPage.js b/qortal-ui-plugins/plugins/core/components/ChatPage.js index 1872b273..28060849 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatPage.js +++ b/qortal-ui-plugins/plugins/core/components/ChatPage.js @@ -364,7 +364,7 @@ class ChatPage extends LitElement { } if (messageObj.sender === this.myAddress) { - nameMenu = `` + nameMenu = `${messageObj.senderName ? messageObj.senderName : messageObj.sender}` } else { nameMenu = `` } diff --git a/qortal-ui-plugins/plugins/core/components/ChatScroller.js b/qortal-ui-plugins/plugins/core/components/ChatScroller.js index 25ef38ae..68b8b6c2 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatScroller.js +++ b/qortal-ui-plugins/plugins/core/components/ChatScroller.js @@ -211,7 +211,7 @@ class ChatScroller extends LitElement { } if (messageObj.sender === this.myAddress) { - nameMenu = `` + nameMenu = `${messageObj.senderName ? messageObj.senderName : messageObj.sender}` } else { nameMenu = `` } From c007d514df7da7cdf5474127186d5403b9896f07 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Fri, 6 May 2022 18:02:26 +0200 Subject: [PATCH 12/25] add space --- qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js index 46948957..b547c6c8 100644 --- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js +++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js @@ -1424,7 +1424,7 @@ class MultiWallet extends LitElement { ${this.successMessage}
    -
    +

    ${translate("walletpage.wchange43")}

    ` From f77cec5f3cf85c4a37666d10c96c2b1cefd97b88 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Fri, 6 May 2022 19:06:29 -0400 Subject: [PATCH 13/25] Removed version.js from repo This file is always recreated when building, using the version number in package.json. --- qortal-ui-core/src/redux/app/version.js | 1 - 1 file changed, 1 deletion(-) delete mode 100644 qortal-ui-core/src/redux/app/version.js diff --git a/qortal-ui-core/src/redux/app/version.js b/qortal-ui-core/src/redux/app/version.js deleted file mode 100644 index dbe4ce76..00000000 --- a/qortal-ui-core/src/redux/app/version.js +++ /dev/null @@ -1 +0,0 @@ -export const UI_VERSION = "1.8.2"; From edb0a2d16c760a3f0bed8aa6332afd72c316dd67 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Fri, 6 May 2022 19:15:46 -0400 Subject: [PATCH 14/25] Added version.js to gitignore file This file is created during build and does not need to be updated with the repo. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 61497b82..f48b5eb6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ yarn.lock # Derived js files qortal-ui-plugins/plugins/core/**/*.js !*.src.js +qortal-ui-core/src/redux/app/version.js # Node modules node_modules/ From 2af9b12c7aeaded7553c96dbc145440963fcab12 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Fri, 6 May 2022 19:17:00 -0400 Subject: [PATCH 15/25] Removed extra character This L appears to be a minor typo. --- qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js index b547c6c8..7203e51a 100644 --- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js +++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js @@ -1145,7 +1145,7 @@ class MultiWallet extends LitElement {

    - ${translate("walletpage.wchange24")}: ${(this.dogeFeePerByte / 1e8).toFixed(8)} DOGE
    L${translate("walletpage.wchange25")} + ${translate("walletpage.wchange24")}: ${(this.dogeFeePerByte / 1e8).toFixed(8)} DOGE
    ${translate("walletpage.wchange25")}

    Date: Fri, 6 May 2022 19:49:50 -0400 Subject: [PATCH 16/25] Added tx fee estimates to Trade Portal This can be updated with a more exact system later. --- .../core/trade-portal/trade-portal.src.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js index 6dfe2ea1..63aa7fc9 100644 --- a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js +++ b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js @@ -239,7 +239,7 @@ class TradePortal extends LitElement { overflow: hidden; } - .you-have { + .amt-text { color: var(--tradehave); font-size: 15px; text-align: right; @@ -411,7 +411,8 @@ class TradePortal extends LitElement { name: "QORTAL", balance: "0", coinCode: "QORT", - coinAmount: this.amountString + coinAmount: this.amountString, + tradeFee: "0.002" } let litecoin = { @@ -426,7 +427,8 @@ class TradePortal extends LitElement { myOfferingOrders: [], openTradeOrders: null, tradeOffersSocketCounter: 1, - coinAmount: this.amountString + coinAmount: this.amountString, + tradeFee: "~0.00005" } let dogecoin = { @@ -441,7 +443,8 @@ class TradePortal extends LitElement { myOfferingOrders: [], openTradeOrders: null, tradeOffersSocketCounter: 1, - coinAmount: this.amountString + coinAmount: this.amountString, + tradeFee: "~0.005" } this.listedCoins = new Map() @@ -637,7 +640,8 @@ class TradePortal extends LitElement { >

    - ${translate("tradepage.tchange16")}: ${this.listedCoins.get(this.selectedCoin).balance} ${this.listedCoins.get(this.selectedCoin).coinCode} + ${translate("tradepage.tchange16")}: ${this.listedCoins.get(this.selectedCoin).balance} ${this.listedCoins.get(this.selectedCoin).coinCode} + ${translate("walletpage.wchange12")}: ${this.listedCoins.get(this.selectedCoin).tradeFee} ${this.listedCoins.get(this.selectedCoin).coinCode}
    @@ -696,7 +700,8 @@ class TradePortal extends LitElement { >

    - ${translate("tradepage.tchange16")}: ${this.listedCoins.get("QORTAL").balance} QORT + ${translate("tradepage.tchange16")}: ${this.listedCoins.get("QORTAL").balance} QORT + ${translate("walletpage.wchange12")}: ${this.listedCoins.get("QORTAL").tradeFee} QORT
    From 0ca6dc8894d69e5b230911ebb60036d776437000 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Fri, 6 May 2022 20:32:39 -0400 Subject: [PATCH 17/25] Removed unused imports These mwc elements are not used here. --- qortal-ui-core/src/components/app-view.js | 3 --- qortal-ui-core/src/components/sidenav-menu.js | 1 - 2 files changed, 4 deletions(-) diff --git a/qortal-ui-core/src/components/app-view.js b/qortal-ui-core/src/components/app-view.js index 81cd764a..a481d5f3 100644 --- a/qortal-ui-core/src/components/app-view.js +++ b/qortal-ui-core/src/components/app-view.js @@ -13,9 +13,6 @@ import './show-plugin.js' import './qort-theme-toggle.js' import './language-selector.js' -import '@material/mwc-drawer' -import '@material/mwc-icon' - import '@polymer/app-layout/app-layout.js' import '@polymer/paper-ripple' diff --git a/qortal-ui-core/src/components/sidenav-menu.js b/qortal-ui-core/src/components/sidenav-menu.js index c730c05d..20c5f31b 100644 --- a/qortal-ui-core/src/components/sidenav-menu.js +++ b/qortal-ui-core/src/components/sidenav-menu.js @@ -3,7 +3,6 @@ import { connect } from 'pwa-helpers' import { store } from '../store.js' import { translate, translateUnsafeHTML } from 'lit-translate' -import '@material/mwc-icon' import '@polymer/paper-ripple' import '@vaadin/icon' import '@vaadin/icons' From 6420de834a1f41dd69b4ee5391f6ca68fc32e398 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Sat, 7 May 2022 00:08:20 -0400 Subject: [PATCH 18/25] Lowered DGB sending fee values --- qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js index 75c5a5e9..1279a0d7 100644 --- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js +++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js @@ -621,9 +621,9 @@ class MultiWallet extends LitElement { this.dogeFeePerByte = 1000 this.dogeSatMinFee = 100 this.dogeSatMaxFee = 10000 - this.dgbFeePerByte = 100 - this.dgbSatMinFee = 10 - this.dgbSatMaxFee = 1000 + this.dgbFeePerByte = 10 + this.dgbSatMinFee = 1 + this.dgbSatMaxFee = 100 this.rvnFeePerByte = 1125 this.rvnSatMinFee = 1000 this.rvnSatMaxFee = 10000 From 8f9a5a80db6e07f6d52893d2e905347a06e1b603 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Sun, 8 May 2022 18:27:45 -0400 Subject: [PATCH 19/25] Removed Activation section This was added to explain why Minting details cannot be shown for an unpublished account. In that case however, we already simply do not show any Minting details, so this message is unnecessary and seems to only cause confusion for new accounts. --- .../plugins/core/minting/minting-info.src.js | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/qortal-ui-plugins/plugins/core/minting/minting-info.src.js b/qortal-ui-plugins/plugins/core/minting/minting-info.src.js index bd45a6d0..c75517d9 100644 --- a/qortal-ui-plugins/plugins/core/minting/minting-info.src.js +++ b/qortal-ui-plugins/plugins/core/minting/minting-info.src.js @@ -233,26 +233,9 @@ class MintingInfo extends LitElement { ${translate("mintingpage.mchange5")}

    ${this._dayReward()} QORT

    -



    -
    - ${this.renderActivateHelp()} -

    - - - -
    -

    ${translate("mintingpage.mchange12")}

    -
    -
    -
    -

    ${translate("mintingpage.mchange13")}


    - ${translate("mintingpage.mchange14")} -
    - ${translate("general.close")} -
    `} else { return html` @@ -474,13 +457,6 @@ class MintingInfo extends LitElement { } } - renderActivateHelp() { - if (this.renderMintingPage() === "false") { - return html`${translate("mintingpage.mchange10")}
    ==>
    ${translate("mintingpage.mchange11")}
    this.shadowRoot.querySelector("#activateAccountDialog").show()}>help_outline ${translate("mintingpage.mchange31")}`; - } else { - return "No Details"; - } - } _averageBlockTime() { let avgBlockString = (this.adminInfo.currentTimestamp - this.sampleBlock.timestamp).toString(); let averageTimeString = ((avgBlockString / 1000) / 1440).toFixed(2); From 1d1f8fe707f0d5574f9d71cca2d23f28aae1f300 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 9 May 2022 14:52:32 -0400 Subject: [PATCH 20/25] Fixed some typos Added missing RVN entry, reordered an entry, added missing DGB/RVN entry, and fixed a duplicate entry. --- .../plugins/core/wallet/wallet-app.src.js | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js index 1279a0d7..7ce21df2 100644 --- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js +++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js @@ -661,6 +661,7 @@ class MultiWallet extends LitElement { this.wallets.get('ltc').wallet = window.parent.reduxStore.getState().app.selectedAddress.ltcWallet this.wallets.get('doge').wallet = window.parent.reduxStore.getState().app.selectedAddress.dogeWallet this.wallets.get('dgb').wallet = window.parent.reduxStore.getState().app.selectedAddress.dgbWallet + this.wallets.get('rvn').wallet = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet }) parentEpml.subscribe('copy_menu_switch', async (value) => { @@ -1723,7 +1724,7 @@ class MultiWallet extends LitElement { checkSelectedTextAndShowMenu() }) - this.shadowRoot.getElementById('rvnAmountInput').addEventListener('contextmenu', (event) => { + this.shadowRoot.getElementById('dgbRecipient').addEventListener('contextmenu', (event) => { const getSelectedText = () => { var text = '' if (typeof window.getSelection != 'undefined') { @@ -1737,7 +1738,7 @@ class MultiWallet extends LitElement { let selectedText = getSelectedText() if (selectedText && typeof selectedText === 'string') { } else { - this.pasteMenu(event, 'rvnAmountInput') + this.pasteMenu(event, 'dgbRecipient') this.isPasteMenuOpen = true event.preventDefault() event.stopPropagation() @@ -1746,7 +1747,7 @@ class MultiWallet extends LitElement { checkSelectedTextAndShowMenu() }) - this.shadowRoot.getElementById('rvnRecipient').addEventListener('contextmenu', (event) => { + this.shadowRoot.getElementById('rvnAmountInput').addEventListener('contextmenu', (event) => { const getSelectedText = () => { var text = '' if (typeof window.getSelection != 'undefined') { @@ -1760,7 +1761,7 @@ class MultiWallet extends LitElement { let selectedText = getSelectedText() if (selectedText && typeof selectedText === 'string') { } else { - this.pasteMenu(event, 'rvnRecipient') + this.pasteMenu(event, 'rvnAmountInput') this.isPasteMenuOpen = true event.preventDefault() event.stopPropagation() @@ -1769,7 +1770,7 @@ class MultiWallet extends LitElement { checkSelectedTextAndShowMenu() }) - this.shadowRoot.getElementById('dgbRecipient').addEventListener('contextmenu', (event) => { + this.shadowRoot.getElementById('rvnRecipient').addEventListener('contextmenu', (event) => { const getSelectedText = () => { var text = '' if (typeof window.getSelection != 'undefined') { @@ -1783,7 +1784,7 @@ class MultiWallet extends LitElement { let selectedText = getSelectedText() if (selectedText && typeof selectedText === 'string') { } else { - this.pasteMenu(event, 'dgbRecipient') + this.pasteMenu(event, 'rvnRecipient') this.isPasteMenuOpen = true event.preventDefault() event.stopPropagation() @@ -1851,6 +1852,18 @@ class MultiWallet extends LitElement { this.errorMessage = '' } + closeDgbDialog() { + this.shadowRoot.querySelector('#sendDgbDialog').close() + this.successMessage = '' + this.errorMessage = '' + } + + closeRvnDialog() { + this.shadowRoot.querySelector('#sendRvnDialog').close() + this.successMessage = '' + this.errorMessage = '' + } + renderFetchText() { return html`${translate("walletpage.wchange1")}` } @@ -2527,12 +2540,12 @@ class MultiWallet extends LitElement { }, { passive: true } ) - } else if (coin === 'dgb') { + } else if (coin === 'rvn') { this.transactionsGrid.addEventListener( 'click', (e) => { - let dgbItem = this.transactionsGrid.getEventContext(e).item - this.showDgbTransactionDetails(dgbItem, this.wallets.get(this._selectedWallet).transactions) + let rvnItem = this.transactionsGrid.getEventContext(e).item + this.showRvnTransactionDetails(rvnItem, this.wallets.get(this._selectedWallet).transactions) }, { passive: true } ) From e144ccf9632dda146a514174eeb6759884c1d5cf Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 9 May 2022 14:56:37 -0400 Subject: [PATCH 21/25] Update DGB/RVN to match master Added some changes that were not applied to new-coins during the previous merge from the master branch. --- .../plugins/core/wallet/wallet-app.src.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js index 7ce21df2..a7ec21e8 100644 --- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js +++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js @@ -1357,7 +1357,7 @@ class MultiWallet extends LitElement {

    - ${translate("walletpage.wchange24")}: ${(this.dgbFeePerByte / 1e8).toFixed(8)} DGB
    L${translate("walletpage.wchange25")} + ${translate("walletpage.wchange24")}: ${(this.dgbFeePerByte / 1e8).toFixed(8)} DGB
    ${translate("walletpage.wchange25")}

    -

    ${this.errorMessage}

    -

    ${this.successMessage}

    + ${this.renderClearSuccess()} + ${this.renderClearError()} ${this.sendMoneyLoading ? html` ` : ''}
    @@ -1385,7 +1385,7 @@ class MultiWallet extends LitElement {
    ${translate("general.close")} @@ -1433,7 +1433,7 @@ class MultiWallet extends LitElement {

    - ${translate("walletpage.wchange24")}: ${(this.rvnFeePerByte / 1e8).toFixed(8)} RVN
    L${translate("walletpage.wchange25")} + ${translate("walletpage.wchange24")}: ${(this.rvnFeePerByte / 1e8).toFixed(8)} RVN
    ${translate("walletpage.wchange25")}

    -

    ${this.errorMessage}

    -

    ${this.successMessage}

    + ${this.renderClearSuccess()} + ${this.renderClearError()} ${this.sendMoneyLoading ? html` ` : ''}
    @@ -1461,7 +1461,7 @@ class MultiWallet extends LitElement {
    ${translate("general.close")} From 8a380902f927dbb36bdbc90496a263184c6dbd6f Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 9 May 2022 14:57:43 -0400 Subject: [PATCH 22/25] Update DGB/RVN to match master Added trade fees to new-coins since they were not part of the master branch. --- .../plugins/core/trade-portal/trade-portal.src.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js index 22dc2b27..5ef9ef91 100644 --- a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js +++ b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js @@ -467,7 +467,8 @@ class TradePortal extends LitElement { myOfferingOrders: [], openTradeOrders: null, tradeOffersSocketCounter: 1, - coinAmount: this.amountString + coinAmount: this.amountString, + tradeFee: "~0.0005" } let ravencoin = { @@ -482,7 +483,8 @@ class TradePortal extends LitElement { myOfferingOrders: [], openTradeOrders: null, tradeOffersSocketCounter: 1, - coinAmount: this.amountString + coinAmount: this.amountString, + tradeFee: "~0.006" } this.listedCoins = new Map() From 22ea028e803f11a0889610f3765e6c3e1d256e36 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 10 May 2022 11:48:24 +0200 Subject: [PATCH 23/25] Small fixes and add russian --- img/ru-flag-round-icon-32.png | Bin 0 -> 1880 bytes package.json | 2 +- qortal-ui-core/language/de.json | 3 +- qortal-ui-core/language/es.json | 3 +- qortal-ui-core/language/fr.json | 5 +- qortal-ui-core/language/hindi.json | 3 +- qortal-ui-core/language/hr.json | 3 +- qortal-ui-core/language/hu.json | 3 +- qortal-ui-core/language/it.json | 3 +- qortal-ui-core/language/pl.json | 3 +- qortal-ui-core/language/pt.json | 3 +- qortal-ui-core/language/rs.json | 3 +- qortal-ui-core/language/ru.json | 2 +- qortal-ui-core/language/us.json | 3 +- qortal-ui-core/language/zhc.json | 3 +- qortal-ui-core/language/zht.json | 3 +- .../src/components/language-selector.js | 4 +- .../login-view/create-account-section.js | 37 ++-- .../login-view/loading-ripple_old.js | 186 ------------------ qortal-ui-core/src/components/sidenav-menu.js | 2 +- .../functional-components/loading-ripple.js | 10 +- 21 files changed, 50 insertions(+), 234 deletions(-) create mode 100644 img/ru-flag-round-icon-32.png delete mode 100644 qortal-ui-core/src/components/login-view/loading-ripple_old.js diff --git a/img/ru-flag-round-icon-32.png b/img/ru-flag-round-icon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..33286ec1d13d3e6b11f6fa2c71ab3ca66091cdce GIT binary patch literal 1880 zcmbVNc~BE~6wVkMFD@-=Q3`9Y1(am7yAjwmK|=y2U@!!%D0XzSSs-GvVRs=RU_Gg{ z;881D5KFxo5RZz-7^#Y5@kUXQL#?Qdk>KlRSlyGLV4AjHi-%5;taN zoF-*F9zV;Jn8YS&r(y(U7UM3A*lxCRY#vWG$!^7obdm)OWU9#`7e00#6#^!sTsUKb zR-&~k$uyJNL6ZrNxJ1H{PM}8NqzFJ}$2bFKlEneLdA^0g>~i57yBIfjZG%GK4TMdX z3*U-L(&_*uMUz077!nZ@i3A8k#VA1#QX`2XApk6aVNimAkW>UoF-aH(!$9vNv)RNpL`>1CAcUeQD1kv37I6p>lWk#fyU4->^jT1m3_+W$ ztckJ!E{nK<%4Fq2PVCz#%vP=TonZ^pn=3ABpdGh@kXQnm&92bipcz(A{ww3XXeKe+ zN`iWlp)zTLyONZEJ~EfS4?A)JIW^cc+Qi)pK3_!LWDvos7L}CLJ=b&HIO*oXXkxWB|G|CFVh!_TfW|%BS z%Ekn{?&xjEDv~y3k;Z76G6QdtjG5jefRq>@Bn;uAB?&}?qf%6aa+M@P5lCu8!f136Kkt5W_`IelAPIl89rT7g@-#ty6imI20KNfaJsbb6c`9Z8qn|El$JP`Q^?5uXDuC^><%RdKppQjuwWT_0sNf zj|lKcjvuXyjc4LD?QQ&^i52e8eH%j_b{x5M?(D02-V!Dwe8bkf1%Xeiuf1SL&@0@m zA^cG(&x*a`#;D=kC#Nqy7+AaF!lKU0;MMl3c~Zj$@5zGC_1EOP{iYY)xZQOyeC*7@ zr{f36d#b0bVf+SvRl235qkH7tIi0>&oUvu9nQmtiJYc#;xz;33v?K~TkKZ{gpz24z zl%5*;WYeS|X2lJ^k{mt%_OSN24XGVBW7r{M(7l)L7v_F^t9?-Uf#P#AIKrdiw z{PVwWx^yCRa!t;bJEt1DD=R+PQ+31BBVzx`=9s@LF*!v|jyd0NX!8%_=Bk&_UGd{& zjb}ppW7xt~NRxDJQJt)(u5DUvDiQ4tPpoqb3fx=}{8`iEZ9Rm*Ru!@s>GDjfE6e}Y z?WcfQ-V<%!iH8JN&BYmqRv+z`HT=t08aLyhg+987yfQpCZ1|TMSj>wHvpXtdj{p38 z`#$i;-+Wtwwaq1YZF_sxAC*hi%PSVIuC&F>{rtP-f$MHr9mf^v;Y{+CnlU98Z|RCB zKEN`!)qLUXj0#vL=-$j99lobZw3I3E(D?toGySit*~>hq?MKg_*d#mAmUFYbi>w{h zGhXt%RdN5%0lz->uS&;0Rr`8ALR&g9r38sW;ric5J+SZ)HGhmwD*JZ2GUP kg{qv_L9H)d9pv$O1y2t~-znL?#r3b#M8&CgMb2IF54up}_y7O^ literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 6065c377..b1e3a754 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "electron-updater": "5.0.1", - "electron-log": "4.4.6" + "electron-log": "4.4.7" }, "devDependencies": { "electron": "17.4.3", diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json index afd276de..b439ea00 100644 --- a/qortal-ui-core/language/de.json +++ b/qortal-ui-core/language/de.json @@ -14,7 +14,8 @@ "portuguese": "Portugiesisch", "hungarian": "Ungarisch", "serbian": "Serbisch", - "italian": "Italienisch" + "italian": "Italienisch", + "russian": "Russisch" }, "sidemenu": { "mintingdetails": "PRÄGUNGSDETAILS", diff --git a/qortal-ui-core/language/es.json b/qortal-ui-core/language/es.json index c7b07551..1cb21b13 100644 --- a/qortal-ui-core/language/es.json +++ b/qortal-ui-core/language/es.json @@ -14,7 +14,8 @@ "portuguese": "Portugués", "hungarian": "Húngaro", "serbian": "Serbio", - "italian": "Italiano" + "italian": "Italiano", + "russian": "Ruso" }, "sidemenu": { "mintingdetails": "DETALLES DE ACUÑACIÓN", diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json index 1a0909ab..32bbf793 100644 --- a/qortal-ui-core/language/fr.json +++ b/qortal-ui-core/language/fr.json @@ -14,7 +14,8 @@ "portuguese": "Portugais", "hungarian": "Hongrois", "serbian": "Serbe", - "italian": "Italien" + "italian": "Italien", + "russian": "Russe" }, "sidemenu": { "mintingdetails": "DETAILS DE FRAPPE", @@ -186,7 +187,7 @@ "wchange14": "Date", "wchange15": "Signature de la transaction", "wchange16": "Hachage de la transaction", - "wchange17": "Envoyé", + "wchange17": "Envoyer", "wchange18": "Depuis l'adresse", "wchange19": "Solde disponible", "wchange20": "A (adresse ou nom)", diff --git a/qortal-ui-core/language/hindi.json b/qortal-ui-core/language/hindi.json index f86cad50..613dd569 100644 --- a/qortal-ui-core/language/hindi.json +++ b/qortal-ui-core/language/hindi.json @@ -15,7 +15,8 @@ "portuguese": "पुर्तगाली", "hungarian": "हंगेरी", "serbian": "सर्बियाई", - "italian": "इतालवी" + "italian": "इतालवी", + "russian": "रूसी" }, "sidemenu": { diff --git a/qortal-ui-core/language/hr.json b/qortal-ui-core/language/hr.json index 115e45f3..d166aa16 100644 --- a/qortal-ui-core/language/hr.json +++ b/qortal-ui-core/language/hr.json @@ -14,7 +14,8 @@ "portuguese": "Portugalski", "hungarian": "Mađarski", "serbian": "Srpski", - "italian": "Talijanski" + "italian": "Talijanski", + "russian": "Ruski" }, "sidemenu": { "mintingdetails": "DETALJI O MINTANJU", diff --git a/qortal-ui-core/language/hu.json b/qortal-ui-core/language/hu.json index 35f0642d..7bd9b97f 100644 --- a/qortal-ui-core/language/hu.json +++ b/qortal-ui-core/language/hu.json @@ -14,7 +14,8 @@ "portuguese": "Portugál", "hungarian": "Magyar", "serbian": "Szerb", - "italian": "Olasz" + "italian": "Olasz", + "russian": "Orosz" }, "sidemenu": { "mintingdetails": "VERÉSI RÉSZLETEK", diff --git a/qortal-ui-core/language/it.json b/qortal-ui-core/language/it.json index 7b004fa0..a71d3e33 100644 --- a/qortal-ui-core/language/it.json +++ b/qortal-ui-core/language/it.json @@ -14,7 +14,8 @@ "portuguese": "Portoghese", "hungarian": "Ungherese", "serbian": "Serbo", - "italian": "Italiano" + "italian": "Italiano", + "russian": "Russo" }, "sidemenu": { "mintingdetails": "DETTAGLI DI MINTING", diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json index 66746185..cf74f411 100644 --- a/qortal-ui-core/language/pl.json +++ b/qortal-ui-core/language/pl.json @@ -14,7 +14,8 @@ "portuguese": "Portugalski", "hungarian": "Węgierski", "serbian": "Serbski", - "italian": "Włoski" + "italian": "Włoski", + "russian": "Rosyjski" }, "sidemenu": { "mintingdetails": "SZCZEGÓŁY MINTOWANIA", diff --git a/qortal-ui-core/language/pt.json b/qortal-ui-core/language/pt.json index 562a5737..bfbff7f9 100644 --- a/qortal-ui-core/language/pt.json +++ b/qortal-ui-core/language/pt.json @@ -14,7 +14,8 @@ "portuguese": "Português", "hungarian": "Húngaro", "serbian": "Sérvio", - "italian": "Italiano" + "italian": "Italiano", + "russian": "Russo" }, "sidemenu": { "mintingdetails": "DETALHES DA MINERAÇÃO", diff --git a/qortal-ui-core/language/rs.json b/qortal-ui-core/language/rs.json index 63e8432a..c2a2e285 100644 --- a/qortal-ui-core/language/rs.json +++ b/qortal-ui-core/language/rs.json @@ -14,7 +14,8 @@ "portuguese": "Portugalski", "hungarian": "Mađarski", "serbian": "Srpski", - "italian": "Italijan" + "italian": "Italijan", + "russian": "Ruski" }, "sidemenu": { "mintingdetails": "DETALJI MINTOVANJA", diff --git a/qortal-ui-core/language/ru.json b/qortal-ui-core/language/ru.json index 85599fe8..4b6142e8 100644 --- a/qortal-ui-core/language/ru.json +++ b/qortal-ui-core/language/ru.json @@ -208,7 +208,7 @@ "wchange35": "Тип", "wchange36": "Платеж", "wchange37": "Общая сумма", - "wchange38": "Address has no transactions yet.", + "wchange38": "В адресе еще нет транзакций.", "wchange39": "Не удалось скопировать адрес.", "wchange40": "ОПЛАТА", "wchange41": "Статус", diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index 2a7e47a6..57841ec3 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -14,7 +14,8 @@ "portuguese": "Portuguese", "hungarian": "Hungarian", "serbian": "Serbian", - "italian": "Italian" + "italian": "Italian", + "russian": "Russian" }, "sidemenu": { "mintingdetails": "MINTING DETAILS", diff --git a/qortal-ui-core/language/zhc.json b/qortal-ui-core/language/zhc.json index 5f952bd9..c63aa994 100644 --- a/qortal-ui-core/language/zhc.json +++ b/qortal-ui-core/language/zhc.json @@ -14,7 +14,8 @@ "portuguese": "葡萄牙文", "hungarian": "匈牙利文", "serbian": "塞尔维亚文", - "italian": "意大利文" + "italian": "意大利文", + "russian": "俄语" }, "sidemenu": { "mintingdetails": "铸币信息", diff --git a/qortal-ui-core/language/zht.json b/qortal-ui-core/language/zht.json index bba97ea3..e59df6f3 100644 --- a/qortal-ui-core/language/zht.json +++ b/qortal-ui-core/language/zht.json @@ -14,7 +14,8 @@ "portuguese": "葡萄牙文", "hungarian": "匈牙利文", "serbian": "塞爾維亞文", - "italian": "意大利文" + "italian": "意大利文", + "russian": "俄語" }, "sidemenu": { "mintingdetails": "鑄幣信息", diff --git a/qortal-ui-core/src/components/language-selector.js b/qortal-ui-core/src/components/language-selector.js index 19723ee4..68422491 100644 --- a/qortal-ui-core/src/components/language-selector.js +++ b/qortal-ui-core/src/components/language-selector.js @@ -51,13 +51,14 @@ class LanguageSelector extends connect(store)(LitElement) { constructor() { super() + this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' } render() { return html`
    diff --git a/qortal-ui-core/src/components/login-view/create-account-section.js b/qortal-ui-core/src/components/login-view/create-account-section.js index ad4b40c4..b285118f 100644 --- a/qortal-ui-core/src/components/login-view/create-account-section.js +++ b/qortal-ui-core/src/components/login-view/create-account-section.js @@ -1,7 +1,7 @@ import { LitElement, html, css } from 'lit' import { connect } from 'pwa-helpers' import { store } from '../../store.js' -import { translate, translateUnsafeHTML } from 'lit-translate' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' import { createWallet } from '../../../../qortal-ui-crypto/api/createWallet.js' import FileSaver from 'file-saver' @@ -121,24 +121,27 @@ class CreateAccountSection extends connect(store)(LitElement) { const rePassword = this.shadowRoot.getElementById('rePassword').value if (password === '') { + let snackbar1string = get("login.pleaseenter") snackbar.add({ - labelText: this.renderEnterPassText(), + labelText: `${snackbar1string}`, dismiss: true }) return } if (password != rePassword) { + let snackbar2string = get("login.notmatch") snackbar.add({ - labelText: this.renderNotMatchText(), + labelText: `${snackbar2string}`, dismiss: true }) return } if (password.length < 8 && lastPassword !== password) { + let snackbar3string = get("login.lessthen8") snackbar.add({ - labelText: this.renderLessText(), + labelText: `${snackbar3string}`, dismiss: true }) lastPassword = password @@ -146,8 +149,9 @@ class CreateAccountSection extends connect(store)(LitElement) { } if (this.saveAccount === true && nameInput === '') { + let snackbar4string = get("login.entername") snackbar.add({ - labelText: this.renderEnterNameText(), + labelText: `${snackbar4string}`, dismiss: true }) return @@ -194,8 +198,9 @@ class CreateAccountSection extends connect(store)(LitElement) { backup: { next: e => { if (!this.isDownloadedBackup) { + let snackbar5string = get("login.downloaded") snackbar.add({ - labelText: this.renderBackupText(), + labelText: `${snackbar5string}`, dismiss: true }) } else { @@ -494,30 +499,10 @@ class CreateAccountSection extends connect(store)(LitElement) { return html`${translate("login.prepare")}` } - renderBackupText() { - return html`${translate("login.downloaded")}` - } - renderWelcomeText() { return html`${translate("login.welmessage")}` } - renderEnterPassText() { - return html`${translate("login.pleaseenter")}` - } - - renderNotMatchText() { - return html`${translate("login.notmatch")}` - } - - renderLessText() { - return html`${translate("login.lessthen8")}` - } - - renderEnterNameText() { - return html`${translate("login.entername")}` - } - renderLoadingText() { return html`${translate("login.loading")}` } diff --git a/qortal-ui-core/src/components/login-view/loading-ripple_old.js b/qortal-ui-core/src/components/login-view/loading-ripple_old.js deleted file mode 100644 index c436beb8..00000000 --- a/qortal-ui-core/src/components/login-view/loading-ripple_old.js +++ /dev/null @@ -1,186 +0,0 @@ -import { LitElement, html, css } from 'lit' -import { connect } from 'pwa-helpers' -import { store } from '../../store.js' - -const TRANSITION_EVENT_NAMES = ['transitionend', 'webkitTransitionEnd', 'oTransitionEnd', 'MSTransitionEnd'] - -class LoadingRipple extends connect(store)(LitElement) { - static get properties () { - return { - welcomeMessage: { - type: String, - attribute: 'welcome-message', - reflectToAttribute: true - }, - loadingMessage: { - type: String, - attribute: 'loading-message', - reflectToAttribute: true - } - } - } - - constructor () { - super() - this.welcomeMessage = '' - this.loadingMessage = '' - } - - static get styles () { - return css` - * { - --paper-spinner-color: var(--mdc-theme-secondary); - } - - ` - } - - render () { - return html` - -
    -
    -
    -
    -
    -

    ${this.welcomeMessage}

    - -

    ${this.loadingMessage}

    -
    -
    -
    -
    - ` - } - - firstUpdated () { - this._rippleWrapper = this.shadowRoot.getElementById('rippleWrapper') - this._ripple = this.shadowRoot.getElementById('ripple') - this._rippleContentWrapper = this.shadowRoot.getElementById('rippleContentWrapper') - } - - // duh - open (origin) { - this._rippleWrapper.style.top = origin.y + 'px' - this._rippleWrapper.style.left = origin.x + 'px' - this._rippleContentWrapper.style.marginTop = -origin.y + 'px' - this._rippleContentWrapper.style.marginLeft = -origin.x + 'px' - - return new Promise((resolve, reject) => { - this._ripple.classList.add('activating') - let isOpened = false - const doneOpeningEvent = () => { - if (isOpened) return - // Clear events - TRANSITION_EVENT_NAMES.forEach(name => this._ripple.removeEventListener(name, doneOpeningEvent)) - this._ripple.classList.add('activating-done') - isOpened = true - resolve() - } - TRANSITION_EVENT_NAMES.forEach(name => this._ripple.addEventListener(name, doneOpeningEvent)) - }) - } - - // Fades out - fade () { - return new Promise((resolve, reject) => { - // CAN'T FADE OUT CAUSE THE STUPID THING GETS KILLED CAUSE OF STATE.APP.LOGGEEDIN - // let rippleClosed = false - this._ripple.classList.remove('activating') - this._ripple.classList.remove('activating-done') - this._ripple.classList.remove('disabling') - resolve() - }) - } - - // un-ripples... - close () { - return new Promise((resolve, reject) => { - let rippleClosed = false - this._ripple.classList.add('error') - this._ripple.classList.remove('activating') - this._ripple.classList.remove('activating-done') - const rippleClosedEvent = () => { - if (rippleClosed) return - rippleClosed = true - TRANSITION_EVENT_NAMES.forEach(name => this._ripple.removeEventListener(name, rippleClosedEvent)) - // Reset the ripple - this._ripple.classList.remove('error') - this.rippleIsOpen = false - resolve() - } - TRANSITION_EVENT_NAMES.forEach(name => this._ripple.addEventListener(name, rippleClosedEvent)) - }) - } - - stateChanged (state) { - } -} - -window.customElements.define('loading-ripple', LoadingRipple) diff --git a/qortal-ui-core/src/components/sidenav-menu.js b/qortal-ui-core/src/components/sidenav-menu.js index 20c5f31b..3aa4bcf6 100644 --- a/qortal-ui-core/src/components/sidenav-menu.js +++ b/qortal-ui-core/src/components/sidenav-menu.js @@ -17,7 +17,6 @@ class SidenavMenu extends connect(store)(LitElement) { urls: { type: Object }, theme: { type: String, reflect: true } } - this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' } static get styles() { @@ -50,6 +49,7 @@ class SidenavMenu extends connect(store)(LitElement) { constructor() { super() this.urls = [] + this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' } render() { diff --git a/qortal-ui-core/src/functional-components/loading-ripple.js b/qortal-ui-core/src/functional-components/loading-ripple.js index d6b51cb2..4f16b2f9 100644 --- a/qortal-ui-core/src/functional-components/loading-ripple.js +++ b/qortal-ui-core/src/functional-components/loading-ripple.js @@ -29,6 +29,8 @@ class LoadingRipple extends LitElement { static get styles () { return css` * { + --mdc-theme-primary: rgb(3, 169, 244); + --mdc-theme-secondary: var(--mdc-theme-primary); --paper-spinner-color: var(--mdc-theme-secondary); } @@ -53,7 +55,7 @@ class LoadingRipple extends LitElement { height:200vmax; width:200vmax; overflow:hidden; - background: var(--mdc-theme-primary); + background: var(--black); transform: scale(0); overflow:hidden; } @@ -62,7 +64,7 @@ class LoadingRipple extends LitElement { background: var(--mdc-theme-error) } #rippleShader { - background: var(--mdc-theme-surface); + background: var(--white); opacity:0; height:100%; width:100%; @@ -108,9 +110,9 @@ class LoadingRipple extends LitElement {
    -

    ${this.welcomeMessage}

    +

    ${this.welcomeMessage}

    -

    ${this.loadingMessage}

    +

    ${this.loadingMessage}

    From e5c04eb20a8d2547df7dd9ac7783ff94a734fd94 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Wed, 11 May 2022 07:58:14 +0200 Subject: [PATCH 24/25] rollback for blank ui error --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index b1e3a754..40b25af6 100644 --- a/package.json +++ b/package.json @@ -31,17 +31,17 @@ "publish": "electron-builder -p always" }, "dependencies": { - "electron-updater": "5.0.1", - "electron-log": "4.4.7" + "electron-updater": "4.6.5", + "electron-log": "4.4.6" }, "devDependencies": { - "electron": "17.4.3", - "electron-builder": "23.0.3", + "electron": "17.1.2", + "electron-builder": "22.14.13", "electron-notarize": "1.2.1", - "electron-packager": "15.5.1", + "electron-packager": "15.4.0", "shelljs": "0.8.5" }, "engines": { "node": ">=14.17.0" } -} \ No newline at end of file +} From 8e763274d93453fac13d6c4063a88683560e0e46 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Wed, 11 May 2022 08:10:26 +0200 Subject: [PATCH 25/25] Bump version 1.9.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 40b25af6..eaeb40d8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "qortal-ui", - "version": "1.9.1", + "version": "1.9.2", "description": "Qortal Project - decentralize the world - Data storage, communications, web hosting, decentralized trading, complete infrastructure for the future blockchain-based Internet", "keywords": [ "QORT",