From fc793f2e57465d849db3a652a15c80c5edb254dc Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 4 Oct 2025 03:39:37 +0300 Subject: [PATCH] chat patch --- app/locales/en.json | 6 ++++++ app/locales/ru.json | 7 +++++++ app/ui/views/search_results_view.py | 15 ++++++++------- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/app/locales/en.json b/app/locales/en.json index 48932c1..de3ec95 100644 --- a/app/locales/en.json +++ b/app/locales/en.json @@ -44,6 +44,12 @@ "Failed to get role after refresh": "Failed to get role after refresh", "Session expired, please log in again": "Session expired, please log in again", + "Ничего не нашли": "Nothing found", + "Пользователи": "Users", + "Пользователь": "User", + "Беседы": "Chats", + "Паблики": "Public pages", + "Сообщения": "Messages", "Login must be between 3 and 32 characters long": "Login must be between 3 and 32 characters long", "Login must not contain whitespace characters": "Login must not contain whitespace characters", diff --git a/app/locales/ru.json b/app/locales/ru.json index d05fb78..20e6ed8 100644 --- a/app/locales/ru.json +++ b/app/locales/ru.json @@ -44,6 +44,13 @@ "Failed to get role after refresh": "Не удалось получить роль после обновления", "Session expired, please log in again": "Сессия истекла, пожалуйста, войдите снова", + "Ничего не нашли": "Ничего не нашли", + "Пользователи": "Пользователи", + "Пользователь": "Пользователь", + "Беседы": "Беседы", + "Паблики": "Паблики", + "Сообщения": "Сообщения", + "Login must be between 3 and 32 characters long": "Логин должен быть от 3 до 32 символов", "Login must not contain whitespace characters": "Логин не должен содержать пробелы", "Login must not start with an underscore": "Логин не должен начинаться с символа подчёркивания", diff --git a/app/ui/views/search_results_view.py b/app/ui/views/search_results_view.py index ebd7cd5..cdf4f8b 100644 --- a/app/ui/views/search_results_view.py +++ b/app/ui/views/search_results_view.py @@ -1,6 +1,7 @@ from PySide6.QtCore import Qt, Signal from PySide6.QtWidgets import QWidget, QVBoxLayout, QListWidget, QListWidgetItem, QLabel from app.ui.widgets.chat_list_item_widget import ChatListItemWidget +from app.core.localizer import localizer class SearchResultsView(QWidget): @@ -29,16 +30,16 @@ class SearchResultsView(QWidget): channels = getattr(data, 'channels', []) or [] messages = getattr(data, 'messages', []) or [] if not users and not groups and not channels and not messages: - self._show_empty_state("Ничего не нашли") + self._show_empty_state(localizer.translate("Ничего не нашли")) return # Users users = users if users: - self._add_section_header("Пользователи") + self._add_section_header(localizer.translate("Пользователи")) for u in users: - title = u.login - subtitle = u.full_name or u.custom_name or "Пользователь" + title = "@" + u.login + subtitle = u.custom_name or localizer.translate(u.full_name) or localizer.translate("Пользователь") payload = { "type": "user", "user": { @@ -54,7 +55,7 @@ class SearchResultsView(QWidget): # Groups groups = groups if groups: - self._add_section_header("Беседы") + self._add_section_header(localizer.translate("Беседы")) for g in groups: title = g.get("title") if isinstance(g, dict) else getattr(g, "title", "") self._add_chat_like_item(title or "Группа", "Беседа", timestamp="", payload={"type": "group", "chat_id": str((g.get("chat_id") if isinstance(g, dict) else getattr(g, "chat_id", "")))}) @@ -62,7 +63,7 @@ class SearchResultsView(QWidget): # Channels channels = channels if channels: - self._add_section_header("Паблики") + self._add_section_header(localizer.translate("Паблики")) for ch in channels: title = ch.get("title") if isinstance(ch, dict) else getattr(ch, "title", "") self._add_chat_like_item(title or "Паблик", "Паблик", timestamp="", payload={"type": "channel", "channel_id": str((ch.get("channel_id") if isinstance(ch, dict) else getattr(ch, "channel_id", "")))}) @@ -70,7 +71,7 @@ class SearchResultsView(QWidget): # Messages messages = messages if messages: - self._add_section_header("Сообщения") + self._add_section_header(localizer.translate("Сообщения")) for m in messages: content = m.get("content") if isinstance(m, dict) else getattr(m, "content", "") self._add_chat_like_item((content or "(пусто)"), "Сообщение", timestamp="", payload={"type": "message", "message_id": str((m.get("message_id") if isinstance(m, dict) else getattr(m, "message_id", "")))})