Słowniki
Jak tłumaczyć stałe teksty interfejsu strony internetowej.
Wprowadzenie
Słowniki to system tłumaczeń stałych tekstów interfejsu strony internetowej — etykiet, komunikatów, tekstów przycisków — czyli rzeczy, które nie są treścią strony, ale tekstem „wbudowanym” w kod, a mimo to musi on istnieć w każdym języku.
Obejmuje dwa formularze w backoffice:
- Wpis (
dictionary_entry) - Słownik (
dictionary)
Wpis
Definiuje „klucz” tłumaczenia — Kod (code, używany w kodzie do pobrania wartości) i Opis. Np. wpis formularz-kontaktowy-sukces, używany dla komunikatu o pomyślnym wysłaniu formularza kontaktowego (dokładnie ten pojawia się w FormularzKontaktowy Funkcjonalności).
Słownik
To przetłumaczona wartość wpisu dla określonego Języka (language_id) — pole Wartość (value, akceptuje HTML).
W przeciwieństwie do Konfiguracji, Słownik nie ma mechanizmu fallbacku bez języka — każdy Wpis wymaga Wartości zdefiniowanej jawnie dla każdego języka, w którym jest używany. Jeśli brakuje tłumaczenia w danym języku, wyświetlanym tekstem jest sam kod Wpisu (np. formularz-kontaktowy-sukces), a nie wartość ogólna.
Programistycznie
Klasa website/src/common/Cluar.js udostępnia funkcje do odczytu wpisów słownika; wszystkie zwracają kod wpisu, jeśli nie ma tłumaczenia (przydatne do zauważenia brakujących tłumaczeń):
Cluar.dictionary(wpis)— pobiera przetłumaczoną wartość w bieżącym języku, w postaci zapisanej (może zawierać HTML).Cluar.plainDictionary(wpis)— to samo, ale usuwa znaczniki<p>i<br>. Jest najczęściej używana w etykietach interfejsu (przyciski, pola formularzy, powiadomienia).Cluar.plainTitle(wpis)— to samo, ale usuwa tylko znaczniki<p>.Cluar.plainHTML(wpis)— usuwa wszystkie znaczniki HTML.Cluar.dictionaryNoParagraph(wpis)— usuwa tylko znaczniki<p>(odpowiednikplainTitle).
Następny krok
Poznaj Szablony.