tx
tx 文字列翻訳関数のAPIリファレンス
概要
tx 関数は、文字列を翻訳するためのサーバーサイド関数です。
await tx('こんにちは、世界!'); // 「Hola, mundo!」を返しますランタイム翻訳:
tx の翻訳は実行時に行われます。
つまり、実行時に確定するコンテンツを対象に、その場で翻訳できます。
リファレンス
パラメーター
Prop
Type
| 名称 | 説明 | 
|---|---|
| content | 翻訳する文字列。 | 
| options | txの動作をカスタマイズする翻訳 options。RuntimeTranslationOptionsを参照。 | 
返り値
翻訳済みコンテンツの文字列、または翻訳不要な場合は元のコンテンツの文字列を解決する Promise。
挙動
tx 関数は文字列を実行時に翻訳します。
つまり、翻訳はリアルタイムで行われるため、実行時になって初めて判明するコンテンツも翻訳できます。
その一方で、オンデマンド翻訳の読み込み待ちが発生するため、処理は明らかに遅くなります。
推奨としては、getGT、useGT、または <T> を使って、可能な限りビルド時に翻訳を済ませ、
tx や <Tx> といったオンデマンド翻訳は必要な場合にのみ使用してください。
必ずこちらのデプロイガイドに従ってください。
例
基本的な使い方
tx を使って文字列を翻訳できます。
import { tx } from 'gt-next/server';
export default async function translateGreeting() {
    return await tx("こんにちは、世界!"); 
}コンテキストの追加
翻訳時に考慮されるコンテキストを指定して、翻訳をカスタマイズできます。
import { tx } from 'gt-next/server';
export default async function TranslateWithOptions() {
    return await tx("やあ、世界!", {
      $context: 'くだけた口調で翻訳'
    });
}変数の使用
文字列に値を渡すには、(1) 識別子を割り当て、(2) 渡すオブジェクトでその識別子を参照する必要があります。
import { tx } from 'gt-next/server';
export default async function translateWithVariables() {
  return await tx("費用は{price, number, ::currency/USD}です。", {
    price: 29.99,
  });
}Locale の指定
翻訳に使用する locale を指定できます。 既定では、locale はユーザーの優先言語が設定されます。
import { tx } from 'gt-next/server';
export default async function translateWithLocale() {
    return await tx("Bonjour, le monde !", { $locale: 'fr' }); 
}注意事項
- txはサーバーサイド専用で、クライアントサイドのコンポーネントでは使用できません。
- txによる翻訳は実行時に行われ、リアルタイムに翻訳されます。これはビルド時の翻訳よりも大幅に遅くなります。
次のステップ
- デプロイ前に文字列を翻訳する方法は、useGTとgetGTを参照してください。
- JSX を翻訳する場合は、<T>と<Tx>を参照してください。
- 翻訳をカスタマイズする方法の詳細は、RuntimeTranslationOptionsを参照してください。
このガイドはどうでしたか?

