> For the complete documentation index, see [llms.txt](https://docs.eximee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/tworzenie-formularza/tlumaczenia.md).

# Translations

## The “Translations” tab

Tab **Translations**, available in the application editor, allows adding translations for the application, compound components, and business components. Here you can also add keys that override the default application content (details in the chapter *Platform translation keys*).

This tab also allows you to add or modify validator messages associated with components (details in the chapters [*Complex validations*](/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/walidacja-wartosci-komponentow/walidacje-zlozone-wlasne.md) and [*Script validators*](/documentation/documentation-en/budowanie-aplikacji/logika-biznesowa/scriptcode/walidatory-skryptowe-validationscript.md)).

<figure><img src="/files/fca03e748029db1736b0d28a10c396e9ec54b563" alt=""><figcaption><p><em><strong>Figure 1.</strong> Application editor window - "Translations" tab</em></p></figcaption></figure>

***

### Editing the key and value

After selecting a cell in the table, you can edit both the key and the translation values for individual languages.

In the case of multiline values, the edit field will automatically expand to show the entire content.

<figure><img src="/files/d35ffc0fea443fc85d68f2ba6cb85b8034c3fef7" alt=""><figcaption><p><em><strong>Figure 2.</strong> Editing translations</em></p></figcaption></figure>

***

### Deleting a key

To delete the entire translation row, click the icon located to the right of the given key.

<figure><img src="/files/89bde5a2ba3c043b668fe68188a902d85926a3d2" alt=""><figcaption><p><em><strong>Figure 3.</strong> Deleting a translation key</em></p></figcaption></figure>

After deleting a key, a notification will appear at the bottom of the screen with the option to undo the action.

<figure><img src="/files/caaff981631ae5a6b33e9abfee4be423f2994491" alt=""><figcaption><p><em><strong>Figure 4.</strong> Notification with the option to undo key deletion</em></p></figcaption></figure>

***

### Adding a key

It is possible to add a translation for every application element that displays text - titles, descriptions, labels, validation messages, and content returned by external services.

Keys corresponding to validation error messages are added automatically when a validator is added. The exception is **script validators**, for which the key must be added manually.

To add a new key, use the button **Add key** located above the language columns.4

<figure><img src="/files/42c375cda911e07606989e1fb65ccca77c94f568" alt=""><figcaption><p><em><strong>Figure 5.</strong> Button used to add a new translation key</em></p></figcaption></figure>

Clicking adds an empty row in which you must fill in at least the key name (column *KEY*).\
If the field remains empty, the system will automatically assign the name:

* `empty`
* `empty.copy`
* `empty.copy1`\
  and subsequent ones, if needed.

<figure><img src="/files/976b0d57cd4b79232dbbf37bb2d283a423d7b4d9" alt=""><figcaption><p><em><strong>Figure 6.</strong> Row after adding a key and not filling in its name</em></p></figcaption></figure>

***

### Selecting the default language (tag)

The default language can be set in the table header. This option is available only while editing the process.

The default language is **Polish**.

To set a language as default, click the star icon next to the language code. ![](/files/bfbdce0d497da4e150d142e0a35be453a829deac)\
A yellow star indicates the currently selected default language. ![](/files/71f5d613de9bdb6171a90997cda23435f870aaed)

<figure><img src="/files/97892e532975ac3d640f1a3059880457a1635db2" alt=""><figcaption><p><em><strong>Figure 7.</strong> Selecting the translation language</em></p></figcaption></figure>

***

### Filtering empty translations

To hide keys without translations, click the icon located in the column **KEY**.

The active filter is indicated by a crossed-out “eye” symbol ![](/files/91d5cbbdf33ed50da9209bc224e00b17dfe78198). Additionally, information about the number of hidden keys is displayed ![](/files/90fa31b1947fd59182585baaf80dc25697343480).

***

### Searching translations

The search works both by key names and by translation values.

<figure><img src="/files/0d26ee15f38605b49414f579267be573a2690925" alt=""><figcaption><p><em><strong>Figure 8.</strong> Searching translations</em></p></figcaption></figure>

If no results are found, the following message is displayed:

```
We couldn't find a key or translation: ${szukanyTekst}
```

At this point, the user is also offered the option to add a new key.\
After adding the key, the search field is automatically cleared.

***

### Adding and editing languages

To add a new language, click the add new column button located on the right side of the table.

<figure><img src="/files/32262aa437ae836b5b04fd1af21449e4862fb006" alt=""><figcaption><p><em><strong>Illustration 9.</strong> Button for adding a new translation language</em></p></figcaption></figure>

The language name (tag) can be changed by clicking its header.

**Language code** should comply with the standard **ISO 639**, written in lowercase.\
The list of supported codes is available at:\
<https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html>

***

## Determining the language used when opening the application

When taking up the application for completion, the system determines the language in the following order:

#### 1. The “locale” parameter in the URL

If the input address contains the parameter `locale`, and the template contains translations for the specified language, then that language will be used.

**Example:**

```
https://url.eximee/webforms/ek/index.html?locale=en
```

***

#### 2. Browser accepted languages (Accept-Language)

If the URL parameter is not available, and in the Webforms configuration the parameter:

```
server/locale/browserLocaleAllowed = true
```

then the system will take the language from the header `Accept-Language`, provided that the template has the appropriate translations.

**Example:**

```
https://url.eximee/webforms/ek/index.html
Accept-Language: pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7,en-gb;q=0.6,fr-FR;q=0.4,fr;q=0.3,es-CO;q=0.2,es;q=0.1
```

***

#### 3. Template default language

If none of the above conditions is met, the **template's default language**, set in Eximee Designer.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/tworzenie-formularza/tlumaczenia.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
