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
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 Póki co robimy fundamenty
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.