Wersje językowe

Zaimplementowałem funkcję obsługi wielu języków, gotową do działania z wieloma językami w każdym, dowolnym momencie przeglądania strony, opartą na modyfikacji adresu URL.

Co ważne, to rozwiązanie nie polega na plikach cookie ani sesjach PHP, czyli powszechnie stosowanych w tego typu przypadkach rozwiązaniach. Obecnie, oprócz angielskiego, dostępna jest wersja polska za pomocą modyfikatora /pl.

I na tym języku poniższe przykłady.

Wygodniej było mieścić modyfikator na końcu adresu URL, w przeciwieństwie do zwykłej konwencji (np. /projects staje się /projects/pl), więc tak też zrobiłem.

W każdym momencie system jest `świadomy` połączenia między rodzicem a dzieckiem oraz dzieckiem a rodzicem, gdy takie połączenia są otwarte. Jeśli użytkownik doda modyfikator języka do adresu URL, system sprawdzi jego odpowiednie połączenie i przekieruje użytkownika do wersji językowej aktualnego widoku.

To dla pewności, że każdy `slug` ma zawsze swojego odpowiednika. Gdy system nie rozpoznaje dziecka w danym języku, powraca do rodzica.

Na przykład

/projekty/pl otwiera stronę Portfolio po polsku. Jeśli modyfikator zostanie usunięty, /projekty automatycznie przekieruje do /projects.

To samo działa w drugą stronę. Jeśli /projects jest dostarczony z modyfikatorem języka, automatycznie przekieruje do /projekty/pl.

Inny przykład:

/about <=> /o-mnie

about/pl przekieruje do /o-mnie/pl, podczas gdy /o-mnie sam (bez modyfikatora języka) przekieruje do /about.

Scroll to Top
Wordpress I've lately been using:
  • Wordpress
  • PHP
  • CSS
  • jQuery

Summary: Font-end and Back-end developer, also designer with 25+ years of experience. Currently based in Poland. Eligible to work in the US (US Social Security Number holder) for any employer on W2 / 1099 basis. Utilizes both technical skills and designing aptitude. Lived and worked in Europe, Australia and North America.

PHP CMS HTML5 CSS3 RWD OOP MySQL PDO JS jQuery JSON GIT Bitbucket GitHub Gulp