Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 16 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
jazykova verzia

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok NapísalOffline : 29.09.2016 12:42

Mam CMS, ktory by som chcel prelozit aj do inych jazykov. Nechcem to riesit tak, ze v URL sa zada parameter a prepne sa jazyk, ale uz pri instalacii si navolim jazyk a podla toho bude cele CMS v tom jazyku.

Chcem to spravit tak, ze v jednom subore (txt alebo json ci xml) by boli vsetky slova, ktore CMS obsahuje

napr.
zrusit - cancel
odoslat - send
atd.

a vsade by sa z tohto suboru nahradili tie povodne slova. Neviem vsak ako to najlepsie spravit.

Keby som namiesto kazdeho slova vo vsetkych suboroch dal php premennu, boli by to stovky premennych, co by asi nebolo ok.

Navyse ak sa niekde vyskytnu slova aj v js subore, tak to mi je zas nanic. Ale zatial by som riesil iba php.

Ako to riesit?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 29.09.2016 13:21

S tou hromadou premenných sa to môže zdať čudné, ale naozaj sa to tak robí. Resp nie premenné, ale prvky asociatívneho poľa.

Môžeš použiť nejaký template engine (smarty, twig...), alebo sa nimi aspoň inšpirovať. Pripadne sa inšpiruj nejakým frameworkom (laravel to veľmi pekne vyriešené)







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
jazykova verzia

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 30.09.2016 10:39

mam to robene v template power - t.j. podobne ako smarty, tak skusim to teda s tymi premennymi. Rozmyslal som ,ze vyuzijem json, napr.

Kód:
{
    "a1": {
        "en":"Cancel",
"sk":"Zrusiť"
    },
    "a2": {
        "en":"Send",
"sk":"Odoslať"
    }}


a potom vlastne by som pouzil napr. $x[a1][en] atd... resp, pre moj system potom asociovane napr. {a1en}.

Len po kazdom nacitani stranky potom musim nacitat get content toho json, ale to skusim spravit tak, aby to nacitalo len prvy krat do globalnej premennej.


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
jazykova verzia

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 30.09.2016 10:45

nie je lepsie si to napojit na databazu, spravit stlpce pre jazyky + premenna a celeho to po prvom nacitani uchovat do memcache a pracovat na tej urovni, pri kazdej zmene jazyka len nechat nacitat polozky znova a nechat po najdlhsiu dobu v memcache? samotna php zozere menej pamete pri nacitani stranky, naco vzdy nacitat cely jazyk ked je pouzita len jedna mutacia a len niektore casti z nej? takto to bude drzat cele v pameti memcache server, ktory je zvycajne na kazdom normalnejsom hostingu a takto nebude tymto textovym balastom zatazene php? ale len taky moj nazor na tuto vec, ze ci to nie je lepsie riesenie cez memcache a danym klucom ktorym sa nacita z neho dana hodnota, tym je db pouzita len raz kym nedojde k expiracii kluca alebo aktualizacii jazyka, resp pridania nejakej polozky







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 01.10.2016 8:06

1. Chcelo by to niečo prehľadnejšie než json
2. Chcelo by to oddeliť jednotlivé jazyky do rôznych súborov. Takto budeš musieť načítať vždy všetky jazyky a z toho potom vybrať ten jeden. Tiež sa tak zjednoduší tvorba ďalších prekladov.

Koment od JanoF tiež stojí za zváženie.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.02.14
Prihlásený: 19.01.18
Príspevky: 443
Témy: 9
Príspevok NapísalOffline : 01.10.2016 11:04

nezabudni, ze preklady nie su uplne take jednoduche, kedze musis riesis problemy ako napr. mnozne cisla (2-3 verzie slova), rody atd.

s tou databazou som si nie uplne isty ci je to dobry napad. robit request kvoli kazdemu slovu? takze pri nacitani jednej stranky niekolko desiatok/stoviek requestov? zatial co subor nacitas iba raz.
a cache bude pouzita rovnako ci je to subor alebo databaza, nie? ale mozno sa mylim, nie som na to expert ;)


Offline

Užívateľ
Užívateľ
jazykova verzia

Registrovaný: 05.02.13
Prihlásený: 26.10.23
Príspevky: 59
Témy: 3
Príspevok NapísalOffline : 01.10.2016 17:01

hatto prečo request na každé slovo? Jano hovorí správne, presne tak to používam aj ja vo svojich systémoch. Pri prvotnom načítaní stránky / zmene jazyka vytiahnem z DB všetky slová daného jazyka do poľa - pole uložím do memcache a mám hladký priebeh. A čo je ešte lepšie. Veľmi jednoducho na to spravíš rozhranie pre prekladateľov. S databázou sa pracuje lepšie ako so súbormi.


Offline

Skúsený užívateľ
Skúsený užívateľ
jazykova verzia

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 01.10.2016 17:42

Nechápem prečo nespomenul niekto štandardný spôsob - gettext. Nie, miesto toho si každý bude vymýšľať svoj spôsob :) V každom prípade by OP mal využiť postup ako pôvodne odporučil BX - využiť existujúci systém, napr Twig.
Memcache na toto vážne zamýšľané nebolo...







_________________
C#, PHP, ...
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
jazykova verzia

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 02.10.2016 19:06

Standardy sposob ale neznamena, ze musi byt ten naj predsa, mne sa praveze memcache na taketo pouzitie paci ale ako sa hovori, sto ludi sto chuti.







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Užívateľ
Užívateľ
jazykova verzia

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 19.10.2016 15:06

a mozte mi zhruba priblizit, ako pracovat s memcache?

Nasiel som toto:

Kód:
$memc = new Memcached();
$memc->addServer("host", 11211);

$data = $mysqli->query("SELECT * FROM test WHERE id = 1");


a teraz ako vytiahnem vsetky udaje z dtb do memcache?

Bezne to robim nejak takto

Kód:
while($build = mysqli_fetch_array($data))  { echo $build['nazov']; }


Proste ze ako to zapisat do memcache a ako k tym udajom pristupovat z lubovolnej inej podstranky, aby som stale nemusel davat query na dtb.


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
jazykova verzia

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 19.10.2016 16:39

http://www.9lessons.info/2012/02/memcached-with-php.html

cez set nastavujes kluc a data k nemu, cez get ich zasa citas na zaklade kluca







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Užívateľ
Užívateľ
jazykova verzia

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 19.10.2016 19:25

super, dakujem za link!

Zial zistil som, ze na mojom serveri nie je instalovane memcache. Mozno by mi to na poziadanie zapli, lenze ten moj CMS system budem instalovat roznym ludom na rozne hostingy i servery, takze na to sa nemozem spoliehat, ze vsade bude ten memcache a potom zbytocne riesit so spravcami hostingov ci to mozu povolit atd...

Takze budem to riesit nejak, ze natiahnem data z dtb do nejakeho globalneho array, a na jednotlivych strankach dam zobrazit len tie, ktore dana stranka potrebuje. Pripadne sa vykona query na kazdej podstranke len na vytiahnutie tych slov, ktore stranka potrebuje, co je max. 5-6.

Je to CMS, nie je tam vela slov - hlavne menu, potom nejake nadpisy, a zvysok je obsah stranok, nazvy galerii ci noviniek, co si klient aj tak spravuje sam.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 20.10.2016 10:35

Ak tam nie sú desatisíce slov, tak to môžeš natiahnuť kľudne aj celé do pamäte a neriešiť to. Nemá zmysel robiť to zbytočne efektíve, ak je slov málo.
Ak ale píšeš o nadpisoch a obsahu stránok v CMS, tak to je iná vec. To už budú záznamy v databázi, predpokladám, že budú editovateľné. A tam už je treba jazykové verzie zase riešiť inak a treba sa nad tým aj zamyslieť trocha inak.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
jazykova verzia

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 20.10.2016 13:20

Jedna sa cisto o jazykovu verziu CMS systemu - SK a CZ. Cize obsah stranok si uzivatel napise vo svojom jazyku, to neriesim. Riesim iba samotne CMS - cize naozaj len par slov na kazdej stranke. Nadpismi som myslel nazvy sekcii v CMS, nie uzivatelsky obsah. Ide o to, aby si uzivatel mohol prepnut jazyk do CZ a niekto zase do SK. Cize v podstate len samotne rozhranie adminu. OK, vyriesil som to teda tymi par query na kazdej podstranke, a teraz robim este translator, kde bude mozne pridavat nove slova a ich preklady, pripadne menit a prekladat tie co su.


Offline

Užívateľ
Užívateľ
jazykova verzia

Registrovaný: 05.02.13
Prihlásený: 26.10.23
Príspevky: 59
Témy: 3
Príspevok NapísalOffline : 21.10.2016 9:04

Ak to chápem správne, ty budeš ľudom - zákazníkom poskytovať zdrojáky? Alebo prečo to zaváhanie ohľadom viacerých hostingov? Dnes sa to už vo väčšine prípadov funguje tak (cloudovo), že súbory - zdrojáky máš u seba na servery (alebo VPS) a len kupuješ domeny pre zákazníka, ktorých DNS smeruje na tvoj server. Môžeš buď pre každú inštanciu vytvárať nové súbory (neodporúčam) alebo použiť jeden zdroják - pre všetky weby s vlastnými databázami.

A máš hneď vyriešenú bezpečnosť, customizáciu servera, jednoduchú správu a mnoho ďalšieho.


Offline

Užívateľ
Užívateľ
jazykova verzia

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 24.10.2016 14:14

zakaznikom poskytujem len CMS na spravu ich webov, ktory nainstalujem na ich server. Ja nemam cloudovy server, nepotrebujem ho momentalne, tolko zakaznikov nemam, aby mi to vratilo investiciu. Len som chcel ten CMS lokalizovat, aby ho mali k dispozicii aj v inom jazyku. Uz som to vyriesil pomocou dtb, kde som ulozil slova aj v druhom jazyku a podla toho ako si to nastavi v CMS, tak taky jazyk mu nacita. Funguje to v pohode.


Odpovedať na tému [ Príspevkov: 16 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Jazyková mutácia

v Ostatné

2

327

19.11.2013 7:46

ChickenHunter79 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Verzia PHP

v PHP, ASP

2

284

14.03.2014 21:30

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Verzia browsera

v JavaScript, VBScript, Ajax

3

431

23.12.2011 22:52

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. verzia HDMI

v Monitory, televízory a projektory

14

1113

23.11.2018 6:15

zodiaq Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mobilna verzia

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Správy pre vedenie fóra

35

6503

26.01.2015 20:02

Lessik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. verzia windowsu

v Operačné systémy Microsoft

2

447

03.12.2009 15:15

AsuSmaNiaK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. verzia directx

v Operačné systémy Microsoft

2

2942

09.11.2008 15:11

lurtz Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mobilna verzia webu

v HTML, XHTML, XML, CSS

3

749

31.01.2012 14:23

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aka verzia visty?

v Operačné systémy Microsoft

7

463

14.06.2008 22:10

f_fabregas4 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Beta verzia- hlúposť?

v Operačné systémy Microsoft

10

482

26.05.2008 21:00

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ESET verzia 4

v Antivíry a antispywary

3

778

04.04.2009 23:33

Bobface Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spravna BIOS verzia

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Operačné systémy Microsoft

38

899

20.05.2016 20:35

chameleo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mobilna verzia webu.

v Webdesign

3

632

06.07.2017 17:05

killer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP nová verzia

v PHP, ASP

4

441

27.12.2015 18:02

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. winamp najnovsia verzia

v Audio programy

2

614

03.08.2009 17:28

Denco1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jedoducha Live verzia

v Operačné systémy Unix a Linux

1

349

23.08.2010 11:06

walther Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra