コンテンツへスキップ
React i18n

React i18n をシンプルに

Hooks、Context、シームレスな CDN 配信を備えた、React 向け型安全な国際化。

Get started in 3 steps

1

Install

Add @better-i18n/use-intl and use-intl to your project.

terminal
npm install @better-i18n/use-intl use-intl
2

Wrap your app with BetterI18nProvider

Place the provider at the root of your component tree. It fetches messages from the CDN and makes them available via hooks.

App.tsx
import { BetterI18nProvider } from '@better-i18n/use-intl';

function App() {
  return (
    <BetterI18nProvider project="your-org/your-project" locale="en">
      <YourApp />
    </BetterI18nProvider>
  );
}
3

Use translations

Call useTranslations() in any component to access your translation keys with full TypeScript support.

MyComponent.tsx
import { useTranslations } from '@better-i18n/use-intl';

function MyComponent() {
  const t = useTranslations('common');
  return <h1>{t('welcome')}</h1>;
}

機能

React Hooks API(useTranslations)
オートコンプリート付きフル TypeScript 対応
最適なバンドルサイズのための遅延ロード
複数形対応の ICU メッセージ形式
変数の埋め込みとフォーマット
ロケール管理のための React Context
SSR / SSG 対応
開発中のホットリロード
DevTools 連携

Installation & Setup

Get started with @better-i18n/use-intl in three steps — install, wrap your app with the provider, and start translating.

# 1. Install
npm install @better-i18n/use-intl

# 2. Wrap your app
import { BetterI18nProvider } from '@better-i18n/use-intl'

function App() {
  return (
    <BetterI18nProvider project="org/project" locale="en">
      <YourApp />
    </BetterI18nProvider>
  )
}

# 3. Use translations
import { useTranslations } from '@better-i18n/use-intl'

function MyComponent() {
  const t = useTranslations('common')
  return <h1>{t('welcome')}</h1>
}

人気の React i18n ライブラリと連携

Better i18n はお気に入りの i18n ライブラリの置き換えではありません。翻訳管理レイヤーとして、それらをさらに強力にします。

Better i18n + react-intl

ICU メッセージ形式に対応した最も人気の React i18n ライブラリ。数多くの本番アプリで利用されています。

Better i18n が翻訳を react-intl の JSON 形式へ直接同期。ダッシュボードで編集し、アプリに即時反映されます。

Better i18n + react-i18next

i18next をベースにした React 向けの強力な i18n フレームワーク。名前空間、補間、複数形などを標準搭載。

名前空間付きで i18next 互換の JSON にエクスポート。Better i18n が翻訳ワークフローを、i18next がランタイムを担います。

Better i18n + FormatJS

react-intl を含む国際化ライブラリ群。ICU メッセージ構文と CLDR データに対応。

Better i18n は ICU メッセージ形式をネイティブでサポートします。複雑な複数形や select をビジュアルに管理し、FormatJS 形式へエクスポートできます。

Better i18n + Lingui

読みやすく、自動化され、最適化された i18n ライブラリ。マクロベースのメッセージ抽出で優れた DX。

Lingui CLI でメッセージを抽出し、Better i18n で翻訳を管理。GitHub 連携で自動的に同期します。

クイックスタート

React アプリで Better i18n を数分で始められます。

import { useTranslations } from '@better-i18n/use-intl';

function MyComponent() {
  const t = useTranslations('common');

  return (
    <div>
      <h1>{t('welcome')}</h1>
      <p>{t('greeting', { name: 'World' })}</p>
    </div>
  );
}

React i18n で開発を始める

無料プランあり。クレジットカード不要。