1
0
mirror of synced 2025-12-19 18:10:59 -05:00

App router 404 localization (#57230)

This commit is contained in:
Mardav Wala
2025-08-25 11:41:26 -04:00
committed by GitHub
parent 6997049575
commit 8cdf15a116
21 changed files with 576 additions and 395 deletions

View File

@@ -0,0 +1,45 @@
import { extractLanguageFromPath } from '@/app/lib/language-utils'
import { extractVersionFromPath } from '@/app/lib/version-utils'
import { getUIDataMerged } from '@/data-directory/lib/get-data'
import { type ClientLanguageCode } from '@/languages/lib/client-languages'
import { createTranslationFunctions, translate } from '@/languages/lib/translation-utils'
export interface ServerAppRouterContext {
currentLanguage: ClientLanguageCode
currentVersion: string
sitename: string
site: { data: { ui: any } }
}
/**
* Server-side context creation using filesystem data
* Use in server components where filesystem access is available
*/
export function createServerAppRouterContext(pathname: string): ServerAppRouterContext {
const language = extractLanguageFromPath(pathname)
const currentVersion = extractVersionFromPath(pathname)
const uiData = getUIDataMerged(language)
const siteName = translate(uiData, 'header.github_docs', 'GitHub Docs')
return {
currentLanguage: language,
currentVersion,
sitename: siteName,
site: { data: { ui: uiData } },
}
}
/**
* Create server-side footer with translations
*/
export function createServerFooterContent(language: ClientLanguageCode) {
const uiData = getUIDataMerged(language)
const { t } = createTranslationFunctions(uiData, 'footer')
return {
t,
language,
footerData: uiData.footer || {},
}
}