Inline frontend prevodi multi language strani

Mam en problem pri custom skripti ki ima več language fajlov in sicer je treba narediti več prevodov.

To je mogoče npr. z editom language stringov, kar je pa malce nepriročno ker je skoraj nemogoče prevajati če ne vidiš konteksta.

Pred časom sem mislil da nekje videl opcijo da prevejaš direkt na frontendu (kot en javascript layer etc), klikneš na besedo ki jo želiš prevesti , vpišeš novo in to je to.

A slučajno kdo pozna snippet oz. skripto ki to omogoča ?
Torej inline frontend prevode, ki bi potem zamenjali string v backend language fajlu ?

5 odgovorov

Dvomim, da boš našel že pripravljeno skripto.

Pri Magentu je tako, da vse izpisuješ v templateih tako: <?php echo $this->__("En string za prevest); ?>

Ko vklopiš modul za prevajanje ta funkcija __() vstavi še neko kodo (unikaten class ali kaj podobnega). Potem napišeš javascript, ki gre čez vse te elemente in pri vsakemu doda gumbek za urejanje, ki odpre lightbox v katerem to prevedeš. Nič tako kompliciranega, samo v templateih se začne to .. nekako moraš vedeti kaj prevajat.

1

Za kakšno out of the box rešitev bi bilo treba vedeti verjetno še za kakšen backend gre? Ali boš implementiral v svoj cms ali kaj obstoječega itd.

Drugače pa si lahko malo pogledaš, kako so težave z i18n in l10n (že) rešene drugje:
http://site.icu-project.org/
http://www.symfony-project.org/jobeet/1_4/Doctrine/en/19

Za omenjene težave s kontekstom besed pa morda pisanje komentarjev v datoteke pri kaki delikatni zadevi ali pa izdelaš svojo "inline editing" javascript skripto.

lp.

1

Najlepša hvala za odgovore obema.
Bom verjetno izvedel opcijo "izdelaš svojo "inline editing" javascript skripto", ker je backend custom + napisan v php brez frameworka.

jQuery ti bo po moje prov prisel, vem da smo nekje naredili to s to knjiznico.

jQuery in Fancybox je vse kar rabiš. Prek Fancyboxa potem naložiš dialog za urejanje.