|
| Créer une macro, script ou programme remplaçant une liste de mots dans un texte | |
| | Auteur | Message |
---|
Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 14:54 | |
| Je pense qu'il serait possible de remplacer automatiquement tous les mots d'un texte en français par leur équivalent dans une langue construite ou une écriture, par exemple phonétique via un programme (script, macro, C++, etc.).
D'un côté il y aurait le dictionnaire une base à deux entrées : le mot en français, le mot de remplacement. De l'autre le texte à traiter (texte de départ), au format le plus facile à traiter : txt, rtf etc.
Le dictionnaire se présenterait comme une simple liste X=Y (mot français = mot de remplacement). Le programme parcourt alors le dictionnaire ligne à ligne et cherche dans le texte de départ à traduire tous les mots du dictionnaire. Chaque fois qu'il trouve un mot X, il le remplace par Y dans le texte de départ, jusqu'à arriver au bout du dictionnaire.
Le programme pourrait avoir une fonction "version", qui chercherait tous les mots Y pour les remplacer par les mots X dans le texte de départ.
Cela me parait très simple à écrire, mais je n'ai plus touché à la programmation depuis le BASIC des années 80, donc si quelqu'un arrivait à produire ce petit utilitaire gratuit rapidement, cela pourrait m'aider moi - et tous les constructeurs de langue sur ce forum, il me semble.
**
Et si ce programme gratuit et libre existe déjà, quelqu'un peut-il poster un lien fonctionnel pour le télécharger ?
Dernière édition par Greenheart le Mar 29 Mar 2016 - 12:39, édité 1 fois | |
| | | PatrikGC
Messages : 6736 Date d'inscription : 28/02/2010 Localisation : France - Nord
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 14:58 | |
| Un simple chercher-remplacer est très facile à programmer, mais en général, dans une traduction, ça ne se limite pas qu'à chercher XXX pour le remplacer par YYY... Et sur quel type de documents cette macro devrait fonctionner ? | |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 15:34 | |
| Je me sers de Word 2010 en général, mais n'importe quel document txt ou rtf suffirait comme format.
Je n'ai pas besoin d'autres options de traduction : il s'agit seulement de remplacer la chaîne de caractères en français par la chaîne correspondante dans une autre langue ou une autre écriture - et éventuellement la possibilité de faire l'inverse.
C'est une simple bascule, sans aucune analyse grammaticale ou conceptuelle.
| |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 15:52 | |
| Il s'agira seulement de retrouver les mots entiers (français) ou dictionnaires, sans distinguer les parties de mots, ni s'occuper du sens.
Le dictionnaire devra contenir toutes les flexions à remplacer (par exemple toutes les formes conjuguées).
Après il y aura sans doute des petits ajustements, en particulier s'il faut repasser du texte traduit au texte en français.
Dans tous les cas, cela n'a pas besoin d'être parfait : il y a aura toujours des corrections à faire sur le texte traduit, mais le plus gros en terme de frappe de texte sera fait. | |
| | | PatrikGC
Messages : 6736 Date d'inscription : 28/02/2010 Localisation : France - Nord
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 15:59 | |
| La liste est disponible sous quel format ? Un tableau Excel ? Un fichier texte ? Autre ? | |
| | | Mardikhouran
Messages : 4314 Date d'inscription : 26/02/2013 Localisation : Elsàss
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 16:01 | |
| Unitex contient des graphes de flexion, permettant de reconnaître la plupart de formes (mais sans contexte). Il est peut-être possible d'établir des substitutions dans le texte. Je ne m'en sers que pour annoter les mots... | |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 16:29 | |
| - PatrikGC a écrit:
- La liste est disponible sous quel format ?
Un tableau Excel ? Un fichier texte ? Autre ? Un simple fichier texte. Par exemple : - Citation :
- a : â
à : à abaissement : àbêsemë abaissements : àbêsemëz’ abaisser : àbêsér’ abandon : àbädö abandons : àbädöz’ abandonner : àbädönér’ abassourdir : àbàzùrdîr Il faut convenir cependant d'un caractère entre le mot X à trouver et le mot Y à remplacer - par exemple deux points : ou encore =. Me dire ce qui est le plus pratique. Je peux travailler sous EXCEL mais pas sûr que tout le monde le puisse.
Dernière édition par Greenheart le Dim 27 Mar 2016 - 16:44, édité 3 fois | |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 16:35 | |
| - Mardikhouran a écrit:
- Unitex contient des graphes de flexion, permettant de reconnaître la plupart de formes (mais sans contexte). Il est peut-être possible d'établir des substitutions dans le texte. Je ne m'en sers que pour annoter les mots...
Unitex a l'air d'être un logiciel très intéressant mais pour faire des choses plus compliquées. Est-ce qu'il y a déjà un sujet de présentation sur ce forum ? Sinon est-ce que l'on peut en créer un pour voir comment l'approcher, ce que l'on peut faire exactement pour quel aspect de la création de langues ou d'écritures (ou d'interprétation de langues, langues construites, traduction d'écritures) ? | |
| | | Anoev Modérateur
Messages : 37639 Date d'inscription : 16/10/2008 Localisation : Île-de-France
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 17:16 | |
| - Mardikhouran a écrit:
- Unitex contient des graphes de flexion, permettant de reconnaître la plupart de formes (mais sans contexte). Il est peut-être possible d'établir des substitutions dans le texte. Je ne m'en sers que pour annoter les mots...
Précise quand le lien envoie vers un site anglophone : ça m'évitera de cliquer pour que dalle. _________________ - Pœr æse qua stane:
Pour ceux qui restent.
| |
| | | Mardikhouran
Messages : 4314 Date d'inscription : 26/02/2013 Localisation : Elsàss
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 17:24 | |
| - Anoev a écrit:
Précise quand le lien envoie vers un site anglophone : ça m'évitera de cliquer pour que dalle. Désolé... ce sont des Français qui l'ont créé ; comme quoi ! Mais le manuel est disponible en français. On dirait qu'il n'y a pas encore de sujet à son propos ici. Comme je l'ai déjà utilisé, la tâche de vous l'introduire me revient , mais je devrais faire ça dans la semaine. | |
| | | Ziecken Modérateur
Messages : 13140 Date d'inscription : 23/03/2008 Localisation : Nointot, Normandie
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 27 Mar 2016 - 17:53 | |
| Pour quelle application, je suis curieux ! Mis à part les relex, je ne vois pas ! _________________ Idéolangues : elko, kelep, englo, ... (+27) Idéomondes : Multivers d'Aegis, monde du Losda | |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Lun 28 Mar 2016 - 16:17 | |
| - Ziecken a écrit:
- Pour quelle application, je suis curieux ! Mis à part les relex, je ne vois pas !
Quelque soit la langue construite, nous avons à un moment à générer un dictionnaire, c'est à dire la liste des mots de notre langue construite, chacun associé à un mot en français, par exemple. Idem pour les écritures, ou tout type de code. Si nous disposons de ce document, nous pouvons traduire automatiquement n'importe quel texte en français - grossièrement, et avec des mots oubliés, avec ce type d'application. A partir de ce moment, nous gagnons un temps considérable si nous souhaitons disposer ensuite de textes courts ou longs que nous n'aurons pas à taper à la main. Ensuite lors de la correction du texte traduit automatiquement de la sorte, les fautes de traduction (mots non traduits, phrases décousues, fautes de conjugaisons, d'accords), seront très facile à repérer - encore plus facile si par exemple le programme surligne automatiquement les mots non trouvés dans le dictionnaire de remplacement. Enfin, selon les propriétés de la langue construite ou de l'écriture, la traduction par simple remplacement peut être extrêmement performante. Par exemple, j'ai commencé à tester ce qui arrivait si je créais dans Word 2010 un dictionnaire personnel contenant les mots français en Fonétik, et si pour l'instant je n'arrive pas à faire souligner les mots français comme mal orthographiés, j'arrive à ne plus avoir les mots écrit en fonétik soulignés en rouge. Ce qui veut dire qu'il serait possible de demander à Word de considérer comme faux tous les mots français correctement orthographiés et d'utiliser sa fonction correction automatique pour tout remplacer par l'écriture fonétik, pourvu bien sûr que le dictionnaire personnalisé contienne tous les mots et toutes les flexions de ces mots. Maintenant je préfèrerais une application indépendante parce que je ne maîtrise pas pour l'instant Word 2010 ou en tout cas le fonctionnement de son dictionnaire (une bête liste de mots que l'on peut corriger ou enrichir avec le bloc-note) et que je ne voudrais pas gêner le travail simultané en français et dans une autre langue dans un document word. | |
| | | Invité Invité
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Lun 28 Mar 2016 - 16:21 | |
| Mais une langue n'est pas un code ! À chaque mot dans une idéolangue ne correspond pas un mot précis, unique en français. D'ailleurs la structure de langues n'est jamais la même : SOV, VSO… Ou quand utiliser tel ou tel cas, ou une tournure idiomatique ? Et je ne parle pas de la concordance des temps ! |
| | | Anoev Modérateur
Messages : 37639 Date d'inscription : 16/10/2008 Localisation : Île-de-France
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Lun 28 Mar 2016 - 16:45 | |
| - Genou a écrit:
- Mais une langue n'est pas un code ! À chaque mot dans une idéolangue ne correspond pas un mot précis, unique en français. D'ailleurs la structure de langues n'est jamais la même : SOV, VSO… Ou quand utiliser tel ou tel cas, ou une tournure idiomatique ? Et je ne parle pas de la concordance des temps !
Surtout que, d'une langue à l'autre, la concordance des temps n'opère pas toujours de la même manière. Et puis les déclinaisons dans une langue ne marchent pas de la même manière que dans une autre : y suffit de prendre comme exemple cinq langues à quatre cas : l'allemand le volapük l'aneuvien l'elko et le sambahsa-mundialect. Rien qu'entre l'aneuvien et l'elko, les deux seules dont je maîtrise à peu près l'utilisation des cas (pour l'aneuvien, ce c'rait malheureux !) les cas sont un peu différents : pas d'accusatif en elko (le nominatif y tient lieu) pas de datif en aneuvien (l'accusatif y tient lieu) la destination est exprimée par le datif en elko, par l'accusatif en aneuvien° la provenance est exprimée par le génitif en elko, par le circonstanciel en aneuvien. ° On peut voir deux raisons à ça : -une logique linguistique à-postériori : l'aneuvien s'est inspiré du latin et opère comme lui, comme en espéranto, russe, latin etc : la destination à l'accusatif -une logique relative à l'elko : l'elko n'a pas d'accusatif, maids traite la destination avec le datif ; l'aneuvien n'a pas de datif et l'exprime par l'accusatif ; donc... mais un tel raisonnement ne marche pas pour la provenance : l'aneuvien dispose bien d'un génitif, pourtant..._________________ - Pœr æse qua stane:
Pour ceux qui restent.
| |
| | | PatrikGC
Messages : 6736 Date d'inscription : 28/02/2010 Localisation : France - Nord
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Lun 28 Mar 2016 - 16:51 | |
| - Genou a écrit:
- Mais une langue n'est pas un code !
Si, la langue est un code, et même un code arbitraire. Mais en effet, une langue n'est pas bijective avec une autre, et on ne peut pas de contenter de faire un simple chercher-remplacer, sauf éventuellement pour aider un peu la traduction. | |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Lun 28 Mar 2016 - 17:08 | |
| - Genou a écrit:
- Mais une langue n'est pas un code ! À chaque mot dans une idéolangue ne correspond pas un mot précis, unique en français. D'ailleurs la structure de langues n'est jamais la même : SOV, VSO… Ou quand utiliser tel ou tel cas, ou une tournure idiomatique ? Et je ne parle pas de la concordance des temps !
Je ne demande pas de l'aide pour construire un programme universel de traduction de n'importe quelle langue en une autre langue avec correction orthographique et grammaticale, et analyse contextuelle incluse !!! *** Et les langues sont évidemment des codes, un code étant un système de conversion. D'ailleurs, si je commence à parler japonais devant quelqu'un qui ne comprendra pas ce que je dis, le japonais peut me servir de code secret. *** Si les mots ne sont pas dans le bon ordre, il suffit à la relecture du texte d'échanger la place des mots. Idem pour les accords, les temps qui ne seraient pas les bons. Et surtout, il n'y a plus à retaper le texte entier : tous les mots sont déjà entrés, et c'est un temps énorme de gagné. C'est mieux que Google Traduction qui peut remplacer une expression claire par un seul mot inapproprié - les corrections sont toujours possibles et je crois, évidentes donc très rapide si on maîtrise la langue source et la langue cible, et ne demande qu'un seul fichier texte (la liste des mots français associés à leur traduction). Par exemple, si l'application était utilisée pour traduire le titre "la langue de bois" à partir du dictionnaire suivant (qui peut très bien ne pas être dans l'ordre alphabétique en fait, puisque le programme va rechercher tous les noms du texte source dans la première colonne : langue : tongue bois : wood la : the de : of Le résultat sera automatiquement : The tongue of wood. Le dictionnaire anglais de Word pourra trouver et corriger automatiquement les erreurs de typo anglaise (en théorie). Si je maîtrise l'anglais ou si je fais une recherche google, je remplacerai l'expression par son équivalent anglais. Et ça, c'est pour une langue naturelle, bien chaotique. C'est beaucoup plus spectaculaire pour une langue construite régulière quand à la construction de ses mots (racines, flexions), avec une orthographe transparente phonétiquement. Par exemple, pour le fonétik, qui n'est qu'une orthographe régulière, transparente phonétiquement et univoque (un caractère, un son), c'est pour l'instant du 100% de réussite quand je procède manuellement au remplacement systématique d'un mot d'un texte français par les mots du dictionnaire fonétikh. Zéro erreurs. Et en prime, il y aurait la possibilité de générer automatiquement un fichier audio parfaitement compréhensible à partir de la page traduite en fonétikh. | |
| | | PatrikGC
Messages : 6736 Date d'inscription : 28/02/2010 Localisation : France - Nord
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Lun 28 Mar 2016 - 17:23 | |
| N'empêche qu'il serait bien que le dictionnaire soit compatible avec les regexps, ça aiderait beaucoup, surtout pour gérer le singulier/pluriel et autres conjugaisons... | |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Lun 28 Mar 2016 - 23:28 | |
| - PatrikGC a écrit:
- N'empêche qu'il serait bien que le dictionnaire soit compatible avec les regexps, ça aiderait beaucoup, surtout pour gérer le singulier/pluriel et autres conjugaisons...
Tu parles des expressions rationnelles concernant le traitement des chaînes de caractères dans une majorité de langage de programmation ? Si j'ai bien compris, cela implique seulement d'exclure dans le corps des mots certains caractères qui servent d'opérateurs logiques dans la reconnaissance des chaînes de caractères. A moins que les lettres accentuées, les apostrophes ou les tirets ou les accents soient interdits, cela ne devrait pas poser de problème au fonètikh. L'autre problème est que rédiger un dictionnaire avec le code des regexps peut compliquer la tâche du créateur de langue qui n'en a pas d'habitude, même si le dictionnaire serait plus court à rédiger, je suppose. Et cela permettrait d'importer un dictionnaire contenant déjà ces codes, et de le compléter en conséquence (dans le cas du fonètikh, je crois qu'il suffirait de remplacer la partie en français sans toucher aux caractères propres aux Regexps ? J'avoue que je n'ai pas envisagé autre chose qu'un dictionnaire contenant toutes les flexions de tous les mots : chaque mot y est entré sous toutes ses formes - toutes les formes conjuguées du verbe, toutes les flexions du mot, toutes les orthographes alternatives, aucune orthographe exotique, aucune racine, suffixe, préfixe ou terminaison de mot - seulement le mot entier. Ce serait aussi plus sympa si le logiciel remplaçait un mot dans un texte en respectant la casse de caractères : si le mot a une majuscule, il sera remplacé avec la majuscule ; si le mot n'a pas de majuscule, il sera remplacé sans majuscule, s'il est écrit entièrement ou partiellement en majuscule, il sera remplacé entièrement ou partiellement en majuscules - et les majuscules doivent rester accentuées. | |
| | | PatrikGC
Messages : 6736 Date d'inscription : 28/02/2010 Localisation : France - Nord
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Mar 29 Mar 2016 - 9:33 | |
| Sinon, à défaut de regexp, on peut utiliser les jokers, le + classique étant *. Exemple : chant* --> chanteur, chanteuse, chantons, chantais, chantait, chanté...
On peut imaginer que la liste soit balayée du début à la fin.
Chanteur Chanteuse Chant*
Dans ce cas, chanteur et chanteuse sont traités en 1er, et ensuite les autres cas... | |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Mar 29 Mar 2016 - 12:33 | |
| - PatrikGC a écrit:
- Sinon, à défaut de regexp, on peut utiliser les jokers, le + classique étant *.
Exemple : chant* --> chanteur, chanteuse, chantons, chantais, chantait, chanté...
On peut imaginer que la liste soit balayée du début à la fin.
Chanteur Chanteuse Chant*
Dans ce cas, chanteur et chanteuse sont traités en 1er, et ensuite les autres cas... Oui, cela permettrait de traduire les parties de mots qui ne risquent pas d'être confondues avec d'autres parties de mots, et donc les mots dérivés qui ne seraient pas encore dans le dictionnaire. | |
| | | Greenheart
Messages : 4041 Date d'inscription : 03/05/2008
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Dim 3 Avr 2016 - 1:14 | |
| Apparemment le logiciel de programmation AutoIt (gratuit) serait justement spécialisé dans le remplacement de chaînes de caractères pour produire un fichier texte à partir d'un fichier source. Cela ressemblerait à du Visual Basic et serait facile à programmer, avec un Wiki pratique pour se former. Je vais voir cela. | |
| | | PatrikGC
Messages : 6736 Date d'inscription : 28/02/2010 Localisation : France - Nord
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte Sam 9 Avr 2016 - 18:39 | |
| Alors, AutoIt, ça donne quoi Je connais cet utilitaire depuis qques années, il est bien pour faire des pts trucs. Mais comme j'ai des "machins" plus puissants chez moi, je ne l'utilise quasiment pas. | |
| | | Contenu sponsorisé
| Sujet: Re: Créer une macro, script ou programme remplaçant une liste de mots dans un texte | |
| |
| | | | Créer une macro, script ou programme remplaçant une liste de mots dans un texte | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |