|Labs
デモを予約プラットフォーム
React (Lingo Compiler)
Alpha
React MCPReact (i18n)
旧CLI(v0)
非推奨

概要

  • @lingo.dev/react

はじめに

  • クイックスタート

リファレンス

  • LingoProvider
  • useLingo
  • 複数形と select
  • 書式設定

クイックスタート

このガイドでは、1つの React コンポーネントをエンドツーエンドで翻訳する流れを紹介します。ランタイムのインストールから、アプリのラップ、翻訳の記述、抽出、別のロケールでの表示までを順に進めます。

1

ランタイムをインストール

bash
npm install @lingo.dev/react

Next.js を使っている場合は、@lingo.dev/react-next もあわせてインストールしてください。同じランタイムをベースに、ルーター対応のヘルパーが追加されます。

2

LingoProvider でアプリをラップ

tsx
import { LingoProvider } from "@lingo.dev/react";
import esMessages from "./locales/es.json";

export function App() {
  return (
    <LingoProvider locale="es" messages={esMessages}>
      <Page />
    </LingoProvider>
  );
}

messages はコンテンツハッシュをキーにしたオブジェクトで、CLI が locales/<locale>.json に出力するものそのものです。初回実行時は空でも問題ありません。未翻訳の文字列は元のソーステキストがそのまま表示されます。

3

ソースコード内で翻訳を書く

tsx
import { useLingo } from "@lingo.dev/react";

function Page() {
  const l = useLingo();
  return <h1>{l.text("Hello", { context: "Hero heading" })}</h1>;
}

l.text(source, { context }) が基本となる呼び出しです。context は必須で、英語では同じ表記でも他の言語では意味が分かれる文字列(動詞の "Save" と名詞の "Save" など)を翻訳者が正しく区別できるようにします。

4

文字列を抽出

bash
lingo extract

ソースコードをスキャンし、"Hello" とコンテキストから安定したハッシュを計算して、ソースロケールファイル(デフォルトでは locales/en.jsonc)に書き出します。変更があれば都度再実行してください。抽出は冪等です。

5

翻訳のためにプッシュ

bash
lingo push --backfill-missing

CLI はソースファイルをアップロードし、エンジンに設定済みの対象ロケールへの翻訳を依頼し、その結果を locales/<locale>.json にダウンロードします。以後のプッシュでは、変更分だけが送信されます。

6

翻訳されたテキストを表示

アプリが現在表示しているロケール用の JSON ファイルをインポートするか、ユーザーに応じて動的に選択し、それを LingoProvider に渡します。ステップ 3 のフック呼び出しはそのままで、l.text("Hello", ...) はダウンロード済みの内容とハッシュが一致するため、翻訳済みの値を返すようになります。

これで一連の流れは完了です。 ソース言語でコードを書き、抽出し、プッシュして、表示する。別途管理する i18n キーの名前空間はありません。ソース文字列そのものが、ハッシュを通じてキーになります。

次に読むもの#

  • LingoProvider — messages の構成、プロバイダーをネストするタイミング、ロケールの切り替えについて。
  • useLingo — 翻訳内の React サブツリー向けの l.rich() を含む、フック API の全体像。
  • Plurals and select — "1 item" / "N items" を適切に扱う方法。

このページは役に立ちましたか?

Max PrilutskiyMax Prilutskiy·更新済み 約1か月前·1分で読めます