feat: phase 2 — i18n messages EN/FR (--lang, AM_LANG/LANG, catalogue tr/tr_fmt, REPL lang) (closes #74)
This commit is contained in:
@@ -119,12 +119,25 @@ pub fn report_md(app: &App, days: u32) -> String {
|
||||
}
|
||||
let sessions = crate::sessions::load(app).map(|s| s.sessions.len()).unwrap_or(0);
|
||||
let top_rows = top(app, None).unwrap_or_default();
|
||||
let mut md = format!(
|
||||
"# Rapport agent-manager — {days} derniers jours\n\n- Lancements : {total_launches}\n- Échecs : {failures}\n- Changements (install/update/uninstall) : {changes}\n- Durée cumulée : {}s\n- Sessions enregistrées : {sessions}\n",
|
||||
duration
|
||||
);
|
||||
// Issue #74: the report follows the active language.
|
||||
let md = if app.lang().is_en() {
|
||||
format!(
|
||||
"# agent-manager report — last {days} days\n\n- Launches: {total_launches}\n- Failures: {failures}\n- Changes (install/update/uninstall): {changes}\n- Cumulative duration: {}s\n- Recorded sessions: {sessions}\n",
|
||||
duration
|
||||
)
|
||||
} else {
|
||||
format!(
|
||||
"# Rapport agent-manager — {days} derniers jours\n\n- Lancements : {total_launches}\n- Échecs : {failures}\n- Changements (install/update/uninstall) : {changes}\n- Durée cumulée : {}s\n- Sessions enregistrées : {sessions}\n",
|
||||
duration
|
||||
)
|
||||
};
|
||||
let mut md = md;
|
||||
if !top_rows.is_empty() {
|
||||
md.push_str("\n## Top agents\n\n| Agent | Lancements | Durée | Échecs |\n|---|---|---|---|\n");
|
||||
md.push_str(if app.lang().is_en() {
|
||||
"\n## Top agents\n\n| Agent | Launches | Duration | Failures |\n|---|---|---|---|\n"
|
||||
} else {
|
||||
"\n## Top agents\n\n| Agent | Lancements | Durée | Échecs |\n|---|---|---|---|\n"
|
||||
});
|
||||
for r in &top_rows {
|
||||
md.push_str(&format!(
|
||||
"| {} | {} | {}s | {} |\n",
|
||||
@@ -137,8 +150,15 @@ pub fn report_md(app: &App, days: u32) -> String {
|
||||
if !rows.is_empty() {
|
||||
let t = crate::costs::totals(&rows);
|
||||
md.push_str(&format!(
|
||||
"\n## Coûts estimés\n\n- Sessions facturées : {}\n- Tokens : {} in / {} out\n- Coût estimé : ${:.4}\n",
|
||||
t.sessions, t.tokens_in, t.tokens_out, t.cost_usd
|
||||
"{}\n\n- {}: {}\n- {}: {} in / {} out\n- {}: ${:.4}\n",
|
||||
if app.lang().is_en() { "\n## Estimated costs" } else { "\n## Coûts estimés" },
|
||||
if app.lang().is_en() { "Billed sessions" } else { "Sessions facturées" },
|
||||
t.sessions,
|
||||
if app.lang().is_en() { "Tokens" } else { "Tokens" },
|
||||
t.tokens_in,
|
||||
t.tokens_out,
|
||||
if app.lang().is_en() { "Estimated cost" } else { "Coût estimé" },
|
||||
t.cost_usd
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user