Les noms d'ancre ts_ dont le suffixe locuteur contient des caractères
hors \w (ex. "//S01" quand une annotation de chevauchement est tapée
juste avant une coupure de segment) étaient rejetés par TS_NAME_RE,
faisant disparaître silencieusement tout le texte de l'ancre.
- i18n: all UI strings externalized in locales/en.json + fr.json;
language selectable in wizard (new Language step) and settings
- Wizard: new Storage step with 1-vault-per-corpus recommendation
- Settings: reorganized in 6 sections ordered by frequency of use;
language dropdown at the top
- Corpus organization: CorpusModal + ClassSelectModal;
named classes with mirrored transcriptions/mappings/exports folders;
class selection prompt on import
- Broad-scope warning for name rules (RuleModal + EditRuleModal):
warning callout for folder/vault scope; success callout for file scope
- Mappings tab: grouped by scope (File/Folder/Vault);
active-file-only filter checkbox (checked by default);
getAllRulesWithLocation() added to ScopeResolver
- EditRuleModal, QuickPseudonymizeModal fully migrated to t()
- README, CHANGELOG, ROADMAP translated to English;
French versions archived as *.fr.md
- esbuild: dev mode outputs directly to test_vault for hot reload