Inline Translations

tx

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

概要

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

await tx('こんにちは、世界!'); // 「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, le monde !", { $locale: 'fr' }); 
}

注意事項

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

次のステップ

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

このガイドはどうでしたか?

tx