Sziasztok!
Lenne egy olyan gondom, hogy szeretnek par reszen frodithato modon felvinni stringeket, t() vagy locale() modulal. A gondom az, hogy ez a forditasi feluletbe Angol anyanelven kerul be, pedig en magyarul szeretnem felvinni. Bizonyos nagyobb volumenu modulok, pl views, panels, taxonomy kepes arra, hogy ezt magyarul vigye fel, es a forditasi interfaceen mar angolra tudjam visszaforditani. (>2 szamu nyelv van az oldalon)
Hogyan tudnam ezt megtenni? apiban neztem, es van a $langcode nevu parameter, am nem oldotta meg a problemam. Igy probaltam: t('alma',array(),'hu') vagy locale('alma','hu') Mit rontottam el?
Koszi!
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Fórum:
félreértés lesz
Szerintem félreérted a dolgot, de az is lehet, hogy én értelek félre Téged, úgyhogy először tisztázzuk a kérdést:
Írsz épp egy modult, amiben a szövegeket fordíthatóvá akarod tenni, de nem angol nyelven írnád be őket, hanem magyarul?
Ha erről van szó, akkor ez így nem fog menni, a fordítható szövegeket mindenképpen angolul kell beírni. A $langcode változó az csak arra való, ha nem az éppen használt nyelvre akarod fordítani a szöveget, hanem Te akarod megadni, hogy melyikre. Tehát a példádnál maradva a t('apple', array(), 'hu') akkor is azt adja vissza, hogy "alma", ha angolul nézik az adott oldalt.
(Mellékesen szeretném figyelmedbe ajánlani a drupal kódolási szabványát, ami szerint a függvények paraméterei között szóköz is van.)
Amúgy amennyire én tudom, a drupal 7-es verziójában már lesz rá lehetőség, hogy ne az angol legyen az alapértelmezett nyelve a t() függvénynek.
--
Csonka Gergely
http://cheppers.com
Interfaceben van hasonlo
Szia!
Eloszor is koszonom a valaszod.
Nagyjabol jol erted a helyzetet, azert nem ertem a dolgot, mert ha magyar nyelven letrehozok egy taxonomy termet, esetleg viewsben valamit akkor a translate interfacen megtekintett felvitt stringek kozt jellemzoen az Eredeti szoveg reszen magyarnak konstatalja a szoveget, es az angol ill tovabbi nyelveket kell hozza felvinnem. Ezert gondolom hogy valamilyen lehetoseg van ra.
Udvozlettel: lazly
gettext vs. i18nstrings
Két külön dolog: amit modul kódba írsz, t() függvények közé, és .po file-okkal fordítasz, az gettext rendszert használ, ahol az alapértelmezett nyelv mindig angol lesz.
Ha föltelepíted az i18n modult, és az általa biztosított taxonómia kifejezéseket stb. viszed be, azok az aktuális nyelven fognak elmentődni, és "vissza lehet őket fordítani" angolra.
Koszi a segitseget, i18n
Koszi a segitseget, i18n forraskod ill doksiban elmelyedve meglett a megoldas. :) Remelem a drupal7ben mar a t() is alkalmas lesz erre.
Udvozlettel: lazly
nem
nem
elnézést
Közben én is megnéztem, és elnézést kérek a feljebbi téves információért.
--
Csonka Gergely
http://cheppers.com
és mi volt az?
és mi volt az?
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
Hat kicsit specifikus a
Hat kicsit specifikus a megoldas, mivel taxonomy forditasokat kellet kiszednem, es a taxonomyban a nevek magyarul vannak eltarolva. (tehat nem altalanos magyar stringrol van szo, de innen mar nincs messze az se, szerintem)
i18nstrings("taxonomy:term:$parent->tid:name", $parent->name)
Udvozlettel: lazly