Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SUBTITLE REVERSE .SRT


Information sur la source

Catégorie :Applications Source .NET ( DotNet ) Classé sous : subtitle, sous titre, srt, traduction, reverse Niveau : Débutant Date de création : 17/08/2008 Date de mise à jour : 24/08/2008 10:45:45 Vu / téléchargé: 4 515 / 138

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Ce tout petit programme permet de traduire les fichiers SRT d'un langue vers une autre grâce à Google traduction.
Je sais que Google traduction c'est pas ce qu'il y a de plus performant mais j'ai fais ce petit programme juste pour me permettre de comprendre (à peut près ^^) les films qui sont en VO et dont  les sous-titres que l'ont peut trouver sur le net, sont généralement en Anglais.

Alors ne soyer pas trop dur sur la qualité de la traduction, qui est très médiocre... :)


 

Conclusion

Dans le menu de sélection des langues seul 2 mode de traduction sont présent en|fr et fr|en, mais on peut en rajouter bien d'autre. En faite toutes les langues que supporte Google traduction!!!
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

18 août 2008 23:57:57 :
Mise à jour : - Externalisation du code - Regular Expression pour la parsage HTLM - Correction mineur
24 août 2008 10:45:46 :
- Correction mineur

Commentaires et avis

signaler à un administrateur
Commentaire de Bidou le 18/08/2008 08:09:21 administrateur CS

Pas testé, mais en regardant le code, on reste un peu sur sa faim (je ne parle pas de la traduction)...
Le plus gros problème, c'est qu'absolument rien n'est modularisé, en gros on nous sert un code avec tout dans le main => inutilisable.

Y'a d'autres problèmes +/- gênant dans le code, comme par exemple le parsing de l'HTML. Tu aurais probablement mieux fait d'utiliser les Regex. Autres choses en vrac juste en jettant en rapide coup d'oeil:

- Les concaténations dans une boucle se font avec un StringBuilder!
- numline = numline + 1 => numline++; i = i + 2 => i += 2;

- catch (Exception e)
{
   throw e; // Utile ?
}

- StreamReader _Reader n'est jamais fermé
- FileStream fs n'est jamais fermé

try
{
   if (!File.Exists(strFileName))
   {

- Pourquoi le if est dans le try?
- etc etc...

Une mise à jour pourrait être la bienvenue :)

Une remarque positive quand même pour finir (ben oui je suis pas seulement méchant) : L'idée est plutôt bonne et utile (même si ça reste une traduction google...)

signaler à un administrateur
Commentaire de tmcuh le 18/08/2008 13:15:31 9/10

Même que Bidou, par contre je reste partagé avec les Regex sur du code html. Car lors d'un projet j'ai déjà eu des soucis avec les regex qui interprété mal l'information. Dès lors je conseil plus un substring qu'une méthode regex pour l'html. Mais bon...
Bonne idée dans l'ensemble ;)

signaler à un administrateur
Commentaire de Bidou le 18/08/2008 17:58:38 administrateur CS

TMCUH> Si les regex ne fonctionnaient pas, c'est sûrement parce que tu les avais mal programmées... non?

signaler à un administrateur
Commentaire de tmcuh le 18/08/2008 18:01:56

Pas sûre, car ça marchais et parfois sur le même contenu ça ne marchait plus. Personnellement j'ai passé du temps dessus pour essayé de comprendre, sans succès. Je suis passé par les substring(début, fin) et mon problème a disparue. Je traitais beaucoup d'hmtl ce qui explique peut être cela.

signaler à un administrateur
Commentaire de Zaltez le 19/08/2008 00:06:41

Tes remarques sont justifiées Bidou, je viens de mettre à jour la source en conséquence :)
Finalement j'ai utiliser les "regular expression" mais je ne suis pas sur que cela apporte grand chose au niveau du code comme au niveau des performances ;)

Mais je ne suis  pas arriver à passer par mon delégé depuis ma classe GoogleTranslate pour mettre à jour la progressbar. La methode Invoke() ne marche vu que je ne suis pas sur ma form! Je sais pas si vous avez une idée? Pour l'instant c'est une solution temporaire avec un timer et des variables globales.

signaler à un administrateur
Commentaire de fszymanski le 19/08/2008 16:16:31

Pour la mise à jour de la ProgressBar, il faut peut-être penser au BackgrounWorker.

signaler à un administrateur
Commentaire de Zaltez le 19/08/2008 16:38:50

Salut,
Le backgroundWorker me premettrait de mettre plus facilement a jour ma progressBar? J'ai du mal à comprendre tu pourrais m'éclairer stp...

signaler à un administrateur
Commentaire de tmcuh le 19/08/2008 20:49:48

Les delegate peuvent être dans ta form et donc la contrôler... si ton délégué est externe à la feuille alors tu dois créer ta méthode dans ta feuille qui lui va appeler la méthode "externe". sinon tu va bidouiller avec des variables public qui risque d'être un vrai casse-tête dans le cas d'un multi-thread.

signaler à un administrateur
Commentaire de Bidou le 19/08/2008 22:28:31 administrateur CS

Il faudrait faire des testes pour savoir si c'est plus lent ou pas dans ce cas ci, mais je dirais que globalement, on a meilleur temps d'utiliser les expressions régulières car:

- Il faut (beaucoup) moins de code pour arriver au même résultat;
- Probablement moins de temps aussi pour coder (pour autant qu'on maîtrise la chose, ce qui n'est pas très simple au début je trouve...)
- Les temps de réponses sont globalement plus rapide. A ce niveau, il faut bien gérer l'option compilée de la Regex (à utiliser seulement pour les gros textes, sinon, le temps de compilation est beaucoup trop important par rapport au temps total). Pour les petits textes cependant, des substrings et autres sont peut-être plus rapide...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Reverse engineering [ par Lutinore ] Hi ! J'aimerais bien faire un peu de reverse engineering sur un assembly en IL, je ne sais pas si il existe un logiciel gratuit ou au moins en &# Traduction de VB [ par nico4nicolas ] Bonjour, Je ne connais pas la fonction C# qui puisse remplacer le code VB de cette ligne : sCmd = Chr(2) & "AD02;GC7:9028A07" & Chr(3) & traduction de VB :( [ par woot6768 ] Bonjour, Voila j'ai un petit problème de traduction avec VB.Il faut que je traduise la variable suivante : "Public correspondance(52,2) As String"Pour Re : Traduction VB [ par woot6768 ] Voilà mes soucis : Je cherche les traductions de différentes propriétés que sont :      -Recordset      -OpenRecordsetAinsi que des propriétés tels qu Traduction de VB/C# [ par woot6768 ] Bonjour à tous,Dans le cadre d'un projet effectuer pendant un stage, je suis amené à traduire beaucoup de Visual Basic en C#.Mais je n'arrive pas à tr Traduction WindowsForm [ par omisc ] Bonjour,J'ai une application WindowsForm en C# sur Visual Studio 2005 que je souhaiterais rendre utilisable dans plusieurs langues.J'ai essayé de coch [Traduction] Jeu d'essai [ par LocalStone ] Salut à tous, Alors une fois n'est pas coutume, j'ai une question ... D'anglais. Je m'adresse ici puisque je pense que les développeurs qui utilisent


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.