Traduzione template custom
-
Buona sera a tutti, sto realizzando un template custom per Joomla 6, in linea di principio sarà predisposto per italiano ed inglese, per cui sto realizzando i file di traduzione.
L'ultimo template realizzato in questo modo è di 5/6 anni fa per cui ho dovuto rispolverare le conoscenze usando chatgpt.
Abbiamo una diatriba sulla nomenclatura del file, ad esempio per impostare le varie corrispondenze delle costanti linguistiche impostante nel templateDetails.xml, in passato avevo usato un file "it-IT.nome_template.ini" inserito nella cartella language nel template in it-iT, lui invece insiste ad utilizzare "it-IT.nome_template.sys.ini".
Con questo ultimo file non funziona nulla ma con il primo si.
Visto che ChatGpt è visto come onnipotente e omnisciente, mi pongo il dubbio, avrà ragione o soffre di allucinazioni?
Chiedo quindi "aiuto da casa".
Grazie in anticipo per le risposte. -
Ciao, i sys sono i file con le stringhe che Joomla usa durante l'installazione del componente/template.
Se dai un occhio qui ( https://github.com/joomla/joomla-cms/tree/5.4-dev/language/en-GB ) vedrai che sono praticamente tutti uguali con titolo estensione e descrizione. Tutti campi che puoi trovare nell'xml dell'estensione. -
P.s: per farlo funzionare devi metterlo anche dentro l'xml ovviamente (tipo qui: https://github.com/joomla/joomla-cms/blob/5.4-dev/modules/mod_articles/mod_articles.xml )
-
Grazie per le risposte, in effetti sono tutte operazioni già fatte, xml compilato correttamente, file sys e senza sys compilati, reintallato da zero più volte il template per far si che venisse tutto registrato correttamente.
Ma non ne vuole sapere di funzionare, in backend nelle tab del template si vedono le costanti e non la descrizione testuale.
L'unica cosa che non ho ancora provato è di modificare il template e provarlo ad installare su joomla 5. -
Scrivo qualche aggiornamento dato che ho passato buona parte della nottata e della mattinata su questo problema:
Ecco gli step che effettuo:- realizzo il template custom con il templateDetails.xml che ha le indicazioni sui file di lingua da utilizzare per tradurre le costanti. File che in fase di installazione saranno in una cartella language del template ognuno nella sottocartella di lingua, ad esempio it-It.
2)Durante l'installazione i file vengono copiati nella cartella language nella lingua corrispondente, sia il file template.sys.ini che il template.ini. - vado in backendo nelle opzioni del template ma non vedo le traduzioni ma le costanti, ad esempio TPL_PIZZA_XML_DESCRIPTION al posto di Pizza template per Joomla 6
- attivo il debug di lingua nel backend per vedere se i file vengano caricati correttamente e ci sono tutti
a questo punto mi interfaccio con chatgpt e con gemini per capire la questione, entrambi arrivano a questa conclusione che questo è un comportamento noto e già discusso in GIthub di Joomal 5 e 6.
La soluzione proposta la cito:
La soluzione ufficialmente supportata (usata da template commerciali come Helix, Gantry, YOOtheme, ecc.) è:Copiare automaticamente i file di lingua del template anche in
/administrator/language/
e registrare un piccolo system plugin che li carichi nel backend.A me sembra un pochino troppo complessa come soluzione, io al momento non ho mire di distribuzione se non su alcuni siti di clienti, indagherò su github ma vorrei intanto avere un vostro parare in merito ed eventualmente se vi siete trovati in questa situazione, qualche consiglio.
Grazie in anticipo
- realizzo il template custom con il templateDetails.xml che ha le indicazioni sui file di lingua da utilizzare per tradurre le costanti. File che in fase di installazione saranno in una cartella language del template ognuno nella sottocartella di lingua, ad esempio it-It.
-
Luca, se lo carichi su una repo su github, possiamo testarla se vuoi...
-
@Lucantropo no c'è qualcosa che non va. Provato a mettere i file lingua del template dentro /languages/it-IT ?
-
@Lucantropo
Nella gestione degli override lingua di Joomla vedi le costanti da te definite?
Se non le vedi, prova a inserirne una sempre da override e vediamo se la visualizza, così iniziamo a isolare il problema. -
Per quanto riguarda la nomenclatura dei file di lingua, da Joomla 3.10 sono supportati i nomi senza prefisso linguistico, e dalla versione 4 sono questi ultimi ad essere consigliati, perché il loro caricamento è più veloce.
Questo perché dal core di Joomla "nome_template.ini" - sempre inserito nell'apposita cartella (es. it-IT) - viene cercato prima di "it-IT.nome_template.ini" -
Grazie a tutti per le risposte.
@webman ha detto in Traduzione template custom:
Luca, se lo carichi su una repo su github, possiamo testarla se vuoi...
Lo farò sicuramente, il problema delle traduzioni mi stava portando via troppo tempo e sono tornato alla costruzione del template per ora.
@jabba ha detto in Traduzione template custom:
@Lucantropo no c'è qualcosa che non va. Provato a mettere i file lingua del template dentro /languages/it-IT ?
Si condidera che in fase di installazione vengono copiati nella cartella language/it-IT, ma le ho anche inserite a manosenza risultati.
@luX0r75 ha detto in Traduzione template custom:
@Lucantropo
Nella gestione degli override lingua di Joomla vedi le costanti da te definite?
Se non le vedi, prova a inserirne una sempre da override e vediamo se la visualizza, così iniziamo a isolare il problema.Ho effettuato entrambe le prove, non le vedo e cercando non le trova
@luX0r75 ha detto in Traduzione template custom:
Per quanto riguarda la nomenclatura dei file di lingua, da Joomla 3.10 sono supportati i nomi senza prefisso linguistico, e dalla versione 4 sono questi ultimi ad essere consigliati, perché il loro caricamento è più veloce.
Questo perché dal core di Joomla "nome_template.ini" - sempre inserito nell'apposita cartella (es. it-IT) - viene cercato prima di "it-IT.nome_template.ini"Si i file sono nominati in questo modo: tpl_pizza.sys.ini e tpl_pizza.ini