# Plugins

i18next [comes with a lot of modules](/overview/plugins-and-utils.md) to enhance the features available. There are modules to:

* [load resources](https://www.i18next.com/overview/plugins-and-utils#backends), eg. via [http fetch](https://github.com/i18next/i18next-http-backend) or from [filesystem](https://github.com/i18next/i18next-fs-backend) (Node.js, Deno)
* [cache resources](/how-to/caching.md) using eg. [i18next-localstorage-backend](https://github.com/i18next/i18next-localstorage-backend)
* [detect user language](https://www.i18next.com/overview/plugins-and-utils#language-detector) by querystring, navigator, cookie, …
* [post processors](https://www.i18next.com/overview/plugins-and-utils#post-processors) to further manipulate values, eg. to add sprintf support

```javascript
import i18next from 'i18next';
import Backend from 'i18next-http-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
import sprintf from 'i18next-sprintf-postprocessor';

i18next
  .use(Backend) // or any other backend implementation
  .use(LanguageDetector) // or any other implementation
  .use(sprintf) // or any other post processor
  .init(options);
```

For usage details please read the documentation of the plugin (readme file in the repository or npm website).

{% hint style="info" %}
If you're not sure on why you may need such a plugin, have a look at the [First setup help](/overview/first-setup-help.md) page.
{% endhint %}

{% hint style="success" %}
[Do you like to create your own plugin?](/misc/creating-own-plugins.md)
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.i18next.com/principles/plugins.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
