<title>Guida di riferimento per gli stili della finestra di chat di &kopete;.</title>
<para>A partire da &kopete; 0.12, ora usiamo il formato di <ulink url="http://www.adiumx.com/">Adium</ulink> per gli stili delle finestre di conversazione. Il formato del tema è basato su modelli <acronym>HTML</acronym> e su <acronym>CSS</acronym>. Sono più facili da creare e sviluppare, richiedono solo la conoscenza di <acronym>HTML</acronym> e <acronym>CSS</acronym>. Inoltre gli stili possono avere delle varianti (definite con file <acronym>CSS</acronym>) che forniscono un valore aggiunto per la personalizzazione. </para>
<para>Il formato adium consiste di una struttura di directory, di modelli <acronym>HTML</acronym>, di file <acronym>CSS</acronym> e di parole chiave che sono sostituite ogni volta che il modello è elaborato. La conversazione finale è una pagina <acronym>XHTML</acronym> dove i messaggi sono aggiunti con operazioni <acronym>DOM</acronym>. L'elemento centrale è l'elemento div chiamato <filename>Chat</filename>. Prima e dopo l'elemento div, vengono i modelli Header e Footer. I messaggi sono figli dell'elemento div <filename>Chat</filename>. </para>
<para>Uno stile deve rispettare questa struttura di directory. Il codice di &kopete; è pensato attorno ad essa. Quando archivi lo stile, archivia la directory <filename>styleName</filename>. La struttura della directory è la struttura di un <quote>bundle</quote> di <application>Mac OS X</application>, per chi ha familiarità con tale sistema operativo. Inoltre è importante rispettare le maiuscole qui, perché i sistemi <acronym>UNIX</acronym> fanno distinzione.</para>
<programlisting>styleName\ (può avere un suffisso .adiumMessageStyle, perché in Mac OS X è un bundle)
<title>Informazioni su <div id="insert"></div></title>
<para>Questo è un elemento div speciale usato internamente. È un segnaposto che indica dove inserire il prossimo messaggio. Se è un nuovo messaggio, è rimosso e lo sostituisce il messaggio nuovo. Ma se è un messaggio consecutivo dello stesso utente, l'elemento div è sostituito con il contenuto del nuovo messaggio. Questo elemento div speciale è <emphasis>obbligatorio</emphasis> nei modelli Content, Context, NextContent, NextContext. Però non fa male nemmeno nei modelli Action e Status. </para>
<para>Usa il modello Header per mostrare una bella intestazione nella conversazione. Questo modello è inserito prima dell'elemento div <filename>Chat</filename>. Se non lo usi, puoi metterci un file vuoto. </para>
<para>È quasi lo stesso di Header, ma è messo in calce alla conversazione. Questo modello è inserito dopo l'elemento div <filename>Chat</filename>. Se non lo usi, puoi metterci un file vuoto. </para>
<para>Questo modello è usato per mostrare un messaggio interno. I messaggi interni sono i cambi di stato e i messaggi da Kopete (ad esempio, l'arrivo di un trasferimento di file). Quando lo stile non fornisce un modello Action, è usato anche per i messaggi di azione. </para>
<para>Il modello Content è il nocciolo del messaggio. Pensalo come un blocco che fa da supporto ai messaggi. Assicurati che sia pronto ad accettare messaggi consecutivi, non progettarlo per mostrare un solo messaggio. I messaggi consecutivi saranno inseriti all'elemento div di inserimento. </para>
<para>Il modello NextContent è un frammento di messaggio per messaggi consecutivi. Sarà inserito nel blocco del messaggio principale. Il modello HTML dovrebbe contenere il minimo indispensabile per mostrare il messaggio. </para>
<para>Questo modello è un'estensione di &kopete; al formato Adium. È disponibile per le direzioni Incoming e Outgoing. I messaggi di azione sono messaggi speciali che dicono che noi stiamo facendo un'azione. Ad esempio <quote>/me sta installando &kopete;</quote> potrebbe essere mostrato come <quote>DarkShock sta installando &kopete;</quote>. </para>
<para>Questi modelli non sono usati da Kopete. In Adium, sono usati per mostrare la cronologia. Sono quasi identici a Content e NextContent, ma con qualche differenza per distinguerli dai messaggi normali. </para>
<title>Informazioni sugli stili CSS e le varianti</title>
<para>Dei modelli HTML sono usati per descrivere com'è fatta la struttura. Ma tutto lo stile è descritto in file <acronym>CSS</acronym>. <filename>main.css</filename> è lo stile principale, dove le varianti sono solo alterazioni dello stile principale. Esempi di varianti sono colori diversi, assenza della visualizzazione della foto dell'utente. Sia <filename>main.css</filename> che le varianti sono importate nella pagina <acronym>XHTML</acronym> finale.</para>
<para>Questo è il file <acronym>CSS</acronym> principale che è comune a tutte le varianti. Questo file deve contenere tutte le descrizioni principali dello stile.</para>
<para>Le varianti sono file <acronym>CSS</acronym> presenti nella cartella <filename>Variants</filename>. Ciascuna variante è un singolo file <acronym>CSS</acronym> che include <filename>main.css</filename> ed esegue alterazioni dello stile principale.</para>
<title>-Salvare una conversazione di esempio.</title>
<para>Nelle finestre di conversazione puoi <action>salvare</action> una conversazione. Questa è una copia della pagina XHTML interna che è visualizzata. Usala in <application>Konqueror</application> per provare i file <acronym>CSS</acronym>.</para>
<title>-Disabilitare la cache dello stile.</title>
<para>Una piccola variabile di configurazione esiste per disabilitare ela cache dello stile. Quando è abilitata, ricarica il modello HTML ogni volta che viene chiesto uno stile. Aggiungi la riga seguente al file <filename>kopeterc</filename>. È utilissimo per provare uno stile in &kopete;</para>
<title>Guida di riferimento delle parole chiave</title>
<para>Le parole chiave sono come buchi da riempire con i dettagli. In ciascun messaggio, sono sostituite dal valore corretto corrispondente al loro contenuto. Per gestire completamente tutte le funzioni di &kopete;, abbiamo aggiunto qualche estensione alle parole chiave di Adium. Inoltre alcune parole chiave sono disponibili solo in certi contesti.</para>
<variablelist><title>Elenco di parole chiave per i modelli Header e Footer. </title>
<para>Queste parole chiave sono valutate all'inizio di una conversazione.</para>
<para>Questo è il nome della sessione di conversazione corrente. Per una sessione tipica, mostra il nome del contatto ed il suo stato. Per <acronym>IRC</acronym>, mostra l'argomento del canale. </para>
<para>Questi sono i nomi dei contatti della sessione di conversazione. <filename>%sourceName%</filename> è il tuo nome. <filename>%destinationName%</filename> è il nome del contatto con cui stai chiacchierando. È preferibile usare <filename>%chatName%</filename> rispetto ai precedenti, perché possono essere fonte di confusione nelle discussioni di gruppo o per IRC. </para>
<para>Queste sono le immagini/foto/avatar dei contatti della sessione di conversazione. Incoming rappresenta la foto del contatto e Outgoing la tua. Se non ci sono foto disponibili, verrà usata l'immagine <filename>buddy_icon.png</filename> che è nella cartella <filename>Incoming</filename> o <filename>Outgoing</filename>. </para>
<para>È l'ora in cui è iniziata la conversazione. <filename>%timeOpened%</filename> usa il formato predefinito per l'ora nel locale attuale. Se vuoi usare un formato specifico di tempo, usa <filename>%timeOpened{X}%</filename> dove X è una stringa contenente il formato dell'ora. I parametri dell'ora sono identici a quelli usati dalla funzione della glibc <function>strftime</function>. Usa <command>man strftime</command> per vedere l'elenco di formati disponibili. </para>
<para>Questa è l'immagini/foto/avatar del contatto associato al messaggio. Se non ci sono foto disponibili, verrà usata l'immagine <filename>buddy_icon.png</filename> che è nella cartella <filename>Incoming</filename> o <filename>Outgoing</filename>. </para>
<para>In &kopete;, questa parola chiave può essere usata per rappresentare il colore per evidenziare lo sfondo. Ignora il parametro fra parentesi graffe ed usalo solo come <filename>%textbackgroundcolor{}</filename>. </para>
<para>Genera un colore partendo dall'ID del contatto del mittente. Può essere usato per mostrare un colore diverso per il nick del contatto. </para>
<para><filename>%senderColor{N}%</filename> dove N è un numero positivo. Se N è più grande di 100, rappresenta un colore più chiaro del colore del contatto. Se vale 150, indica un colore del 50% più chiaro. Se vale meno di 100 è un colore più scuro. È utile per avere uno sfondo colorato in modo diverso per ciascun contatto. </para>
<para>Se vuoi usare questi colori in una variante, ma non nello stile principale, devi ricorrere ad un trucco. <programlisting>
</programlisting> puoi applicare il colore dell'elemento p.message nel file<filename>main.css</filename>, e nella variante inserire qualcosa come <programlisting>p.message { color:inherit; border-color:inherit; }
<para>L'ora in cui è stato ricevuto il messaggio. <filename>%time%</filename> usa il formato orario predefinito per il locale attuale. Se vuoi usare un formato orario specifico, usa <filename>%time{X}%</filename> dove X è una stringa contenente il formato orario. I parametri del formato sono gli stessi della funzione <function>strftime</function> della glibc. Usa <command>man strftime</command> per vedere la lista dei parametri disponibili. </para>
<para>Rappresenta la direzione del messaggio, se il messaggio deve essere mostrato da destra a sinistra (come per l'arabo) o da sinistra a destra. Vedi <link linkend="chatstyle-guideline-direction">Linee guida per la direzione dei messaggi</link> per scoprire come usare in modo appropriato questa parola chiave. </para>
<title>Linee guida per gli stili della finestra di chat di &kopete;</title>
<para>Le linee guida per gli stili della finestra di conversazione di &kopete; è una raccolta delle cose che lo stile della finestra di conversazione deve supportare per essere compatibile con Kopete.</para>
<para>Il tuo stile deve mostrare delle evidenziazioni, a volte. In Kopete e Adium, <filename>%textbackgroundcolor{}%</filename> è sostituito con il colore di evidenziazione. Aggiungi questo attributo di stile: <userinput>background-color: %textbackgroundcolor{}%</userinput> all'elemento HTML che mostra il messaggio.</para>
<title>Un modello per i messaggi consecutivi ora è obbligatorio.</title>
<para>Queste linee guida sono per chi deve riscrivere dei vecchi stili XSL nel nuovo formato. Tutti gli stili devono fornire un modello per i messaggi consecutivi. Ora è una funzione predefinita.</para>
<title>Fornisci il file <filename>Contents/Info.plist</filename> per mantenere l'interoperabilità con <application>Adium</application></title>
<para>Il file <filename>Contents/Info.plist</filename> non è ancora usato da Kopete. Ma se vuoi creare uno stile compatibile con <application>Adium</application>, devi fornire anche questo file. Ecco un esempio base del file. Le stringhe da sostituire sono racchiuse fra <quote>$</quote>.</para>
<title>Fornisci il file <filename>buddy_icon.png</filename></title>
<para>Devi mettere un file di nome <filename>buddy_icon.png</filename> in <filename>Incoming</filename> e <filename>Outgoing</filename>. Queste immagini saranno usate quando il contatto non ha una foto.</para>
<title>La parola chiave <filename>%messageDirection%</filename> permette la gestione delle lingue scritte da destra a sinistra.</title>
<para>La parola chiave <filename>%messageDirection%</filename> è presente per le lingue del mondo che scrivono da destra a sinistra. Definisce la direzione del messaggio, se è <quote>rtl</quote> (<emphasis>right-to-left</emphasis>, da destra a sinistra) o <quote>ltr</quote> (<emphasis>left-to-right</emphasis>, da sinistra a destra). Aggiungi questo attributo di stile all'elemento HTML che mostra il messaggio: <userinput>direction: %messageDirection%</userinput>. L'anteprima dello stile nella configurazione dell'aspetto include un controllo per il testo scritto da destra a sinistra per vedere se lo stile viene mostrato correttamente. Dovrebbe far cominciare la stringa dalla destra.</para>