tx
tx 文字列翻訳関数のAPIリファレンス
概要
tx 関数は、文字列を翻訳するためのサーバーサイド関数です。
await tx('Hello, world!'); // 「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 !", { $locale: 'fr' });
}注意事項
txはサーバーサイド専用で、クライアントサイドのコンポーネントでは使用できません。txによる翻訳は実行時に行われ、その場で処理されます。これはビルド時の翻訳に比べて大幅に遅くなります。
次のステップ
- デプロイ前に文字列を翻訳する方法については、
useGTとgetGTを参照してください。 - JSX を翻訳する場合は、
<T>と<Tx>を参照してください。 - 翻訳のカスタマイズについて詳しくは、
RuntimeTranslationOptionsを参照してください。
このガイドはいかがですか?