feat(i18n): preload SSR translations and localize SEO metadata - #166
Merged
Conversation
- Add loadI18nServerProps, withI18nServerSideProps, and localeFromContext - Preload i18n in playground and profile getServerSideProps - Add SITE_SEO_* and PLAYGROUND_SEO_* keys; use LL on home and profile - Localize playground landing SEO via createTranslationFunctions on server - Align App pilot home metadata with shared SEO translation keys
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
mkayander
marked this pull request as ready for review
August 9, 2026 21:02
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
github-actions Bot
pushed a commit
that referenced
this pull request
Aug 9, 2026
# [1.381.0](v1.380.0...v1.381.0) (2026-08-09) ### Features * **i18n:** preload SSR translations and localize SEO metadata ([#166](#166)) ([2b6fb72](2b6fb72))
|
🎉 This PR is included in version 1.381.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Continues Instant Navigations groundwork after #165 by closing the SSR i18n gap on playground and profile, and localizing SEO metadata that was still hardcoded in English.
Changes
loadI18nServerProps/withI18nServerSideProps/localeFromContext— shared helpers ingetI18nProps.tsfor Pages Router SSR pages (mirrors existing staticgetI18nPropspattern).createTranslationFunctions— server-sideLLhelpers for parameterized SEO strings ingetServerSideProps.pages/playground/[[...slug]].tsx) — preloads locale bundle on SSR; landing/project SEO titles and descriptions useSITE_SEO_*/PLAYGROUND_SEO_*keys.pages/profile/[userId].tsx) — wraps gSSP withwithI18nServerSideProps;<title>and meta description useLL.PROFILE()/LL.SITE_SEO_DESCRIPTION().pages/index.tsx) — replaces hardcoded English<title>withLL.SITE_SEO_TITLE()/LL.SITE_SEO_DESCRIPTION().pilotPageMetadataFromTranslation.getI18nProps.test.tsfor locale resolution and SSR wrapper behavior.Instant-Navigations-TODO.mdchecklist updated.New i18n keys (en only; other locales fall back via spread-from-en)
SITE_SEO_TITLESITE_SEO_DESCRIPTIONPLAYGROUND_SEO_TITLEPLAYGROUND_PROJECT_SEO_DESCRIPTIONVerification
pnpm lint— passpnpm test— 442 tests passStill blocked (unchanged)
i18nAPI routing is fixedcacheComponents/unstable_instantuntil locale routing leavesnext.configi18n