Autor Zpráva
mrazak
Profil *
Zdravím,

píšu aplikaci a rád bych implementoval vícejazyčnost. Data s frázemi jsou v JSON souboru - viz. příklad níže.

{
  "login" : "Přihlásit se"
}

Chtěl bych se zeptat, jak docílím stavu, kdy javascript projde HTML a pokud najde klíč (v příkladu login), nahradí ho hodnotou (v příkladu "Přihlásit se")? V PHP jsem to řešil pomocí cyklu a hledání ve stringu (stringem byla pak celá HTML šablona). V JS by to takto asi taky šlo, ale nemám ponětí, jak ten cyklus napsat.

Děkuji mnohokrát za každou radu :)
Joker
Profil
Proč cyklem?

To jde normálně přiřazením:
var foo = {"login" : "Přihlásit se" }; 
foo["login"] = "log in";
mrazak
Profil *
Problém je, že se obsah stránek načítá AJAXově - já tedy dopředu obsah stránky neznám, proto bych potřeboval cyklus, který by v HTML vyhledal klíče a nahradil je řetězci.
Fisir
Profil
Reaguji na mrazaka:
Normálně projdi všechny elementy a kontroluj, zda se jejich innerHTML (nebo nějaký vlastní data- atribut) shoduje s klíčem pro překlad a pokud ano, innerHTML patřičně uprav. Živá ukázka.
mrazak
Profil *
Fisir:
Díky, to bude ono :)

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:

0