Skip to content

i18n: stringhe user-facing in inglese (finding 1.3) - #5

Open
adalseno wants to merge 1 commit into
Pinperepette:mainfrom
adalseno:feat/english-user-facing-strings
Open

i18n: stringhe user-facing in inglese (finding 1.3)#5
adalseno wants to merge 1 commit into
Pinperepette:mainfrom
adalseno:feat/english-user-facing-strings

Conversation

@adalseno

@adalseno adalseno commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Il plugin gira su un marketplace pubblico con README inglese, ma tutto l'output visibile all'utente era in italiano — e i test lo pinnavano, quindi era contratto, non svista.

Tradotte IN PLACE tutte le stringhe che l'utente (o il modello) vede a runtime; commenti, docstring interne e messaggi di commit restano in italiano: sono la voce del progetto e non costano nulla a nessuno.

Superficie toccata:

  • doctor: VERDETTO -> VERDICT e tutte le righe [ok]/[warn]/[ko]
  • manifest T2: intestazioni di sezione, ruoli (dipendenza -> dependency, importatore -> importer), [grafo generico] -> [generic graph], [freddo T5] -> [T5 cold], sufficienza/budget/T2b
  • marker T1: ELISION_MARK "elise" -> "elided", JSON_MARK "elisi" -> "dropped", footer "token, -N%" -> "tokens, -N%", INVARIATO/CAMBIATO/IDENTICO -> UNCHANGED/CHANGED/IDENTICAL, [copia ELISA] -> [ELIDED copy], [parcheggiato:] -> [parked:]
  • canary/auto-degrade/auto-heal, guardia carta (T3), advisor di compact, brief SessionStart, statusline
  • CLI: recall, ddmin, smoke, savings, revealed, ab_verify (incluso il PROMPT del giudice: VERDETTO: INVARIANTE -> VERDICT: INVARIANT), slice
  • descrizioni dei tool MCP (le legge il modello) e messaggi d'errore
  • bench/ e docs/ck_demo_gif.py, per non lasciare output misto

Sincronizzati i punti dove una stringa e' contratto tra due file: i marker che revealed.py cerca nel transcript, la regex del footer in smoke.py, il match di sezione del manifest. Chiavi di stato su disco invariate (charter "vincolo"), cosi' le installazioni esistenti non perdono stato; rinominata solo "invariato" -> "unchanged" nell'output --json di revealed, che e' output, non stato.

Suite 469 verde; verificati dal vivo doctor, repo_slice, compress+recall (round trip di page fault), statusline e gli --help.

Additional notes

  • This PR deliberately stops at user-visible strings. While working through it I ran into three adjacent things that I left alone on purpose, because each is a judgement call that's yours to make rather than mine. Raising them here so they're written down somewhere; happy to open separate issues or PRs for any of them, or to drop them entirely.
  • README.md is committed twice, byte for byte
  • This PR translated only what a user or the model actually sees at runtime. Everything internal was left as-is: 1,370 comment lines + 1,905 docstring lines ≈ 3,275 lines across 61 Python files.
  • Maybe splitting the README into separate sections would improve readability.
  • Since it was just a boring and repetitive string replacement, the PR was agent-generated. I overviewed the diffs and re-ran all the tests (string matching changed), and they all pass.

Il plugin gira su un marketplace pubblico con README inglese, ma tutto
l'output visibile all'utente era in italiano — e i test lo pinnavano, quindi
era contratto, non svista.

Tradotte IN PLACE tutte le stringhe che l'utente (o il modello) vede a
runtime; commenti, docstring interne e messaggi di commit restano in
italiano: sono la voce del progetto e non costano nulla a nessuno.

Superficie toccata:
- doctor: VERDETTO -> VERDICT e tutte le righe [ok]/[warn]/[ko]
- manifest T2: intestazioni di sezione, ruoli (dipendenza -> dependency,
  importatore -> importer), [grafo generico] -> [generic graph],
  [freddo T5] -> [T5 cold], sufficienza/budget/T2b
- marker T1: ELISION_MARK "elise" -> "elided", JSON_MARK "elisi" -> "dropped",
  footer "token, -N%" -> "tokens, -N%", INVARIATO/CAMBIATO/IDENTICO ->
  UNCHANGED/CHANGED/IDENTICAL, [copia ELISA] -> [ELIDED copy],
  [parcheggiato:] -> [parked:]
- canary/auto-degrade/auto-heal, guardia carta (T3), advisor di compact,
  brief SessionStart, statusline
- CLI: recall, ddmin, smoke, savings, revealed, ab_verify (incluso il
  PROMPT del giudice: VERDETTO: INVARIANTE -> VERDICT: INVARIANT), slice
- descrizioni dei tool MCP (le legge il modello) e messaggi d'errore
- bench/ e docs/ck_demo_gif.py, per non lasciare output misto

Sincronizzati i punti dove una stringa e' contratto tra due file: i marker
che revealed.py cerca nel transcript, la regex del footer in smoke.py, il
match di sezione del manifest. Chiavi di stato su disco invariate
(charter "vincolo"), cosi' le installazioni esistenti non perdono stato;
rinominata solo "invariato" -> "unchanged" nell'output --json di revealed,
che e' output, non stato.

Suite 469 verde; verificati dal vivo doctor, repo_slice, compress+recall
(round trip di page fault), statusline e gli --help.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant