読み込み中...
読み込み中...
Next.jsの多言語アプリ構築に必要なすべて。CDN駆動の翻訳、サーバーサイドレンダリング、即座のロケール切り替え。
メッセージはレイアウトのgetMessages()を使ってサーバーサイドで読み込まれます。未翻訳コンテンツのフラッシュなし、事前レンダリングされた翻訳でSEOに完全対応。
APIリファレンスを見るuseSetLocale()でクライアントサイドで言語を切り替え—ページの全体リロード不要。BetterI18nProviderがCDNから新しい翻訳を取得して即座に再レンダリングします。
クライアントサイドのドキュメントnext-intlがベースで、TypeScriptを完全サポート。useTranslations()は翻訳キーのコンパイル時チェックを提供—実行時前にエラーをキャッチ。
型安全APIのドキュメントbetterMiddleware()はURLパス、Cookie、またはAccept-Languageヘッダーからユーザーのロケールを検出します。認証連携を簡単にするClerkスタイルのコールバックパターン。
ミドルウェア設定ガイドGet up and running in 4 simple steps.
Add the SDK to your project
bun add @better-i18n/nextCreate your i18n config
export const i18n = createI18n({ ... })Add BetterI18nProvider to your layout
<BetterI18nProvider>Call useTranslations() in any component
const t = useTranslations("ns")better-i18n works with all major React frameworks out of the box.
| Feature | Next.js | Expo | Remix | Hono | TanStack |
|---|---|---|---|---|---|
| CDN Fetch | ✓ | ✓ | ✓ | ✓ | ✓ |
| ISR / Revalidation | ✓ | — | ✓ | — | ✓ |
| useSetLocale() | ✓ | ✓ | ✓ | ✓ | ✓ |
| useFormatter() | ✓ | ✓ | ✓ | ✓ | ✓ |
| LocaleDropdown | ✓ | ✓ | ✓ | ✓ | ✓ |
| SSR Support | ✓ | — | ✓ | ✓ | ✓ |
5分未満でNext.jsアプリに国際化を追加できます。 完全なガイドに従う
// i18n.config.ts
import { createI18n } from "@better-i18n/next";
export const i18n = createI18n({
project: "your-org/your-project",
defaultLocale: "en",
});
// middleware.ts
import { i18n } from "./i18n.config";
export default i18n.betterMiddleware();
// app/[locale]/layout.tsx
const messages = await i18n.getMessages(locale);
<BetterI18nProvider config={i18n.config} locale={locale} messages={messages}>
{children}
</BetterI18nProvider>
// Any component
const t = useTranslations("namespace");
return <h1>{t("title")}</h1>;無料アカウントを作成し、言語を追加して翻訳を始めましょう。グローバルなオーディエンスを対象に構築する数千人の開発者コミュニティに参加しましょう。