Autor Zpráva
IdemeNaHavaj
Profil
Ahoj, potrebujem si loadnúť do JS parjameter

$.getScript("http://example.com/script.js?lang=en");
a potom v skripte podla podmienok či je lank EN alebo SK načítavať ten daný jazyk slov. Ako sa to robí?
Ďakujem za rady
Chamurappi
Profil
Reaguji na IdemeNaHavaje:
Skript k adrese, ze které je spouštěn, nemá žádný pohodlný přístup, tedy ani k parametrům v ní. Můžeš si najít <script>, který jsi vytvořil (pokud ho rozpoznáš mezi ostatními), a z jeho src si je vypreparovat.
Úplně nejsnazší je nastavit si hodnotu globálně přístupné proměnné a v externím JS si ji normálně přečíst, nepatlat se s nějakým preparováním z URL…
IdemeNaHavaj
Profil
Chamurappi:
to akože v en.js by som mal
var lang_1 = "Login"
a v sk.js by som mal
var lang_1 = "Prihlasit sa"
a v script.js by som si nacital vsetky langy
$.getScript("en.js")
$.getScript("sk.js")
a ako by som dal podmienku aby sa nacital ten spravny lang ktory vyberem?


Mohol by si to vysvetlit ako trosku menej skusenemu od teba?
preca2
Profil *
Zdravim,
tohle spíš vypadá jako práce pro server. V závislosti na parametru bys měl načítat soubor obsahující lokalizované fráze.
Např:
soubor script.js?lang=en by vypadal následovně:
var i18n = {loginText: "Login"}

soubor script.js?lang=sk by vypadal takhle (všimni si, že struktura je pořád stejná, akorát text se mění):
var i18n = {loginText: "Prihlasit sa"}

Pak kdekoli na stránce bys měl třeba document.getElementById("loginButton").innerHTML = i18n.loginText;

I18n se většinou označuje třída/modul/balíček umožňující podporu více jazyků.


Nedostal se mi tam odkaz na I18n.
IdemeNaHavaj
Profil
preca2:
inak to nejde? musím mať tolko script súborov koľko langov?
Kubo2
Profil
IdemeNaHavaj:
Ide to aj inak (a je to dokonca lepší spôsob): medzi jazykovými verziami sa rozhoduj už na serveri a užívateľovi posielaj priamo príslušné preklady.
preca2
Profil *
IdemeNaHavaj:
Nemusíš, ale já bych to tak pravděpodobně udělal, abych se v souborech líp orientoval a klient nemusel stahovat i nepotřebný data.
Možná by bylo lepší napsat, jakýho cíle se snažíš dosáhnout. Třeba pude texty rovnou zobrazit v HTML (jak napsal Kubo2) a nebudeš je muset upravovat pomocí JS. Já předpokládal, že máš JS aplikaci, takže nejde posílat texty přímo, ale musí se použít v JS.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: