From 6965b74eaee1e171735ff249cc851ea1d619f314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B0=E7=B3=96=E9=9B=AA=E7=8B=B8?= Date: Mon, 8 Apr 2024 16:44:10 +0300 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E4=BF=84=E8=AF=AD?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/App.pro | 3 +- App/bll_polychat.h | 3 + App/db_localdata.h | 1 + App/language_EN.qm | Bin 10473 -> 10553 bytes App/language_EN.ts | 4 +- App/language_RU.qm | Bin 0 -> 11046 bytes App/language_RU.ts | 710 ++++++++++++++++++++++++++++++++++++++++ App/language_zh_CN.qm | Bin 8416 -> 8448 bytes App/language_zh_CN.ts | 2 +- App/loginwidget.ui | 5 + App/resource.qrc | 1 + App/uil_loginwidget.cpp | 5 + 12 files changed, 730 insertions(+), 4 deletions(-) create mode 100644 App/language_RU.qm create mode 100644 App/language_RU.ts diff --git a/App/App.pro b/App/App.pro index 5fdc24f..e9af1a6 100644 --- a/App/App.pro +++ b/App/App.pro @@ -48,6 +48,7 @@ RESOURCES += \ resource.qrc TRANSLATIONS += language_zh_CN.ts \ - language_EN.ts + language_EN.ts \ + language_RU.ts RC_ICONS = logo_fox.ico diff --git a/App/bll_polychat.h b/App/bll_polychat.h index f8c794d..1f7cf57 100644 --- a/App/bll_polychat.h +++ b/App/bll_polychat.h @@ -98,6 +98,9 @@ static void loadTranslator() ::translator_zn_CN = new QTranslator; ::translator_zn_CN->load(":/language/language_zh_CN.qm"); + + ::translator_RU = new QTranslator; + ::translator_RU->load(":/language/language_RU.qm"); } } diff --git a/App/db_localdata.h b/App/db_localdata.h index 0de155f..2299b59 100644 --- a/App/db_localdata.h +++ b/App/db_localdata.h @@ -42,6 +42,7 @@ extern ChatList* chatList ; */ static QTranslator* translator_EN; static QTranslator* translator_zn_CN; +static QTranslator* translator_RU; #endif // DB_LOCALDATA_H diff --git a/App/language_EN.qm b/App/language_EN.qm index 2098a0bbaaef2660d1fbac052ef839cd8eb377bc..287adc1c16b65ab5bbf6f69060249759485704d0 100644 GIT binary patch delta 240 zcmaDExHD*i9b@=J`#L6hp^5wTm=rW8zSn0go-EI3&iHh4IAcCz;^gB%vTU+BlNpnW z+vI#EHzs-G$=jLK1$VO@@vvfGkl6{LRRku#XOfpJVy}C!ih)7m0fd%+%YNNs69a?% zy2Yf$Ri^V1`77GKN%! ggvpXJ8k4mJIXAylv}2lVs4O+PLzZ{5pUP|&0KpYN#{d8T delta 185 zcmdlP^fGXQ9V7ch`#L7MLlgJwG0ESY_+Fn;d9pmCIpfsH;f(o=f|HK}Nwvx5OlC~V z-zMiXxiQH-p1hq&T`-&Nh=&yegUn6{t$bkednS2FCHA@ps~8w09zbaMx$M_HHZd^B z$4ypewr6ymoX#vKC3~0K)Gv#HLC~DrA()?mLD7VJox&9c2Dz}w^O@zC6i!dx&s@)D gm&w4OGH [EMPTY] Click `Save` to receive the file - + [EMPTY] Click `Save` to receive the file @@ -614,7 +614,7 @@ Are you sure you want to cancel receiving files? Form - Fine Sender + File Sender diff --git a/App/language_RU.qm b/App/language_RU.qm new file mode 100644 index 0000000000000000000000000000000000000000..57c0f55e1e92933713d822dce3f560b41ff6d478 GIT binary patch literal 11046 zcmb_i3vg7`89qtQ=CRpqAcTNvgcBqbN{rc%KnRf6CV`lk#3U$>VPvy=1FM_ebaw-U zj<&^$wMFgNDk^p;whq3gcEstl)Q&n8XSB7p_F>0SYo}=It5REZbjI56KWFdVd+**Q zq0?mUo}0Vp{O3Ra^ZWms^*;$MeD3{wZhyYI>WQ7le*Wrl#+WNUb=C0ZPR6*vUn?1# z^DM@C#&Y*zY-6nAmueI_7-`;(7<(CWzlL!$W8NTRdF_~g1Y-xrCop1O?q4x>;VQt@ zgA26tHsKn?HH<5PYZTXETw8Gc476WotQh;a)-je7V66Y!j4ilJjp8}R?^udC4>JA& zXRN4%@ju=S9`>to?)TJKIjY7bF6P?Q1bSiSy7Lrco=P=Vy~14gfUlA<=6dx{j4fKB z#+ngUdjIo`mHSxf0|Mv1mi71_0bhS+m#(~yvHS?TG&sgs!42%vy*S^3tJNruu>QO7 zyzpfz9;{xSC5Ll0p8Q|#Vr z!#LL~>`Y}1=vL;`zVTC>>*1X1x1D8du`lPHvnLt5@QvJqH?=Ufq&N4r)Bj>@ZfRcb z5=@)(x4iCez6^OS$QxbO%~;u+d51&4$G)w3&nDhytn!Y$)321m*;Od@^8p(I{%8_-Uq(_k{`Xj0rC##KY9)J zU2-J<=}p*gQJ)%X-p+sF)UTlT;R3C23ii0JVDiL+j4jMBh;O@_vFg^Y2cdyaXYdJ%kIc--^R z@j9HRv!rV)Lq+UeWd#=>FXsToK2*54^|r!oSN;c#p3EUvtlve#!L~W6MG?(q+Ga#@SL{ℜU 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 n6P5Ex&n9?sj`WfdTd)|KmBuqud literal 0 HcmV?d00001 diff --git a/App/language_RU.ts b/App/language_RU.ts new file mode 100644 index 0000000..dcf6599 --- /dev/null +++ b/App/language_RU.ts @@ -0,0 +1,710 @@ + + + + + AddChat + + + Form + Новый чат + + + + + Add new chat + Добавить новый чат + + + + Name for new chat: + Название чата: + + + + Cancel + Отмена + + + + OK + ОК + + + + Return + Возврат + + + + Warning + Предупреждение + + + + Name can not be empty + Название не может быть пустым + + + + ChatBoxWidget + + + ChatBoxWidget + Chatbox + + + + 10 + + + + + 11 + + + + + 12 + + + + + 14 + + + + + 16 + + + + + 18 + + + + + 22 + + + + + 24 + + + + + 28 + + + + + Bold + Жирный + + + + + B + + + + + Ctrl+B + + + + + Italic + Курсив + + + + I + + + + + Ctrl+I + + + + + Under line + Зачеркивание + + + + U + + + + + Ctrl+U + + + + + Font color + Цвет шрифта + + + + Color + Цвет + + + + + Send file + Отправить файл + + + + Ctrl+F + + + + + Save message in chat + Сохранить сообщение из чата в файл + + + + Save + Сохранить + + + + Ctrl+S + + + + + Clearn all message in chatbox + Очистить все сообщения в окне чата + + + + Clean + Очистить + + + + Ctrl+Shift+C + + + + + Exit chat + Выйти из чата + + + + Exit + Выйти + + + + Ctrl+Shift+Esc + + + + + Number of online user: + Количество пользователей онлайн: + + + + 0 + + + + + Send message + Отправить сообщение + + + + Send + Отправить + + + + Shift+Return + + + + + Name + Название + + + + Group + Группа + + + + IP + IP-адрес + + + + Chat %1 on port %2 + Чат %1 на порту %2 + + + + Clean all message + Очистить все сообщения + + + + Are you sure you want to clear all messages? + Вы уверены, что хотите удалить все сообщения? + + + + + + Warning + Предупреждение + + + + Can not save! +Message box is empty + Невозможно сохранить! +Окно сообщений пусто + + + + Save file + Сохранить файл + + + + Save cancel + Отмена сохранения + + + + Cancel sending file + Отменить отправку файла + + + + Error + Ошибка + + + + File size cannot exceed 1Gb + Размер файла не может превышать 1 ГБ + + + + File reception request + Запрос на приём файла + + + + [%1] from group [%2] wants to send you a file, do you want to receive it? + +--------------------- +File information: +Name: %3 +Size: %4Kb + [%1] из группы [%2] хочет отправить вам файл, вы хотите его принять? + +--------------------- +Информация о файле: +Название: %3 +Размер: %4Кб + + + + %1 online + %1 в сети + + + + %1 left on %2 + %1 вышел в %2 + + + + ChatList + + + Form + Групповой чат на локальном + + + + Group Chat List + Список чатов + + + + 🔍 + + + + + + + + + + + Groups + Группы + + + + Your info + Ваша информация + + + + Group number: + Номер группы: + + + + NO_NAME + + + + + IP address: + IP-адрес: + + + + Name: + Название: + + + + 000.000.0.0 + + + + + XXXX/XXXXXX + + + + + PolyChat Chat list + Список чатов + + + + Warning + Предупреждение + + + + Chat with the same name already exists + Чат с таким же названием уже существует + + + + LoginWidget + + + + PolyChat Login + Вход в PolyChat + + + + 🌏 English + + + + + 🇨🇳 Chinese + + + + + PolyChat + + + + + Group: + Группа: + + + + Name: + Имя: + + + + 🚀 + + + + + Login + Вход + + + + Return + Возврат + + + + Name or Group number can not be empty + Имя или номер группы не могут быть пустыми + + + + TcpClient + + + Form + Получатель файла + + + + File +Receipter + Получатель +файла + + + + Your info (TCP client) + Ваша информация (TCP-клиент) + + + + 192.168.XX.X + + + + + Your IP: + Ваш IP: + + + + XXXX + + + + + Your TCP port: + Ваш TCP порт: + + + + Receive from info (TCP server) + Информация отправителя (TCP-сервер) + + + + + ? + + + + + Server port: + Порт сервера: + + + + Save to path: + Сохранить в путь: + + + + Server IP: + IP сервера: + + + + File size: + Размер файла: + + + + File name: + Имя файла: + + + + [EMPTY] Click `Save` to receive the file + [ПУСТО] Нажмите `Сохранить`, чтобы получить файл + + + + Cancel + Отмена + + + + Esc + + + + + Save + Сохранить + + + + Return + Возврат + + + + File receipter + Получатель файла + + + + Save file to + Сохранить файл в + + + + ERROR + ОШИБКА + + + + File path is empty, you did not specify a save directory. +You can click on the `Save` button to receive the file again + Путь к файлу пуст, вы не указали директорию для сохранения. +Вы можете нажать кнопку Сохранить, чтобы снова получить файл + + + + Cancel receive + Отменить получение + + + + If the file is not received, it will be stopped and disconnected. +Are you sure you want to cancel receiving files? + Если файл не будет получен, передача будет остановлена, и соединение разорвано. +Вы уверены, что хотите отменить получение файлов? + + + + TcpServer + + + Form + Отправитель файла + + + + File Sender + Отправитель файла + + + + Your info (TCP server) + Ваша информация (TCP-сервер) + + + + 192.168.XX.X + + + + + Your IP: + Ваш IP: + + + + XXXX + + + + + Your TCP port: + Ваш TCP порт: + + + + Sending info (TCP client) + Информация об отправлении (TCP-клиент) + + + + Now connect with IP: + Соединение с IP: + + + + File size: + Размер файла: + + + + + ? + + + + + Now connect with port: + Соединение с портом: + + + + File path: + Путь к файлу: + + + + Cancel + Отмена + + + + Esc + + + + + File sender + Отправитель файла + + + + ERROR + ОШИБКА + + + + You have not selected any files + Вы не выбрали никаких файлов + + + + Cancel send + Отменить отправку + + + + The current file transfer will be cancelled if it is not completed and all connections will be disconnected. +Are you sure you want to cancel sending files? + Текущая передача файла будет отменена, если она не завершена, и все соединения будут разорваны. +Вы уверены, что хотите отменить отправку файлов? + + + diff --git a/App/language_zh_CN.qm b/App/language_zh_CN.qm index 436671970ffc4ffb052f2f929535da4a87dbe1b5..859b6065930e54d9e6b4491338a66171a86eb30d 100644 GIT binary patch delta 206 zcmaFh*x)q5mPvwnqJ2H%qKW(U8G9$b*JqqMS)S3Hv3hbiV?N{d$;W}D(qwZcb4H8F z`AqJNhbM1mQWyNmcErPqfkA91gqC5O{GLf(@*8{IgH;R+B1{lkGMfFm$0h~_NsYf>IgaD{2$@`h>*$Ofl7-aTr yc3~+IS7BgaP+*9zs$z&`P$<|L_#4Pe@V^@!!H~e9ki0b2EVbS5+vYveDy#sJjy==> delta 173 zcmZp0df+(0mP!2aMEiQiriuIY8FMGT*Jmu9EYE1p7(F?hF`sezHgH;R+B1{lk(whCc$0h~_Nsh_t z%=SRD(wXHYcXFHhWic@DKIC=?=4W7#%Hv+AaD{0$@`h>*#a^d7-Z&b Sc3~+IpS(_tck@$eX;uJsZ8LuW diff --git a/App/language_zh_CN.ts b/App/language_zh_CN.ts index 70a8c3d..3111dda 100644 --- a/App/language_zh_CN.ts +++ b/App/language_zh_CN.ts @@ -551,7 +551,7 @@ Receipter [EMPTY] Click `Save` to receive the file - + [空] 点击 `保存` 接收文件 diff --git a/App/loginwidget.ui b/App/loginwidget.ui index 8bda108..77132b4 100644 --- a/App/loginwidget.ui +++ b/App/loginwidget.ui @@ -105,6 +105,11 @@ 🇨🇳 Chinese + + + 🇷🇺 Russian + + diff --git a/App/resource.qrc b/App/resource.qrc index e4ccd92..dec65e8 100644 --- a/App/resource.qrc +++ b/App/resource.qrc @@ -32,5 +32,6 @@ language_EN.qm language_zh_CN.qm + language_RU.qm diff --git a/App/uil_loginwidget.cpp b/App/uil_loginwidget.cpp index 7c604b8..7ddc8db 100644 --- a/App/uil_loginwidget.cpp +++ b/App/uil_loginwidget.cpp @@ -42,7 +42,12 @@ LoginWidget::LoginWidget(QWidget *parent) : case 1: qApp->installTranslator(::translator_zn_CN); break; + case 2: + qApp->installTranslator(::translator_RU); + break; + default: + qDebug() << "[ERROR] Fail change language"; break; }