# General Translation Knowledge Base: General Translation と Tolgee の比較：どちらを使うべきか？
URL: https://generaltranslation.com/ja/kb/general-translation-vs-tolgee.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Tolgee は、キーベースのメッセージ、インコンテキスト編集、AI 翻訳を、セルフホスト可能な 1 つのプラットフォームで提供します。General Translation は読みやすい文言をコンポーネント内に直接記述し、マークされた JSX から翻訳を生成します。そのため、メッセージキーを管理しなくても、新しい文言をすべての言語でリリースできます。
Category: ワークフローツール
Last updated: 2026-10-16
Authors: Kevin Wu, Jackie Chen
Published: 2026-10-16

Tolgee はオープンソースのローカライゼーションプラットフォームです。各文字列にキーを割り当て、CLI または SDK でキーを Tolgee のプロジェクトに同期します。そこで機械翻訳や AI、チームのメンバーが翻訳し、その結果をファイルとして、または Tolgee の CDN 経由でアプリに読み込みます。Docker イメージを使ってセルフホストすることも、Tolgee Cloud を利用することもできます。最大の特長はインコンテキスト編集で、実行中のアプリで ALT キーを押しながら任意のテキストをクリックすると、その場で翻訳できます。ただし、このエディターの周辺にあるキーベースの作業サイクルは、エンジニアが担う必要があります。一方、General Translation はコードを起点とします。コンテンツはコンポーネント内に置いたまま、翻訳はビルドの一部として実行されます。

## Tolgee の強み

* **セルフホスト可能なオープンソース。** プラットフォームのコア部分は [Apache 2.0](https://tolgee.io/licencing) で提供されています。一方、`ee` ディレクトリ内の機能 (SSO、きめ細かな権限、用語集、タスク、ブランチ管理、Webhook など) は Tolgee EE License の対象で、利用にはライセンスキーが必要です。[無料のセルフホスト版](https://tolgee.io/pricing/self-hosted)では、コア機能、無制限のキー、最大 10 シート、自前のプロバイダーキーによる機械翻訳を利用できます。
* **インコンテキスト編集。** 開発中は、ALT (Mac では Option) を押しながら実行中のアプリ内の文字列をクリックするだけで、その翻訳を編集できます。Chrome および Firefox 向けの [Tolgee Tools 拡張機能](https://docs.tolgee.io/js-sdk/in-context)を導入すると、同じダイアログからスクリーンショットを撮影できるほか、本番環境でもインコンテキスト編集が使えるようになります。
* **多様なスタックに対応する SDK。** [JavaScript SDK](https://docs.tolgee.io/js-sdk) は React、Vue、Angular、Svelte、素の JavaScript に対応し、i18next と連携できるインテグレーションも用意されています。[iOS](https://docs.tolgee.io/ios-sdk) および Android SDK を使えば、アプリを再リリースしなくても Tolgee の CDN から文字列を更新できます。
* **コードを解析する CLI。** `@tolgee/cli` は React、Vue、Svelte、Angular のコードから[キーとそのデフォルト値を抽出](https://docs.tolgee.io/tolgee-cli/extraction/parsers)し、`push`、`pull`、`sync`、`compare` コマンドで Tolgee プロジェクトとリポジトリを同期した状態に保ちます。XLIFF、ARB、Java properties など、多くのフォーマットのインポート・エクスポートに対応しています。
* **文脈を活用する AI。** [機械翻訳](https://docs.tolgee.io/platform/translation_process/machine_translation)には DeepL、Google、Amazon、Azure を利用できます。AI Translator は、Tolgee Cloud では Claude または OpenAI のモデルを使用し、自前の OpenAI、Azure OpenAI、Anthropic、Gemini、OpenAI 互換プロバイダーを使うこともできます。翻訳時には、スクリーンショット、キーやプロジェクトの説明、翻訳メモリ、[SDK が記録したキー間の関係](https://docs.tolgee.io/platform/translation_process/ai_translator)を参照します。
* **柔軟な配信オプション。** [Content Delivery](https://docs.tolgee.io/platform/projects_and_organizations/content_delivery) は翻訳を Tolgee の CDN、または自前の S3 や Azure ストレージに公開します。そのため、Web アプリは再ビルドなしで変更を反映できます。

## Tolgee を導入してもエンジニアの手に残る作業

Tolgee では、UI 上のすべての文字列が、デフォルト値を持つキーとして管理されます。

```tsx title="src/Inbox.tsx"
import { T, useTranslate } from '@tolgee/react';

export function Inbox({ count }: { count: number }) {
  const { t } = useTranslate();
  return (
    <section>
      <h1>
        <T keyName="inbox_title" defaultValue="Inbox" />
      </h1>
      <p>
        {t('inbox_unread', '{count, plural, one {# unread message} other {# unread messages}}', { count })}
      </p>
    </section>
  );
}
```

このファイルに対して `npx @tolgee/cli extract print` (CLI 2.21.0) を実行すると、2つのキーとそれぞれの英語のデフォルト値が検出されます。

```text title="Output"
2 keys found in src/Inbox.tsx:
	line 8: inbox_title
		default: Inbox
	line 11: inbox_unread
		default: {count, plural, one {# unread message} other {# unread messages}}
```

抽出によってキーは見つかりますが、新しいテキストをすべての言語に反映させるには、依然として次のサイクルを繰り返す必要があります。

1. 文字列ごとにキー名を決め、英語のテキストをそのデフォルト値として記述します。
2. `tolgee push` または [`tolgee sync`](https://docs.tolgee.io/tolgee-cli/extraction/syncing-strings) を使って、Tolgee プロジェクトにキーを作成します。
3. 機械翻訳、AI Translator、または翻訳者に翻訳させ、結果をレビューします。
4. [`tolgee pull`](https://docs.tolgee.io/tolgee-cli/push-pull-strings) を実行してファイルをコミットするか、Content Delivery を設定して SDK の参照先に指定します。その後、新しい言語をそれぞれアプリに追加します。

キーが翻訳されるまでは、読者にはフォールバック言語か英語のデフォルト値が表示されます。また、AI Translator が手がかりにするのは、誰かが添付したスクリーンショットや説明、そして画面上でどのキーが一緒に表示されるかという情報であり、その文字列をレンダリングするコンポーネント自体ではありません。

Tolgee Cloud の料金は主にホストされる単語数で決まり、基本言語と各翻訳はそれぞれ別にカウントされます。機械翻訳のクレジットはプランごとに付与され、現行プランではシート数は無制限です。セルフホスト版のライセンス料金は、キー数とシート数によって決まります。 ([Tolgee の料金](https://tolgee.io/pricing)を参照。2026 年 10 月時点。)

## Tolgee と General Translation の比較一覧

| 機能           | Tolgee                                                                           | General Translation                                                                                                              |
| ------------ | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| 文字列の管理場所     | デフォルト値付きのキーとしてコード内に記述し、Tolgee プロジェクトと同期                                          | コード内の [`<T>`](/docs/react/reference/components/t) の中、または既存のリソースファイル内                                                             |
| コードとの連携方法    | `@tolgee/cli` の `push`、`pull`、`sync`、または開発時の SDK                                 | ビルド時に実行する [`npx gt translate`](/docs/cli/reference/commands/translate)、または [Locadex](/docs/platform/locadex/quickstart) のプルリクエスト |
| 翻訳の担い手       | 機械翻訳、AI Translator、または自社の翻訳者                                                     | コード、用語集、カスタムプロンプトの文脈を活用して AI が翻訳し、チームがダッシュボードでレビュー                                                                               |
| 各文字列の文脈      | キーやプロジェクトの説明、スクリーンショット、翻訳メモリ、キー同士の関連付け                                           | マークされた JSX ブロック内の構造、文脈メモ、共有の用語集とカスタムプロンプト                                                                                        |
| アプリ内編集       | 実行中のアプリで ALT+クリックにより編集可能 (ブラウザ拡張機能を使えば本番環境でも可)                                   | ダッシュボードの翻訳エディターでレビュー・編集                                                                                                          |
| ホスティング       | Docker によるセルフホスト、または Tolgee Cloud                                                | ホスト型プラットフォーム。ライブラリと CLI はオープンソース                                                                                                 |
| 料金           | 無料プランあり。Cloud プランはホストする単語数、セルフホストライセンスはキー数とシート数に応じて課金                            | [翻訳量に応じた従量課金制](https://generaltranslation.com/pricing)                                                                           |
| ネイティブモバイルアプリ | iOS および [Android SDK](https://docs.tolgee.io/android-sdk) による OTA (無線) アップデートに対応 | CLI で iOS と Android の文字列ファイルを翻訳し、アプリのリリースに含めることが可能                                                                               |

## Tolgee ではなく General Translation が選ばれる理由

General Translation はコードを起点とするため、キーの命名や同期は必要ありません。[`<T>`](/docs/react/reference/components/t) でコンテンツそのものをラップするだけです。以下は、[プロバイダーをセットアップ](/docs/react/react-quickstart)したうえで、同じ受信トレイを `gt-react` で実装した例です。

```tsx title="src/Inbox.tsx"
import { T, Plural, Num } from 'gt-react';

export function Inbox({ count }: { count: number }) {
  return (
    <T>
      <section>
        <h1>Inbox</h1>
        <p>
          <Plural
            n={count}
            singular={<><Num>{count}</Num> unread message</>}
            plural={<><Num>{count}</Num> unread messages</>}
          />
        </p>
      </section>
    </T>
  );
}
```

見出しとメッセージは翻訳元のコード内でひとまとまりのまま管理されます。[`npx gt translate`](/docs/cli/reference/commands/translate) は、各対象言語に必要な複数形も含めて、翻訳済みのブロックを生成します。

* **より速く。** [`npx gt translate`](/docs/cli/reference/commands/translate) をビルド内で実行するか、コード変更時に Locadex にプルリクエストを作成させることで、新しい文言は追加されたリリースと同時に翻訳済みの状態で出荷されます。言語の追加は `gt.config.json` に 1 行加えるだけで、次回のビルドでプロジェクト全体がその言語に翻訳されます。
* **運用コストが低い。** エンジニアは、文ごとにキーを命名したり、翻訳元の辞書を別途管理したりすることなく、読みやすい JSX をそのまま編集できます。文言の変更と、それを使うコンポーネントを同じコードレビューで確認できます。
* **より高品質。** 受信トレイの例では、見出し、メッセージの構造、複数形の分岐がまとめて送信されます。そのため、単独の文を訳す場合よりも多くの意味を翻訳に反映できます。さらに、[コンテキストグループ](/docs/platform/dashboard/guides/defining-context-for-translations)を通じて、用語集とカスタムプロンプトで製品固有の用語やトーンを指定できます。
* **リスクが低い。** 生成されたテキストは[ダッシュボードの翻訳エディター](/docs/platform/dashboard/guides/reviewing-translations)でレビューでき、翻訳は自社のビルド内に保持できます。MIT ライセンスの JavaScript ライブラリなら、General Translation のアカウントやランタイムでのサービス呼び出しがなくても、これらのファイルをレンダリングできます。

Ramp は General Translation を使って、ダッシュボード、ランディングページ、iOS アプリを 11 以上のロケールにローカライズしています。 ([本番環境での導入事例](https://generaltranslation.com/enterprise)を参照してください。)

## Tolgee の方が適しているケース

プラットフォーム全体をセルフホストしたい場合、翻訳者やプロダクトマネージャーが実行中のアプリ上でテキストをクリックして直接編集したい場合、フロントエンドが Angular や Svelte の場合、[XLIFF、ARB、CSV ファイル](https://docs.tolgee.io/platform/supported_formats)をやり取りする場合、またはネイティブの iOS・Android アプリで文字列を OTA (Over-the-Air) で更新する必要がある場合は、Tolgee を選びましょう。一方、プロダクトのテキストの大半が React、Next.js、Vue のコード内にあり、キーを同期する手間をかけずに、各リリースをすべての言語で提供したい場合は、General Translation が適しています。

## TolgeeからGeneral Translationへの移行

移行は機能単位で1つずつ進めてください。各 `<T keyName="…" defaultValue="…" />` は、英語のコンテンツをGeneral Translationの [`<T>`](/docs/react/reference/components/t) で囲む形に置き換え、各 `t('key', 'default')` は [`useGT`](/docs/react/reference/hooks/use-gt) に置き換えます。チームでキーを引き続き使いたい場合は、英語の値を辞書にまとめ、[`useTranslations`](/docs/react/reference/hooks/use-translations) で読み込んでください。すべての機能の移行が完了するまでは、Tolgeeの翻訳も引き続き読み込んでおきます ([i18nライブラリの移行](/docs/react/guides/migrating-i18n-libraries)を参照) 。用語集もあわせて移行しましょう。コンテキストグループでは、CSV、TSV、JSON、テキストファイルをインポートできます ([翻訳の文脈を定義する](/docs/platform/dashboard/guides/defining-context-for-translations)を参照) 。

## General Translation は Tolgee の代替になりますか？

はい、プロダクトのテキストの大部分が React、Next.js、Vue のコード内にある場合は代替になります。General Translation はそうしたコンテンツをビルド時に翻訳するため、キーを作成したり同期したりする必要はありません。一方、プラットフォームをセルフホストしたい場合や、翻訳者が実行中のアプリ上で直接テキストを編集できるようにしたい場合は、Tolgee のほうが適しています。

## 要点

* Tolgee は、オープンソースでセルフホストも可能なローカライゼーションプラットフォームです。インコンテキスト編集、多様なスタックに対応した SDK、スクリーンショットや説明文を参照する AI 機能を備えています。
* Tolgee の SDK と CLI は、キーで管理された翻訳元メッセージを、翻訳、レビュー、配信の各工程へとつなぎます。
* General Translation のインライン記述なら、メッセージキーを管理する必要はありません。翻訳元は JSX 内で読みやすいまま記述でき、翻訳はビルド時に生成され、ダッシュボードでレビューできます。

## Related questions

- [TMS（Smartling、Lokalise、Phrase、Crowdin、Transifex）ではなく General Translation を使う理由](https://generaltranslation.com/ja/kb/general-translation-vs-tms.mdx): Smartling、Lokalise、Phrase、Crowdin、Transifex などの翻訳管理システム（TMS）は翻訳者間の作業を取りまとめますが、文字列の抽出、送信、翻訳待ち、プロダクトへの再組み込みは依然としてエンジニアの仕事です。General Translation はコード内のコンテンツを文脈ごと翻訳し、リリースのたびに全言語をまとめて提供します。ロックインのないオープンソースのライブラリ上で動作します。
- [General Translation と Weblate の比較：どちらを使うべきか](https://generaltranslation.com/ja/kb/general-translation-vs-weblate.mdx): Weblate は、コミュニティやチームでリポジトリ内のファイルを翻訳するために作られた、セルフホスト可能な Git ベースのローカライゼーションプラットフォームです。General Translation は、マークされた JSX と共有されたプロダクトの文脈を用いて、翻訳の生成を開発とリリースに組み込みます。既存の gettext ファイルをそのまま使い続けることも、インライン記述を導入して翻訳元カタログの保守そのものをなくすこともできます。
- [General Translation と Locize：どちらを使うべきか？](https://generaltranslation.com/ja/kb/general-translation-vs-locize.mdx): Locize は i18next の開発者が手がける翻訳管理システムで、CDN から翻訳を配信し、稼働中のアプリから新しいキーを収集できるほか、AI 翻訳やインコンテキストエディターも備えています。ただし、i18nライブラリとそのキーは引き続き自分たちで管理する必要があります。General Translation は、i18nライブラリそのものとして翻訳まで担うことも、既存の i18next ファイルを翻訳することもできます。
- [開発者にとって最適なローカライゼーションソフトウェアとは？](https://generaltranslation.com/ja/kb/best-localization-software.mdx): ライブラリ、翻訳管理システム、翻訳ベンダーを個別に組み合わせるのではなく、コード内のi18nライブラリから翻訳、配信まで、パイプライン全体を1つでカバーできるシステムを選びましょう。
- [翻訳ファイルなしで i18n はできますか？](https://generaltranslation.com/ja/kb/i18n-without-translation-files.mdx): はい。gt-react または gt-next を使えば、コンテンツは `<T>` コンポーネントで囲んだままコンポーネント内にインラインで記述でき、翻訳はビルド時に出力として生成されます。そのため、キーやロケールごとの JSON ファイルを作成したり、同期を保ったりする必要はありません。

## Previous and next questions

- Previous question: [General Translation と Symfony Translation の比較：どちらを使うべきか](https://generaltranslation.com/ja/kb/general-translation-vs-symfony-translation.mdx)
- Next question: [General Translation と vue-i18n：どちらを使うべきか](https://generaltranslation.com/ja/kb/general-translation-vs-vue-i18n.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/ja/kb/sitemap.md) for every article.
