Přihlásit se

Joomla 5.0.1 a 4.4.1 bezpečnostní vydání (29 lis 2023)

Joomla 5.0.1 a 4.4.1 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 4.x. a 5.x.

Multilanguage komponenta

10. dub 2019 21:28 - 10. dub 2019 21:30 #139818
Multilanguage komponenta od Rudolf
Joomla Expert
Potřebuji naprogramovat multijazyčnou komponentu.

Líbí se mi jak to má vyřešené Virtuemart, ale nejsem si jistý (spíše jsem si jistý jak znám Maxe že je to špatně) jestli je to správná cesta pro spojení s Joomla.

Díval jsme se jak to má vyřešené PhocaCart, ale ten například kategorie nemá sdružené do jednoho ID, ale vytváří nové.
To je správně?

Já ale potřebuji aby například kategorie byla jen jedna, jen měla jiné popisky a meta a tak v každém jazyce jiné.

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

10. dub 2019 21:52 #139822
Odpověď od Cony
Moderátor
Joomla řešení pomocí asociací opravdu není vhodné vždy, nasazení je ale nejjednodušší, Joomla na to má prostředky . Na druhou stranu pokud není třeba např. hlídat stav skladu na položce (to by u asociací bylo zase náročnější), je to asi nejsystémovější cesta jak to v Joomle nasadit. I kategorie se nasadí velmi jednoduše .

VM řešení je trochu specifické, pro každý jazyk nová tabulka, upřímně jsem to nikde jinde neviděl. Nevýhodu bych viděl v nutnosti změn struktury databáze při přidání jazyku, ale u MySQL to asi zase takový problém není. Kód jazyka se pak v dotazech místo ve where použije při join tabulky.

U jedné komponenty, kterou jsem dělal a byl jsem dostatečně líný jsem překlady pořešil jednoduše přidáním TEXT pole do tabulky (v podstat stejně, jako Joomla pracuje s params), a do toho pole ukládám JSON zakódované překlady. Formulář lze pak jednoduše nasmolit pomocí Subform field , nebo přidělat vlastní field který vytvoří počet polí pro počet aktivních jazyků. Samozřejmě pokud je potřeba dle pole hledat nebo řadit, tak toto použít nejde.

Další varianta, taková dle mého nejobvyklejší, je vyhodit názvy / popisy do samostatné tabulky, se sloupcem jazyk (v podstatě analogie toho VM řešení, jen v jedné tabulce). Editace asi opět pomocí Subform nebo vlastního fieldu.

No a poslední možnost co mě napadá je neřešit to, a překlady dělat pomocí Falang . Nasazení by mělo být poměrně jednoduché (kdysi jsem to někde dělal ještě s JoomFish), uživatelsky také poměrně přívětivé. Jako nevýhodu bych viděl způsob jak Falang pracuje - nacpe se přímo do SQL dotazů, které nahrazuje svými, tj. není nad tím kontrola, a výkon může jít poměrně výrazně dolů...

10. dub 2019 21:56 #139823
Odpověď od Bong
Moderátor
Myslim, ze Phoca Cart to dela standardne joomlovsky.

Ale vzpominam si, ze pri prekladech jsem narazil na komponentu z Multi-lingual Content na JED a ta se podobnymi nebo stejnymi vlastnostmi primo chlubila.

I'm sorry, my responses are limited...you must ask the right questions.

10. dub 2019 22:21 - 10. dub 2019 22:23 #139825
Odpověď od H13
Admin
Já musím konečně napsat článek o vícejazyčnosti v Phoca Cart.

Osobně si myslím, že asi nejlepší cesta je použít kombinace různých systémů.

Základ je odvozenej od Joomly! a to je, že každá položka má vlastní ID (mluvíme o produktu nebo kategorii). To má sice hodně negativ, ale pokud se ale podíváme na rychlost přidávání jazykových variant a Joomla! core funkce - asociace - tak to může být zajímavý:





1) Tedy zaprvé standardní Joomla! funkce

2) Ta je ale nevhodná pro překlad např. order statusů (čekající, vyřízen, ...). Tam bych spíš použil plugin MultilanguagesCK - já ho trochu poupravil ( www.phoca.cz/download/category/100-phoca-cart-component ) tak, aby pracoval i v emailech, PDF, apod.

Například email zákazníkovi může obsahovat tento řetězec:

{langck=de-DE}Němčina - uživatelův email je: {email}{/langck}{langck=en-GB}Angličtina - uživatelův email je: {email}{/langck}

- pro každý jazyk se použije jeho jazyková část.

Teoreticky se to dá použít všude, jen by v některých případech muselo být změněný pole v databázi, např. z VARCHAR(250) na TEXT, aby se tam vešlo více jazykových variant (a tady nejsem se zkoumáním ještě u konce, těch možných míst na možnej překlad bude víc, než je momentálně řešeno)

( 1) a 2) se dá libovolně kombinovat)

3) Falang - mám sice nějaký soubory pro Falang (tuším, že je to snad převzatý projekt z Joom!fish), ale nemám s tím žádný zkušenosti.

Mohla by to být zajímavá cesta, jak se vyhnout problémům v 1) (každá jazyková verze - jiné ID produktu/kategorie), ale to by si s tím někdo musel pohrát a doplnit všechny pole pro překlad.

Pokud by to někdo někdy řešil pomocí Phoca Cart a Falangu a zjistil by, že ta cesta je Ok, rád se zúčastním - například při vytvářením pluginů (což by v podstatě měly být jen definiční XML soubory



)

Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook

10. dub 2019 22:39 #139826
Odpověď od Cony
Moderátor
Podobně jako ten MultilanguageCK pracuje také n3t Language Filter - jen je to content plugin a ne systémový. Ale to je už opravdu spíš na překlady obsahů. Někdy používám na jendoduché články nebo custom moduly, abych neměl v administraci maglajs...

10. dub 2019 22:41 #139828
Odpověď od Cony
Moderátor
Umí Phoca hlídat stav skladu napříč asociacema?

Powered by Fórum