# Localization

The labels, descriptions, and buttons that make up the backoffice screens for Umbraco Forms can be translated into different languages.

When an editor chooses a language for their account, Umbraco CMS will render appropriate translations. The translations will contain a file for that language and a key for the label in question. If either of these can't be found, the label will be displayed in English (US).

## Language Files

Umbraco Forms ships with translations for the following languages:

* Czech (`cs-cz.js`)
* Danish (`da-dk.js`)
* Dutch (`nl-nl.js`)
* French (`fr-fr.js`)
* Italian (`it-it.js`)
* Polish (`pl-pl.js`)
* Spanish (`es-es.js`)
* UK English (`en-gb.js`)
* US English (`en.js`)

If the language you require does not exist, it's possible to create your own by duplicating the default `en.js` file. You can then save it with the appropriate culture code for the language you need and replace the English text with the translated version.

As of Forms 10, the file no longer exists on disk and is shipped as part of the `Umbraco.Forms.StaticAssets` NuGet package. You can open this package, either locally using [Nuget Package Explorer](https://apps.microsoft.com/store/detail/nuget-package-explorer/9WZDNCRDMDM3?hl=en-gb\&gl=gb\&rtc=1), or [online](https://www.nuget.org/packages/Umbraco.Forms.StaticAssets/) by clicking the "Open in NuGet Package Explorer" link. You'll find the file at `staticwebassets/en.js`.

Once translated, the new file should be saved somewhere in the `App_Plugins` folder for example `App_Plugins/UmbracoFormsLocalization/`. The final step is to register the localization file. This can be done by creating a `umbraco-package.json` like so:

```json
{
  "$schema": "../../umbraco-package-schema.json",
  "name": "Umbraco.Forms.Extensions",
  "extensions": [
    {
      "type": "localization",
      "alias": "UmbracoForms.Localize.DeDE",
      "name": "	German (Germany)",
      "meta": {
        "culture": "de-de"
      },
      "js": "/App_Plugins/UmbracoFormsLocalization/de-de.js"
    }
  ]
}
```


---

# 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://docs.umbraco.com/umbraco-forms/developer/localization.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.
