App-Greple-xlate
view release on metacpan or search on metacpan
README.deepl-FR.md view on Meta::CPAN
# NAME
App::Greple::xlate - module d'aide à la traduction pour greple
# SYNOPSIS
greple -Mxlate --xlate-engine gpt5 --xlate pattern target-file
greple -Mxlate --xlate-engine deepl --xlate pattern target-file
# VERSION
Version 2.02
# DESCRIPTION
**Greple** **xlate** : le module recherche les blocs de texte souhaités et les remplace par le texte traduit. Le moteur principal est GPT-5.6 Terra (`llm/gpt5.pm`), qui appelle la commande [llm](https://llm.datasette.io/) ; DeepL (`deepl.pm`) et les...
Les traductions sont mises en cache par fichier ; ainsi, relancer une commande ne coûte rien pour le texte inchangé. Lorsquâun document est modifié, seuls les paragraphes modifiés sont renvoyés à lâAPI ; un moteur sensible au contexte reço...
Si vous souhaitez traduire des blocs de texte normaux dans un document rédigé dans le style pod de Perl, utilisez la commande **greple** avec les modules `--xlate-engine gpt5` et `perl` comme suit :
greple -Mxlate --xlate-engine gpt5 -Mperl --pod --re '^([\w\pP].*\n)+' --all foo.pm
Dans cette commande, la chaîne de caractères `^([\w\p].*\n)+` signifie des lignes consécutives commençant par des lettres alphanumériques et de ponctuation. Cette commande permet de mettre en évidence la zone à traduire. L'option **-tout** est...
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/select-area.png">
</p>
</div>
Ajoutez ensuite lâoption `--xlate` pour traduire la zone sélectionnée. Le moteur de traduction identifiera alors les sections souhaitées et les remplacera par le résultat de la traduction.
Par défaut, les textes originaux et traduits sont imprimés dans le format "marqueur de conflit" compatible avec [git(1)](http://man.he.net/man1/git). En utilisant le format `ifdef`, vous pouvez facilement obtenir la partie souhaitée par la command...
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/format-conflict.png">
</p>
</div>
Si vous souhaitez traduire un texte entier, utilisez l'option **--match-all**. Il s'agit d'un raccourci pour spécifier le modèle `(?s).+` qui correspond à un texte entier.
Les données au format marqueur de conflit peuvent être visualisées côte à côte par la commande [sdif](https://metacpan.org/pod/App%3A%3Asdif) avec l'option `-V`. Ãtant donné qu'il n'est pas utile de comparer chaque chaîne de caractères, il ...
sdif -V --no-filename --no-tc --no-cdif data_shishin.deepl-EN-US.cm
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/sdif-cm-view.png">
</p>
</div>
# NORMALIZATION
Le traitement se fait par unités spécifiées, mais dans le cas d'une séquence de plusieurs lignes de texte non vide, elles sont converties ensemble en une seule ligne. Cette opération s'effectue comme suit :
- Supprimer les espaces blancs au début et à la fin de chaque ligne.
- Si une ligne se termine par un caractère de ponctuation de pleine largeur, concaténer avec la ligne suivante.
- Si une ligne se termine par un caractère de pleine largeur et que la ligne suivante commence par un caractère de pleine largeur, concaténer les lignes.
- Si la fin ou le début d'une ligne n'est pas un caractère de pleine largeur, concaténer les lignes en insérant un caractère d'espacement.
Les données mises en cache sont gérées sur la base du texte normalisé, de sorte que même si des modifications sont apportées sans affecter les résultats de la normalisation, les données de traduction mises en cache resteront effectives.
Ce processus de normalisation n'est effectué que pour le premier (0e) motif et les motifs pairs. Ainsi, si deux motifs sont spécifiés comme suit, le texte correspondant au premier motif sera traité après normalisation, et aucun processus de norm...
greple -Mxlate -E normalized -E not-normalized
Par conséquent, utilisez le premier motif pour le texte qui doit être traité en combinant plusieurs lignes en une seule, et utilisez le second motif pour le texte préformaté. S'il n'y a pas de texte à faire correspondre dans le premier motif, u...
# MASKING
Il arrive que des parties de texte ne soient pas traduites. Par exemple, les balises dans les fichiers markdown. DeepL suggère que dans de tels cas, la partie du texte à exclure soit convertie en balises XML, traduite, puis restaurée une fois la t...
--xlate-setopt maskfile=MASKPATTERN
Cela interprétera chaque ligne du fichier `MASKPATTERN` comme une expression régulière, traduira les chaînes qui correspondent et reviendra en arrière après le traitement. Les lignes commençant par `#` sont ignorées.
Les motifs complexes peuvent être écrits sur plusieurs lignes en utilisant des sauts de ligne échappés par une barre oblique inversée.
L'option **--xlate-mask** permet de voir comment le texte est transformé par le masquage.
Les marqueurs de remplacement sont des balises XML auto-fermantes bien formées, telles que `<m id="1" />`. Les moteurs LLM basés sur JSON reçoivent ces balises dans leurs tableaux dâentrée. Pour DeepL, une requête contenant des balises de marq...
Le masquage empêche le balisage dâêtre traduit. Pour masquer des chaînes sensibles vis-à -vis du service de traduction lui-même, consultez ["ANONYMIZATION AND TEMPLATES"](#anonymization-and-templates) ; les deux méthodes peuvent être utilisé...
Cette interface est expérimentale et peut être modifiée à l'avenir.
# ANONYMIZATION AND TEMPLATES
Les chaînes sensibles peuvent être masquées avant dâêtre envoyées à lâAPI de traduction, puis restaurées dans la sortie. Trois sources de règles dâanonymisation sont disponibles : un fichier de dictionnaire (**--xlate-anonymize**), des ...
Pour les documents de type formulaire (rapports trimestriels et autres), définissez les acteurs au préalable et faites-y référence dans le corps du texte :
---
å ±åè
: å±±ç°å¤ªé
çºæ³¨ä¼ç¤¾: ã¢ã¯ã¡æ ªå¼ä¼ç¤¾
---
æ¬ä»¶ã«ã¤ã㦠{{ å ±åè
}} ã調æ»ãè¡ã£ãã
Traduisez le modèle une fois par langue avec `--xlate-template` (et `--xlate-frontmatter` lorsque les valeurs sont conservées dans le fichier), puis générez chaque cas en mode autonome avec **pandoc-embedz** â les valeurs situées sous `global:...
greple -Mxlate --xlate --xlate-engine=gpt5 --xlate-to=EN-US \
--xlate-template= --xlate-format=xtxt \
--match-paragraph --all --need=0 \
report-template.md > report-template.EN.md
pandoc-embedz --standalone report-template.EN.md \
-c case-123.yaml -o report-123.EN.md < /dev/null
Pour les balises en ligne, fournir une configuration de définition de macro permet au même modèle traduit dâafficher soit les noms réels, soit une version expurgée :
README.deepl-FR.md view on Meta::CPAN
Dans l'implémentation actuelle, si plusieurs parties d'une ligne sont traduites, elles sont produites comme des lignes indépendantes.
# CACHE OPTIONS
Le module **xlate** peut stocker le texte de la traduction en cache pour chaque fichier et le lire avant l'exécution pour éliminer les frais généraux de demande au serveur. Avec la stratégie de cache par défaut `auto`, il maintient les données...
Utilisez **--xlate-cache=clear** pour lancer la gestion du cache ou pour nettoyer toutes les données de cache existantes. Une fois cette option exécutée, un nouveau fichier de cache sera créé s'il n'en existe pas et sera automatiquement maintenu...
- --xlate-cache=_strategy_
- `auto` (Default)
Maintenir le fichier de cache s'il existe.
- `create`
Créer un fichier cache vide et quitter.
- `always`, `yes`, `1`
Maintenir le cache de toute façon tant que la cible est un fichier normal.
- `clear`
Effacer d'abord les données du cache.
- `never`, `no`, `0`
Ne jamais utiliser le fichier cache même s'il existe.
- `accumulate`
Par défaut, les données inutilisées sont supprimées du fichier cache. Si vous ne voulez pas les supprimer et les conserver dans le fichier, utilisez `accumulate`.
- **--xlate-update**
Cette option oblige à mettre à jour le fichier de cache même si cela n'est pas nécessaire.
# COMMAND LINE INTERFACE
Vous pouvez facilement utiliser ce module à partir de la ligne de commande en utilisant la commande `xlate` incluse dans la distribution. Voir la page de manuel `xlate` pour l'utilisation.
La commande `xlate` prend en charge les options longues de style GNU telles que `--to-lang`, `--from-lang`, `--engine` et `--file`. Utilisez `xlate -h` pour voir toutes les options disponibles.
La commande `xlate` fonctionne de concert avec l'environnement Docker, donc même si vous n'avez rien d'installé, vous pouvez l'utiliser tant que Docker est disponible. Utilisez l'option `-D` ou `-C`.
Les opérations Docker sont gérées par [App::dozo](https://metacpan.org/pod/App%3A%3Adozo), qui peut également être utilisé comme une commande autonome. La commande `dozo` prend en charge le fichier de configuration `.dozorc` pour les paramètre...
De plus, comme des makefiles pour différents styles de documents sont fournis, la traduction dans d'autres langues est possible sans spécification particulière. Utilisez l'option `-M`.
Vous pouvez également combiner les options Docker et `make` afin d'exécuter `make` dans un environnement Docker.
L'exécution de `xlate -C` lancera un shell avec le dépôt git actuel monté.
Lire l'article japonais dans la section ["SEE ALSO"](#see-also) pour plus de détails.
# EMACS
Chargez le fichier `xlate.el` inclus dans le dépôt pour utiliser la commande `xlate` à partir de l'éditeur Emacs. La fonction `xlate-region` traduit la région donnée. La langue par défaut est `EN-US` et vous pouvez spécifier la langue en l'in...
<div>
<p>
<img width="750" src="https://raw.githubusercontent.com/kaz-utashiro/App-Greple-xlate/main/images/emacs.png">
</p>
</div>
# ENVIRONMENT
- DEEPL\_AUTH\_KEY
Définissez votre clé d'authentification pour le service DeepL.
- OPENAI\_API\_KEY
Clé dâauthentification OpenAI, utilisée par les moteurs hérités **gpty**. Le moteur **gpt5** basé sur `llm` lit également cette variable, mais les clés stockées avec `llm keys set openai` fonctionnent également.
- GREPLE\_XLATE\_CACHE
Définissez la stratégie de cache par défaut (voir ["CACHE OPTIONS"](#cache-options)).
# INSTALL
## CPANMINUS
$ cpanm App::Greple::xlate
## TOOLS
Installez lâoutil en ligne de commande correspondant au moteur que vous utilisez : `llm` pour le moteur **gpt5**, `deepl` pour DeepL, `gpty` pour les anciens moteurs GPT.
[https://llm.datasette.io/](https://llm.datasette.io/)
[https://github.com/DeepLcom/deepl-python](https://github.com/DeepLcom/deepl-python)
[https://github.com/tecolicom/App-gpty](https://github.com/tecolicom/App-gpty)
# SEE ALSO
## MODULES
[App::Greple::xlate::llm](https://metacpan.org/pod/App%3A%3AGreple%3A%3Axlate%3A%3Allm), [App::Greple::xlate::deepl](https://metacpan.org/pod/App%3A%3AGreple%3A%3Axlate%3A%3Adeepl)
[App::dozo](https://metacpan.org/pod/App%3A%3Adozo) - Exécutant Docker générique utilisé par xlate pour les opérations sur les conteneurs.
## RELATED MODULES
- [App::Greple](https://metacpan.org/pod/App%3A%3AGreple)
Voir le manuel **greple** pour les détails sur le modèle de texte cible. Utilisez les options **--inside**, **--outside**, **--include**, **--exclude** pour limiter la zone de correspondance.
- [App::Greple::update](https://metacpan.org/pod/App%3A%3AGreple%3A%3Aupdate)
Vous pouvez utiliser le module `-Mupdate` pour modifier les fichiers par le résultat de la commande **greple**.
- [App::sdif](https://metacpan.org/pod/App%3A%3Asdif)
Utilisez **sdif** pour afficher le format des marqueurs de conflit côte à côte avec l'option **-V**.
- [App::Greple::stripe](https://metacpan.org/pod/App%3A%3AGreple%3A%3Astripe)
Utilisation du module Greple **stripe** par l'option **--xlate-stripe**.
## RESOURCES
( run in 0.797 second using v1.01-cache-2.11-cpan-364913b4093 )