# Tłumaczenia

## Zakładka „Tłumaczenia”

Zakładka **Tłumaczenia**, dostępna w edytorze wniosku, umożliwia dodawanie tłumaczeń dla wniosku, komponentów złożonych oraz komponentów biznesowych. W tym miejscu można również dodawać klucze nadpisujące domyślne treści wniosku (szczegóły w rozdziale *Platformowe klucze tłumaczeń*).

Zakładka ta pozwala także na dodawanie lub modyfikację komunikatów walidatorów powiązanych z komponentami (szczegóły w rozdziałach [*Walidacje złożone*](https://docs.eximee.com/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/walidacja-wartosci-komponentow/walidacje-zlozone-wlasne) i [*Walidatory skryptowe*](https://docs.eximee.com/budowanie-aplikacji/logika-biznesowa/scriptcode/walidatory-skryptowe-validationscript)).

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FNdm8xCvfuhiggW20oCUy%2Fimage.png?alt=media&#x26;token=9697e757-f2e2-4bee-bd43-c374e2f98af2" alt=""><figcaption><p><em><strong>Ilustracja 1.</strong> Okno edytora wniosku - zakładka "Tłumaczenia"</em></p></figcaption></figure>

***

### Edycja klucza i wartości

Po wybraniu komórki w tabeli można edytować zarówno klucz, jak i wartości tłumaczeń dla poszczególnych języków.

W przypadku wartości wielolinijkowych pole edycji automatycznie rozszerzy się, aby pokazać całą zawartość.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2F0KSQa7Edp3Dlqrb2mwOu%2Fimage.png?alt=media&#x26;token=74a29447-462d-47b1-b220-e5dd1ff03558" alt=""><figcaption><p><em><strong>Ilustracja 2.</strong> Edycja tłumaczeń</em></p></figcaption></figure>

***

### Usuwanie klucza

Aby usunąć cały wiersz tłumaczenia, należy kliknąć ikonę znajdującą się po prawej stronie danego klucza.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FNa0PUIfbh1n6tBEzRtwk%2Fimage.png?alt=media&#x26;token=198703e0-a24b-4c12-9303-e534bca6a51e" alt=""><figcaption><p><em><strong>Ilustracja 3.</strong> Usuwanie klucza tłumaczeń</em></p></figcaption></figure>

Po usunięciu klucza w dolnej części ekranu pojawi się powiadomienie z możliwością cofnięcia operacji.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FOJw6hfM36Bp5OT84xSZm%2Fimage.png?alt=media&#x26;token=5f3df8f4-be13-4100-9960-d29c30f619f1" alt=""><figcaption><p><em><strong>Ilustracja 4.</strong> Powiadomienie z opcją cofnięcia usunięcia klucza</em></p></figcaption></figure>

***

### Dodawanie klucza

Możliwe jest dodanie tłumaczenia dla każdego elementu wniosku wyświetlającego tekst – tytułów, opisów, etykiet, komunikatów walidacyjnych oraz treści zwracanych przez usługi zewnętrzne.

Klucze odpowiadające komunikatom błędów walidacyjnych dodawane są automatycznie po dodaniu walidatora. Wyjątek stanowią **walidatory skryptowe**, dla których klucz należy dodać ręcznie.

Aby dodać nowy klucz, używamy przycisku **Dodaj klucz** znajdującego się nad kolumnami języków\.4

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FOuMGJBWjpO2hF1HSqfcq%2Fimage.png?alt=media&#x26;token=cdcb9610-f4bc-4a5e-978c-9f5b5b9133a5" alt=""><figcaption><p><em><strong>Ilustracja 5.</strong> Przycisk służący do dodania nowego klucza tłumaczeń</em></p></figcaption></figure>

Kliknięcie dodaje pusty wiersz, w którym należy uzupełnić co najmniej nazwę klucza (kolumna *KLUCZ*).\
Jeśli pole pozostanie puste, system automatycznie nada nazwę:

* `pusty`
* `pusty.kopia`
* `pusty.kopia1`\
  i kolejne, w razie potrzeby.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FjF7prxyi2PIYUR5GglvD%2Fimage.png?alt=media&#x26;token=515153e0-810c-4d82-bd84-af8fb1e1013f" alt=""><figcaption><p><em><strong>Ilustracja 6.</strong> Wiersz po dodaniu klucza i nieuzupełnieniu jego nazwy</em></p></figcaption></figure>

***

### Wybór domyślnego języka (taga)

Domyślnego języka można dokonać w nagłówku tabeli. Opcja ta jest dostępna wyłącznie w trakcie edycji procesu.

Domyślnie ustawionym językiem jest **polski**.

Aby ustawić język jako domyślny, należy kliknąć ikonę gwiazdki obok kodu języka. ![](https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FPeA75FbrHMy8Za2Bxbqt%2Fimage.png?alt=media\&token=29098ee9-35e1-4f73-855f-8eb9ab80b267)\
Żółta gwiazdka oznacza aktualnie wybrany domyślny język. ![](https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FLnTJADB9yogrt9rxIiV5%2Fimage.png?alt=media\&token=0c739e23-83b7-465c-83fe-e23eaadaf96d)

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2Fw7E7cye4xOmSvp8WshjF%2Fimage.png?alt=media&#x26;token=55cc9402-b0c0-4ce2-b40f-569058524eac" alt=""><figcaption><p><em><strong>Ilustracja 7.</strong> Wybór języka tłumaczeń</em></p></figcaption></figure>

***

### Filtrowanie pustych tłumaczeń

Aby ukryć klucze pozbawione tłumaczeń, należy kliknąć ikonę znajdującą się w kolumnie **KLUCZ**.

Aktywny filtr jest oznaczony przekreślonym symbolem „oczka” ![](https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2F2175b1xxVkCWXKPxx2me%2Fimage.png?alt=media\&token=5778fb83-3b9f-4372-816f-dd81e3cb7343). Dodatkowo wyświetlana jest informacja o liczbie ukrytych kluczy ![](https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FH0hDfAH1qauorQTTw1zZ%2Fimage.png?alt=media\&token=55d91baf-08e9-4d10-bbfe-c81c2dd3b7dc).

***

### Wyszukiwanie tłumaczeń

Wyszukiwarka działa zarówno po nazwach kluczy, jak i po wartościach tłumaczeń.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FoL5QE8xcOpYRujhLLhZM%2Fimage.png?alt=media&#x26;token=3ebbda3d-f569-4d25-93be-803bc93412f9" alt=""><figcaption><p><em><strong>Ilustracja 8.</strong> Wyszukiwanie tłumaczeń</em></p></figcaption></figure>

Jeśli nie znaleziono wyników, wyświetlany jest komunikat:

```
Nie znaleźliśmy klucza lub tłumaczenia: ${szukanyTekst}
```

W tym momencie użytkownik otrzymuje również propozycję dodania nowego klucza.\
Po dodaniu klucza pole wyszukiwania zostaje automatycznie wyczyszczone.

***

### Dodawanie i edycja języków

Aby dodać nowy język, należy kliknąć przycisk dodawania nowej kolumny znajdujący się po prawej stronie tabeli.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FWRR1BjGwhIVGxGqptcVw%2Fimage.png?alt=media&#x26;token=6cc9143b-2915-4628-997f-03ed3de2b32c" alt=""><figcaption><p><em><strong>Ilustracja 9.</strong> Przycisk dodawania nowego języka tłumaczeń</em></p></figcaption></figure>

Nazwa (tag) języka może zostać zmieniona poprzez kliknięcie w jego nagłówek.

**Kod języka** powinien być zgodny ze standardem **ISO 639**, zapisany małymi literami.\
Lista obsługiwanych kodów dostępna jest pod adresem:\
<https://www.oracle.com/technetwork/java/javase/java8locales-2095355.html>

***

## Ustalanie języka obowiązującego podczas otwierania wniosku

Przy podjęciu wniosku do wypełnienia system ustala język w następującej kolejności:

#### 1. Parametr „locale” w URL

Jeśli w adresie wejściowym znajduje się parametr `locale`, a szablon zawiera tłumaczenia dla podanego języka, to właśnie ten język zostanie użyty.

**Przykład:**

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

***

#### 2. Akceptowane języki przeglądarki (Accept-Language)

Jeśli parametr URL nie jest dostępny, a w konfiguracji Webforms parametr:

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

to system pobierze język z nagłówka `Accept-Language`, pod warunkiem że szablon posiada odpowiednie tłumaczenia.

**Przykład:**

```
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. Domyślny język szablonu

Jeśli żaden z powyższych warunków nie zostanie spełniony, stosowany jest **domyślny język szablonu**, ustawiony w Eximee Designer.
