From 72e7bd2dbac074b77a431d8cd1158517506645b7 Mon Sep 17 00:00:00 2001 From: kpym Date: Tue, 27 Oct 2020 18:21:59 +0100 Subject: [PATCH] simplification de la traduction de l'aide --- translate.go | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/translate.go b/translate.go index 467f178..83927d1 100644 --- a/translate.go +++ b/translate.go @@ -1,7 +1,6 @@ package main import ( - "fmt" "io" "strings" ) @@ -10,19 +9,19 @@ type trad struct { from, to string } -var traductions = []trad{ - {" (default [])", ""}, - {"default", "par défaut"}, - {" strings ", " "}, - {" string ", " "}, - {" uints ", " "}, - {" int ", " "}, - {"bad flag syntax:", "mauvaise syntaxe du paramètre :"}, - {"unknown flag:", "paramètre inconnu :"}, - {"unknown shorthand flag:", "paramètre court inconnu :"}, - {"flag needs an argument:", "Le paramètre nécessite un argument :"}, - {" in ", " dans "}, -} +var traductions = strings.NewReplacer( + " (default [])", "", + "default", "par défaut", + " strings ", " ", + " string ", " ", + " uints ", " ", + " int ", " ", + "bad flag syntax:", "mauvaise syntaxe du paramètre :", + "unknown flag:", "paramètre inconnu :", + "unknown shorthand flag:", "paramètre court inconnu :", + "flag needs an argument:", "paramètre sans argument :", + " in ", " dans ", +) // FrenchTranslator est un io.Writer qui traduit quelques phrases d'angalsi en français et // renvoie le résultat au w @@ -32,12 +31,5 @@ type FrenchTranslator struct { // Write traduit le message p et renvoie la traduction à fw.w func (fw FrenchTranslator) Write(p []byte) (n int, err error) { - out := string(p) - - for _, tr := range traductions { - out = strings.ReplaceAll(out, tr.from, tr.to) - } - - fmt.Fprintf(fw.w, out) - return len(p), nil + return traductions.WriteString(fw.w, string(p)) }