- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sellerbuyer: Milyen laptopot vegyek? Segítek: semmilyet!
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Perplexity Pro AI képszerkesztési limit -egy képgenerátor függő tapasztalatai
- sellerbuyer: Egy teljesen új platformot kapunk! Új korszak kezdődik?
- aquark: A ló túloldalán (Intel-AMD szivatás)
- sziku69: Szólánc.
- aquark: Jó platformer játékokat keresek!
Új hozzászólás Aktív témák
-
modder
aktív tag
Háttő
Én most hirtelen kétfélé többnyelvűséget tudok megkülönböztetni:
1) Az oldalon megjelenő statikus szövegek: navigáció, regisztráció, miegyéb. Itt általában olyan megoldás van (azt hiszem ilyen a Zend i18n modul is), hogy megadsz egy nyelvi fájlt, aminek minden sorában van egy angol szöveg - másnyelvű szöveg pár. Visszaadhat akár tömböt is (Kohana pl. ezt csinálja)return array(
'Welcome :user' => 'Isten hozott :user'
)majd kódban a szövegeket speciális függvénnyel íratod ki, ami éppen aktuális nyelvi beállításoknak megfelelő nyelven írja ki a szöveget:
echo __('Welcome :user' , array(':user' => 'Laci'));
2) Dinamikus szövegek: blogpostok, cikkek, amiket adatbázisban tárolsz. Ez a bonyolultabb téma. Azért is, mert egy adatbázis rekord nem csak szövegeket, hanem számokat, kapcsolatokat is tárolhat, amit nem akarsz redundánsan tárolni a többnyelvűség miatt. Ezek a megközelítések jutnak eszembe:
a) van egy entitás táblád, és van több entitás_nyelv táblád. Az entitás táblába beleteszed a nyelvfüggetlen adatokat:
mikor készült a cikk, ki a szerzője, mikor módosították, milyen kategória...Az entitás_nyelv táblába pedig beleteszel egy kapcsolatot az entitás táblára, és a nyelvfüggő dolgokat ebbe teszed: maga a cikk szövege, cím
szerintem ez elég tiszta megoldásb) ugyanabban a táblában tárolod egy entitás minden fordítására vonatkozó adatot, és beteszel egy nyelv mezőt. Ez azért jó, mert nem kell a kapcsolatokkal foglalkozni, viszont a nyelvfüggetlen adatokat valszeg redundánsan tárolod, és konzisztensen kell tartani, amikor valami frissül
c) brutálisan általános és lassú megoldás, de cachelhető kódból, ezt már egyszer megcsináltam
Van egy nyelv táblám, aminek mezői [ id, nyelv, tablanev, tablamezo, tablaPK , szoveg ]
gondolom ebből látszik, hogy mire megy ki a játék. Az összes entitásom összes szöveges mezőjét az összes nyelvre egy rekordként tárolom. Működő megoldás, nagyon dinamikus, nem kell meglévő adatbázisstruktúrát megváltoztatni, és ha cachelsz szöveget pl. APC-be, akkor még elfogadható sebességű is lehet. Ha nem cachelsz, akkor viszont túl sok adatbázis lekérdezés.
Új hozzászólás Aktív témák
Hirdetés
- Eladó konfig! I5-8700 500GB SSD 32GB DDR4 RTX2060 6GB!
- Predator PH315-51 15.6" FHD IPS i7-8750H GTX 1060 16GB 256GB NVMe+1TB HDD magyar vbill gar
- IPhone 15 Pro 256GB gyári független hibátlan 2026.09. 22. Apple jótállás
- SAMSUNG (SP-LSP9TFAXXH) LÉZER TV ! ÓRÁS HIGH TECH MOZI !!AKCIÓ! 350CM !!!
- SAMSUNG (SP-LFF3CLAXXXE) DLP SMART PROJEKTOR ! 2024 MODELL! AKCIÓ!
- GYÖNYÖRŰ iPhone 11 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3271, 100% Akkumulátor
- Apple Watch Ultra 2 GPS, LTE, 49mm // Számla+Garancia //
- HP 14 Elitebook 640 G10 FHD IPS i5-1345U vPro 10mag 16GB 512GB SSD Intel Iris XE Win11 Pro Garancia
- Dell latitude, precision, xps, magyar világítós billentyűzetek eladóak
- iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3086, 94% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest