GrowSitedevelopers

Języki i tłumaczenia

Języki startowe, języki dodawane przez klienta i tłumaczenia AI.

Języki startowe i języki klienta

Języki dołączone do szablonu są listą startową, a nie zamkniętą listą wyboru. GrowSite Skeleton zaczyna od EN, PL i NL. Klient może później dodać kolejne języki w ustawieniach całej witryny w kreatorze.

Tłumaczenia

locales/pl.default.schema.json zawiera etykiety kreatora. W schema używaj np. "name": "t:sections.hero". locales/pl.default.json zawiera treści widoczne na stronie:

html
[[ t('footer.rights') ]]

Dodaj odpowiednio en.json i en.schema.json dla kolejnego języka. Brakujące tłumaczenie korzysta z defaultLocale, a ostatecznie z klucza. Obecny filtr t obsługuje odczyt klucza, bez pluralizacji i interpolacji parametrów.

Kompletny przykład słowników

locales/pl.default.json:

json
{"footer":{"rights":"Wszelkie prawa zastrzeżone."}}

locales/en.json:

json
{"footer":{"rights":"All rights reserved."}}

locales/en.schema.json:

json
{"sections":{"hero":"Hero section"},"settings":{"title":"Heading"}}

W schema: "label":"t:settings.title". Prefiks t: jest referencją etykiety kreatora, a filtr t tłumaczy stały tekst strony. Żaden z nich nie tłumaczy automatycznie treści wpisanej przez klienta.

Sprawdź oba języki oddzielnie w panelu i rendererze. Usuń klucz języka dodatkowego, aby potwierdzić fallback. Nie wpisuj przykładowej marki na stałe w stopce; użyj site.name.

Plugin Languages i ustawienia witryny

Przykład deklaracji w loom.json:

json
{
  "plugins": { "languages": "required", "blog": "optional" },
  "languages": { "locales": ["en", "pl", "nl"], "default": "en" },
  "defaultLocale": "en"
}

required oznacza plugin wymagany, a optional opcjonalny. Brak deklaracji Languages oznacza brak obsługi wielu języków. Languages jest bezpłatny we wszystkich pakietach. Wymagania są widoczne w detalach szablonu i sprawdzane przed aktywacją.

W ustawieniach szablonu klient dodaje języki, wybiera język domyślny i usuwa pozostałe. Obsługiwanych jest do 50 języków, np. de, fr, es, pt-BR, fil lub zh-Hant. Konfiguracja należy do witryny, nie wymaga zmiany paczki szablonu:

json
{
  "theme_settings": {
    "languages": { "locales": ["en", "pl", "nl", "de"], "default": "en" }
  }
}

Zakładki językowe w inspektorze, edycji live i wielojęzycznych formularzach korzystają z języków witryny. Teksty są niezależne, a układ sekcji i wygląd wspólne. Usunięcie języka wyłącza jego publiczne adresy, ale zachowuje tłumaczenia. Ponowne dodanie języka je przywraca. Ustawienia i tłumaczenia pojawiają się publicznie po publikacji kopii roboczej.

Adresy mają prefiks języka, np. https://przyklad.growsite.nl/de/home, lokalnie http://przyklad.growsite.test/de/home. Przy wejściu na adres bez prefiksu GrowSite wybiera obsługiwany język z preferencji przeglądarki/urządzenia (Accept-Language), zgodnie z ich kolejnością i priorytetem. Dopasowuje też warianty regionalne, np. pl-PL do pl. Jeśli żaden język nie pasuje albo przeglądarka nie przesyła preferencji, używany jest język domyślny — fallback. Przekierowanie jest tymczasowe, bez trwałego zapisywania w pamięci podręcznej. Adres z prefiksem, np. /pl/..., ma pierwszeństwo przed językiem urządzenia. Przełącznik zachowuje slug podstrony.

Tłumaczenie przez Asystenta AI

Asystent w kreatorze udostępnia zadania Uzupełnij brakujące tłumaczenia i Przetłumacz ponownie. Wybierz język źródłowy, dodany wcześniej język docelowy i zakres: bieżącą podstronę albo całą witrynę. Cała witryna obejmuje edytowalne teksty sekcji, tytuły stron, teksty SEO, menu i teksty ustawień globalnych. AI nie zmienia adresów, identyfikatorów, kolorów ani układu. Treści pluginów przechowywane poza kopią kreatora edytuje się w wielojęzycznym edytorze danego pluginu.

Uzupełnianie zachowuje istniejące wpisy, również celowo puste oraz tłumaczenia demo dołączone do szablonu. Ponowne tłumaczenie zastępuje teksty języka docelowego w wybranym zakresie. Język źródłowy i pozostałe języki pozostają bez zmian.

AI zwraca propozycję z porównaniem tekstów przed i po zmianie. Najpierw zatwierdź propozycję, a potem opublikuj kopię roboczą. Obowiązują istniejące zasady dostępu do AI, akceptacja warunków, limity i ustawienia modelu. Jeśli duża witryna przekroczy czas generowania, tłumacz po jednej podstronie. Słowniki wywoływane przez t(...) pozostają kodem autora szablonu; AI tłumaczy edytowalne treści klienta, a nie pliki źródłowe paczki.

Własny styl przełącznika języka

Każdy szablon deklarujący Languages jako wymagany lub opcjonalny musi posiadać własny styl przełącznika języka. Dopasuj typografię, kolory, tła, obramowania i zaokrąglenia do motywu. Uwzględnij aktywny język, hover, fokus klawiatury i wygodny układ mobilny. Przełącznik musi działać także po dodaniu kolejnych języków przez klienta; nie wpisuj EN, PL i NL na sztywno do HTML.

Umieść wspólną kontrolkę w nagłówku szablonu:

html
<gs-languages variant="dropdown"></gs-languages>

Dropdown korzysta z details i summary z linkami języków, a nie z natywnego selecta. Pokazuje aktywny język, obsługuje otwieranie klawiaturą, zamykanie klawiszem Escape oraz po opuszczeniu kontrolki fokusem. Bez variant="dropdown" element gs-languages wyświetla bezpośrednio linki językowe. Oba warianty korzystają z języków witryny i istniejącej obsługi zmiany języka w kreatorze.

Dodaj w assets/languages.css style dla .gs-language-dropdown, jego summary, .gs-language-switch oraz .gs-language-switch a[aria-current='true']. GS Loom ogranicza CSS z assets/ do danego motywu. Nie dodawaj globalnych reguł zmieniających przełączniki innych szablonów. Kontrolka powinna być dostępna na każdej stronie wielojęzycznej; długa lista języków powinna przewijać się wewnątrz dropdownu.

GrowSite Skeleton zawiera zaokrąglony dropdown w stylu Instant, z ciemnym tłem i żółtym akcentem, w assets/languages.css. Pełna implementacja znajduje się w paczce Skeleton. Paylio i Victorie Vending obecnie nie deklarują obsługi Languages; jej dodanie wymaga deklaracji pluginu oraz przełącznika dopasowanego do danego motywu.

To wymóg tworzenia i przeglądu szablonów; kompilator nie ocenia jakości wizualnej CSS. Przed zatwierdzeniem szablonu sprawdź kontrolkę na komputerze i telefonie, obsługę klawiatury oraz kilka języków dodanych przez klienta. Sprawdź konfigurację pluginu wymaganego i opcjonalnego.

Zobacz komponenty GS Loom UI: wspólny kontrakt HTML, warianty komponentów, tokeny motywu i działające przykłady.

Pobierz kopię Markdown
Wyniki · 22
Komponenty GS Loom UI

Wspólne komponenty, warianty i style motywów.

Katalog czcionek

Dostępne kroje, podgląd i deklarowanie czcionek w GS Loom.

Menu i nawigacja

Tworzenie menu, podłączanie linków i stylowanie nawigacji.

Blog i komentarze

Blog i komentarze

SEO i kontrakt pluginów

SEO i kontrakt pluginów

Pierwszy szablon krok po kroku

Kompletna paczka, instalacja i pierwsza edycja.

GS Loom Playground

Testuj szablony lokalnie bez API, bazy danych i uploadu.

Architektura i pliki

Jak pliki autora stają się stroną klienta.

Schema i ustawienia

Typy kontrolek, wartości domyślne i stabilne identyfikatory.

Bloki, targeting i kolejność

Definicje, instancje, zagnieżdżanie i bloki statyczne.

Edycja na podglądzie

Podłącz tekst, karty, obrazy i ikony do kreatora.

Teksty i nagłówki

Od schema do edycji tekstu, typografii i zapisu.

Przyciski i linki

Tekst, adresy, kolory, wymiary i dostępne stany.

Inputy i pola formularzy

Typy pól, etykiety, opcje, limity i walidacja.

Formularze krok po kroku

Instancje, powiązanie z witryną, wysyłka i obsługa błędów.

Karty, ikony, obrazy i badge

Wygląd kontenerów, rozmiary ikon i edycja mediów.

Źródła dynamiczne

Dane witryny, podstrony i wartości zapasowe.

Layouty i wspólne ustawienia

Grupy sekcji, konfiguracja globalna i podstrony.

Języki i tłumaczenia

Języki startowe, języki dodawane przez klienta i tłumaczenia AI.

Snippets, CSS i pliki

Wspólny kod, responsywny wygląd i bezpieczne adresy.

Testy, import i aktualizacje

Sprawdź paczkę i wydaj ją bez utraty danych klientów.

Możliwości i ograniczenia

Obsługiwany kontrakt GS Loom i praca z AI.