diff --git a/res/fonts/NotoSansCJK-Subset.ttf b/res/fonts/NotoSansCJK-Subset.ttf index dacbc33..d6f9d1f 100644 Binary files a/res/fonts/NotoSansCJK-Subset.ttf and b/res/fonts/NotoSansCJK-Subset.ttf differ diff --git a/res/lang/de.json b/res/lang/de.json index c4f9707..7b2a72c 100644 --- a/res/lang/de.json +++ b/res/lang/de.json @@ -140,16 +140,29 @@ "chat_contact_added": "Kontakt hinzugefügt – benenne ihn in Kontakte um", "chat_contact_request": "kontaktanfrage", "chat_empty_hint": "Noch keine Unterhaltungen. Nachrichten, die du erhältst, erscheinen hier.", + "chat_empty_start": "Starte eine mit \"Neue Unterhaltung\".", + "chat_empty_title": "Noch keine Unterhaltungen", + "chat_export": "Chat exportieren…", + "chat_export_done": "Unterhaltung exportiert", + "chat_export_failed": "Exportdatei konnte nicht geschrieben werden.", + "chat_export_warn": "Speichert die entschlüsselten Nachrichten als Klartext. Bewahre die Datei sicher auf.", + "chat_jump_latest": "Neueste", + "chat_len_over": "Nachricht zu lang", "chat_locked_hint": "Entsperre deine Wallet, um deine Chats zu laden.", + "chat_mute": "Stummschalten", "chat_new_button": "Neue Unterhaltung", "chat_new_message": "Nachricht", "chat_new_message_toast": "Neue verschlüsselte Chat-Nachricht", "chat_new_send": "Anfrage senden", "chat_new_title": "Neue Unterhaltung", "chat_new_zaddr": "z-Adresse des Empfängers", + "chat_no_matches": "Keine Unterhaltungen entsprechen deiner Suche.", + "chat_retry": "Wiederholen", + "chat_search": "Unterhaltungen durchsuchen", "chat_select_hint": "Wähle eine Unterhaltung aus, um sie anzuzeigen.", "chat_send": "Senden", "chat_send_failed": "nicht gesendet", + "chat_time_now": "jetzt", "chat_toast_compose_failed": "Nachricht konnte nicht erstellt werden (zu lang?).", "chat_toast_lite_busy": "Es wird bereits gesendet, oder es ist keine Wallet geöffnet.", "chat_toast_no_zaddr": "Keine z-Adresse verfügbar, um den Chat zu senden.", @@ -157,6 +170,7 @@ "chat_toast_request_compose_failed": "Kontaktanfrage konnte nicht erstellt werden (ungültige Adresse / ungültiger Text?).", "chat_toast_request_queued": "Kontaktanfrage in Warteschlange.", "chat_toast_waiting_reply": "Warte auf die Antwort des Kontakts, bevor du ihm schreiben kannst.", + "chat_unmute": "Stummschaltung aufheben", "chat_waiting_reply": "Warte auf die Antwort dieses Kontakts – sobald er antwortet, kannst du ihm schreiben.", "chat_you": "Du", "choose_icon": "Symbol wählen", diff --git a/res/lang/es.json b/res/lang/es.json index c4d6961..7e0db13 100644 --- a/res/lang/es.json +++ b/res/lang/es.json @@ -140,16 +140,29 @@ "chat_contact_added": "Contacto añadido: renómbralo en Contactos", "chat_contact_request": "solicitud de contacto", "chat_empty_hint": "Aún no hay conversaciones. Los mensajes que recibas aparecerán aquí.", + "chat_empty_start": "Inicia una con \"Nueva conversación\".", + "chat_empty_title": "Aún no hay conversaciones", + "chat_export": "Exportar chat…", + "chat_export_done": "Conversación exportada", + "chat_export_failed": "No se pudo escribir el archivo de exportación.", + "chat_export_warn": "Guarda los mensajes descifrados como texto sin cifrar. Guarda el archivo de forma segura.", + "chat_jump_latest": "Recientes", + "chat_len_over": "Mensaje demasiado largo", "chat_locked_hint": "Desbloquea tu monedero para cargar tus chats.", + "chat_mute": "Silenciar", "chat_new_button": "Nueva conversación", "chat_new_message": "Mensaje", "chat_new_message_toast": "Nuevo mensaje de chat cifrado", "chat_new_send": "Enviar solicitud", "chat_new_title": "Nueva conversación", "chat_new_zaddr": "Dirección z del destinatario", + "chat_no_matches": "Ninguna conversación coincide con tu búsqueda.", + "chat_retry": "Reintentar", + "chat_search": "Buscar conversaciones", "chat_select_hint": "Selecciona una conversación para verla.", "chat_send": "Enviar", "chat_send_failed": "no enviado", + "chat_time_now": "ahora", "chat_toast_compose_failed": "No se pudo componer el mensaje (¿demasiado largo?).", "chat_toast_lite_busy": "Ya hay un envío en curso, o no hay ningún monedero abierto.", "chat_toast_no_zaddr": "No hay ninguna dirección z disponible desde la que enviar el chat.", @@ -157,6 +170,7 @@ "chat_toast_request_compose_failed": "No se pudo componer la solicitud de contacto (¿dirección o texto no válidos?).", "chat_toast_request_queued": "Solicitud de contacto en cola.", "chat_toast_waiting_reply": "Espera a que este contacto responda antes de poder escribirle.", + "chat_unmute": "Reactivar", "chat_waiting_reply": "Esperando a que este contacto responda: podrás escribirle una vez lo haga.", "chat_you": "Tú", "choose_icon": "Elegir Icono", diff --git a/res/lang/fr.json b/res/lang/fr.json index d40e727..bba1595 100644 --- a/res/lang/fr.json +++ b/res/lang/fr.json @@ -140,16 +140,29 @@ "chat_contact_added": "Contact ajouté — renommez-le dans Contacts", "chat_contact_request": "demande de contact", "chat_empty_hint": "Aucune conversation pour l'instant. Les messages que vous recevez apparaîtront ici.", + "chat_empty_start": "Commencez-en une avec « Nouvelle conversation ».", + "chat_empty_title": "Aucune conversation pour l'instant", + "chat_export": "Exporter le chat…", + "chat_export_done": "Conversation exportée", + "chat_export_failed": "Impossible d'écrire le fichier d'exportation.", + "chat_export_warn": "Enregistre les messages déchiffrés en texte clair. Conservez le fichier en lieu sûr.", + "chat_jump_latest": "Récents", + "chat_len_over": "Message trop long", "chat_locked_hint": "Déverrouillez votre portefeuille pour charger vos discussions.", + "chat_mute": "Muet", "chat_new_button": "Nouvelle conversation", "chat_new_message": "Message", "chat_new_message_toast": "Nouveau message chiffré", "chat_new_send": "Envoyer la demande", "chat_new_title": "Nouvelle conversation", "chat_new_zaddr": "Adresse Z du destinataire", + "chat_no_matches": "Aucune conversation ne correspond à votre recherche.", + "chat_retry": "Réessayer", + "chat_search": "Rechercher des conversations", "chat_select_hint": "Sélectionnez une conversation pour l'afficher.", "chat_send": "Envoyer", "chat_send_failed": "non envoyé", + "chat_time_now": "à l'instant", "chat_toast_compose_failed": "Impossible de composer le message (trop long ?).", "chat_toast_lite_busy": "Un envoi est déjà en cours, ou aucun portefeuille n'est ouvert.", "chat_toast_no_zaddr": "Aucune adresse Z disponible pour envoyer le message.", @@ -157,6 +170,7 @@ "chat_toast_request_compose_failed": "Impossible de composer la demande de contact (adresse / texte invalide ?).", "chat_toast_request_queued": "Demande de contact mise en file d'attente.", "chat_toast_waiting_reply": "En attente de la réponse de ce contact avant de pouvoir lui écrire.", + "chat_unmute": "Réactiver", "chat_waiting_reply": "En attente de la réponse de ce contact — vous pourrez lui écrire dès qu'il aura répondu.", "chat_you": "Vous", "choose_icon": "Choisir une icône", diff --git a/res/lang/ja.json b/res/lang/ja.json index 3a0fb56..8bfef89 100644 --- a/res/lang/ja.json +++ b/res/lang/ja.json @@ -140,16 +140,29 @@ "chat_contact_added": "連絡先を追加しました — 連絡先で名前を変更できます", "chat_contact_request": "連絡リクエスト", "chat_empty_hint": "まだ会話はありません。受信したメッセージはここに表示されます。", + "chat_empty_start": "「新しい会話」から始めましょう。", + "chat_empty_title": "会話はまだありません", + "chat_export": "チャットをエクスポート…", + "chat_export_done": "会話をエクスポートしました", + "chat_export_failed": "エクスポートファイルを書き込めませんでした。", + "chat_export_warn": "復号したメッセージを平文で保存します。ファイルは安全に保管してください。", + "chat_jump_latest": "最新", + "chat_len_over": "メッセージが長すぎます", "chat_locked_hint": "チャットを読み込むにはウォレットのロックを解除してください。", + "chat_mute": "ミュート", "chat_new_button": "新しい会話", "chat_new_message": "メッセージ", "chat_new_message_toast": "新しい暗号化チャットメッセージ", "chat_new_send": "リクエストを送信", "chat_new_title": "新しい会話", "chat_new_zaddr": "宛先Zアドレス", + "chat_no_matches": "検索に一致する会話がありません。", + "chat_retry": "再送信", + "chat_search": "会話を検索", "chat_select_hint": "表示する会話を選択してください。", "chat_send": "送信", "chat_send_failed": "未送信", + "chat_time_now": "たった今", "chat_toast_compose_failed": "メッセージを作成できませんでした(長すぎませんか?)。", "chat_toast_lite_busy": "すでに送信処理が進行中か、ウォレットが開かれていません。", "chat_toast_no_zaddr": "送信元に使えるZアドレスがありません。", @@ -157,6 +170,7 @@ "chat_toast_request_compose_failed": "連絡リクエストを作成できませんでした(アドレスまたはテキストが無効?)。", "chat_toast_request_queued": "連絡リクエストを送信待ちに追加しました。", "chat_toast_waiting_reply": "メッセージを送るには、この相手からの返信を待つ必要があります。", + "chat_unmute": "ミュート解除", "chat_waiting_reply": "この相手からの返信を待っています — 返信があればメッセージを送れます。", "chat_you": "自分", "choose_icon": "アイコンを選択", diff --git a/res/lang/ko.json b/res/lang/ko.json index e209cc0..6089ba6 100644 --- a/res/lang/ko.json +++ b/res/lang/ko.json @@ -140,16 +140,29 @@ "chat_contact_added": "연락처 추가됨 — 연락처에서 이름을 변경하세요", "chat_contact_request": "연락 요청", "chat_empty_hint": "아직 대화가 없습니다. 받은 메시지가 여기에 표시됩니다.", + "chat_empty_start": "\"새 대화\"로 시작하세요.", + "chat_empty_title": "아직 대화가 없습니다", + "chat_export": "채팅 내보내기…", + "chat_export_done": "대화를 내보냈습니다", + "chat_export_failed": "내보내기 파일을 쓸 수 없습니다.", + "chat_export_warn": "복호화된 메시지를 일반 텍스트로 저장합니다. 파일을 안전하게 보관하세요.", + "chat_jump_latest": "최신", + "chat_len_over": "메시지가 너무 깁니다", "chat_locked_hint": "채팅을 불러오려면 지갑 잠금을 해제하세요.", + "chat_mute": "음소거", "chat_new_button": "새 대화", "chat_new_message": "메시지", "chat_new_message_toast": "새 암호화 채팅 메시지", "chat_new_send": "요청 보내기", "chat_new_title": "새 대화", "chat_new_zaddr": "받는 사람 z-주소", + "chat_no_matches": "검색과 일치하는 대화가 없습니다.", + "chat_retry": "다시 시도", + "chat_search": "대화 검색", "chat_select_hint": "볼 대화를 선택하세요.", "chat_send": "전송", "chat_send_failed": "전송 안 됨", + "chat_time_now": "방금", "chat_toast_compose_failed": "메시지를 작성할 수 없습니다 (너무 긴가요?).", "chat_toast_lite_busy": "이미 전송이 진행 중이거나 열린 지갑이 없습니다.", "chat_toast_no_zaddr": "채팅을 보낼 z-주소가 없습니다.", @@ -157,6 +170,7 @@ "chat_toast_request_compose_failed": "연락 요청을 작성할 수 없습니다 (잘못된 주소 / 텍스트?).", "chat_toast_request_queued": "연락 요청이 대기열에 추가되었습니다.", "chat_toast_waiting_reply": "상대방이 답장해야 메시지를 보낼 수 있습니다.", + "chat_unmute": "음소거 해제", "chat_waiting_reply": "상대방의 답장을 기다리는 중입니다 — 답장하면 메시지를 보낼 수 있습니다.", "chat_you": "나", "choose_icon": "아이콘 선택", diff --git a/res/lang/pt.json b/res/lang/pt.json index afee38f..cbe03ed 100644 --- a/res/lang/pt.json +++ b/res/lang/pt.json @@ -140,16 +140,29 @@ "chat_contact_added": "Contato adicionado — renomeie em Contatos", "chat_contact_request": "solicitação de contato", "chat_empty_hint": "Nenhuma conversa ainda. As mensagens que você receber aparecerão aqui.", + "chat_empty_start": "Inicie uma com \"Nova conversa\".", + "chat_empty_title": "Ainda não há conversas", + "chat_export": "Exportar conversa…", + "chat_export_done": "Conversa exportada", + "chat_export_failed": "Não foi possível gravar o arquivo de exportação.", + "chat_export_warn": "Salva as mensagens descriptografadas como texto simples. Guarde o arquivo com segurança.", + "chat_jump_latest": "Recentes", + "chat_len_over": "Mensagem muito longa", "chat_locked_hint": "Desbloqueie sua carteira para carregar suas conversas.", + "chat_mute": "Silenciar", "chat_new_button": "Nova conversa", "chat_new_message": "Mensagem", "chat_new_message_toast": "Nova mensagem de chat criptografada", "chat_new_send": "Enviar solicitação", "chat_new_title": "Nova conversa", "chat_new_zaddr": "Endereço-z do destinatário", + "chat_no_matches": "Nenhuma conversa corresponde à sua pesquisa.", + "chat_retry": "Tentar novamente", + "chat_search": "Pesquisar conversas", "chat_select_hint": "Selecione uma conversa para visualizá-la.", "chat_send": "Enviar", "chat_send_failed": "não enviada", + "chat_time_now": "agora", "chat_toast_compose_failed": "Não foi possível compor a mensagem (muito longa?).", "chat_toast_lite_busy": "Já há um envio em andamento, ou nenhuma carteira está aberta.", "chat_toast_no_zaddr": "Nenhum endereço-z disponível para enviar o chat.", @@ -157,6 +170,7 @@ "chat_toast_request_compose_failed": "Não foi possível compor a solicitação de contato (endereço / texto inválido?).", "chat_toast_request_queued": "Solicitação de contato na fila.", "chat_toast_waiting_reply": "Aguardando a resposta do contato antes que você possa enviar mensagens a ele.", + "chat_unmute": "Reativar som", "chat_waiting_reply": "Aguardando a resposta deste contato — você poderá enviar mensagens assim que ele responder.", "chat_you": "Você", "choose_icon": "Escolher Ícone", diff --git a/res/lang/ru.json b/res/lang/ru.json index 488643d..1b8b340 100644 --- a/res/lang/ru.json +++ b/res/lang/ru.json @@ -140,16 +140,29 @@ "chat_contact_added": "Контакт добавлен — переименуйте его в Контактах", "chat_contact_request": "запрос контакта", "chat_empty_hint": "Пока нет переписок. Полученные сообщения появятся здесь.", + "chat_empty_start": "Начните новый с помощью «Новый разговор».", + "chat_empty_title": "Пока нет разговоров", + "chat_export": "Экспорт чата…", + "chat_export_done": "Разговор экспортирован", + "chat_export_failed": "Не удалось записать файл экспорта.", + "chat_export_warn": "Сохраняет расшифрованные сообщения в виде обычного текста. Храните файл в надёжном месте.", + "chat_jump_latest": "Новые", + "chat_len_over": "Сообщение слишком длинное", "chat_locked_hint": "Разблокируйте кошелёк, чтобы загрузить переписку.", + "chat_mute": "Отключить уведомления", "chat_new_button": "Новая переписка", "chat_new_message": "Сообщение", "chat_new_message_toast": "Новое зашифрованное сообщение", "chat_new_send": "Отправить запрос", "chat_new_title": "Новая переписка", "chat_new_zaddr": "Z-адрес получателя", + "chat_no_matches": "Нет разговоров, соответствующих запросу.", + "chat_retry": "Повторить", + "chat_search": "Поиск разговоров", "chat_select_hint": "Выберите переписку для просмотра.", "chat_send": "Отправить", "chat_send_failed": "не отправлено", + "chat_time_now": "сейчас", "chat_toast_compose_failed": "Не удалось составить сообщение (слишком длинное?).", "chat_toast_lite_busy": "Отправка уже выполняется, или кошелёк не открыт.", "chat_toast_no_zaddr": "Нет доступного Z-адреса для отправки сообщений.", @@ -157,6 +170,7 @@ "chat_toast_request_compose_failed": "Не удалось составить запрос контакта (неверный адрес / текст?).", "chat_toast_request_queued": "Запрос контакта поставлен в очередь.", "chat_toast_waiting_reply": "Ожидание ответа от контакта — вы сможете писать ему только после этого.", + "chat_unmute": "Включить уведомления", "chat_waiting_reply": "Ожидание ответа от контакта — вы сможете писать ему, как только он ответит.", "chat_you": "Вы", "choose_icon": "Выбрать иконку", diff --git a/res/lang/zh.json b/res/lang/zh.json index f384b34..3bfd2a0 100644 --- a/res/lang/zh.json +++ b/res/lang/zh.json @@ -140,16 +140,29 @@ "chat_contact_added": "已添加联系人——可在联系人中重命名", "chat_contact_request": "联系人请求", "chat_empty_hint": "暂无对话。您收到的消息将显示在此处。", + "chat_empty_start": "点击\"新建会话\"开始。", + "chat_empty_title": "还没有会话", + "chat_export": "导出聊天…", + "chat_export_done": "会话已导出", + "chat_export_failed": "无法写入导出文件。", + "chat_export_warn": "将解密后的消息保存为纯文本。请妥善保管该文件。", + "chat_jump_latest": "最新", + "chat_len_over": "消息过长", "chat_locked_hint": "解锁钱包以加载您的聊天记录。", + "chat_mute": "静音", "chat_new_button": "新建对话", "chat_new_message": "消息", "chat_new_message_toast": "新的加密聊天消息", "chat_new_send": "发送请求", "chat_new_title": "新建对话", "chat_new_zaddr": "收款方 z 地址", + "chat_no_matches": "没有与搜索匹配的会话。", + "chat_retry": "重试", + "chat_search": "搜索会话", "chat_select_hint": "选择一个对话以查看。", "chat_send": "发送", "chat_send_failed": "未发送", + "chat_time_now": "刚刚", "chat_toast_compose_failed": "无法编写该消息(内容过长?)。", "chat_toast_lite_busy": "已有发送正在进行中,或未打开任何钱包。", "chat_toast_no_zaddr": "没有可用于发送聊天的 z 地址。", @@ -157,6 +170,7 @@ "chat_toast_request_compose_failed": "无法编写联系人请求(地址或文本无效?)。", "chat_toast_request_queued": "联系人请求已排队。", "chat_toast_waiting_reply": "等待该联系人回复——对方回复后您即可向其发送消息。", + "chat_unmute": "取消静音", "chat_waiting_reply": "等待该联系人回复——对方回复后您即可向其发送消息。", "chat_you": "我", "choose_icon": "选择图标", diff --git a/src/ui/windows/chat_tab.cpp b/src/ui/windows/chat_tab.cpp index 61ccb1e..dfea350 100644 --- a/src/ui/windows/chat_tab.cpp +++ b/src/ui/windows/chat_tab.cpp @@ -582,7 +582,7 @@ void RenderChatTab(App* app) } } } else { - if (convs.empty()) centeredEmptyState(ICON_MD_FORUM, TR("chat_empty_title"), TR("chat_empty_hint")); + if (convs.empty()) centeredEmptyState(ICON_MD_FORUM, TR("chat_empty_title"), TR("chat_empty_start")); else centeredEmptyState(ICON_MD_CHAT_BUBBLE_OUTLINE, TR("chat_select_hint"), nullptr); } } diff --git a/src/util/i18n.cpp b/src/util/i18n.cpp index fdd7f60..8d9f768 100644 --- a/src/util/i18n.cpp +++ b/src/util/i18n.cpp @@ -240,7 +240,7 @@ void I18n::loadBuiltinEnglish() strings_["chat_retry"] = "Retry"; strings_["chat_jump_latest"] = "Latest"; strings_["chat_empty_title"] = "No conversations yet"; - strings_["chat_empty_hint"] = "Start one with \"New conversation\"."; + strings_["chat_empty_start"] = "Start one with \"New conversation\"."; strings_["chat_search"] = "Search conversations"; strings_["chat_no_matches"] = "No conversations match your search."; strings_["chat_export"] = "Export chat\xE2\x80\xA6";