Hirdetés
- iPhone topik
- Apple iPhone 13 - hízott, de jól áll neki!
- Milyen okostelefont vegyek?
- Kézbe fogható paradoxon lett az iPhone Air
- Nonjour: nem fordít az EU-ban az AirPods
- Megjelent a Sony Xperia 10 VII
- Két butatelefon és egy 5G-s okos a HMD-től
- Nagyon erős ajánlat lett az Apple Watch SE 3
- Okosóra és okoskiegészítő topik
- Megérkezett a Google Pixel 7 és 7 Pro
Ú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
- Milyen videókártyát?
- LEGO klub
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- iPhone topik
- Windows 11
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Bambu Lab 3D nyomtatók
- Vezeték nélküli fülhallgatók
- Apple iPhone 13 - hízott, de jól áll neki!
- Milyen autót vegyek?
- További aktív témák...
- Eladó két darab JBL PartyBox 520 hangszóró újszerű állapot, 34hónap garanciával!
- Megválnék a fotós arzenálomtól 6D MkII, Sigma üvegek, vakuk, és még sok más
- DELL T3620 WORKSTATION INTEL XEON I7-6700 / NVME SSD / DDR4 - vga tápkábel
- Gamer PC - R5 5500, RTX 2060 és 16gb RAM + GARANCIA
- 2025-Ös 10 Magos Legújabb Intel Core Ultra 5 225F 10x4.9Ghz RTX 5060TI 16/32Gb DDR5 5600Mhz 1TB M.2
- DELL Precision 5540 Workstation i7-9850H Nvidia Quadro T1000 32GB 1000GB 15.6 új akksi 1év garancia
- HIBÁTLAN Apple Watch Ultra 2 Natural Titanium 49mm -1 ÉV GARANCIA - 100% Akkumulátor, MS3220
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5600X / RX 7600 / 32GB DDR4 / 1TB M.2 SSD
- Xiaomi Redmi Note 13 Pro BONTATLAN // Számla+Garancia //
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3376, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest