feat(i18n): scaffold react-i18next with Spanish locale baseline#58
Conversation
|
@mubking is attempting to deploy a commit to the truthixify's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@Mubking-dev Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
After #59 (OG generator) just landed alongside this one, conflicts on git fetch origin
git rebase origin/develop
pnpm install # regenerates lockfile with both your i18n deps + OG deps
# Hero.tsx: keep develop's <head> additions, then re-apply your t() wrappings
git add -u
git rebase --continue
git push --force-with-lease |
17b048d to
9a88de8
Compare
|
please merge |
|
After #63 (SEO) just landed, only git fetch origin
git rebase origin/develop
pnpm install
git add pnpm-lock.yaml
git rebase --continue
git push --force-with-lease |
|
@truthixify pnpm-lock.yaml conflict resolved |
|
Sorry — Footer.tsx conflict now after #64 (status badge) just landed. Quick rebase: git fetch origin
git rebase origin/develop
# Footer.tsx: keep develop's status badge + re-apply your t() wrappings
git add src/components/Footer.tsx
git rebase --continue
git push --force-with-lease |
|
@truthixify footer conflict resolved |
|
Footer rebase done + clean merge. react-i18next + Spanish locale + lint-i18n script + OG generator + extensive t() wrappings across components. Substantial site-wide i18n landing after multiple rebase rounds. Thanks @Mubking-dev. |
|
@truthixify please can i apply for more project in this repo? |
Summary
Closes #27
Scaffolds full i18n support using
react-i18next, with Spanish as the first non-English locale.Changes
src/i18n/en.json— English translation source for all UI stringssrc/i18n/es.json— Spanish baseline (full structural parity with EN)src/i18n/index.ts— locale detection vialocalStorage→navigator.language→'en'src/main.tsx— imports i18n config before React renderssrc/components/*.tsx(×9) — all visible strings wrapped int()src/components/Header.tsx— EN ↔ ES switcher added next to theme togglescripts/lint-i18n.mjs— CI script; exits 1 if hardcoded JSX strings foundscripts/generate-og.mjs— post-build; emitsdist/en/anddist/es/with locale-specific OG/meta tagspackage.json— addedlint:i18nandgenerate:ogscripts.github/workflows/ci.yml—pnpm lint:i18nruns before build on every pushAcceptance criteria
en.json+es.jsoncompletelocalStoragepersistence +navigator.languagedefaultdist/en/anddist/es/)Testing