Inline Translations

tx

tx 文字列翻訳関数のAPIリファレンス

概要

tx 関数は、文字列を翻訳するためのサーバーサイド関数です。

await tx('Hello, world!'); // 「Hola, mundo!」を返します

ランタイム翻訳: tx の翻訳はランタイムに行われます。 つまり、翻訳は実行時にライブで行われるため、実行時に確定するコンテンツを翻訳できます。

リファレンス

パラメーター

Prop

Type

名称説明
content翻訳する文字列。
optionstx の動作をカスタマイズするための options。RuntimeTranslationOptions を参照してください。

返り値

翻訳済みコンテンツを含む文字列、または翻訳不要の場合は元のコンテンツに解決される Promise。


動作

tx 関数は実行時に文字列を翻訳します。 つまり、翻訳はライブで行われ、実行時になって初めて判明するコンテンツも翻訳できます。 その代償として、オンデマンド翻訳の読み込み待ちによる遅延が発生し、処理は大幅に遅くなります。

推奨は、getGTuseGT、または <T> を使って、可能な限りビルド時に翻訳を済ませ、 tx<Tx> といったオンデマンド翻訳は必要な場合にのみ使用することです。

必ずこちらのデプロイガイドに従ってください。


基本的な使い方

tx を使って文字列を翻訳できます。

src/components/translateGreeting.jsx
import { tx } from 'gt-next/server';

export default async function translateGreeting() {
    return await tx("こんにちは、世界!"); 
}

コンテキストの追加

翻訳時に考慮されるコンテキストを指定することで、翻訳をカスタマイズできます。

TranslateWithOptions.jsx
import { tx } from 'gt-next/server';

export default async function TranslateWithOptions() {
    return await tx("やあ、みんな!", {
      $context: 'カジュアルに訳す'
    });
}

変数の使用

文字列に値を渡すには、(1) 識別子を割り当て、(2) 渡すオブジェクトでその識別子を参照する必要があります。

translateWithVariables.js
import { tx } from 'gt-next/server';

export default async function translateWithVariables() {
  return await tx("費用は{price, number, ::currency/USD}です", {
    price: 29.99,
  });
}

locale の指定

翻訳に使用する locale を指定できます。 既定では、locale はユーザーの優先言語に設定されます。

translateWithLocale.js
import { tx } from 'gt-next/server';

export default async function translateWithLocale() {
    return await tx("Bonjour !", { $locale: 'fr' }); 
}

注意事項

  • tx はサーバーサイド専用で、クライアントサイドのコンポーネントでは使用できません。
  • tx による翻訳は実行時に行われ、その場で処理されます。これはビルド時の翻訳に比べて大幅に遅くなります。

次のステップ

  • デプロイ前に文字列を翻訳する方法については、useGTgetGT を参照してください。
  • JSX を翻訳する場合は、<T><Tx> を参照してください。
  • 翻訳のカスタマイズについて詳しくは、RuntimeTranslationOptions を参照してください。

このガイドはいかがですか?