Skip to content

fix(i18n): es-AR voseo overrides for every second-person app string - #2617

Draft
jjramirezn wants to merge 3 commits into
devfrom
fix/es-ar-voseo-overrides
Draft

fix(i18n): es-AR voseo overrides for every second-person app string#2617
jjramirezn wants to merge 3 commits into
devfrom
fix/es-ar-voseo-overrides

Conversation

@jjramirezn

@jjramirezn jjramirezn commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

The in-app es-AR catalog is deltas-only over es-419, but the overlay carried just 14 entries. Every other second-person string — ~650 of them — rendered with tuteo conjugation (puedes, inténtalo, escanea, ) for Argentine users instead of voseo (podés, intentalo, escaneá, vos). This is exactly what the overlay exists for per its own design note in messages.ts.

This PR adds the missing 651 voseo overrides to src/i18n/app/messages/es-AR.json (14 → 665 entries).

Method (scripted + reviewed):

  • Two detector passes over es-419: ~180 common tú verb forms/pronouns, then accent-clitic imperatives (inténtalo, únete, pídele) and rarer present-tense forms (crees, consigues). Final catch-all sweep returns zero.
  • Every hit hand-converted to Rioplatense voseo; false positives excluded (third-person verbs, nouns like lista de espera / baja calidad, forms identical in voseo like vas a recibir, subjunctives).
  • Validation script asserts: every key exists in es-419, ICU placeholders/plurals and rich-text tags byte-identical, no clobbering of the 14 existing entries.
  • Marketing catalog (src/i18n/es-ar.json) audited too: already fully voseo, untouched.

Beyond conjugation, deliberately minimal: tú/ti/contigovos/con vos, saltarsesaltearse (AR idiom), has hechohiciste (AR pretérito). No terminology changes (dinero vs plata etc. left as-is).

Risks / breaking changes

QA

  • npx jest --testPathPattern src/i18n — 6 suites, 70/70 pass (overlay keys validated against en.json).
  • Full suite: only the two pre-existing dev-tip failures (also fail on clean origin/dev).
  • Detector re-run over es-419 with the new overlay: 0 second-person strings uncovered.

Screenshots: N/A-ish (copy-only; no layout change) — every changed string is a text swap in place.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Localization
    • Expanded Argentine Spanish translations across onboarding, profiles, settings, payments, cards, transactions, rewards, identity verification, recovery, and migration flows.
    • Added localized labels, instructions, validation messages, error states, and user prompts for a more complete in-app experience.

The es-AR overlay is deltas-only over es-419, but it carried just 14
entries — so ~650 second-person strings rendered with tuteo conjugation
(puedes, inténtalo, escanea) for Argentine users instead of voseo
(podés, intentalo, escaneá). Reviewed every string in es-419 with two
detector passes (common tú forms + accent-clitic imperatives) and added
the missing 651 overrides. Placeholders, ICU plurals and rich-text tags
are byte-identical to es-419; only conjugation, pronouns (tú/ti → vos)
and AR verb choice (saltarse → saltearse) change.
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
peanut-wallet Ready Ready Preview Aug 5, 2026 6:18pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 584749f8-888e-4d4a-b2c3-eeab5653724c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Changes

Argentine Spanish localization

Layer / File(s) Summary
Application localization coverage
src/i18n/app/messages/es-AR.json
Adds Argentine Spanish translations for onboarding, wallet setup, authentication, payments, QR payments, cards, deposits, withdrawals, transactions, rewards, invitations, KYC, recovery, errors, app locking, and migration flows.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: innolope-dev

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the addition of es-AR voseo overrides for second-person application strings.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/es-ar-voseo-overrides

Comment @coderabbitai help to get the list of available commands.

@jjramirezn

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Code-analysis diff

Painscore total: 7061.25 → 7061.25 (0)
Findings: 0 net (+0 new, -0 resolved)

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🧪 UI test report — ✅ all green

Suites

  • unit: 2631 ran, 0 failed, 0 skipped, 47.3s

📊 Coverage (unit)

metric %
statements 64.0%
branches 47.6%
functions 53.6%
lines 64.6%
⏱ 10 slowest test cases
time test
3.7s src/components/Card/share-asset/__tests__/shareAssetLayout.test.ts › never places two stickers in heavy overlap (broad seed sweep)
1.1s src/utils/__tests__/demo-api.test.ts › isDemoMode() is false when not running under Capacitor
0.5s src/components/Card/share-asset/__tests__/shareAssetLayout.test.ts › every sticker stays within canvas at any count
0.5s src/utils/__tests__/auth-token.test.ts › is none — never guarded — when only the guarded marker is present
0.4s src/utils/__tests__/sentry.utils.test.ts › defaults to the client budget under a browser global
0.4s src/utils/__tests__/auth-token.test.ts › authReady does not park — hydrates the plain token without an unlock
0.3s src/app/actions/__tests__/api-headers-extended.test.ts › should not include apiKey in validateInviteCode body
0.3s src/app/actions/__tests__/api-headers.test.ts › should include Content-Type in validateInviteCode
0.3s src/app/(mobile-ui)/withdraw/__tests__/withdraw-states.test.tsx › Bank withdrawal keeps the $1 minimum for sub-$1 amounts
0.3s src/utils/__tests__/sentry.utils.test.ts › still lets a per-call timeoutMs win over the default
📍 Inline annotations are in the **Unit test report** check above. Coverage artifact: `coverage-unit`. Generated by `.github/workflows/tests.yml`.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/i18n/app/messages/es-AR.json`:
- Line 22: Update the description value in the Spanish-AR message catalog to
spell the product name as “Mercado Pago,” matching the established usage
elsewhere in the catalog.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 41f9b448-1944-408c-9028-5b2cebd8ccb5

📥 Commits

Reviewing files that changed from the base of the PR and between 549cc4e and ee9ff24.

📒 Files selected for processing (1)
  • src/i18n/app/messages/es-AR.json

Comment thread src/i18n/app/messages/es-AR.json Outdated
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