Kezdőoldal » Számítástechnika » Weblapkészítés » Ket nyelvu weboldal tervezese...

Ket nyelvu weboldal tervezese eseten mi a legesszerubb modszer a ket nyelv tarolasara?

Figyelt kérdés

3 jutott eszembe,


1. Ugymond ketszer megcsinalni a weboldalt, es az egyik nyelvet kivalasztva az egyik oldal toltodik be, a masik nyelvet kivalasztva meg a masik. Kicsit putri modszernek tunik.


2. Adatbazisban tarolni a 2 nyelvet es a nyelvvalasztasnal csak egy kulcsszo donti el a szoveg lekerdezesnel, h az elso vagy a masodik nyelv tablajat hasznalja. Csak ez meg gondolom nagyon megterhelne az adatbazist ha sok szoveg lenne az oldalon.


3. Hasonloan a 2.-hoz itt is adatbazisban lennenek a szovegek, csak az oldal elso betoltesenel kerdezne le az oldalon levo osszes szoveget, es ezeket mondjuk valtozokba tarolnam, vagy hasonlo.


A profi cegek ezeket hogyan oldjak meg, ha nem is ezek kozul valamelyik?



2018. máj. 15. 20:22
 1/10 anonim ***** válasza:

PHP-s tapasztalatom van, ezért egy ilyen példával tudok előjönni.

Én a legésszerűbbnek azt találom,hogy:


Van egy hu.php és mondjuk egy en.php a magyar és angol nyelvnek.


Minden fix szöveget (például menüpontok neve, footer szöveg stb..) előre definiálunk.


define("OLDALCIME","Ez az oldal cime");

define("FOOTERSZOVEG","footer copyright");


És az adott részeken ahol más nyelven mást kell kiírni, nem a szöveget írod ki hanem ezt a "változót" amit fentebb definiáltál.


Értelemszerűen hu.php-ban magyarul írva a szöveg, en.php-ban angolul írva a szöveg.


Ellenőrzöd, hogy az oldal éppen milyen nyelvre van állítva, és aszerint meghívod a kívánt nyelvi fájlt.

Onnantól kezdve pedig hozzáférésed van a definiált "változóhoz".

2018. máj. 15. 23:19
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
Én az adatbázisos módszert választottam, azoknál az adatoknál, ahol nyelvi különbségek is vannak, több oszlopot hoztam létre, és a választott nyelvtől függően kérdezi le az adott oszlopot. Előnye, hogy módosításkor nem kell a fájlban turkálni, a felhasználók is is beleszólhatnak aktívan a fordításba.
2018. máj. 16. 08:11
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:

Koszonom mindket valaszt. :)

A masodikhoz szolva, nem vettel eszre lassulast a sok lekerdezes miatt? Egyebkent enis azert ezt preferalnam, mert egyszeru modositani, es esetleg kesobb kiboviteni.

2018. máj. 16. 14:47
 4/10 anonim ***** válasza:
Amióta használok adatbázist, azóta így csinálom, szóval nem tudok adatokkal szolálni abban a tekintetben, hogy lassul-e emiatt az oldal, de a ritkán változó tartalmakat lehet cache-elni, ami a lassulás jelentős részét kiküszöböli.
2018. máj. 16. 18:48
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:
37%

Erre vannak technikák és toolok. Fölösleges újra feltalálni a kereket.

A lényeg: kell egy default fallback nyelv, ezen jelenik meg minden string, ha nincs az adott nyelven fordítása, és kell egy eszköz, amivel a stringeket más nyelveken meg lehet adni.

Én a cakephp keretrendszert használom többnyire, annak profi többnyelv kezelése van. Használj keretrendszert fejlesztésre, sokkal gyorsabban tudsz dolgozni. Rá kell szánni az időt a megismerésére, de ez megtérül.

Ha usercontentet is mekk multilang kezelni, akkor kell tool a userednek, hogy az egyes nyelveken is fel tudja vinni a tartalmat.


A php gettext függvényének, i18-nak, *.po, *.mo fájlok készítésének nézz utána, ha plain php-t akarsz használni.


Ha ezt túl bonyolultnak találod, akkor adatbázisos megoldást válassz, vagy esetleg egy nyelvi fájlt, ami feltölt egy tömböt, pl. $szovegek["hu"]["oldalcim"] = "oldal címe"; $szovegek["en"]["oldalcim"] = "page title";

de ezt macerásabb karbantartani.

2018. máj. 16. 21:30
Hasznos számodra ez a válasz?
 6/10 A kérdező kommentje:
Rendben, ennek is utána fogok nézni, köszönöm!
2018. máj. 16. 23:10
 7/10 anonim ***** válasza:

Adatbázis. Fentebb leírták az okokat.

Persze, mindenképp lassít. Ez olyan kérdés, hogy a cnc gép mozgó részei nem kopnak? Remélem érted mire gondolok.

2018. máj. 18. 17:23
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:
Értem igen :D
2018. máj. 19. 13:40
 9/10 anonim ***** válasza:

Na most akad egy kis időm. Bocsi de sokat dolgozok.

Én úgy írtam meg, van egy language tábla, az oszlopai pedig

Id, alias, hu, en

Majd a nyelvi beállításnak megfelelően helyettesítem be. Természetesen lehet cachelni, ha valóban ritkán van módosítva.

Én a adatokat egy osztályban húzom le, és abból íratom ki a fordítást.

$this->translate('sitename');

Remélem tudtam segíteni.

2018. máj. 19. 23:13
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:
Egyébként nem vagyok kretén, ha értelmes kérdést látok szívesen segítek. A legtöbbet még válaszra sem méltatom.
2018. máj. 19. 23:15
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!