Skip to content

feat(i18n): seed dash root-landing marketing keys (8 locales)#56

Merged
haim-barad merged 2 commits into
developmentfrom
feat/dash-marketing-keys
Apr 26, 2026
Merged

feat(i18n): seed dash root-landing marketing keys (8 locales)#56
haim-barad merged 2 commits into
developmentfrom
feat/dash-marketing-keys

Conversation

@haim-barad

@haim-barad haim-barad commented Apr 26, 2026

Copy link
Copy Markdown
Member

User description

Summary

Companion PR to core_api feat/dash-landing-frontend (Phase 4 of the dash-root-landing plan). Adds the canonical en-US marketing keys for the dash.loyalty.dog landing page, then Haiku-translates them to the other 7 supported locales.

  • en-US (hand-authored): packages/i18n/locales/en-US/marketing.json
  • 7 Haiku-translated locales: en-GB, es-ES, es-MX, fr, it, pt-BR, pt-PT

Key sections: hero, nav, pricing, faq (cc + charge), cookies banner, footer.

Two values held constant across all locales: $29 (USD-only pricing literal) and Stripe (brand name).

Test plan

  • All 8 JSON files parse as valid JSON
  • All 7 translations have the same key tree as en-US (no missing/extra keys)
  • pricing.amount === "$29" in every locale
  • Stripe preserved verbatim in every locale
  • Reviewer spot-check translations for tone/idiom (especially es-ES vs es-MX, pt-BR vs pt-PT differentiation)
  • After merge: `crowdin upload sources` to sync to Crowdin (project_id 881724) for translator review

🤖 Generated with Claude Code


CodeAnt-AI Description

Add marketing landing page copy in 8 locales

What Changed

  • Added the full landing page marketing text for the dash loyalty site in en-US and 7 other locales
  • Covered the main customer-facing sections: hero, navigation, pricing, FAQs, cookies banner, and footer links
  • Kept the $29 price and Stripe name unchanged across all locales

Impact

✅ Localized landing page copy
✅ Consistent pricing and brand wording across regions
✅ Clearer signup and trial messaging for international visitors

🔄 Retrigger CodeAnt AI Review

Details

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

haim-barad and others added 2 commits April 26, 2026 07:31
Companion to core_api PR (Phase 4 of dash-root-landing plan).
Adds the canonical en-US source-of-truth for the dash.loyalty.dog
marketing landing copy: hero, nav, pricing, faq.cc + faq.charge,
cookies banner, and footer links.

The TS bundle in core_api/frontend/src/lib/i18n-utils.ts mirrors
these keys for the en-US offline fallback. Other 7 locales (en-GB,
es-ES, es-MX, fr, it, pt-BR, pt-PT) will be Haiku-translated and
uploaded to Crowdin (project_id 881724) in a follow-up commit.

Pricing literal `$29` is intentionally NOT translated — USD-only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Phase 4, Task 4.4 of dash-root-landing plan. Translates the en-US
marketing keys (added in 9b2ee94) to the other 7 supported locales:

- en-GB: British spellings (programme, authorised, customise)
- es-ES: Peninsular Spanish, vosotros formality
- es-MX: Latin American Spanish, ustedes formality
- fr: France French, formal "vous"
- it: Italian
- pt-BR: Brazilian Portuguese (PDV, inscrição, painel)
- pt-PT: European Portuguese (caixa, registo, ecrã, Gerir)

Translations performed by Claude Haiku via Agent tool. Verified each
file is valid JSON with the same key tree as en-US. Two terms held
constant across all locales: the literal `$29` (USD-only pricing)
and the `Stripe` brand name.

Next step: upload to Crowdin (project_id 881724) for translator
review (`crowdin upload sources` with CROWDIN_PERSONAL_TOKEN). The
JSON files remain the authoritative source on disk; Crowdin is the
bookkeeping/review system.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@codeant-ai

codeant-ai Bot commented Apr 26, 2026

Copy link
Copy Markdown
Contributor

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai Bot added the size:L This PR changes 100-499 lines, ignoring generated files label Apr 26, 2026
@haim-barad haim-barad self-assigned this Apr 26, 2026
@codeant-ai

codeant-ai Bot commented Apr 26, 2026

Copy link
Copy Markdown
Contributor

CodeAnt AI finished reviewing your PR.

@paperclip-access paperclip-access Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review — LOY-221

Overall: Approve with one note. 8-locale marketing key seeding. Clean diff, consistent structure across all locales.


P2 — Pricing amount hardcoded as USD in non-USD markets

es-ES/marketing.json, es-MX/marketing.json, and pt-PT/marketing.json display "amount": "$29". Spanish and Portuguese customers will see USD pricing which is likely not intended. Either:

  • Translate to local currency equivalents (e.g. 29,99 € for EU markets), OR
  • Add a note that the displayed amount is intentional and handled separately by the payment processor

The pricing.disclaimer strings already handle the Stripe/cancellation context correctly per locale — this is purely a display concern.


Style observations (non-blocking)

  • en-GB uses British spellings (authorised, programme) while en-US uses American spellings — correct and intentional. ✓
  • All 8 locales maintain identical JSON key structure ✓
  • FAQ items (cc, charge) present in all locales with both q and a fields ✓

No blockers. Ready to merge or address the pricing note.

@paperclip-access paperclip-access Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM. One non-blocking note about USD pricing in non-USD locales — not a merge blocker.

@haim-barad haim-barad merged commit dabfeda into development Apr 26, 2026
7 checks passed
@haim-barad haim-barad deleted the feat/dash-marketing-keys branch April 26, 2026 04:53
haim-barad added a commit that referenced this pull request Apr 26, 2026
#57)

Adds the canonical marketing keys for the dash.loyalty.dog landing
page directly to main, per the localization-platform repo workflow
(no dev → staging → main progression for this repo).

Sections (en-US hand-authored, 7 other locales Haiku-translated):
- hero, nav, pricing (with USD-only `$29` literal)
- faq.cc + faq.charge
- cookies banner
- footer links
- integrations.{wordpress,shopify,eposnow,zapier,standalone,clover,square}.desc

8 locales: en-US (default), en-GB, es-ES, es-MX, fr, it, pt-BR, pt-PT.

Brand names held verbatim across all locales: WordPress, WooCommerce,
Shopify, EPOS Now, Zapier, Clover, Square. Pricing literal `$29`
also constant.

Companion to the core_api `feat/dash-landing-frontend` PR (Phase 4-5
of the dash-root-landing plan): the frontend `enUSFallback.marketing`
in `frontend/src/lib/i18n-utils.ts` mirrors these keys for the offline
en-US fallback; non-en-US locales fetch this marketing namespace from
the HTTP backend at runtime.

Note: PR #56 on the development branch superseded — this PR delivers
the same content (plus the new integrations subtree) directly to main.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant