Skip to content

feat(copy): Spanish bot copy for profile, team, repo commands and team picker (spanish-copy 2/3) - #40

Merged
TOMOKI977 merged 3 commits into
mainfrom
feat/spanish-copy-commands
Sep 29, 2026
Merged

TOMOKI977 merged 3 commits into
mainfrom
feat/spanish-copy-commands

Conversation

@TOMOKI977

Copy link
Copy Markdown
Contributor

Summary

This is PR 2 of 3 for change spanish-copy. It translates the profile, team, membership and repo commands and the DM team picker into neutral Spanish (tú). Only the copy changes; behavior stays the same.

  • src/adapters/telegram/copy.ts: the adapter catalog gains the profile, team, repo and picker copy.
    • Shared strings ("not a member", "no team for this chat", "membership check failed") live once in commonCopy.
    • Roles use an exhaustive Record<Role, string> mapping to "administrador" / "miembro".
    • "topic" is translated as "tema".
    • Telegram's "Remain anonymous" is shown as "Permanecer anónimo".
  • src/adapters/telegram/commands.ts and team-picker.ts: every reply now comes from the catalog. The picker buttons read "Equipo {id}".
  • reposReply now delegates to joinLinesWithinLimit. This removes a duplicate truncation loop, so /repos uses the same "…y N más" as every other reply. It also removes the last English "...and N more" left over from PR 1.
  • test/copy/catalog-language.test.ts: the English-word guard now covers the full adapter catalog.
  • test/http/webhook-e2e.test.ts: only the expected /setup reply string changed.

Domain exception messages and log event names stay in English. Users never see them.

Review

A bounded review ran at high risk, because the webhook e2e test is a security hot path. All four lenses found nothing:

Lens Finding
risk Admin and membership gating and callback validation are unchanged
resilience Error replies and callback answers still happen, and the /repos 4096 cap holds
readability Shared strings live once, tú is used consistently, and no dead code remains
reliability The copy matches the design table exactly, and tests assert the literal Spanish strings

Tests

  • Strict TDD: 63 tests were RED before the implementation.
  • The full suite passes (857 tests), and the typecheck is clean.

Next is PR 3 of 3, which covers the GitHub alerts.

🤖 Generated with Claude Code

@TOMOKI977 TOMOKI977 added the size:exception PR over the 400-line review budget, accepted explicitly label Sep 29, 2026
@TOMOKI977
TOMOKI977 merged commit 2152a2d into main Sep 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:exception PR over the 400-line review budget, accepted explicitly

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant