Wielojęzyczność (i18n) w Sealpage'u

Myślałem o tym, jak ugryźć temat wielojęzyczności w Sealpage’u. Wpadłem na rozwiązanie, które imho jest w zgodzie z elastycznością i prostotą tego projektu. Opis poniżej - zachęcam do lektury i feedbacku :slight_smile:

https://hub.sealcode.org/T1626

Mega spoko, ale mam wątpliwości co do:

  index: async s =>
    s.language === "pl" ? "Witamy na naszej stronie" : "Welcome to our site",

Jak chciałbyś w ten sposób ogarnąć większą liczbę języków, z tego co widzę z zapisu const sitemap = Sealpage.i18n(["pl", "en"] , {}), ten en na razie nie jest brany pod uwagę przez async funkcję.

Przydałbym się może coś ala mapper dla większej liczby języków aby nie powtarzać pewnej składni tutaj s.language === "pl" ? "Witamy na naszej stronie" : "Welcome to our site" w myśl DRY.

Ten zapis z

s.language === "pl" ? "tekst po pl" : "text in English"

to był tylko placeholder. Docelowo powinniśmy trzymać wszystkie stringi z danego języka w osobnym pliku, np. pl_PL.po i en_EN.po, oraz mieć jakąś mechanikę na oznaczanie, które artykuły są w jakim języku. Ale to nastąpi potem :slight_smile: Póki co robimy fundamenty :construction_worker_man:

Pod angulaszem korzystałem z https://github.com/ngx-translate/core mega spoko narzędzie. Koncept ładnie ograny, wiadomo nienadający się tutaj ale może można coś z tego wynieść ciekawego.

1 Like