# gt-next: General Translation Next.js SDK: getTranslations URL: https://generaltranslation.com/en-US/docs/next/api/dictionary/get-translations.mdx --- title: getTranslations description: API reference for the getTranslations server-side translation function --- ## Overview `getTranslations` is used to get string translations from the [translation dictionary](/docs/next/guides/dictionaries) for server-side components. ```jsx const d = await getTranslations(); // Get the translation function d('greeting.hello'); // pass the id to get a translation ``` `getTranslations` supports: * Translation of string and jsx content. * Variable insertion and conditional logic within translations. * Optional id prefixing. For client-side translations, see [`useTranslations`](/docs/next/api/dictionary/use-translations). `getTranslations` and `useTranslations` use a [dictionary](/docs/next/guides/dictionaries) to store all content for translation. This is different from using the [`` component](/docs/next/guides/t) for translation. If you are interested in only using `` components for translation, then this document is not relevant. ## Reference ### Props ### Description | Prop | Description | | ---- | ----------- | | `id` | An optional prefix to prepend to all translation keys. This is useful for working with nested dictionary values. | ### Returns A promise of a translation function `d` that, given an id, will return the translated version of the corresponding entry ```jsx Promise<(id: string, options?: DictionaryTranslationOptions) => React.ReactNode> ``` | Name | Type | Description | |-----------------------|--|-----------------------------------------------------------------------------| | `id` | `string` | The id of the entry to be translated | | `options?` | [`DictionaryTranslationOptions`](/docs/next/api/types/dictionary-translation-options) | Translation options to customize the behavior of `d`. | --- ## Examples ### Basic dictionary usage Every entry in your dictionary gets translated. ```jsx title="dictionary.jsx" copy const dictionary = { greeting: <>Hello, Alice!, // [!code highlight] }; export default dictionary; ``` When we want to access these entries (on the server side), we call `getTranslations`. This returns a function that accepts the key of a translation from the dictionary. ```jsx title="TranslateGreeting.jsx" copy import { getTranslations } from 'gt-next/server'; export default async function TranslateGreeting() { const d = await getTranslations(); // [!code highlight] return (

{d('greeting')} // Hello, Alice // [!code highlight]

); } ``` ### Using variables [#variables] In order to pass values, you must (1) assign an identifier and (2) reference the identifier when calling the `d` function. In this example, we use `{}` to pass variables to the translations. In the dictionary, we assign identifier `{userName}`. ```jsx title="dictionary.jsx" copy // [!code word:userName] const dictionary = { greeting: "Hello, {userName}!", // [!code highlight] }; export default dictionary; ``` ```jsx title="TranslateGreeting.jsx" copy // [!code word:userName] import { getTranslations } from 'gt-next/server'; export default async function TranslateGreeting() { const d = await getTranslations(); // Hello Alice! const greetingAlice = d('greeting', { userName: "Alice" }); // [!code highlight] return (

{greetingAlice}

); } ``` ### Using prefixes We can use prefixes to only fetch a subset of the dictionary. ```jsx title="dictionary.jsx" copy const dictionary = { prefix1: { // [!code highlight] prefix2: { // [!code highlight] greeting: "Hello, Bob", } } }; export default dictionary; ``` Because we added the value `'prefix1.prefix2'` to the `getTranslations` method, all of the keys are prefixed with `prefix1.prefix2`: ```jsx title="UserDetails.jsx" copy import { getTranslations } from 'gt-next/server'; export default function UserDetails() { const d = await getTranslations('prefix1.prefix2'); // [!code highlight] return (

{d('greeting')}

// greeting => prefix1.prefix2.greeting // [!code highlight]
); } ``` --- ## Notes * The `getTranslations` function allows you to access dictionary translations on the server side. ## Next steps * See [`useTranslations`](/docs/next/api/dictionary/use-translations) for the client-side equivalent of `getTranslations`.