---
createdAt: 2026-09-19
updatedAt: 2026-09-19
title: useDictionary Hook Documentation | remix-intlayer
description: See how to use the useDictionary hook in Remix 3 applications to resolve dictionary objects for the current request locale.
keywords:
- useDictionary
- dictionary
- remix
- remix-3
- Intlayer
- intlayer
- Internationalization
- Documentation
slugs:
- doc
- packages
- remix-intlayer
- useDictionary
history:
- version: 9.5.5
date: 2026-09-19
changes: "Init doc"
author: aymericzip
---
# useDictionary Hook Documentation
The `useDictionary` hook transforms an imported or inline dictionary object and returns its content resolved for the current request's locale in Remix 3 applications.
Unlike `useIntlayer`, which resolves dictionaries by their string key from the global dictionary registry, `useDictionary` accepts a dictionary object directly.
## Usage
```ts fileName="src/views/home.ts"
import { useDictionary } from "remix-intlayer";
import homeContent from "./home.content";
export const HomeView = () => {
const content = useDictionary(homeContent);
return `
${content.title}
${content.subtitle}
`;
};
```
You can also pass inline dictionaries defined with `t()`:
```ts
import { useDictionary } from "remix-intlayer";
import { t } from "intlayer";
export const FooterView = () => {
const content = useDictionary({
key: "footer",
content: {
copyright: t({
en: "All rights reserved.",
fr: "Tous droits réservés.",
es: "Todos los derechos reservados.",
}),
},
});
return ``;
};
```
## Parameters
```ts
useDictionary(dictionary, localeOrSelector?)
```
1. **`dictionary`**: A dictionary object or qualified dictionary group.
2. **`localeOrSelector`** (optional): A specific locale or selector object (`{ item }`, `{ variant }`, optionally with `locale`). Takes precedence over the request locale if supplied.
## Description
The hook performs the following tasks:
1. **Locale Detection**: Reads the active request locale from the `AsyncLocalStorage` store created by the `intlayer()` middleware.
2. **Content Resolution**: Evaluates translations (`t()`), enumerations, conditions, and nested structures according to the resolved locale.
3. **Selector Processing**: Applies any item or variant selectors specified in the arguments.
## Related Documentation
- [`intlayer` Middleware](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/remix-intlayer/intlayerMiddleware.md)
- [`useIntlayer` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/remix-intlayer/useIntlayer.md)
- [`useLocale` Hook](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/remix-intlayer/useLocale.md)