Merge branch 'master' of https://github.com/Qortal/qortal-ui into bugfix/delete-image-icon

This commit is contained in:
Justin Ferrari 2023-01-24 15:11:30 -05:00
commit ccd72ad213
24 changed files with 312 additions and 221 deletions

View File

@ -573,7 +573,8 @@
"cchange64": "Eingabe deaktiviert", "cchange64": "Eingabe deaktiviert",
"cchange65": "Bitte geben Sie einen Empfänger ein", "cchange65": "Bitte geben Sie einen Empfänger ein",
"cchange66": "Beantwortete Nachricht kann nicht abgerufen werden. Nachricht ist zu alt.", "cchange66": "Beantwortete Nachricht kann nicht abgerufen werden. Nachricht ist zu alt.",
"cchange68": "bearbeitet" "cchange68": "bearbeitet",
"cchange69": "Zeige Bilder automatisch"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Willkommen zu Q-Chat", "wcchange1": "Willkommen zu Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "Entrar Deshabilitado", "cchange64": "Entrar Deshabilitado",
"cchange65": "Ingrese un destinatario", "cchange65": "Ingrese un destinatario",
"cchange66": "No se puede recuperar el mensaje respondido. El mensaje es demasiado antiguo.", "cchange66": "No se puede recuperar el mensaje respondido. El mensaje es demasiado antiguo.",
"cchange68": "editado" "cchange68": "editado",
"cchange69": "Mostrar imágenes automáticamente"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Bienvenido al Q-Chat", "wcchange1": "Bienvenido al Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "Entrée désactivée", "cchange64": "Entrée désactivée",
"cchange65": "Veuillez saisir un destinataire", "cchange65": "Veuillez saisir un destinataire",
"cchange66": "Impossible de récupérer le message auquel vous avez répondu. Le message est trop ancien.", "cchange66": "Impossible de récupérer le message auquel vous avez répondu. Le message est trop ancien.",
"cchange68": "modifié" "cchange68": "modifié",
"cchange69": "Afficher automatiquement les images"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Bienvenue dans Q-Chat", "wcchange1": "Bienvenue dans Q-Chat",

View File

@ -574,7 +574,8 @@
"cchange64": "अक्षम दर्ज करें", "cchange64": "अक्षम दर्ज करें",
"cchange65": "कृपया एक प्राप्तकर्ता दर्ज करें", "cchange65": "कृपया एक प्राप्तकर्ता दर्ज करें",
"cchange66": "इसका उत्तर दिया गया संदेश प्राप्त नहीं किया जा सकता। संदेश बहुत पुराना है।", "cchange66": "इसका उत्तर दिया गया संदेश प्राप्त नहीं किया जा सकता। संदेश बहुत पुराना है।",
"cchange68": "संपादित" "cchange68": "संपादित",
"cchange69": "ऑटो-शो छवियां"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "क्यू-चैट में आपका स्वागत है", "wcchange1": "क्यू-चैट में आपका स्वागत है",

View File

@ -573,7 +573,8 @@
"cchange64": "Unos onemogućen", "cchange64": "Unos onemogućen",
"cchange65": "Molimo unesite primatelja", "cchange65": "Molimo unesite primatelja",
"cchange66": "Ne mogu dohvatiti poruku s odgovorom. Poruka je prestara.", "cchange66": "Ne mogu dohvatiti poruku s odgovorom. Poruka je prestara.",
"cchange68": "uređeno" "cchange68": "uređeno",
"cchange69": "Automatsko prikazivanje slika"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Dobrodošli u Q-Čavrljanje", "wcchange1": "Dobrodošli u Q-Čavrljanje",

View File

@ -573,7 +573,8 @@
"cchange64": "Enter Disabled", "cchange64": "Enter Disabled",
"cchange65": "Kérjük, adjon meg egy címzettet", "cchange65": "Kérjük, adjon meg egy címzettet",
"cchange66": "Nem sikerült lekérni a válaszolt üzenetet. Az üzenet túl régi.", "cchange66": "Nem sikerült lekérni a válaszolt üzenetet. Az üzenet túl régi.",
"cchange68": "szerkesztve" "cchange68": "szerkesztve",
"cchange69": "Képek automatikus megjelenítése"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Üdvözöljük a Q-Chathoz", "wcchange1": "Üdvözöljük a Q-Chathoz",

View File

@ -573,7 +573,8 @@
"cchange64": "Inserisci disabilitato", "cchange64": "Inserisci disabilitato",
"cchange65": "Inserisci un destinatario", "cchange65": "Inserisci un destinatario",
"cchange66": "Impossibile recuperare il messaggio di risposta. Il messaggio è troppo vecchio.", "cchange66": "Impossibile recuperare il messaggio di risposta. Il messaggio è troppo vecchio.",
"cchange68": "modificato" "cchange68": "modificato",
"cchange69": "Mostra automaticamente le immagini"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Benvenuto in Q-Chat", "wcchange1": "Benvenuto in Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "비활성화 입력", "cchange64": "비활성화 입력",
"cchange65": "받는 사람을 입력하세요", "cchange65": "받는 사람을 입력하세요",
"cchange66": "답장한 메시지를 가져올 수 없습니다. 메시지가 너무 오래되었습니다.", "cchange66": "답장한 메시지를 가져올 수 없습니다. 메시지가 너무 오래되었습니다.",
"cchange68": "편집됨" "cchange68": "편집됨",
"cchange69": "이미지 자동 표시"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Q-Chat에 오신 것을 환영합니다.", "wcchange1": "Q-Chat에 오신 것을 환영합니다.",

View File

@ -573,7 +573,8 @@
"cchange64": "Enter deaktivert", "cchange64": "Enter deaktivert",
"cchange65": "Vennligst skriv inn en mottaker", "cchange65": "Vennligst skriv inn en mottaker",
"cchange66": "Kan ikke hente besvart melding. Meldingen er for gammel.", "cchange66": "Kan ikke hente besvart melding. Meldingen er for gammel.",
"cchange68": "redigert" "cchange68": "redigert",
"cchange69": "Vis bilder automatisk"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Velkommen til Q-Chat", "wcchange1": "Velkommen til Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "Wprowadź wyłączone", "cchange64": "Wprowadź wyłączone",
"cchange65": "Wprowadź odbiorcę", "cchange65": "Wprowadź odbiorcę",
"cchange66": "Nie można pobrać wiadomości, na którą udzielono odpowiedzi. Wiadomość jest za stara.", "cchange66": "Nie można pobrać wiadomości, na którą udzielono odpowiedzi. Wiadomość jest za stara.",
"cchange68": "edytowano" "cchange68": "edytowano",
"cchange69": "Automatyczne wyświetlanie obrazów"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Witamy w Q-Chat", "wcchange1": "Witamy w Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "Enter desativado", "cchange64": "Enter desativado",
"cchange65": "Insira um destinatário", "cchange65": "Insira um destinatário",
"cchange66": "Não foi possível buscar a mensagem respondida. A mensagem é muito antiga.", "cchange66": "Não foi possível buscar a mensagem respondida. A mensagem é muito antiga.",
"cchange68": "editado" "cchange68": "editado",
"cchange69": "Mostrar imagens automaticamente"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Bem-vindo ao Q-Chat", "wcchange1": "Bem-vindo ao Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "Introducere dezactivată", "cchange64": "Introducere dezactivată",
"cchange65": "Vă rugăm să introduceți un destinatar", "cchange65": "Vă rugăm să introduceți un destinatar",
"cchange66": "Nu se poate prelua mesajul la care sa răspuns. Mesajul este prea vechi.", "cchange66": "Nu se poate prelua mesajul la care sa răspuns. Mesajul este prea vechi.",
"cchange68": "editat" "cchange68": "editat",
"cchange69": "Afișează automat imaginile"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Bine ai venit la Q-Chat", "wcchange1": "Bine ai venit la Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "Unesite onemogućeno", "cchange64": "Unesite onemogućeno",
"cchange65": "Unesite primaoca", "cchange65": "Unesite primaoca",
"cchange66": "Ne mogu preuzeti odgovor na poruku. Poruka je prestara.", "cchange66": "Ne mogu preuzeti odgovor na poruku. Poruka je prestara.",
"cchange68": "uređeno" "cchange68": "uređeno",
"cchange69": "Automatski prikaži slike"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Dobrodošli na Q-Chat", "wcchange1": "Dobrodošli na Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "Введите отключено", "cchange64": "Введите отключено",
"cchange65": "Пожалуйста, введите получателя", "cchange65": "Пожалуйста, введите получателя",
"cchange66": "Невозможно получить ответное сообщение. Сообщение слишком старое.", "cchange66": "Невозможно получить ответное сообщение. Сообщение слишком старое.",
"cchange68": "отредактировано" "cchange68": "отредактировано",
"cchange69": "Автоматическое отображение изображений"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Добро пожаловать в Q-Chat", "wcchange1": "Добро пожаловать в Q-Chat",

View File

@ -573,7 +573,8 @@
"cchange64": "Enter Disabled", "cchange64": "Enter Disabled",
"cchange65": "Please enter a recipient", "cchange65": "Please enter a recipient",
"cchange66": "Cannot fetch replied-to message. Message is too old.", "cchange66": "Cannot fetch replied-to message. Message is too old.",
"cchange68": "edited" "cchange68": "edited",
"cchange69": "Auto-show images"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Welcome to Q-Chat", "wcchange1": "Welcome to Q-Chat",

View File

@ -36,7 +36,7 @@
"puzzles": "益智游戏", "puzzles": "益智游戏",
"nodemanagement": "节点管理", "nodemanagement": "节点管理",
"trading": "贸易", "trading": "贸易",
"groups": "群组" "groups": "团体"
}, },
"login": { "login": {
"login": "登入", "login": "登入",
@ -68,7 +68,7 @@
"clicknext": "▼▼▼点击下一步创建你的Qortal账号▼▼▼", "clicknext": "▼▼▼点击下一步创建你的Qortal账号▼▼▼",
"ready": "您的帐户即将创建成功, 它将保存在此浏览器中。 如果您不希望将新帐户保存在浏览器中,可以取消勾选下面的选项。 您仍可透过使用创建帐户时载的钱包备份文件进行的登入。", "ready": "您的帐户即将创建成功, 它将保存在此浏览器中。 如果您不希望将新帐户保存在浏览器中,可以取消勾选下面的选项。 您仍可透过使用创建帐户时载的钱包备份文件进行的登入。",
"welmessage": "欢迎来到 Qortal", "welmessage": "欢迎来到 Qortal",
"pleaseenter": "请密码!", "pleaseenter": "请输入密码!",
"notmatch": "密码不一致!", "notmatch": "密码不一致!",
"lessthen8": "你的密码长度少于8位! 我们不建议使用,但你仍可继续使用此密码。", "lessthen8": "你的密码长度少于8位! 我们不建议使用,但你仍可继续使用此密码。",
"lessthen8-2": "你的密码长度少于8位!", "lessthen8-2": "你的密码长度少于8位!",
@ -81,7 +81,7 @@
"backup2": "请小心保存钱包备份文件,并谨记之前设置好的密码。否则你将会失去这个钱包的所有控制权,请务必将备份文件放在不同的存储装置上", "backup2": "请小心保存钱包备份文件,并谨记之前设置好的密码。否则你将会失去这个钱包的所有控制权,请务必将备份文件放在不同的存储装置上",
"savewallet": "下载并保存钱包备份文件", "savewallet": "下载并保存钱包备份文件",
"created1": "你的账号已创建成功", "created1": "你的账号已创建成功",
"created2": "并会储存在UI上.", "created2": " 并会保存在UI上.",
"downloadbackup": "下载钱包备份文件", "downloadbackup": "下载钱包备份文件",
"passwordhint": "密码必须至少为 8 个字符。" "passwordhint": "密码必须至少为 8 个字符。"
}, },
@ -155,10 +155,10 @@
"close": "关闭", "close": "关闭",
"back": "上一步", "back": "上一步",
"next": "下一步", "next": "下一步",
"create": "建", "create": "建",
"continue": "继续", "continue": "继续",
"save": "保存", "save": "保存",
"balance": "余额", "balance": "信用",
"balances": "您的钱包余额", "balances": "您的钱包余额",
"update": "更新钱包余额" "update": "更新钱包余额"
}, },
@ -276,9 +276,9 @@
"wchange47": "地址簿", "wchange47": "地址簿",
"wchange48": "此通讯录为空 !", "wchange48": "此通讯录为空 !",
"wchange49": "加至地址簿", "wchange49": "加至地址簿",
"wchange50": "名称不能为空 ", "wchange50": "名称不能为空!",
"wchange51": "地址不能为空 ", "wchange51": "地址不能为空!",
"wchange52": "添加成功 ", "wchange52": "添加成功!",
"wchange53": "导入通讯录", "wchange53": "导入通讯录",
"wchange54": "导出通讯录", "wchange54": "导出通讯录",
"wchange55": "您现有的通讯簿将被删除并从新创建的备份中。", "wchange55": "您现有的通讯簿将被删除并从新创建的备份中。",
@ -351,7 +351,7 @@
"rchange12": "正在添加中...", "rchange12": "正在添加中...",
"rchange13": "正在添加铸币密钥/赞助码", "rchange13": "正在添加铸币密钥/赞助码",
"rchange14": "添加", "rchange14": "添加",
"rchange15": "此账号并没有任何铸币密钥", "rchange15": "此账号并没有任何奖励分享",
"rchange16": "个人铸币密钥", "rchange16": "个人铸币密钥",
"rchange17": "移除", "rchange17": "移除",
"rchange18": "不能创建多个铸币密钥!", "rchange18": "不能创建多个铸币密钥!",
@ -508,7 +508,7 @@
"dchange21": "尝试删除此资源时出错。 请再试一次" "dchange21": "尝试删除此资源时出错。 请再试一次"
}, },
"chatpage": { "chatpage": {
"cchange1": "建立新的私人对话", "cchange1": "新的私人对话",
"cchange2": "加载中...", "cchange2": "加载中...",
"cchange3": "已封锁的用户名单", "cchange3": "已封锁的用户名单",
"cchange4": "新的信息", "cchange4": "新的信息",
@ -548,16 +548,16 @@
"cchange39": "无法向该用户发送加密消息,因为他们的公钥不在链上。", "cchange39": "无法向该用户发送加密消息,因为他们的公钥不在链上。",
"cchange40": "图像(点击查看)", "cchange40": "图像(点击查看)",
"cchange41": "您的余额低于 4.20 QORT", "cchange41": "您的余额低于 4.20 QORT",
"cchange42": "出于打击垃圾邮件的需要, Qort余额低于4.20的账户在Q-Chat中发送消息需要很长时间。如果你想立即提高Q-Chat消息的发送速度请获取4.20以上QORT到您的地址。这可以通过贸易门户中的交易来完成或者通过另一个Qortian给您QORT 。一旦您的帐户中有超过4.20 QORT Q-Chat消息将是即时的并且此对话框将不再显示。感谢您了解这种必要的垃圾邮件预防方法我们希望您喜欢Qortal ", "cchange42": "出于打击垃圾邮件的需要,Qort余额低于4.20的账户在Q-Chat中发送消息需要很长时间。如果你想立即提高Q-Chat消息的发送速度请获取4.20以上 QORT 到您的地址。这可以通过贸易门户中的交易来完成,或者通过另一个 Qortian 给您 QORT。一旦您的帐户中有超过 4.20 QORTQ-Chat 消息将是即时的并且此对话框将不再存在 显示。感谢您了解这种必要的垃圾邮件预防方法,我们希望您喜欢 Qortal",
"cchange43": "打赏QORT给", "cchange43": "打赏QORT给",
"cchange44": "发送消息", "cchange44": "发送消息",
"cchange45": "提示用户", "cchange45": "提示用户",
"cchange46": "打赏金额", "cchange46": "小费金额",
"cchange47": "可用余额", "cchange47": "可用余额",
"cchange48": "无法获取 QORT 余额。请重试!", "cchange48": "无法获取 QORT 余额。请重试!",
"cchange49": "当前手续费", "cchange49": "当前静态费用",
"cchange50": "发送", "cchange50": "发送",
"cchange51": "余额不足! ", "cchange51": "资金不足!",
"cchange52": "无效金额!", "cchange52": "无效金额!",
"cchange53": "接收方不能为空!", "cchange53": "接收方不能为空!",
"cchange54": "接收者无效!", "cchange54": "接收者无效!",
@ -569,18 +569,19 @@
"cchange60": "群组邀请待定", "cchange60": "群组邀请待定",
"cchange61": "获取群组邀请时出错。请重试!", "cchange61": "获取群组邀请时出错。请重试!",
"cchange62": "用户名和地址输入错误!请重试!", "cchange62": "用户名和地址输入错误!请重试!",
"cchange63": "启用Enter键直接发送信息", "cchange63": "输入启用",
"cchange64": "禁用Enter键直接发送信息", "cchange64": "输入禁用",
"cchange65": "请输入收件人", "cchange65": "请输入收件人",
"cchange66": "无法获取回复消息。消息太旧了。", "cchange66": "无法获取回复消息。消息太旧了。",
"cchange68": "编辑" "cchange68": "编辑",
"cchange69": "自动显示图像"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "欢迎来到 Q-Chat", "wcchange1": "欢迎来到 Q-Chat",
"wcchange2": "建立新的私人对话", "wcchange2": "新的私人对话",
"wcchange3": "输入对方的名称或钱包地址并建立私人对话!", "wcchange3": "输入对方的名称或钱包地址并建立私人对话!",
"wcchange4": "名称 / 钱包地址", "wcchange4": "名称 / 钱包地址",
"wcchange5": "输入内容...", "wcchange5": "信息内容...",
"wcchange6": "传送", "wcchange6": "传送",
"wcchange7": "无效的名称 / 钱包地址, 检查名称 / 钱包地址后再次尝试...", "wcchange7": "无效的名称 / 钱包地址, 检查名称 / 钱包地址后再次尝试...",
"wcchange8": "成功发送信息!", "wcchange8": "成功发送信息!",
@ -596,15 +597,7 @@
"bcchange7": "菜单", "bcchange7": "菜单",
"bcchange8": "复制地址", "bcchange8": "复制地址",
"bcchange9": "私人信息", "bcchange9": "私人信息",
"bcchange10": "更多", "bcchange10": "更多的"
"bcchange11": "回覆",
"bcchange12": "修改",
"bcchange13": "表情反应",
"bcchange14": "转发",
"bcchange15": "信息已转发",
"bcchange16": "选择收件人或在下方搜寻收件人",
"bcchange17": "已转发",
"bcchange18": "打赏"
}, },
"grouppage": { "grouppage": {
"gchange1": "Qortal 群组", "gchange1": "Qortal 群组",
@ -662,9 +655,9 @@
"gchange53": "成员", "gchange53": "成员",
"gchange54": "成员数量", "gchange54": "成员数量",
"gchange55": "搜索私人群组", "gchange55": "搜索私人群组",
"gchange56": "要搜索的组名", "gchange56": "要搜索的组名",
"gchange57": "未找到私人组名", "gchange57": "未找到私人组名",
"gchange58": "注意组名必须完全匹配。 " "gchange58": "注意组名必须完全匹配。"
}, },
"puzzlepage": { "puzzlepage": {
"pchange1": "益智游戏", "pchange1": "益智游戏",
@ -738,9 +731,9 @@
"transactions": { "transactions": {
"amount": "数量", "amount": "数量",
"to": "收款人", "to": "收款人",
"declined": "交易被用户拒绝!", "declined": "交易已被用戶拒绝!",
"namedialog1": "你正在注册以下名称:", "namedialog1": "你正在註冊以下名稱:",
"namedialog2": "点击确认后,名称将被注册!", "namedialog2": "點擊確認後, 名稱將被註冊!",
"groupdialog1": "你正在请求加入下列群组:", "groupdialog1": "你正在请求加入下列群组:",
"groupdialog2": "点击确认后,加入请求将会被送出!", "groupdialog2": "点击确认后,加入请求将会被送出!",
"groupdialog3": "你正在请求离开下列群组:", "groupdialog3": "你正在请求离开下列群组:",
@ -752,7 +745,7 @@
"rewarddialog3": "如果是的话,请保存下面的铸币密钥并添加到任何节点上,以允许它代表您铸币.", "rewarddialog3": "如果是的话,请保存下面的铸币密钥并添加到任何节点上,以允许它代表您铸币.",
"rewarddialog4": "点击确认后,铸币密钥将会创建,但你必须将该密钥添加到节点中才能成功铸币并获得相对应的奖励.", "rewarddialog4": "点击确认后,铸币密钥将会创建,但你必须将该密钥添加到节点中才能成功铸币并获得相对应的奖励.",
"rewarddialog5": "您正在删除与此账号关联的铸币密钥:", "rewarddialog5": "您正在删除与此账号关联的铸币密钥:",
"rewarddialog6": "点击确认后,铸币密钥将被移除并失效。 " "rewarddialog6": "点击确认后,铸币密钥将被移除並失效。"
}, },
"sponsorshipspage": { "sponsorshipspage": {
"schange1": "目前有效的赞助记录", "schange1": "目前有效的赞助记录",
@ -803,12 +796,12 @@
"managegroup": { "managegroup": {
"mg1": "群组成员", "mg1": "群组成员",
"mg2": "邀请加入群组", "mg2": "邀请加入群组",
"mg3": "组管理员", "mg3": "组管理员",
"mg4": "更新群信息", "mg4": "更新",
"mg5": "关闭管理组", "mg5": "关闭管理组",
"mg6": "禁", "mg6": "禁",
"mg7": "踢", "mg7": "踢",
"mg8": "号", "mg8": "组号",
"mg9": "已加入", "mg9": "已加入",
"mg10": "添加群组管理员", "mg10": "添加群组管理员",
"mg11": "您确定将此成员添加到管理员吗?", "mg11": "您确定将此成员添加到管理员吗?",
@ -824,28 +817,28 @@
"mg21": "封禁原因", "mg21": "封禁原因",
"mg22": "您确定要将此成员加入群组吗?", "mg22": "您确定要将此成员加入群组吗?",
"mg23": "按下确认后,将发送封禁请求!", "mg23": "按下确认后,将发送封禁请求!",
"mg24": "永", "mg24": "永",
"mg25": "被禁止的会员", "mg25": "被禁止的会员",
"mg26": "取消禁", "mg26": "取消禁",
"mg27": "禁止到期", "mg27": "禁止到期",
"mg28": "取消群成员封禁", "mg28": "取消群成员封禁",
"mg29": "你确定要取消对这个成员的群禁言吗? ", "mg29": "你确定要取消对这个成员的群禁言吗?",
"mg30": "按下确认后,将发送取消禁令请求!", "mg30": "按下确认后,将发送取消禁令请求!",
"mg31": "将成员踢出群组", "mg31": "将成员踢出群组",
"mg32": "踢球原因", "mg32": "踢球原因",
"mg33": "您确定将该成员踢出群吗?", "mg33": "您确定将该成员踢出群吗?",
"mg34": "按下确认后,将发送踢球请求!", "mg34": "按下确认后,将发送踢球请求!",
"mg35": "没有公开组邀请", "mg35": "没有公开组邀请",
"mg36": "你的公开组邀请", "mg36": "你的公开组邀请",
"mg37": "邀请地址或姓名", "mg37": "邀请地址或姓名",
"mg38": "邀请到期时间", "mg38": "邀请到期时间",
"mg39": "所有字段都需要", "mg39": "所有字段都需要",
"mg40": "您确定邀请该成员加入群组吗?", "mg40": "您确定邀请该成员加入群组吗?",
"mg41": "按下确认后,将发送邀请请求!", "mg41": "按下确认后,将发送邀请请求!",
"mg42": "组类型", "mg42": "组类型",
"mg43": "邀请到期", "mg43": "邀请到期",
"mg44": "公开群组", "mg44": "公组",
"mg45": "私人群组", "mg45": "私组",
"mg46": "取消邀请", "mg46": "取消邀请",
"mg47": "取消群邀请", "mg47": "取消群邀请",
"mg48": "您确定要取消对该会员的邀请吗?", "mg48": "您确定要取消对该会员的邀请吗?",
@ -870,15 +863,15 @@
"inf4": "- '公开市场卖出'是 QORT 卖出订单。", "inf4": "- '公开市场卖出'是 QORT 卖出订单。",
"inf5": "您一次只能购买一个订单,只需点击您希望购买的订单", "inf5": "您一次只能购买一个订单,只需点击您希望购买的订单",
"inf6": "它将用详细信息填充'购买 QORT' 框,然后单击购买。", "inf6": "它将用详细信息填充'购买 QORT' 框,然后单击购买。",
"inf7": "什么是自动购买(A?", "inf7": "汽车购买信息",
"inf8": "关闭", "inf8": "关闭自动购买信息",
"inf9": "'Auto Buy' 是一项允许在贸易门户网站上放置'买单'的功能。这些'买单'仅对放置它们的人可见。它们不是像 '公开市场销售'是,并且不存储在 Qortal 区块链上。自动购买是一个 UI 功能,因此需要 UI 正在运行。", "inf9": "'Auto Buy' 是一项允许在贸易门户网站上放置'买单'的功能。这些'买单'仅对放置它们的人可见。它们不是像 '公开市场销售'是,并且不存储在 Qortal 区块链上。自动购买是一个 UI 功能,因此需要 UI 正在运行。",
"inf10": "要放置自动购买订单,请单击“添加自动购买订单”按钮并填写出现的框。输入您希望购买的 QORT 数量,以及您愿意购买的价格。一旦 订单有效Auto Buy 将为您购买 UP TO 数量的 QORT价格上限为您设定的价格从最低订单开始向上移动。", "inf10": "要放置自动购买订单,请单击“添加自动购买订单”按钮并填写出现的框。输入您希望购买的 QORT 数量,以及您愿意购买的价格。一旦 订单有效Auto Buy 将为您购买 UP TO 数量的 QORT价格上限为您设定的价格从最低订单开始向上移动。",
"inf11": "只需让您的 UI 保持运行状态Auto Buy 会自动完成剩下的工作!", "inf11": "只需让您的 UI 保持运行状态Auto Buy 会自动完成剩下的工作!",
"inf12": "您可以浏览UI中的其他插件 Q-Chat 、钱包等),但如果您希望完成自动购买,则不能关闭UI 。将UI保留在'任务栏'上'最小化'或 “面板”只要UI保持打开状态 Auto Buy就会起作用。 ", "inf12": "您可以浏览 UI 中的其他插件Q-Chat、钱包等但如果您希望完成自动购买则不能关闭 UI。将 UI 保留在‘任务栏’上‘最小化’或 “面板”很好,只要 UI 保持打开状态Auto Buy 就会起作用。",
"inf13": "自动购买", "inf13": "自动购买",
"inf14": "与", "inf14": "与",
"inf15": "有效的自动购买订单", "inf15": "活跃的自动购买订单",
"inf16": "自动购买" "inf16": "自动购买"
} }
} }

View File

@ -573,7 +573,8 @@
"cchange64": "禁用Enter鍵直接發送信息", "cchange64": "禁用Enter鍵直接發送信息",
"cchange65": "請輸入收件人", "cchange65": "請輸入收件人",
"cchange66": "無法獲取回复消息。消息太舊了。", "cchange66": "無法獲取回复消息。消息太舊了。",
"cchange68": "編輯" "cchange68": "編輯",
"cchange69": "自動顯示圖像"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "歡迎來到 Q-Chat", "wcchange1": "歡迎來到 Q-Chat",
@ -596,15 +597,7 @@
"bcchange7": "菜單", "bcchange7": "菜單",
"bcchange8": "複製地址", "bcchange8": "複製地址",
"bcchange9": "私人信息", "bcchange9": "私人信息",
"bcchange10": "更多", "bcchange10": "更多"
"bcchange11": "回覆",
"bcchange12": "修改",
"bcchange13": "表情反應",
"bcchange14": "轉發",
"bcchange15": "信息已轉發",
"bcchange16": "選擇收件人或在下方搜尋收件人",
"bcchange17": "已轉發",
"bcchange18": "打賞"
}, },
"grouppage": { "grouppage": {
"gchange1": "Qortal 群組", "gchange1": "Qortal 群組",
@ -662,9 +655,9 @@
"gchange53": "成員", "gchange53": "成員",
"gchange54": "成員數量", "gchange54": "成員數量",
"gchange55": "搜索私人群組", "gchange55": "搜索私人群組",
"gchange56": "要搜索的組名", "gchange56": "要搜索的組名",
"gchange57": "未找到私人組名", "gchange57": "未找到私人組名",
"gchange58": "注意組名必須完全匹配。" "gchange58": "注意組名必須完全匹配。"
}, },
"puzzlepage": { "puzzlepage": {
"pchange1": "益智游戲", "pchange1": "益智游戲",
@ -807,7 +800,7 @@
"mg4": "更新群信息", "mg4": "更新群信息",
"mg5": "關閉管理組", "mg5": "關閉管理組",
"mg6": "禁止", "mg6": "禁止",
"mg7": "踢", "mg7": "踢",
"mg8": "群組代號", "mg8": "群組代號",
"mg9": "已加入", "mg9": "已加入",
"mg10": "添加群組管理員", "mg10": "添加群組管理員",

View File

@ -14,8 +14,13 @@ import './login-section.js'
import '../qort-theme-toggle.js' import '../qort-theme-toggle.js'
import settings from '../../functional-components/settings-page.js' import settings from '../../functional-components/settings-page.js'
import { addAutoLoadImageChat, removeAutoLoadImageChat } from '../../redux/app/app-actions.js'
window.reduxStore = store window.reduxStore = store
window.reduxAction = {
addAutoLoadImageChat: addAutoLoadImageChat,
removeAutoLoadImageChat: removeAutoLoadImageChat
}
const animationDuration = 0.7 // Seconds const animationDuration = 0.7 // Seconds

View File

@ -1,5 +1,5 @@
// Core App Actions here... // Core App Actions here...
import { UPDATE_BLOCK_INFO, UPDATE_NODE_STATUS, UPDATE_NODE_INFO, CHAT_HEADS, ACCOUNT_INFO, COPY_MENU_SWITCH, PASTE_MENU_SWITCH, FRAME_PASTE_MENU_SWITCH } from '../app-action-types.js' import { UPDATE_BLOCK_INFO, UPDATE_NODE_STATUS, UPDATE_NODE_INFO, CHAT_HEADS, ACCOUNT_INFO, COPY_MENU_SWITCH, PASTE_MENU_SWITCH, FRAME_PASTE_MENU_SWITCH, ADD_AUTO_LOAD_IMAGES_CHAT, REMOVE_AUTO_LOAD_IMAGES_CHAT } from '../app-action-types.js'
export const doUpdateBlockInfo = (blockObj) => { export const doUpdateBlockInfo = (blockObj) => {
return (dispatch, getState) => { return (dispatch, getState) => {
@ -105,3 +105,18 @@ const framePasteMenuSwitch = (payload) => {
payload payload
} }
} }
export const addAutoLoadImageChat = (payload) => {
return {
type: ADD_AUTO_LOAD_IMAGES_CHAT,
payload
}
}
export const removeAutoLoadImageChat = (payload) => {
return {
type: REMOVE_AUTO_LOAD_IMAGES_CHAT,
payload
}
}

View File

@ -20,3 +20,5 @@ export const ADD_NEW_PLUGIN_URL = 'ADD_NEW_PLUGIN_URL'
export const COPY_MENU_SWITCH = 'COPY_MENU_SWITCH' export const COPY_MENU_SWITCH = 'COPY_MENU_SWITCH'
export const PASTE_MENU_SWITCH = 'PASTE_MENU_SWITCH' export const PASTE_MENU_SWITCH = 'PASTE_MENU_SWITCH'
export const FRAME_PASTE_MENU_SWITCH = 'FRAME_PASTE_MENU_SWITCH' export const FRAME_PASTE_MENU_SWITCH = 'FRAME_PASTE_MENU_SWITCH'
export const ADD_AUTO_LOAD_IMAGES_CHAT = 'ADD_AUTO_LOAD_IMAGES_CHAT'
export const REMOVE_AUTO_LOAD_IMAGES_CHAT = 'REMOVE_AUTO_LOAD_IMAGES_CHAT'

View File

@ -1,5 +1,6 @@
// Loading state, login state, isNavDrawOpen state etc. None of this needs to be saved to localstorage. // Loading state, login state, isNavDrawOpen state etc. None of this needs to be saved to localstorage.
import { LOG_IN, LOG_OUT, NETWORK_CONNECTION_STATUS, INIT_WORKERS, ADD_PLUGIN_URL, ADD_PLUGIN, ADD_NEW_PLUGIN_URL, NAVIGATE, SELECT_ADDRESS, ACCOUNT_INFO, CHAT_HEADS, UPDATE_BLOCK_INFO, UPDATE_NODE_STATUS, UPDATE_NODE_INFO, LOAD_NODE_CONFIG, SET_NODE, ADD_NODE, PAGE_URL, COPY_MENU_SWITCH, PASTE_MENU_SWITCH, FRAME_PASTE_MENU_SWITCH } from './app-action-types.js' import { saveStateToLocalStorage } from '../../localStorageHelpers.js'
import { LOG_IN, LOG_OUT, NETWORK_CONNECTION_STATUS, INIT_WORKERS, ADD_PLUGIN_URL, ADD_PLUGIN, ADD_NEW_PLUGIN_URL, NAVIGATE, SELECT_ADDRESS, ACCOUNT_INFO, CHAT_HEADS, UPDATE_BLOCK_INFO, UPDATE_NODE_STATUS, UPDATE_NODE_INFO, LOAD_NODE_CONFIG, SET_NODE, ADD_NODE, PAGE_URL, COPY_MENU_SWITCH, PASTE_MENU_SWITCH, FRAME_PASTE_MENU_SWITCH, ADD_AUTO_LOAD_IMAGES_CHAT, REMOVE_AUTO_LOAD_IMAGES_CHAT } from './app-action-types.js'
import { initWorkersReducer } from './reducers/init-workers.js' import { initWorkersReducer } from './reducers/init-workers.js'
import { loginReducer } from './reducers/login-reducer.js' import { loginReducer } from './reducers/login-reducer.js'
import { setNode, addNode } from './reducers/manage-node.js' import { setNode, addNode } from './reducers/manage-node.js'
@ -42,7 +43,8 @@ const INITIAL_STATE = {
framePasteMenuSwitch: { framePasteMenuSwitch: {
isOpen: false, isOpen: false,
elementId: '' elementId: ''
} },
autoLoadImageChats: []
} }
export default (state = INITIAL_STATE, action) => { export default (state = INITIAL_STATE, action) => {
@ -146,6 +148,28 @@ export default (state = INITIAL_STATE, action) => {
...state, ...state,
framePasteMenuSwitch: action.payload framePasteMenuSwitch: action.payload
} }
case ADD_AUTO_LOAD_IMAGES_CHAT: {
const findChat = state.autoLoadImageChats.findIndex((chat)=> chat === action.payload)
console.log({findChat})
if(findChat !== -1) return state
const updatedState = [...state.autoLoadImageChats, action.payload]
saveStateToLocalStorage('autoLoadImageChats', updatedState)
return {
...state,
autoLoadImageChats: updatedState
}
}
case REMOVE_AUTO_LOAD_IMAGES_CHAT: {
const updatedState = state.autoLoadImageChats.filter((chat)=> chat !== action.payload)
saveStateToLocalStorage('autoLoadImageChats', updatedState)
return {
...state,
autoLoadImageChats: updatedState
}
}
default: default:
return state return state
} }

View File

@ -1043,6 +1043,7 @@ class ChatPage extends LitElement {
.repliedToMessageObj=${this.repliedToMessageObj} .repliedToMessageObj=${this.repliedToMessageObj}
.toggleEnableChatEnter=${this.toggleEnableChatEnter} .toggleEnableChatEnter=${this.toggleEnableChatEnter}
?isEnabledChatEnter=${this.isEnabledChatEnter} ?isEnabledChatEnter=${this.isEnabledChatEnter}
chatId=${this.chatId}
> >
</chat-text-editor> </chat-text-editor>
</div> </div>

View File

@ -146,6 +146,7 @@ class ChatScroller extends LitElement {
.goToRepliedMessage=${this.goToRepliedMessage} .goToRepliedMessage=${this.goToRepliedMessage}
.addSeenMessage=${(val)=> this.addSeenMessage(val)} .addSeenMessage=${(val)=> this.addSeenMessage(val)}
.listSeenMessages=${this.listSeenMessages} .listSeenMessages=${this.listSeenMessages}
chatId=${this.chatId}
> >
</message-template>` </message-template>`
) )
@ -294,6 +295,7 @@ class MessageTemplate extends LitElement {
goToRepliedMessage: { attribute: false }, goToRepliedMessage: { attribute: false },
listSeenMessages: {type: Array}, listSeenMessages: {type: Array},
addSeenMessage: {attribute: false}, addSeenMessage: {attribute: false},
chatId: {type: String}
} }
} }
@ -343,7 +345,8 @@ class MessageTemplate extends LitElement {
} }
firstUpdated(){ firstUpdated(){
if(this.listSeenMessages.includes(this.messageObj.reference)){ const autoSeeChatList = window.parent.reduxStore.getState().app?.autoLoadImageChats
if(autoSeeChatList.includes(this.chatId) || this.listSeenMessages.includes(this.messageObj.reference)){
this.viewImage = true this.viewImage = true
} }
} }

View File

@ -4,6 +4,8 @@ import { get, translate } from 'lit-translate';
import { EmojiPicker } from 'emoji-picker-js'; import { EmojiPicker } from 'emoji-picker-js';
import { Epml } from '../../../epml.js'; import { Epml } from '../../../epml.js';
import '@material/mwc-icon' import '@material/mwc-icon'
import '@material/mwc-checkbox'
// import { addAutoLoadImageChat } from "../../../../qortal-ui-core/src/redux/app/app-actions.js";
const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }); const parentEpml = new Epml({ type: 'WINDOW', source: window.parent });
class ChatTextEditor extends LitElement { class ChatTextEditor extends LitElement {
@ -29,7 +31,8 @@ class ChatTextEditor extends LitElement {
reflect: true reflect: true
}, },
toggleEnableChatEnter: {attribute: false}, toggleEnableChatEnter: {attribute: false},
isEnabledChatEnter: {type: Boolean} isEnabledChatEnter: {type: Boolean},
chatId: {type: String}
} }
} }
@ -46,6 +49,11 @@ class ChatTextEditor extends LitElement {
overflow: hidden; overflow: hidden;
} }
* {
--mdc-checkbox-unchecked-color: var(--black);
}
.chatbar-container { .chatbar-container {
width: 100%; width: 100%;
display: flex; display: flex;
@ -259,6 +267,13 @@ class ChatTextEditor extends LitElement {
transition: all 0.2s; transition: all 0.2s;
display: none; display: none;
} }
.removeBg {
background: none;
}
.chatbar-button-single label {
font-size: 13px;
}
.chatbar-button-single:hover { .chatbar-button-single:hover {
filter: brightness(120%); filter: brightness(120%);
@ -339,7 +354,10 @@ class ChatTextEditor extends LitElement {
.hide-styling { .hide-styling {
display: none; display: none;
} }
mwc-checkbox::shadow .mdc-checkbox::after, mwc-checkbox::shadow .mdc-checkbox::before {
background-color:var(--mdc-theme-primary)
}
--mdc-checkbox-unchecked-color
` `
} }
@ -357,12 +375,12 @@ class ChatTextEditor extends LitElement {
} }
render() { render() {
console.log('this.chatId2', this.chatId)
return html` return html`
<div <div
class=${["chatbar-container", "chatbar-buttons", this.iframeId !=="_chatEditorDOM" && 'hide-styling'].join(" ")} class=${["chatbar-container", "chatbar-buttons", this.iframeId !=="_chatEditorDOM" && 'hide-styling'].join(" ")}
style="align-items: center;"> style="align-items: center;justify-content:space-between">
<div style="display: flex;align-items: center">
<button <button
@click=${() => this.editor.chain().focus().toggleBold().run()} @click=${() => this.editor.chain().focus().toggleBold().run()}
?disabled=${ ?disabled=${
@ -422,6 +440,28 @@ class ChatTextEditor extends LitElement {
`} `}
</button> </button>
</div>
${this.iframeId === "_chatEditorDOM" ? html`
<div
style="height: 26px; box-sizing: border-box"
class=${["chatbar-button-single", "removeBg"].join(' ')}
>
<label
for="qChatShowAutoMsg"
@click=${() => this.shadowRoot.getElementById('qChatShowAutoMsg').click()}
>${translate('chatpage.cchange69')}</label>
<mwc-checkbox style="margin-right: -15px;" id="qChatShowAutoMsg" @click=${e => {
console.log(e.target.checked)
if(e.target.checked){
window.parent.reduxStore.dispatch( window.parent.reduxAction.removeAutoLoadImageChat(this.chatId))
return
}
window.parent.reduxStore.dispatch( window.parent.reduxAction.addAutoLoadImageChat(this.chatId))
}} ?checked=${(window.parent.reduxStore.getState().app?.autoLoadImageChats || []).includes(this.chatId)}></mwc-checkbox>
</div>
` : ''}
</div> </div>
<div <div