Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 23 Oct 2018, 12:34
All times are UTC - 4
 Forum index » House Training » Users ( For the regulars ) » Pour les francophones
2Pot Traducteur Online
Moderators: Béèm, darkerror05, linuxcbon
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 2 [23 Posts]   Goto page: 1, 2 Next
Author Message
Argolance


Joined: 06 Jan 2008
Posts: 3416
Location: PORT-BRILLET (Mayenne - France)

PostPosted: Mon 24 Sep 2018, 08:21    Post subject:  2Pot Traducteur Online  

Bonjour,
2Pot est un petit programme de lecture et de traduction de texte en ligne (sans passer par un navigateur), de traduction de pages web via Google Translate, de traduction gestion des fichiers de traduction gettext par menu clic droit "Ouvrir avec".

Téléchargement/détails et commentaires: voir l'annonce sur le fil anglophone Arrow 2Pot Online Translator

Cordialement.

_________________

Back to top
View user's profile Send private message Visit poster's website 
fabrice_035


Joined: 28 Apr 2014
Posts: 506
Location: Bretagne / France

PostPosted: Mon 24 Sep 2018, 11:29    Post subject:  

Salut,

Joli travail. Toutefois serait-il possible de corriger un bug très gênant. Après avoir traduit un texte j'ai voulu le faire lire avec la synthèse vocale. Comme je ne suis pas du genre patient et ne voyant rien venir (ou à écouter) j'ai re-cliqué sur le bouton de la fonction en question, et comme je ne suis vraiment pas patient, j'ai encore re-cliqué! Grosssssse cassstasssstrophe Shocked

1) Comme le montre la capture d'écran en attachement il y a de nombreuses instances qui démarrent en parallèle

2) Aucune n'a lu le texte traduit (j'ignore pourquoi) mais des fichiers audio stockés en /root/, je suppose que vlc ouvre le répertoire par défaut, bug ou pas, en tout cas ce fût un beau concert cacophonique, un mix inédit Smile
Le texte était assez long (plusieurs phrases) mais un test précédent avec hello world à très bien fonctionné.

J'ai résolu les problèmes à coups de killall

Une suggestion de programmation, si je peux me permettre, c'est de récupérer le pid quand tu lances la lecture et si l'utilisateur re-click sur le même bouton tu kill le précédent process (grace à son pid) avant de lancer un nouveau. Enfin bon, y'a peut être mieux à faire.

Et comme tu peux le voir il y a aussi eu plusieurs instances de splash, alors mon écran était aussi bloqué la dessus (j'ai balancé un killall yaf-spash pour résoudre ça)


Bon courage et merci pour cet outil qui va s'avérer très pratique.
snapshot-2.png
Description 
png

 Download 
Filename  snapshot-2.png 
Filesize  151.46 KB 
Downloaded  18 Time(s) 
Back to top
View user's profile Send private message 
Argolance


Joined: 06 Jan 2008
Posts: 3416
Location: PORT-BRILLET (Mayenne - France)

PostPosted: Mon 24 Sep 2018, 13:49    Post subject:  

Hello fabrice_035,
Pas évident d'anticiper le comportement possible de tel ou tel utilisateur! En tout cas, ce manque de patience risque de poser des problèmes du même genre avec bien d'autres programmes, sinon avec tous!

La fenêtre yaf-splash et l’icône animée sont là pour bien faire comprendre qu'il se passe quelque chose. Le temps d"interpréter le texte en ligne, de construire et de charger le fichier audio temporaire: ça demande évidemment "un peu" d'temps.
En fait, j'avais deux solutions: bloquer l'interface durant toute la lecture et du même coup empêcher qu'on puisse l'interrompre avec le bouton d'arrêt (grâce au PID justement!), ou bien, comme j'ai choisi de le faire, la laisser active pour que l'utilisateur puisse cliquer sur le bouton d'arrêt de la lecture.
Je pense qu'il y a tout simplement moyen de désactiver le bouton de lecture... pendant tout le temps de la lecture.
Il n'y a à ma connaissance que Bing qui accepte de lire plusieurs lignes à la suite, Google n'en lit qu'une, et DeepL ne lit carrément rien!

[EDIT]: En attendant, ce patch résout le problème de lecture je crois.

En tout cas, merci pour le test!
Cordialement.
2Pot_patch-180924.pet
Description 
pet

 Download 
Filename  2Pot_patch-180924.pet 
Filesize  6.96 KB 
Downloaded  10 Time(s) 

_________________

Back to top
View user's profile Send private message Visit poster's website 
fabrice_035


Joined: 28 Apr 2014
Posts: 506
Location: Bretagne / France

PostPosted: Tue 25 Sep 2018, 01:23    Post subject:  

Salut,

Je testerai le patch en fin de journée après le boulot. Si ton programme ne peut pas lire plusieurs lignes ou si il y a une contrainte de mots à lire dans les API alors dans ce cas pourquoi ne pas cacher le bouton quand la limite est atteinte ?

Cdt.
Back to top
View user's profile Send private message 
Argolance


Joined: 06 Jan 2008
Posts: 3416
Location: PORT-BRILLET (Mayenne - France)

PostPosted: Tue 25 Sep 2018, 05:34    Post subject:  

Bonjour fabrice_035,
Comme l'option --play-and-exit de cvlc est désactivée par défaut, il faut appuyer sur le bouton d'arrêt pour terminer complètement le processus de lecture et par là fermer le yaf-splash d'avertissement de lecture qui s'affiche en haut de l'écran. Le problème ne se pose pas avec mpv ou mplayer qui s'arrêtent normalement.

Le patch est un pis-aller qui permet au moins provisoirement de tout arrêter si plusieurs processus de lecture sont lancés simultanément (par accident!) Smile.
fabrice_035 wrote:
Si ton programme ne peut pas lire plusieurs lignes

Ce n'est pas le programme je pense mais le moteur de traduction qui fixe les règles. Elles semblent moins restrictives à certains moments, lorsque le serveur n'est pas trop saturé. Comme dit plus haut, Bing lit tout, même quand c'est relativement long, Google ne prend qu'un seul paragraphe (voire une seule phrase) en charge et DeepL n'a pas cette fonction de lecture, du moins dans le cadre d'un usage public.

Cordialement.

_________________

Back to top
View user's profile Send private message Visit poster's website 
did18

Joined: 19 Nov 2014
Posts: 402

PostPosted: Tue 25 Sep 2018, 09:07    Post subject:  

Bonjour

Merci Argolance pour cet utilitaire, je viens de tester sous une session tahrpup (32Bit) et le programme fonctionne bien, hormis les points de détail déjà soulignés par fabrice_035, il y a aussi :

Dans le choix du "Moteur" 2 fois google (même si les 2 fonctionnent c'est un peu bizarre non ?).

Dans les Langues, quelle est la différence entre "tl" et "tr" ? (je me fait l'avocat du diable hein), mais si l'utilisateur ne sais pas que tr = Turc et tl = Tagalog ce ne sera pas facile...
Serait il possible à ce niveau de récupérer les chaînes UTF-8 lors de l'installation de puppy ? (ainsi que la traduction en clair comme par exemple fr-FR (France), en-GB (Anglais) etc.)

Le moteur DeepL ne fait pas la traduction du Français vers le Turc.
Le texte est automatiquement traduit en Anglais.
Est-il possible d'indexer les langues disponible selon le moteur choisi ?

J'ai tenté également la traduction de fichiers .po, .pot, et .mo pour lesquels cela n'a pas fonctionné. Il faut installer auparavant le Devx_xxx (xxx est la distribution_version).
Ce n'est pas bloquant mais à préciser...

Pour revenir sur la mésaventure de fabrice_035, peut être que placer une barre de progression indiquerai visuellement à l'utilisateur qu'un travail est en cours (quitte à inhiber temporairement certains boutons).

Bonne journée.
Back to top
View user's profile Send private message 
fabrice_035


Joined: 28 Apr 2014
Posts: 506
Location: Bretagne / France

PostPosted: Tue 25 Sep 2018, 12:12    Post subject:  

Salut,

Pour se libérer de la contrainte de la lecture en ligne, il y a un projet open source, il s'agit d'espeak que vous pouvez télécharger ici

https://sourceforge.net/projects/espeak/

Il est possible de tester immédiatement car il y a les sources et les binaires compilés (32bits) avec la librairie
Code:
(libespeak.so.1.1.48)
à copier dans /usr/lib et à linker vers libespeak.so.1

Ensuite il faut copier le dossier espeak-data dans /usr/var

C'est tout Rolling Eyes

Pour faire parler votre puppy en français

Code:

./espeak -v fr

Et tapez le texte de votre choix

Bref ça m'a l'air très sympa pour ton projet.

Bye.
Back to top
View user's profile Send private message 
Argolance


Joined: 06 Jan 2008
Posts: 3416
Location: PORT-BRILLET (Mayenne - France)

PostPosted: Tue 25 Sep 2018, 14:25    Post subject:  

Bonsoir,

@did18
Merci pour le test et les remarques!
did18 wrote:
Dans le choix du "Moteur" 2 fois google (même si les 2 fonctionnent c'est un peu bizarre non ?).

Le moteur actuel (choisi par l'utilisateur) occupe la boite d'entrée par défaut, même s'il est déjà présent dans la liste. C'est lui que le programme prend en compte pour ses opérations de traduction. De la même façon, si un autre moteur est sélectionné, à son tour, il occupera le boite d'entrée pendant toute la session de travail, sera mémorisé à la fermeture du programme et au démarrage suivant se trouvera en tête de liste dans la boite d'entrée.
Quote:
Dans les Langues, quelle est la différence entre "tl" et "tr" ? (je me fait l'avocat du diable hein), mais si l'utilisateur ne sais pas que tr = Turc et tl = Tagalog ce ne sera pas facile...

Juste à côté de la boite de la langue de destination, il y a un bouton bleu d'information qui donne tous les renseignements dont l'utilisateur a éventuellement besoin pour identifier les langues (voir images).
Quote:
Serait il possible à ce niveau de récupérer les chaînes UTF-8 lors de l'installation de puppy ? (ainsi que la traduction en clair comme par exemple fr-FR (France), en-GB (Anglais) etc.)

Désolé, là je cale, je ne comprends pas ce que tu proposes et dans quel but?
Quote:
Le moteur DeepL ne fait pas la traduction du Français vers le Turc.
Le texte est automatiquement traduit en Anglais.
Est-il possible d'indexer les langues disponible selon le moteur choisi ?

La fenêtre de Bienvenue/Aide indique bien que DeepL ne prend que les langues English, French, German, Italian, Néerlandais, Polish, Spanish en charge. J'ai en effet pensé à faire en sorte que lorsque DeepL est choisi comme moteur, les langues qu'il ne traduit pas sont exclues de la liste. C'est pas trop compliqué à faire. Mais je me suis dit qu'avec l'habitude, on doit finir par ne pas lui demander ce qu'il ne fait pas.
Quote:
J'ai tenté également la traduction de fichiers .po, .pot, et .mo pour lesquels cela n'a pas fonctionné. Il faut installer auparavant le Devx_xxx (xxx est la distribution_version).
Ce n'est pas bloquant mais à préciser...

Donc ça a marché quand même après avoir installé le devx? Normalement, si le devx n'est pas chargé, 2Pot affiche un avertissement et le nom du devx en question tel que déclaré dans le fichier /etc/DISTRO_SPECS. C'est d'autre part affiché dans l'À propos (voir image)

@fabrice_035
fabrice_035 wrote:
Pour se libérer de la contrainte de la lecture en ligne, il y a un projet open source, il s'agit d'espeak que vous pouvez télécharger ici

J'avais vu ça sur Arrow cette page concernant la configuration de trans mais j'ai été un peu effrayé. Je pensais que ce serait beaucoup plus compliqué que ça et prise de tête supplémentaire.
Merci pour le tuyau je vais tester!

Cordialement.
180925_202922_409x128_easyshot.png
 Description   
 Filesize   12.25 KB
 Viewed   218 Time(s)

180925_202922_409x128_easyshot.png

180925_194000_450x460_easyshot.jpg
 Description   Les programmes manquants sont signalés en rouge...
 Filesize   34.29 KB
 Viewed   223 Time(s)

180925_194000_450x460_easyshot.jpg

180925_192743_605x172_easyshot.jpg
 Description   
 Filesize   42.38 KB
 Viewed   225 Time(s)

180925_192743_605x172_easyshot.jpg


_________________


Last edited by Argolance on Fri 28 Sep 2018, 19:33; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website 
did18

Joined: 19 Nov 2014
Posts: 402

PostPosted: Thu 27 Sep 2018, 06:21    Post subject:  

Bonjour

did18 wrote:
...récupérer les chaînes UTF-8 lors de l'installation de puppy...

Je parle de la toute première boite de dialogues concernant les choix (langue, fuseau horaire et clavier) qui s’ouvre lorsque puppy est démarré pour la première fois. D’ailleurs cette boite de dialogue est commune à toutes les puppys…
Le choix de la langue par défaut qui sera utilisé par le système est directement dépendant du choix fait par l’utilisateur. Or l’affichage de la liste des langues disponible doit bien être stocké quelque par dans le fichier "puppy.sfs" puisqu’il peut être ré-affiché ultérieurement par le menu changement de la localisation…

Je suppose (mais je vois ça d'ma fenêtre) que ce doit être stocké sous forme de chaîne du genre :
slangage = ("en-GB (Anglais), en-US (Américain), fr-BE (Belgique), fr-FR (Français)... ")
ou dans un fichier .txt…
Sous forme de chaîne il est facile d’en "spliter" le contenu pour faire afficher dans un combobox ou dans une listbox l’intégralité du contenu de la chaîne (sinon il suffit de lire le fichier et d’ajouter autant d’items qu’il y a de lignes dans le fichier).

Ce qui permet à l’utilisateur lors du choix dans le combobox de voir en clair les différentes langues disponible pour tel ou tel traducteur (si c’est DeepL on affiche dans la combobox que les 7 langues disponible, si c’est Google translation on affiche dans la combobox les x langues disponible, etc.)…

Cela évite le bouton information et toute la gestion que cela suppose en aval...
Au final cela allège l’interface (moins de boutons) et donc moins de sources de problème potentiel.

Concernant l’indexation des langues par rapport au traducteur je vois au moins 2 pistes pour y parvenir (exemple pour DeepL)…
1) - Soit une chaîne fixe basée sur les 7 langues actuellement disponible, mais cela obligera à actualiser 2Pot si un jour DeepL ajoute une langue…
2) - Soit récupérer par programmation les langues disponible et les inclure directement dans les combobox, auquel cas si DeepL ajoute une langue (n’importe laquelle) elle serait automatiquement prise en compte et ajoutée aux combobox.

Le problème de la 2ème solution est que je ne connais rien au langage de programmation utilisé dans DeepL et je ne te serai d’aucun secours sur ce coup là...

Bonne journée.
deeplDebogueur.png
Description 
png

 Download 
Filename  deeplDebogueur.png 
Filesize  60.62 KB 
Downloaded  30 Time(s) 
Back to top
View user's profile Send private message 
Argolance


Joined: 06 Jan 2008
Posts: 3416
Location: PORT-BRILLET (Mayenne - France)

PostPosted: Thu 27 Sep 2018, 16:24    Post subject:  

Bonsoir,
@did18 Wink
did18 wrote:
Soit une chaîne fixe basée sur les 7 langues actuellement disponible, mais cela obligera à actualiser 2Pot si un jour DeepL ajoute une langue…
C'est le choix que j'ai fait: un fichier de configuration facile à mettre à jour le cas échéant, sans avoir rien à changer dans le script.
Merci.
Quote:
Je parle de la toute première boite de dialogues [...]
OK, je vois! Mais je ne comprends pas la raison pour laquelle il faudrait s'en inquiéter? Rolling Eyes

Cordialement.

_________________

Back to top
View user's profile Send private message Visit poster's website 
Argolance


Joined: 06 Jan 2008
Posts: 3416
Location: PORT-BRILLET (Mayenne - France)

PostPosted: Fri 28 Sep 2018, 19:33    Post subject:  

Bonsoir,
@fabrice_035
Quote:
Ensuite il faut copier le dossier espeak-data dans /usr/var

Après avoir fait quelques tentatives, il se trouve que c'est dans /usr/share qu'il faut copier le répertoire espeak-data. Ensuite:
Code:
 # ./espeak -v fr
je me demande ce que ça va donner?
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
./espeak: symbol lookup error: /usr/lib/libespeak.so.1: undefined symbol: Pa_StreamActive

Ben voilà ce que ça donne. Confused
Une idée?

Cordialement.

_________________

Back to top
View user's profile Send private message Visit poster's website 
Argolance


Joined: 06 Jan 2008
Posts: 3416
Location: PORT-BRILLET (Mayenne - France)

PostPosted: Wed 03 Oct 2018, 10:23    Post subject:  

Bonjour,
Arrow 2Pot version 0.3 (Oct 03, 2018)
    - mode lecture/écoute paragraphe par paragraphe supprimé
    - lecteurs de médias graphiques au lieu des lecteurs en ligne de commande (permettant simplement d'arrêter, de mettre en pause, de reprendre ou d'écouter à nouveau la traduction).
    - sauvegarde des fichiers audio
    - empêcher l'utilisateur de lancer une nouvelle traduction alors qu'un processus est déjà en cours (AFFICHER et LIRE)
    - aide séparée pour chaque type de source
    - nouvelles icônes
    - des détails globaux au lieu de détails particuliers pour chaque langue
    - compteur de caractères pour le texte saisi
    - avertissement lorsque la langue source ou de destination n'est pas prise en charge par DeepL

Merci pour les remarques et suggestions que vous avez faites et que j'ai essayé de prendre en compte.

Reste que je ne parviens pas à faire tourner espeak sur Puppy 5.7.3/ToOpPy...

Cordialement.

_________________

Back to top
View user's profile Send private message Visit poster's website 
fabrice_035


Joined: 28 Apr 2014
Posts: 506
Location: Bretagne / France

PostPosted: Thu 04 Oct 2018, 14:08    Post subject:  

Hello,
Je vais tester ça Wink
Pour espeak c'est clairement un problème avec ALSA, perso mon puppy à un serveur PULSEAUDIO. Si tu recherches "espeak alsa error" tu aura quelques pistes.
As-tu essayé de faire une sortie vers un fichier Wav ?


Code:

./espeak -v fr "bonjour" -w out.wav
aplay out.wav


EDIT:
Je crains que ta nouvelle version soit buguée. Faut dire qu'avec moi tu va souffrir, je suis du genre lourdaud.
Donc si je fais traduire un texte et que je m'impatiente le logiciel affiche une pop up pour demander d'attendre, jusque là tout va bien. Mais ensuite plus aucune texte ne peut être traduit ou lu car il affiche toujours la fenêtre demandant d'attendre. Obligez de quitter le logiciel et relancer

Bon courage
Back to top
View user's profile Send private message 
Argolance


Joined: 06 Jan 2008
Posts: 3416
Location: PORT-BRILLET (Mayenne - France)

PostPosted: Thu 04 Oct 2018, 16:01    Post subject:  

Bonsoir,
Quote:
Je crains que ta nouvelle version soit buguée. Faut dire qu'avec moi tu va souffrir, je suis du genre lourdaud.

Je n'ai rien contre: il ne peut en sortir que du bon. Wink
Effectivement, j'ai omis le "echo" avant "exit" à la ligne 703:
Code:
*)echo 0 > $TEMP_DIR/trans_button && exit

... si bien que lorsque l'utilisateur annule l'enregistrement du fichier audio, le compteur temporaire n'est pas remis à zéro (ce qui a néanmoins lieu à chaque démarrage de l'application). Je pense qu'avec cette modification, tu pourras t'impatienter autant que tu voudras! Smile

D'où tout l'intérêt des tests mettant le doigt là où ça (le) fait mal!
Donc un grand merci!
-------------------------------------------------
Pour espeak:
Code:
./espeak -v fr "montexte" -w out.wav

puis un clic sur le fichier out.wav pour le lire avec le lecteur média, fonctionne correctement mais la voix est vraiment "synthétique" et nasillarde, à la limite du compréhensible.
On peut dire que ça marche mais ça ne me convainc pas du tout. Peut être utile hors connexion, et encore...
Merci quand même!

Cordialement.
20181005110732.gz
Description  Avec Bing (à renommer en mp3)
gz

 Download 
Filename  20181005110732.gz 
Filesize  29.11 KB 
Downloaded  6 Time(s) 
out.gz
Description  Avec espeak (à renommer en wav)
gz

 Download 
Filename  out.gz 
Filesize  243.92 KB 
Downloaded  5 Time(s) 

_________________

Back to top
View user's profile Send private message Visit poster's website 
fabrice_035


Joined: 28 Apr 2014
Posts: 506
Location: Bretagne / France

PostPosted: Fri 05 Oct 2018, 14:43    Post subject:  

Salut Cool

Désolé d'être le diablotin de service Twisted Evil mais ...

Tu parles de la ligne 703, je n'ai rien trouvé malgré mes recherches, si tu peux préciser merci Wink

Autre problème à mon sens. Ton programme utilise des variables dans /tmp/ et sont ré-utilisées à l'ouverture de celui-ci. Donc il affiche le dernier texte utilisé. Pourquoi pas, c'est peut être une fonctionnalité ? Sauf qu'après la modification d'un texte à traduire, fermeture du programme, je relance et ton programme affiche toujours la première version. Curieux.
C'est peut être un choix ?

En mode lecture il y a une énorme fenêtre qui s'ouvre et prends la presque totalité de l'écran, visiblement ton programme utilise aussi une image non présente dans ma distri (tarhpup 6.x) car je n'ai qu'une croix là ou devrait se trouver l'image.

Je ne sais pas pourquoi tu demandes à l'utilisateur d'enregistrer le fichier audio après la lecture. Si je fais CANCEL ensuite il ne veux plus le re-lire, simplement une pop-up indique que la traduction est déjà en cours (bug précédent)

Bon courage, merci. Wink
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 2 [23 Posts]   Goto page: 1, 2 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » Users ( For the regulars ) » Pour les francophones
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.2199s ][ Queries: 12 (0.0205s) ][ GZIP on ]