Better Translatebetter-translate
  • ドキュメント
  • CLI
  • 変更履歴
  • ドキュメント
  • CLI
  • 変更履歴
GitHub
同じ設定。ホスト型またはローカルモデル

あらゆるTypeScriptプロジェクト向けの1つのi18n設定あらゆるTypeScriptプロジェクト向けの1つのi18n設定

同じ設定。同じAPI。Next.js、Astro、React、TanStack Router、プレーンなNodeで、AI GatewayまたはローカルのOllamaモデルを使用。書き換え不要。

ドキュメントを見る
GitHubで見る
プロジェクトをスポンサーする
translate.ts
export const landingTranslationsConfig = {
  availableLocales: ["en", "es"] as const,
  defaultLocale: "en",
  fallbackLocale: "en",
  messages: { en, es },
} as const;

const translator = await configureTranslations(landingTranslationsConfig);

const { t } = createTranslationHelpers(translator);

t("hero.title")                    // -> "One i18n setup for any TypeScript project."
t("hero.descriptionParam", {
  params: {
    param1: "value1",
  }
})              // -> localized copy param
t("header.language", {
  locale: "es"
})                                 // -> "Idioma"
t("Write source strings", { bt: true })  // -> auto-extracted & keyed by CLI

どこでも同じ設定

i18n設定を書き換えることなくフレームワークを切り替えられます

TSTypeScriptbun add @better-translate/core
Astrobun add @better-translate/astro
Bunbun add @better-translate/core
Node.jsbun add @better-translate/core
Reactbun add @better-translate/react
Next.jsbun add @better-translate/nextjs
TanStack Routerbun add @better-translate/tanstack-router

同じセットアップ。あらゆる環境

どのTypeScript環境でも、同じセットアップ、同じAPI、同じ体験が得られます。

同じ設定、あらゆる環境

翻訳設定を一度記述すれば、Next.js、Astro、React、TanStack Router、そしてプレーンなNodeで同じように動作します。環境を切り替えても、設定はそのままです。

デフォルトで型安全

翻訳キーと補間変数の完全なTypeScript推論。タイプミスや不足キーはコンパイルエラーになります。

どこでもオートコンプリート

エディタはmessagesオブジェクトのすべてのキーを認識します。`t("home.`と入力すれば即座に補完が開始されるため、推測する必要がありません。

ロケール切り替え

ページの再読み込みなしで、実行時にロケールを切り替えられます。呼び出しごとの上書きにより、必要に応じて任意のロケールをレンダリングできます。

ホスト型またはローカル。同じCLI

AI Gatewayを使用する場合も、ローカルのOllamaモデルを使用する場合も、同じCLIでロケールファイルを生成できます。

better-translate.config.ts
import { createOllama } from "ollama-ai-provider-v2";
import { defineConfig } from "@better-translate/cli/config";

const ollama = createOllama({
  baseURL: process.env.OLLAMA_BASE_URL ?? "http://127.0.0.1:11434/api",
});

export default defineConfig({
  sourceLocale: "en",
  locales: ["es", "fr"],
  model: ollama("qwen3:4b"),
  providerOptions: {
    ollama: {
      think: true,
    },
  },
  messages: {
    entry: "./src/messages/en.json",
  },
});

あなたのフレームワーク、あなたの選択

あなたの翻訳設定は、あらゆるTypeScript環境で同じように動作します。ネイティブアダプター、同一のAPI。

TS

TypeScript

messagesから得られる強力な型、オートコンプリート、およびコンパイル時フィードバック。

bun add @better-translate/core

Astro

リクエストスコープのヘルパーと、.mdおよび.mdx用のローカライズされたAstroコンテンツコレクション。

bun add @better-translate/astro

Bun

追加設定なしのネイティブBunランタイム対応。

bun add @better-translate/core

Node.js

スクリプト、サーバー、バックグラウンドジョブ向けのゼロ依存コア。

bun add @better-translate/core

React

Context、フック、およびReactアプリ向けのロケール認識クライアントレンダリング。

bun add @better-translate/react

Next.js

サーバーコンポーネント、App Router、およびルート認識型ロケールヘルパー。

bun add @better-translate/nextjs

TanStack Router

TanStack Startアプリを含むTanStack Routerプロジェクト向けの型安全ルーティング対応。

bun add @better-translate/tanstack-router
Better Translate
ドキュメントGitHubスポンサーnpm

MITライセンス · TypeScriptで構築