From c114e9b6c348781cd46b3188809ec2694d43fec6 Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sun, 5 Jun 2016 20:17:39 +0300 Subject: [PATCH] docs + translations --- README.md | 9 +- docs/contributing.md | 6 +- docs/plugins.md | 2 +- src/menu.py | 6 + src/profile.py | 1 + src/translations/en_GB.ts | 271 +++++++++++++++++++++++-------------- src/translations/fr_FR.ts | 271 +++++++++++++++++++++++-------------- src/translations/ru_RU.qm | Bin 10949 -> 11993 bytes src/translations/ru_RU.ts | 273 ++++++++++++++++++++++++-------------- src/widgets.py | 11 +- 10 files changed, 543 insertions(+), 307 deletions(-) diff --git a/README.md b/README.md index c007791..4401476 100644 --- a/README.md +++ b/README.md @@ -33,24 +33,25 @@ Toxygen is cross-platform [Tox](https://tox.chat/) client written on Python - [x] File resuming - [x] Save file encryption - [x] Plugins support +- [x] Read receipts +- [x] Faux offline messaging - [ ] Video - [ ] Group chats -- [ ] Read receipts -- [ ] Faux offline messaging - [ ] Desktop sharing ###Downloads +[Releases](https://github.com/xveduk/toxygen/releases) + [Download last stable version](https://github.com/xveduk/toxygen/archive/master.zip) [Download develop version](https://github.com/xveduk/toxygen/archive/develop.zip) -[Releases](https://github.com/xveduk/toxygen/releases) - ###Screenshots *Toxygen on Ubuntu and Windows* ![Ubuntu](/docs/ubuntu.png) ![Windows](/docs/windows.png) + ###Docs [Check /docs/ for more info](/docs/) diff --git a/docs/contributing.md b/docs/contributing.md index 32b835e..2eeb453 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -9,13 +9,13 @@ Help us find all bugs in Toxygen! Please provide following info: - Toxygen executable info - .py or precompiled binary - Steps to reproduce the bug -Want to see new feature in Toxygen? [Open issue!](https://github.com/xveduk/toxygen/issues) +Want to see new feature in Toxygen? [Ask for it!](https://github.com/xveduk/toxygen/issues) #Pull requests Developer? Feel free to open pull request. Our dev team is small so we glad to get help. -Don't know what to do? Impove UI, fix [issues](https://github.com/xveduk/toxygen/issues) or implement features from our TODO list. -You can find our TODO's in code and [here](/README.md) +Don't know what to do? Improve UI, fix [issues](https://github.com/xveduk/toxygen/issues) or implement features from our TODO list. +You can find our TODO's in code and [here](/README.md). Also you can implement plugins for Toxygen. #Translations diff --git a/docs/plugins.md b/docs/plugins.md index 3fb13b7..36981c0 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -1,6 +1,6 @@ #Plugins -Toxygen is the first [Tox](https://tox.chat/) client with plugins support. Plugin is Python module and directory with plugin's data which provide some additional functionality. +Toxygen is the first [Tox](https://tox.chat/) client with plugins support. Plugin is Python module (.py file) and directory with plugin's data which provide some additional functionality. #How to write plugin diff --git a/src/menu.py b/src/menu.py index 689d1d6..8b7c6be 100644 --- a/src/menu.py +++ b/src/menu.py @@ -548,6 +548,9 @@ class InterfaceSettings(CenteredWidget): class AudioSettings(CenteredWidget): + """ + Audio calls settings form + """ def __init__(self): super(AudioSettings, self).__init__() @@ -601,6 +604,9 @@ class AudioSettings(CenteredWidget): class PluginsSettings(CenteredWidget): + """ + Plugins settings form + """ def __init__(self): super(PluginsSettings, self).__init__() diff --git a/src/profile.py b/src/profile.py index 3074f85..8a71797 100644 --- a/src/profile.py +++ b/src/profile.py @@ -506,6 +506,7 @@ class Profile(Contact, Singleton): """ Friend with specified number quit """ + # TODO: fix self.get_friend_by_number(friend_number).status = None self.friend_typing(friend_number, False) if friend_number in self._call: diff --git a/src/translations/en_GB.ts b/src/translations/en_GB.ts index 87c2b31..50ae041 100644 --- a/src/translations/en_GB.ts +++ b/src/translations/en_GB.ts @@ -3,50 +3,63 @@ AddContact - + Add contact Add contact - + TOX ID: TOX ID: - + Message: Message: + + + TOX ID or public key of contact + + + + + Callback + + + File from + + Form - + Send request Send request - + IPv6 IPv6 - + UDP UDP - + Proxy Proxy - + IP: IP: - + Port: Port: @@ -56,12 +69,12 @@ Online contacts - + HTTP HTTP - + WARNING: using proxy with enabled UDP can produce IP leak @@ -71,103 +84,103 @@ can produce IP leak MainWindow - + Profile - + Settings - + About - + Add contact - + Privacy - + Interface - + Notifications - + Network - + About program - + User {} wants to add you to contact list. Message: {} - + Friend request - + Choose file Choose file - + Disallow auto accept - + Allow auto accept - + Set alias - + Clear history - + Copy public key - + Remove friend - + Enter new alias for friend {} or leave empty to use friend's name: Enter new alias for friend {} or leave empty to use friend's name: - + Audio Audio @@ -177,82 +190,137 @@ can produce IP leak Find contact - + Friend added Friend added - + Toxygen is Tox client written on Python. Version: Toxygen is Tox client written on Python. Version: - + Friend added without sending friend request Friend added without sending friend request - + Choose folder Choose folder - + Send screenshot Send screenshot - + Send file Send file - + Send message Send message - + Start audio call with friend Start audio call with friend - + Plugins - + List of plugins - + Search - + All - + Online + + + Notes + + + + + Notes about user + + + + + Copy link location + + + + + Copy + + + + + Select all + + + + + Delete + + + + + Paste + + + + + Cut + + + + + Undo + + + + + Redo + + + + + Save + + NetworkSettings - + Network settings Network settings - + Restart TOX core Restart Tox core @@ -260,12 +328,12 @@ Version: PluginWindow - + List of commands for plugin {} - + No commands available @@ -273,125 +341,130 @@ Version: PluginsForm - + Plugins - + Open selected plugin - + No GUI found for this plugin - + No description available - + Disable plugin - + Enable plugin + + + No plugins found + + ProfileSettingsForm - + Export profile - + Profile settings - + Name: - + Status: - + TOX ID: - + Copy TOX ID - + New avatar - + Reset avatar - + New NoSpam New NoSpam - + Profile password - + Password (at least 8 symbols) - + Confirm password - + Set password - + Passwords do not match - + Leaving blank will reset current password - + There is no way to recover lost passwords - + Password must be at least 8 symbols - + Choose avatar @@ -399,17 +472,17 @@ Version: audioSettingsForm - + Audio settings Audio settings - + Input device: Input device: - + Output device: Output device: @@ -417,12 +490,12 @@ Version: incoming_call - + Incoming video call Incoming video call - + Incoming audio call Incoming audio call @@ -430,17 +503,17 @@ Version: interfaceForm - + Interface settings - + Theme: - + Language: @@ -496,22 +569,22 @@ Version: notificationsForm - + Notification settings - + Enable notifications - + Enable call's sound - + Enable sound notifications @@ -519,77 +592,77 @@ Version: privacySettings - + Privacy settings - + Save chat history - + Allow file auto accept - + Send typing notifications - + Auto accept default path: - + Change - + Allow inlines - + Chat history - + History will be cleaned! Continue? - + Blocked users: Blocked users: - + Unblock Unblock - + Block user Block user - + Add to friend list Add to friend list - + Do you want to add this user to friend list? Do you want to add this user to friend list? - + Block by TOX ID: Block by TOX ID: diff --git a/src/translations/fr_FR.ts b/src/translations/fr_FR.ts index 5755033..4824ecf 100644 --- a/src/translations/fr_FR.ts +++ b/src/translations/fr_FR.ts @@ -3,50 +3,63 @@ AddContact - + Add contact Rajouter un contact - + TOX ID: ID TOX : - + Message: Message : + + + TOX ID or public key of contact + + + + + Callback + + + File from + + Form - + Send request Envoyer une demande - + IPv6 IPv6 - + UDP UDP - + Proxy Proxy - + IP: IP : - + Port: Port : @@ -56,12 +69,12 @@ Contacts connectés - + HTTP HTTP - + WARNING: using proxy with enabled UDP can produce IP leak @@ -71,58 +84,58 @@ can produce IP leak MainWindow - + Profile Profile - + Settings Paramêtres - + About À Propos - + Add contact Rajouter un contact - + Privacy Confidentialité - + Interface Interface - + Notifications Notifications - + Network Réseau - + About program À propos du programme - + User {} wants to add you to contact list. Message: {} L'Utilisateur {} veut vout rajouter à sa liste de contacts. Message : {} - + Friend request Demande d'amis @@ -132,47 +145,47 @@ can produce IP leak Toxygen est un client Tox écris en Python 2.7. Version : - + Choose file Choisir un fichier - + Disallow auto accept Désactiver l'auto-réception - + Allow auto accept Activer l'auto-réception - + Set alias Définir un alias - + Clear history Vider l'historique - + Copy public key Copier la clé publique - + Remove friend Retirer un ami - + Enter new alias for friend {} or leave empty to use friend's name: Entrez un nouvel alias pour l'ami {} ou laissez vide pour garder son nom de base : - + Audio Audio @@ -182,82 +195,137 @@ can produce IP leak Trouver le contact - + Friend added Ami rajouté - + Toxygen is Tox client written on Python. Version: Toxygen est un client Tox écrit en Python. Version : - + Friend added without sending friend request Ami rajouté sans avoir envoyé de demande - + Choose folder Choisir le dossier - + Send screenshot Envoyer une capture d'écran - + Send file Envoyer le fichier - + Send message Envoyer le message - + Start audio call with friend Lancer un appel audio avec un ami - + Plugins - + List of plugins - + Search - + All - + Online + + + Notes + + + + + Notes about user + + + + + Copy link location + + + + + Copy + + + + + Select all + + + + + Delete + + + + + Paste + + + + + Cut + + + + + Undo + + + + + Redo + + + + + Save + + NetworkSettings - + Network settings Paramètres réseaux - + Restart TOX core Relancer le noyau TOX @@ -265,12 +333,12 @@ Version : PluginWindow - + List of commands for plugin {} - + No commands available @@ -278,125 +346,130 @@ Version : PluginsForm - + Plugins - + Open selected plugin - + No GUI found for this plugin - + No description available - + Disable plugin - + Enable plugin + + + No plugins found + + ProfileSettingsForm - + Export profile Exporter le profile - + Profile settings Paramêtres du profil - + Name: Nom : - + Status: Status : - + TOX ID: ID TOX : - + Copy TOX ID Copier l'ID TOX - + New avatar Nouvel avatar - + Reset avatar Réinitialiser l'avatar - + New NoSpam Nouveau NoSpam - + Profile password - + Password (at least 8 symbols) - + Confirm password - + Set password - + Passwords do not match - + Leaving blank will reset current password - + There is no way to recover lost passwords - + Password must be at least 8 symbols - + Choose avatar @@ -404,17 +477,17 @@ Version : audioSettingsForm - + Audio settings Paramètres audio - + Input device: Péripherique d'entrée : - + Output device: Péripherique de sortie : @@ -422,12 +495,12 @@ Version : incoming_call - + Incoming video call Appel vidéo entrant - + Incoming audio call Appel audio entrant @@ -435,17 +508,17 @@ Version : interfaceForm - + Interface settings Paramêtres de l'interface - + Theme: Thème : - + Language: Langue : @@ -501,22 +574,22 @@ Version : notificationsForm - + Notification settings Paramêtres de notification - + Enable notifications Activer les notifications - + Enable call's sound Activer les sons d'appel - + Enable sound notifications Activer les sons de notifications @@ -524,77 +597,77 @@ Version : privacySettings - + Privacy settings Paramêtres de confidentialité - + Save chat history Sauvegarder l'historique de chat - + Allow file auto accept Autoriser les fichier automatiquement - + Send typing notifications Notifier la frappe - + Auto accept default path: Chemin d'accès des fichiers acceptés automatiquement : - + Change Modifier - + Allow inlines Activer l'auto-réception - + Chat history Historique de chat - + History will be cleaned! Continue? L'Historique va être nettoyé ! Confirmer ? - + Blocked users: Utilisateurs bloqués : - + Unblock Débloquer - + Block user Bloquer l'utilisateur - + Add to friend list Ajouter à la liste des amis - + Do you want to add this user to friend list? Voulez vous rajouter cet utilisateur à votre liste d'amis ? - + Block by TOX ID: Bloquer l'ID TOX : diff --git a/src/translations/ru_RU.qm b/src/translations/ru_RU.qm index dffe08c42aad8c3acbb708cfd77e38b9f792336b..bf98ef1f99f10f7748f21c9c376777d87a4e87f2 100644 GIT binary patch delta 1722 zcmZXT3rtgI7>2+0{HLdv(^kt(1k0)51$D}xC<1~&Rb+w}F2bCSTXEG&8EuJTW@pr8 zY8H(LkWHO#I-^GC0^6cYrwif?&MBLBogrS(&20{ynKSD478Vj+n)d5|@?GBd`M=Ya ze`&5S`9S%A_IsP_Pg%l`6n}L1r*tAlM46)y#}Z{7BT`)^%1I=N=6E@HPE5WggT?S3M$mH5UsB7F++$8heqoix4) z*N8?$Q{?DuB5n^^yOcz_L1cY~Mw&A;r2zuCD#~p62ZA~&Z^as-kd>6bpp{5_mkQQ= zg8aKQ+fj=_S7>&_-w?=ATb7$>SQnj47KsM!Q7D=p6Iqy|`r_wAkp+scwUI;vhbVoy zx5|kEcPVQc=AuE8vT+g`Mg5^XQt&5{`n2+BOFmJ=R^!vEUsMyB})ePSeXKHVT_wHo@hWetJru8&TlZsk%vU)N37=X77#e^ zWAgbAh=w$=4_BTe8fs>{4#1JQo$VckD2VK2*A+ND%tyZN0PcMt`2@%!$8Kxha5X)8#YeU1F_ z)Cc$@@Yh;FB6u?2J-?pFbV*gv0Re_#syRhvaBxEPMh%=B&Z?FsqA>iSYV~mwo^z^; z*&r2sPtg8_KH)h+QYVMIj_8d+#lo}%oQLlhRs?#0{*bW#TU?QtE7YIy68Xe+!v2u$ z*a4?-rxOFhwy4=ipbLmoFW+|qR}rgzKPdpn1JqmZcM=)fHQYQ14Bn(kO@ve4pvi1( z2dQJ4tn3lELZLT?6>Cl%!jcZRX?}cl0|?L14pv~7z_KTDziQJ=YVuL&BJJy;JW%Fn z%MYx@^3-YH84D7cK<%c~7C73b-E}At!XmXNHnyRBoX$Gtdk9>vTd*EGV=C3Tp5km- zp{t95v!R8$?N6|D`j2%T%YH}RcVa@oRwBtLPK`f_x5FxKbICB&E$&|2;)9?p@hgQJ z&Lpw@?PP3gw%9okD0PeVqu1ay8J4LZ`^`-(TZcaH@mUCbN&nipNC+{gau-N#t;vSrAbKqX~$(^cH`DZRG$VPcIoeD{!sbnLGC9ouxAa|?H zaX2Kh6gGjSvl#rtui8&qg>OXO^g?N>O>$LBRo+skqfA<8Un03G#DEyT_2&{)HoMdAvHNqHlQnxevw?*mEg8MipPSF;xIA{Z zKQCa^^C^A+@|7W>Vex%q`}HJCC8aK}NAkMu)jd-0h;GR*HO)_&#lE0~pHbrO6(Y~k z?~qI^0$gK}ngVCfi)ORz<#M+WA}b6wi-}o~G6_jBxXBk1b4zOc-ZDlG=s{$Kt^Wu> zbu5(3?9;5x1&K0`R3c9lf}1^tqe^f!W4@oo{~G64`V|B7$@E3FG51eu8WZ bu=EE2smke{@2GT36)taOd2@H**`R*`^}LnZ delta 1003 zcmX9-e@v8h9DeTJ?|bjvd+*)J9X~J7_}QWaEo63LEJz{p+SpJ*LzxhT{lOM#jf~S7 ztg~s@!Eq^u6*bODZk#Qov!fAYFe@q(bI}R?aJ6zO%}HuKi@%k(#$p|5yY_?Lg`M#NEIXE&$U&6~F1i5c|DA=6Q(jAdsa&d?knv zLR?@RryzdwGY>GWW=&Qr(sSH^ehztem}gvq68~p>521AEUqED|!n1cD;D};lLo*9A zvC)5%=*DPS6Od7ai2@C98g#nQJdjeOdv59^uw+2@iJA_?@6iX=ur76-KC)pBP!{Wl zht>mk{i8qc83C-@^w(c51{P0Bh@WBpMd{w{EkI1ARN2xBESi@*<5~wB_Xw%vAs{v= z>brgc)G^Tz`J0U@#Lm-4085+jeSZi@vx>J~IY(?3eS_~Yo+T!Jy-2y5_#;;((TJS- zz$q%5kyrTd0LjI2Q4RabIdb{$f3km^{M52F%-^+uS(`la;a3A3*d@Q;)eG2*%>}ldZdo=cjT*2cLFxAVZ$T|m{r5(s#+i}!|=>bDm8y(c*(`O zq;i9I%+7&Z4O4D9<9J+AZ?I3|F=bU$B7yz|jPZn(bu0NH)2!@`eIB?wQEC62D==MB zI=|jQVkydrgm<~iGs@*C2PE7yiu)cWfm!38{#oW9Fuu9UL5mxWJ=dau)^C!wkf8mB zsnA8GqS90v7zYdvQ<*!PH`2O*31QROFmK6|an$tfrZ>35<7%3Y$H9^Rqm-{cVmDIR z7wXm|nN}ZD>jq!rZA`0e`E)|5RSy>qQPC~6FYF>Qk9wwSltfJ9kkMFn=D~tt-v<3 zC4)QNY`a~5h0Jd?0QZ=DPT}=s%6Xyv@($q(s5PN#^Kr@Nw>9}zFY5Kh$E@`ojL8k@ R?8ExdT AddContact - + Add contact Добавить контакт - + TOX ID: TOX ID: - + Message: Сообщение: + + + TOX ID or public key of contact + TOX ID или публичный ключ контакта + + + + Callback + + + File from + Файл от + Form - + Send request Отправить запрос - + IPv6 IPv6 - + UDP UDP - + Proxy Прокси - + IP: IP: - + Port: Порт: @@ -57,16 +70,16 @@ Контакты в сети - + HTTP HTTP - + WARNING: using proxy with enabled UDP can produce IP leak - Предупреждение: + Предупреждение: использование прокси с UDP может привести к утечке IP @@ -74,104 +87,104 @@ can produce IP leak MainWindow - + Profile Профиль - + Settings Настройки - + About О программе - + Add contact Добавить контакт - + Privacy Приватность - + Interface Интерфейс - + Notifications Уведомления - + Network Сеть - + About program О программе - + User {} wants to add you to contact list. Message: {} Пользователь {} хочет добавить Вас в список контактов. Сообщение: {} - + Friend request Запрос на добавление в друзья - + Choose file Выберите файл - + Disallow auto accept Запретить автоматическое получение файлов - + Allow auto accept Разрешить автоматическое получение файлов - + Set alias Изменить псевдоним - + Clear history Очистить историю - + Copy public key Копировать публичный ключ - + Remove friend Удалить друга - + Enter new alias for friend {} or leave empty to use friend's name: Введите новый псевдоним для друга {} или оставьте пустым для использования его имени: - + Audio Аудио @@ -181,81 +194,136 @@ can produce IP leak Найти контакт - + Friend added Друг добавлен - + Toxygen is Tox client written on Python. Version: Toxygen - клиент для мессенджера Tox, написанный на Python. Версия: - + Friend added without sending friend request Друг добавлен без отправки запроса на добавление в друзья - + Choose folder Выбрать папку - + Send screenshot Отправить снимок экрана - + Send file Отправить файл - + Send message Отправить сообщение - + Start audio call with friend Начать аудиозвонок с другом - + Plugins Плагины - + List of plugins Список плагинов - + Search Поиск - + All Все - + Online Онлайн + + + Notes + Заметки + + + + Notes about user + Заметки о пользователе + + + + Copy link location + Копировать адрес ссылки + + + + Copy + Копировать + + + + Select all + Выделить всё + + + + Delete + Удалить + + + + Paste + Вставить + + + + Cut + Вырезать + + + + Undo + Отменить + + + + Redo + Повторить + + + + Save + Сохранить + NetworkSettings - + Network settings Настройки сети - + Restart TOX core Перезапустить ядро TOX @@ -263,12 +331,12 @@ Version: PluginWindow - + List of commands for plugin {} Список команд для плагина {} - + No commands available Команды не найдены @@ -276,65 +344,70 @@ Version: PluginsForm - + Plugins Плагины - + Open selected plugin Открыть выбранный плагин - + No GUI found for this plugin GUI для данного плагина не найден - + No description available Описание недоступно - + Disable plugin Отключить плагин - + Enable plugin Включить плагин + + + No plugins found + Плагины не найдены + ProfileSettingsForm - + Export profile Экспорт профиля - + Profile settings Настройки профиля - + Name: Имя: - + Status: Статус: - + TOX ID: TOX ID: - + Copy TOX ID Копировать TOX ID @@ -344,62 +417,62 @@ Version: Язык: - + New avatar Новый аватар - + Reset avatar Сбросить аватар - + New NoSpam Новый NoSpam - + Profile password Пароль профиля - + Password (at least 8 symbols) Пароль (минимум 8 символов) - + Confirm password Подтверждение пароля - + Set password Изменить пароль - + Passwords do not match Пароли не совпадают - + Leaving blank will reset current password Пустое поле сбросит текущий пароль - + There is no way to recover lost passwords Восстановление забытых паролей не поддерживается - + Password must be at least 8 symbols Пароль должен быть длиной не менее 8 символов - + Choose avatar Выбрать аватар @@ -407,17 +480,17 @@ Version: audioSettingsForm - + Audio settings Настройки аудио - + Input device: Устройство ввода: - + Output device: Устройство вывода: @@ -425,12 +498,12 @@ Version: incoming_call - + Incoming video call Входящий видеозвонок - + Incoming audio call Входящий аудиозвонок @@ -438,17 +511,17 @@ Version: interfaceForm - + Interface settings Настройки интерфейса - + Theme: Тема: - + Language: Язык: @@ -504,22 +577,22 @@ Version: notificationsForm - + Notification settings Настройки уведомлений - + Enable notifications Включить уведомления - + Enable call's sound Включить звук звонка - + Enable sound notifications Включить звуковые уведомления @@ -528,77 +601,77 @@ Version: privacySettings - + Privacy settings Настройки приватности - + Save chat history Сохранять историю переписки - + Allow file auto accept Разрешить автополучение файлов - + Send typing notifications Посылать уведомления о наборе текста - + Auto accept default path: Путь автоприема файлов: - + Change Изменить - + Allow inlines Разрешать инлайны - + Chat history История чата - + History will be cleaned! Continue? История переписки будет очищена! Продолжить? - + Blocked users: Заблокированные пользователи: - + Unblock Разблокировать - + Block user Заблокировать пользователя - + Add to friend list Добавить в список друзей - + Do you want to add this user to friend list? Добавить этого пользователя в список друзей? - + Block by TOX ID: Блокировать по TOX ID: diff --git a/src/widgets.py b/src/widgets.py index 51121fc..3fdccf3 100644 --- a/src/widgets.py +++ b/src/widgets.py @@ -5,6 +5,9 @@ except ImportError: class DataLabel(QtGui.QLabel): + """ + Label with elided text + """ def paintEvent(self, event): painter = QtGui.QPainter(self) @@ -27,6 +30,9 @@ class CenteredWidget(QtGui.QWidget): class QRightClickButton(QtGui.QPushButton): + """ + Button with right click support + """ def __init__(self, parent): super(QRightClickButton, self).__init__(parent) @@ -56,10 +62,13 @@ class RubberBand(QtGui.QRubberBand): def create_menu(menu): + """ + :return translated menu + """ for action in menu.actions(): text = action.text() if 'Link Location' in text: - text = text.replace('Copy Link Location', + text = text.replace('Copy &Link Location', QtGui.QApplication.translate("MainWindow", "Copy link location", None, QtGui.QApplication.UnicodeUTF8)) elif '&Copy' in text: