Nedavno sam vidjela na jednom sajtu koji koristi WHMCS kako dobro radi translate sajta i to mi se svidjelo te bi htjela to isto uraditi i ja uz pomoć PHP na mojoj stranici koju radim custom.
Translate web stranice radi na sljedeći način:
Kada korisnik klikne na padajući meni i odabere željeni jezik na domenu se dodaje samo ovaj nastavak ?language=german i stranica bude prevedena.
Postoji folder lang u kome se nalazi ovaj dio koda: $_LANG['title_homepage'] = "Welcome";
Koji se poziva na ovo: {$LANG.title_homepage}
To sam uspjela da istražim i da skontam i dalje ne kontam kako radi i kako se povezuje pa mi je potrebna pomoć ako netko zna.
P.S: Ne želim da pravim folder i da dodajem www.domena.com/hr itd poštedite me takvih solucija želim samo ovo odraditi što sam napisala ne zanima me druge solucije sada trenutno. Hvala.
Hvala vam ljudi na pomoći upravo ću ovo da riješim preko array i session u PHP-u kao što je prikazano gore u videu.
Nego imam još nešto što bi htjela, želim da napravim automatski prijevod u zavisnosti od zemlje iz koje ljudi posjećuju moj sajt, pa ako neko udje iz njemačke da mu odma stranicu prevede na njemački a da po defaultu bude hr jezik na sajtu, pogledajte na ovom linku screenshot slika ovog plugina https://marketplace.whmcs.com/product/3150 treba mi nešto ovako, to sam koristila dok sam koristila i sami WHMCS sada imam samo PHP CMS gdje sve ručno programiram ne koristim nikakav php framework nego nadogradujem neku staru skriptu.
Samo mi trebaju sada upute kako to da uradim uz ovaj način gore iz ovog videa.
Iz osobnog iskustva bih ti rekao da koristiš (u kompletu):
get (i da je u url-u prisutna cijelo vrijeme varijabla ili key jezika)
array (za prijevode)
Naime stvar je vezana i uz SEO stranice. Ako koristiš samo session, desit će se da će search engini indexirati samo verziju na defaultnom jeziku, jer ne mogu koristiti sessione, ili u gorem slučaju, moglo bi ti označiti duplicate content na stranicama.
Ne mora preko IP-a (može, i biti će točnije zbog lokacije)
Ja sam koristio nešto slično ovome:
<?php
$lang = substr($SERVER[‘HTTP_ACCEPT_LANGUAGE’], 0, 2);
$acceptLang = [‘fr’, ‘it’, ‘en’];
$lang = in_array($lang, $acceptLang) ? $lang : ‘en’;
require_once "index{$lang}.php";
Imala bi samo još jedno pitanja jer me baš zanima vaše mišljenje, da li da ovo odradim kroz db kao što je ovaj gore u ovom video snimku to i govorio, mislim da bi mi tako bilo laše posle održavati samu aplikaciju?
Ako nemaš puno teksta, može i fajl. A i ako imaš pa uradiš keširanje to će opet u fajl tako da je skoro svejedno. Uradi jednu verziju kako ti ispadne lakše (da l’ prateći video da l’ na način kako si prvenstveno zamislila) pa onda uradi na drugi način.
Ovo što ti je @dmitrecic ponudio je dobro.
Imaš i u PHP dokumentaciji još i ovu funkciju možda još kraće.