Strings

tx()

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

概要

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

await tx('Hello, world!'); // returns 'Hola, mundo!'

ランタイム翻訳: tx() の翻訳はランタイムで行われます。 これは、ランタイムで知られているコンテンツをライブで翻訳できることを意味します。

リファレンス

パラメーター

PropTypeDefault
content?
string
-
options??
RuntimeTranslationOptions
{}
名前説明
content翻訳が必要な文字列。
optionstx() の動作をカスタマイズするための翻訳オプション。 RuntimeTranslationOptions を参照してください。

戻り値

翻訳されたコンテンツを含む文字列、または翻訳が必要ない場合は元のコンテンツを含む文字列に解決されるプロミス。

動作

tx() 関数は実行時に文字列を翻訳します。 これは翻訳がライブで行われることを意味し、実行時にのみ知られるコンテンツを翻訳することができます。 その代償として、オンデマンド翻訳の読み込みを待つ間に遅延が発生し、かなり遅くなります。

私たちのアドバイスは、getGT()useGT()、または <T> を使用して、ビルド時にできる限りすべてを翻訳し、必要な場合にのみ tx()<Tx> のようなオンデマンド翻訳を使用することです。

こちらのデプロイメントガイドに従ってください。

基本的な使い方

tx() を使用して文字列を翻訳できます。

src/components/translateGreeting.jsx
import { tx } from 'gt-next/server';
 
export default async function translateGreeting() {
    return await tx("Hello, world!"); 
}

コンテキストの追加

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

TranslateWithOptions.jsx
import { tx } from 'gt-next/server';
 
export default async function TranslateWithOptions() {
    return await tx("Hello, world!", {
        context: 'Translate informally'
    });
}

変数の使用

文字列に値を渡すためには、(1) 識別子を割り当て、(2) variables フィールドで識別子を参照する必要があります。

translateWithVariables.js
import { tx } from 'gt-next/server';
 
export default async function translateWithVariables() {
    return await tx("The cost is {price}", {
        variables: { price : 29.99 },
        variableOptions: { price : { style: 'currency', currency: 'MXN' } }
    });
}

ロケールの指定

翻訳に使用するロケールを指定できます。 デフォルトでは、ロケールはユーザーの優先言語に設定されています。

translateWithLocale.js
import { tx } from 'gt-next/server';
 
export default async function translateWithLocale() {
    return await tx("Hello, world!", { locale: 'fr' }); 
}

注意

  • tx() はサーバーサイド専用で、クライアントサイドのコンポーネントでは使用できません。
  • tx() を使用した翻訳は実行時に行われるため、ライブで翻訳されます。これはビルド時の翻訳よりもかなり遅くなります。

次のステップ

  • デプロイ前に文字列を翻訳するには、useGT() および getGT() を参照してください。
  • jsx を翻訳するには、<T> および <Tx> を参照してください。
  • 翻訳をカスタマイズするための詳細情報については、RuntimeTranslationOptions を参照してください。

このページについて