rsnext/examples/app-dir-i18n-routing/app/[lang]/layout.tsx
Tim Neutkens 0f004312d3
Add lang, generateStaticParams, and server-only for i18n example (#44597)
Ensures static generation is used and the dictionary is not accidentally used in client components



## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md)

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md)

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm build && pnpm lint`
- [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
2023-01-05 16:29:04 +00:00

19 lines
357 B
TypeScript

import { i18n } from '../../i18n-config'
export async function generateStaticParams() {
return i18n.locales.map((locale) => ({ lang: locale }))
}
export default function Root({
children,
params,
}: {
children: React.ReactNode
params: { lang: string }
}) {
return (
<html lang={params.lang}>
<body>{children}</body>
</html>
)
}