# gt-next: General Translation Next.js SDK: getGT URL: https://generaltranslation.com/en-US/docs/next/api/strings/get-gt.mdx --- title: getGT description: API reference for the getGT() string translation function --- ## Overview The `getGT` function is an async function for translating strings at build time. ```jsx const gt = await getGT();

{ gt('This text will be translated') }

; ``` **Buildtime Translation:** `getGT` translations occur at buildtime, before your app deploys. Though you can pass variables to the translated string, you can only translate content known at build time. ## Reference ### Parameters None ### Returns A promise of a callback function, `gt`, which translates the provided content. ```jsx Promise<(content: string, options?: InlineTranslationOptions) => string> ``` | Name | Type | Description | |-----------------------|--|-----------------------------------------------------------------------------| | `content` | `string` | The string content to be translated. | | `options?` | [`InlineTranslationOptions`](/docs/next/api/types/inline-translation-options) | Translation options to customize the behavior of `gt`. | --- ## Behavior ### Production During the CD process, any content inside of a `gt` function will be translated before your application is deployed. This ensures fast load times for all locales, but it can only translate content known at build time. Once generated, translations are either (1) stored in the CDN or (2) stored in your app's build output, according to your configuration. From there, the translated content is served to your users. If a translation is not found, it will fallback to the original content. Make sure to follow the [deployment guide here](/docs/next/tutorials/quickdeploy). ### Development During development, the `gt` function will translate content on demand. This is useful for prototyping what your app will look like in different languages. Remember to add a Dev API key to your environment to enable this behavior. You will see a delay during on demand translation in development. This will not occur in production builds unless content is explicitly being translated on demand, i.e., using [`tx`](/docs/next/api/strings/tx) or [``](/docs/next/api/components/tx). --- ## Example ### Basic usage You can use `getGT` to translate strings. ```javascript copy import { getGT } from 'gt-next/server'; export default async function TranslateGreeting() { const gt = await getGT(); return (

{gt('Hello, Alice!')}

); } ``` Note: "Alice" will be translated to the user's preferred language. ### Using variables [#variables] You can pass variables to dictionary translations. ```javascript copy import { getGT } from 'gt-next/server'; export default async function TranslateGreeting() { const gt = await getGT(); return (

{gt('Hello, {name}!', { name: 'Alice' })}

); } ``` Note: "Alice" will not be translated to the user's preferred language because it is a variable. ### Using ICU message format `gt-next` supports ICU message format, which allows you to also format your variables. ```javascript copy import { getGT } from 'gt-next/server'; export default async function TranslateGreeting() { const gt = await getGT(); return (

{gt('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 })}

); } ``` ICU message format is a powerful way to format your variables. For more information, see the [ICU message format documentation](https://unicode-org.github.io/icu/userguide/format_parse/messages/). --- ## Notes * The `getGT` function is a server-side function that translates strings. * Translations strings with `getGT` happen before runtime, during the build process (unless in development). ## Next steps * See [`useGT`](/docs/next/api/strings/use-gt) for client-side string translations at buildtime. * For runtime translations, see [`tx`](/docs/next/api/strings/tx) and [``](/docs/next/api/components/tx).