fix: installateur Windows — accepter l'entree am-windows-x86_64.exe dans l'archive de release + i18n lang-aware pour am ai
release / release (push) Successful in 13m14s
release / macos (push) Canceled after 0s

- install.ps1 ne trouvait que 'am.exe' dans le zip : les archives (CI et
  manuelles) utilisent le nom plateforme 'am-windows-x86_64.exe' -> repli
  systematique sur cargo install au lieu du binaire precompile
- Le script accepte desormais les deux noms (copie vers am.exe) ; chemin
  du message cargo install corrige (.cargo\bin\am.exe au lieu de binam)
- i18n : am ai utilisait tr()/tr_fmt() globaux (flaky selon le process) —
  passage a tr_in/tr_fmt_in(app.lang()) + helper tr_fmt_in ajoute a i18n.rs
- Archive v1.0.6 : les deux entrees (am.exe + am-windows-x86_64.exe) pour
  la compatibilite maximale (installateurs et self-update)
- Tests ai_test insensibles a la locale (FR/EN)
- v1.0.6 ; ROADMAP maintenance note ajoutee
This commit is contained in:
2026-08-20 12:45:10 -04:00
parent 313645eea2
commit 50f515e406
8 changed files with 58 additions and 22 deletions
+9 -5
View File
@@ -129,22 +129,26 @@ fn exec_mode(
);
let decision = crate::shell_ai::decide(mode, risk, dry_run, yes);
let lang = app.lang();
let mut executed = false;
match decision {
Decision::Abort => {
let msg = if dry_run {
"dry-run : commande non exécutée"
crate::i18n::tr_in(lang, "dry-run : commande non exécutée")
} else {
"politique de sécurité (dry-run par défaut) : commande non exécutée — utilisez --yes"
crate::i18n::tr_in(
lang,
"politique de sécurité (dry-run par défaut) : commande non exécutée — utilisez --yes",
)
};
app.log.info(crate::i18n::tr(msg));
app.log.info(msg);
}
Decision::Ask => {
let ok = app.confirm(crate::i18n::tr("Exécuter ?"))?;
let ok = app.confirm(crate::i18n::tr_in(lang, "Exécuter ?"))?;
if ok {
executed = true;
} else {
app.log.info(crate::i18n::tr("annulé"));
app.log.info(crate::i18n::tr_in(lang, "annulé"));
}
}
Decision::Execute => {