diff --git a/addon/appModules/whatsapp.py b/addon/appModules/whatsapp.py index dc31018..2e0d961 100644 --- a/addon/appModules/whatsapp.py +++ b/addon/appModules/whatsapp.py @@ -8,6 +8,7 @@ from globalVars import appArgs import appModuleHandler from scriptHandler import script +import wx import api from ui import message from nvwave import playWaveFile @@ -36,6 +37,8 @@ class AppModule(appModuleHandler.AppModule): def __init__(self, *args, **kwargs): super(AppModule, self).__init__(*args, **kwargs) + # Translators: Mensaje que anuncia que no se ha encontrado el elemento + self.notFound = _('Elemento no encontrado') self.lastChat = None self.soundsPath = os.path.join(appArgs.configPath, 'addons', 'whatsapp', 'sounds') self.configFile() @@ -54,8 +57,7 @@ def get(self, id, errorMessage, gesture): if obj.UIAAutomationId == id: return obj if errorMessage: - # Translators: Mensaje que anuncia que no se ha encontrado el elemento - message(_('Elemento no encontrado')) + message(self.notFound) if gesture: gesture.send() @@ -87,7 +89,6 @@ def event_gainFocus(self, obj, nextHandler): # Renombre del mensaje con documento adjunto por el texto de los objetos que tienen el nombre el archivo, tipo y tamaño if obj.UIAAutomationId == 'BubbleListItem' and obj.children[1].UIAAutomationId == 'NameTextBlock': obj.name = '{} ({})'.format(obj.children[1].name, obj.children[2].name) - nextHandler() else: nextHandler() except: @@ -95,7 +96,6 @@ def event_gainFocus(self, obj, nextHandler): try: if obj.UIAAutomationId == 'ChatsListItem': self.lastChat = obj - nextHandler() else: nextHandler() except: @@ -282,3 +282,11 @@ def script_audioCall(self, gesture): if audioCall: message(audioCall.name) audioCall.doAction() + + @script(gesture="kb:f1") + def script_help(self, gesture): + # try: + playWaveFile(os.path.join(self.soundsPath, 'open.wav')) + wx.LaunchDefaultBrowser('file://' + addonHandler.Addon(os.path.join(appArgs.configPath, "addons", "whatsapp")).getDocFilePath(), flags=0) + # except: + # message(self.notFound) diff --git a/addon/doc/fr/readme.md b/addon/doc/fr/readme.md index 3f4644b..73bf2af 100644 --- a/addon/doc/fr/readme.md +++ b/addon/doc/fr/readme.md @@ -37,3 +37,10 @@ Cette extension ajoute des raccourcis clavier aux fonctions importantes de l'app * Activer la zone de recherche de messages; contrôle + maj + f * Activer le chat suivant; contrôle + tab * Activer le chat précédent; contrôle + maj + tab + +## Traductions: + +Les personnes suivantes ont collaboré à la traduction de l'extension: + + * Umut Korkmaz, pour le turc. + * Rémy Ruiz, pour le français. diff --git a/addon/doc/tr/readme.md b/addon/doc/tr/readme.md new file mode 100644 index 0000000..5385c00 --- /dev/null +++ b/addon/doc/tr/readme.md @@ -0,0 +1,46 @@ +# whatsapp + +yazar: [Gerardo Kessler](http://gera.ar) + +Önemli: +Bu Eklenti, şu anda yalnızca WhatsApp Beta olarak adlandırılan WhatsApp'ın UWP sürümüyle uyumludur. Ayrıca, WhatsApp-Desktop gibi uygulama ile etkinleştirilen diğer yüklü eklentiler olması durumunda, çakışmaları önlemek için devre dışı bırakılmalıdır. + +Bu Eklenti, etiketlenmemiş nesneleri yeniden adlandırmanın yanı sıra uygulamanın önemli işlevlerine klavye kısayolları ekler. Yani: + +* Sesli mesaj düğmesi, kutu boşken yanlış etiketlendi. +* Sesli mesaj kaydederken mesajı iptal edin. +* Arşivlenmiş sohbetler penceresindeki Geri düğmesi. +* Arşivlenmiş sohbetler seçeneği. +* Mesaj arama kutusundaki İptal düğmesi. + +## Klavye komut listesi: + +* Whatsapp'ı açın veya odaklanın: Atanmamış. +* Sesli mesaj kaydını başlatın ve gönderin; CTRL + r +* Kaydedilen sesli mesajı iptal edin: CTRL + Shift +r +* Kayıt sırasında geçen süreyi öğrenin: CTRL+t +* Mesaj listesi ve düzenleme alanı arasında geçiş yapın: alt + sol ok +* Sohbet listesine odaklanın: alt + sağ ok +* Kişi veya grubun adını Bildir: kontrol + shift + t +* Mesajdaki yanıta odaklan ve bildir: alt + r +* Ekle butonuna basın: CTRL + Shift + A +* Sesli arama düğmesine basın: CTRL + Shift + L +* Görüntülü Arama düğmesine basın: CTRL + Shift + V +* Sohbet Bilgisi düğmesine basın: CTRL + Shift + i +* Ayarlar düğmesine basın: CTRL + Shift + O +* Yeni Sohbet düğmesine basın: CTRL + Shift + N +* Mesajlarda eklenmemiş kişilerin telefon numaralarının kaldırılmasını etkinleştir veya devre dışı bırak: CTRL + Shift + E + +### Uygulama kısayolları: + +* Sohbet arama kutusunu etkinleştirin: CTRL + f +* Mesaj arama kutusunu etkinleştirin: CTRL + Shift + f +* Sonraki sohbeti etkinleştir: CTRL + TAB +* Önceki sohbeti etkinleştir: CTRL + Shift + TAB + +## Çeviriler: + +Aşağıdaki kişiler eklentinin çevrilmesine katkıda bulunmuştur: + + * Umut KORKMAZ, türkçe. + * Rémy Ruiz, fransızca. diff --git a/addon/locale/fr/LC_MESSAGES/nvda.po b/addon/locale/fr/LC_MESSAGES/nvda.po index 5e810d8..471a542 100644 --- a/addon/locale/fr/LC_MESSAGES/nvda.po +++ b/addon/locale/fr/LC_MESSAGES/nvda.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: whatsapp\n" "Report-Msgid-Bugs-To: 'nvda-translations@groups.io'\n" -"POT-Creation-Date: 2022-06-10 06:11-0300\n" -"PO-Revision-Date: 2022-06-10 06:13-0300\n" +"POT-Creation-Date: 2022-06-10 13:51-0300\n" +"PO-Revision-Date: 2022-06-10 22:58+0200\n" "Last-Translator: Rémy Ruiz \n" "Language-Team: \n" "Language: fr\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 1.8.8\n" "X-Poedit-Basepath: ../../..\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SearchPath-0: globalPlugins\n" @@ -51,22 +51,22 @@ msgid "Cancelar mensaje" msgstr "Annuler le message" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:107 +#: addon\appModules\whatsapp.py:105 msgid "Iniciar o finalizar la grabación de un mensaje de voz" msgstr "Démarrer et terminer l'enregistrement d'un nmessage vocal" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:125 +#: addon\appModules\whatsapp.py:123 msgid "Cancela la grabación de los mensajes de voz" msgstr "Annule l'enregistrement des messages vocaux" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:137 +#: addon\appModules\whatsapp.py:135 msgid "Verbaliza el tiempo de grabación de un mensaje" msgstr "Verbalise le temps d'enregistrement d'un message" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:148 +#: addon\appModules\whatsapp.py:146 msgid "" "Activa y desactiva la eliminación de los números de teléfono de los " "contactos no agendados en los mensajes" @@ -75,66 +75,105 @@ msgstr "" "messages de contact non agender" #. Translators: Mensaje que indica la desactivación de los mensajes editados -#: addon\appModules\whatsapp.py:158 +#: addon\appModules\whatsapp.py:156 msgid "Mensajes editados, desactivado" msgstr "Messages édités, désactivé" #. Translators: Mensaje que anuncia la activación de los mensajes editados -#: addon\appModules\whatsapp.py:163 +#: addon\appModules\whatsapp.py:161 msgid "Mensajes editados, activado" msgstr "Messages édités, activé" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:168 +#: addon\appModules\whatsapp.py:166 msgid "Enfoca la lista de chats" msgstr "Focalise la liste des chats" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:178 +#: addon\appModules\whatsapp.py:176 msgid "" "Conmuta entre la lista de mensajes y el cuadro de edición dentro de un chat" msgstr "Bascule entre la liste des messages et la zone d'édition dans un chat" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:194 +#: addon\appModules\whatsapp.py:192 msgid "Verbaliza el nombre del contacto o grupo" msgstr "Verbalise le nom du contact ou du groupe" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:205 +#: addon\appModules\whatsapp.py:203 msgid "Verbaliza la respuesta en el mensaje con el foco" msgstr "Verbalise la réponse dans le message focalisé" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:217 +#: addon\appModules\whatsapp.py:215 msgid "Pulsa el botón adjuntar" msgstr "Appuyer sur le bouton joindre" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:229 +#: addon\appModules\whatsapp.py:227 msgid "Pulsa el botón info del chat" msgstr "Appuyer sur le bouton info du chat" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:241 +#: addon\appModules\whatsapp.py:239 msgid "Pulsa el botón de configuración" msgstr "Appuyer sur le bouton configurations" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:253 +#: addon\appModules\whatsapp.py:251 msgid "Pulsa el botón de nuevo chat" msgstr "Appuyer sur le bouton nouveau chat" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:265 +#: addon\appModules\whatsapp.py:263 msgid "Pulsa el botón llamada de video" msgstr "Appuyer sur le bouton appel vidéo" #. Translators: Descripción del elemento en el diálogo gestos de entrada -#: addon\appModules\whatsapp.py:277 +#: addon\appModules\whatsapp.py:275 msgid "Pulsa el botón llamada de audio" msgstr "Appuyer sur le bouton appel audio" +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\globalPlugins\wsOpen.py:77 +msgid "Abre WhatsApp, o la enfoca si ya se encuentra abierta" +msgstr "Ouvrer WhatsApp, ou la focalise si est déjà ouverte" + +#. Translators: Título de la ventana +#: addon\globalPlugins\wsOpen.py:86 +msgid "Selector de aplicación" +msgstr "Sélecteur d'application" + +#. Translators: etiqueta del botón aceptar +#: addon\globalPlugins\wsOpen.py:98 +msgid "Lanzar &aplicación" +msgstr "Lancer &application" + +#. Translators: etiqueta del botón cancelar +#: addon\globalPlugins\wsOpen.py:101 +msgid "&Cerrar" +msgstr "&Fermer" + +#. Translators: título de selección de aplicación +#: addon\globalPlugins\wsOpen.py:120 +msgid "Seleccione una de las aplicaciones de WhatsApp" +msgstr "Sélectionner l'une des applications WhatsApp" + +#. Translators: Mensaje de aviso de selección de aplicación +#: addon\globalPlugins\wsOpen.py:128 +msgid "Debe seleccionar una aplicación para continuar." +msgstr "Vous devez sélectionner une application pour continuer." + +#: addon\globalPlugins\wsOpen.py:128 +msgid "Información" +msgstr "Informations" + +#. Translators: Mensaje de aviso de aplicación no encontrada +#: addon\globalPlugins\wsOpen.py:162 +msgid "No se ha encontrado la aplicación de WhatsApp" +msgstr "L'application de WhatsApp n'a pas été trouvée" + #. Add-on description #. Translators: Long description to be shown for this add-on on add-on information from add-ons manager #: buildVars.py:26 diff --git a/addon/locale/tr/LC_MESSAGES/nvda.po b/addon/locale/tr/LC_MESSAGES/nvda.po new file mode 100644 index 0000000..a7df567 --- /dev/null +++ b/addon/locale/tr/LC_MESSAGES/nvda.po @@ -0,0 +1,190 @@ +msgid "" +msgstr "" +"Project-Id-Version: Whatsapp 1.0\n" +"Report-Msgid-Bugs-To: 'nvda-translations@groups.io'\n" +"POT-Creation-Date: 2022-06-10 13:51-0300\n" +"PO-Revision-Date: 2022-06-10 13:56-0300\n" +"Last-Translator: Umut KORKMAZ \n" +"Language-Team: Umut KORKMAZ \n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.0.1\n" +"X-Poedit-Basepath: ../../..\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-SearchPath-0: appModules/whatsapp.py\n" +"X-Poedit-SearchPath-1: globalPlugins/__pycache__/wsOpen.cpython-37.opt-1." +"pyc\n" +"X-Poedit-SearchPath-2: globalPlugins/wsOpen.py\n" + +#. Translators: Nombre de categoría en el diálogo gestos de entrada +#. Add-on summary, usually the user visible name of the addon. +#. Translators: Summary for this add-on +#. to be shown on installation and add-on information found in Add-ons Manager. +#: addon\appModules\whatsapp.py:35 buildVars.py:23 +msgid "whatsapp" +msgstr "whatsapp" + +#. Translators: Mensaje que anuncia que no se ha encontrado el elemento +#: addon\appModules\whatsapp.py:58 +msgid "Elemento no encontrado" +msgstr "Öğe bulunamadı" + +#. Translators: Etiqueta del botón mensaje de voz +#: addon\appModules\whatsapp.py:66 +msgid "Mensaje de voz" +msgstr "Sesli mesaj" + +#. Translators: Etiqueta del elemento mensajes archivados +#: addon\appModules\whatsapp.py:69 +msgid "Chats Archivados" +msgstr "Arşivlenmiş Sohbetler" + +#. Translators: Etiqueta del botón atrás en los chatsArchivados +#: addon\appModules\whatsapp.py:72 +msgid "Atrás" +msgstr "Geri" + +#. Translators: Etiqueta del botón cancelar mensaje de voz +#: addon\appModules\whatsapp.py:75 +msgid "Cancelar mensaje" +msgstr "Mesajı iptal et" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:105 +msgid "Iniciar o finalizar la grabación de un mensaje de voz" +msgstr "Sesli mesaj kaydetmeyi başlatma veya durdurma" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:123 +msgid "Cancela la grabación de los mensajes de voz" +msgstr "Sesli mesaj kaydını iptal et" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:135 +msgid "Verbaliza el tiempo de grabación de un mensaje" +msgstr "Sesli mesaj kayıt süresini bildir" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:146 +msgid "" +"Activa y desactiva la eliminación de los números de teléfono de los " +"contactos no agendados en los mensajes" +msgstr "" +"Mesajlarda eklenmemiş kişilerin telefon numaralarının kaldırılmasını " +"etkinleştir veya devre dışı bırak" + +#. Translators: Mensaje que indica la desactivación de los mensajes editados +#: addon\appModules\whatsapp.py:156 +msgid "Mensajes editados, desactivado" +msgstr "Mesajı düzenle, devre dışı" + +#. Translators: Mensaje que anuncia la activación de los mensajes editados +#: addon\appModules\whatsapp.py:161 +msgid "Mensajes editados, activado" +msgstr "Mesajı düzenle, etkin" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:166 +msgid "Enfoca la lista de chats" +msgstr "Sohbet listesine odaklan" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:176 +msgid "" +"Conmuta entre la lista de mensajes y el cuadro de edición dentro de un chat" +msgstr "" +"Bir sohbet içindeki mesaj listesi ve düzenleme kutusu arasında geçiş yapar" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:192 +msgid "Verbaliza el nombre del contacto o grupo" +msgstr "Kişinin veya grubun adını bildir" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:203 +msgid "Verbaliza la respuesta en el mensaje con el foco" +msgstr "Mesajdaki yanıta odaklan ve bildir" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:215 +msgid "Pulsa el botón adjuntar" +msgstr "Ekle düğmesine basın" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:227 +msgid "Pulsa el botón info del chat" +msgstr "Sohbet bilgisi düğmesine basın" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:239 +msgid "Pulsa el botón de configuración" +msgstr "Ayarlar düğmesine basın" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:251 +msgid "Pulsa el botón de nuevo chat" +msgstr "Yeni sohbet düğmesine basın" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:263 +msgid "Pulsa el botón llamada de video" +msgstr "Görüntülü arama düğmesine basın" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\appModules\whatsapp.py:275 +msgid "Pulsa el botón llamada de audio" +msgstr "Sesli arama düğmesine basın" + +#. Translators: Descripción del elemento en el diálogo gestos de entrada +#: addon\globalPlugins\wsOpen.py:77 +msgid "Abre WhatsApp, o la enfoca si ya se encuentra abierta" +msgstr "WhatsApp'ı açın veya zaten açıksa odaklanın" + +#. Translators: Título de la ventana +#: addon\globalPlugins\wsOpen.py:86 +msgid "Selector de aplicación" +msgstr "Uygulama seçici" + +#. Translators: etiqueta del botón aceptar +#: addon\globalPlugins\wsOpen.py:98 +msgid "Lanzar &aplicación" +msgstr "Uygul&amayı başlat" + +#. Translators: etiqueta del botón cancelar +#: addon\globalPlugins\wsOpen.py:101 +msgid "&Cerrar" +msgstr "&Kapat" + +#. Translators: título de selección de aplicación +#: addon\globalPlugins\wsOpen.py:120 +msgid "Seleccione una de las aplicaciones de WhatsApp" +msgstr "WhatsApp uygulamalarından birini seçin" + +#. Translators: Mensaje de aviso de selección de aplicación +#: addon\globalPlugins\wsOpen.py:128 +msgid "Debe seleccionar una aplicación para continuar." +msgstr "Devam etmek için bir uygulama seçmelisiniz." + +#: addon\globalPlugins\wsOpen.py:128 +msgid "Información" +msgstr "Bilgi" + +#. Translators: Mensaje de aviso de aplicación no encontrada +#: addon\globalPlugins\wsOpen.py:162 +msgid "No se ha encontrado la aplicación de WhatsApp" +msgstr "WhatsApp uygulaması bulunamadı" + +#. Add-on description +#. Translators: Long description to be shown for this add-on on add-on information from add-ons manager +#: buildVars.py:26 +msgid "" +"Complemento que renombra botones sin etiqueta, añade atajos de teclado para " +"funciones principales de la aplicación, y funciones de enfoque para una " +"mejor interacción con la interfaz." +msgstr "" +"Etiketlenmemiş düğmeleri yeniden adlandıran, ana uygulama işlevleri için " +"klavye kısayolları ekleyen ve arayüzle daha iyi etkileşim için odak " +"işlevleri ekleyen eklenti." diff --git a/buildVars.py b/buildVars.py index 6f27593..03de071 100644 --- a/buildVars.py +++ b/buildVars.py @@ -50,7 +50,7 @@ def _(arg): # pythonSources = ["addon/globalPlugins/*.py"] # For more information on SCons Glob expressions please take a look at: # https://scons.org/doc/production/HTML/scons-user/apd.html -pythonSources = ["addon/appModules/whatsapp.py", "addon/globalPlugins/open.py"] +pythonSources = ["addon/appModules/whatsapp.py", "addon/globalPlugins/wsOpen.py"] # Files that contain strings for translation. Usually your python sources i18nSources = pythonSources + ["buildVars.py"]