Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
## version: per inserire una stringa di versione<br />
## language: per specificare la lingua del catalog<br />
## codeset: il set di codice richiesto dal catalog (0)<br />
Ed ecco un esempio di file.cd e relativo.ct in italiano:<br />
; Catalog Description di prova<br />
MSG-SALUTO ( / / )<br />
Hello boys, I'm talking \n with you in English<br />
MSG-TITOLO (+l//)<br />
Language test<br />
MSG-LO-SO-GAD (5//)<br />
I Know<br />
; Catalog Translation di prova<br />
## version SVER: ProvaLoc.catalog 1.0 (2/6/97)<br />
## codeset O<br />
## language italiano<br />
MSG-SALUTO<br />
Ciao Ragazzi, sto parlando \n con voi in Italiano<br />
MSG-TITOLO<br />
Prova lingua<br />
MSG-LO-SO-GAD<br />
LO so<br />
Ricordiamo che prima di ogni stringa deve essere pre-<br />
sente una riga riportante il marcatore di commento, e<br />
due tra il nome della stringa e i suoi parametri deve es-<br />
sere presente sempre un solo spazio.<br />
La terza stringa ha il nome con suffisso -GAD che, sem-<br />
pre per convenzione, indica che è destinata ad apparire<br />
all'interno di un gadget. I numeri delle stringhe sono sta-<br />
ti messi in questo modo a solo scopo dimostrativo: infat-<br />
ti è più comune usare numerazioni progressive ometten-<br />
do il parametro. In questo esempio le stringhe avranno<br />
rispettivamente i numeri 1, 3, 5.<br />
Se usate CatEdit, è sufficiente caricare prima il file .cd e in<br />
seguito quello .ct (opzioni Read Catalog Description e Ca-<br />
talog Translation) per poter poi salvare un completo file<br />
catalog. In realtà sarebbe possibile anche creare e caricare<br />
il solo file .cd e tradurre direttamente le varie stringhe me-<br />
diante CatEdit. Basterebbe a quel punto assegnare il nome<br />
della lingua tradotta e salvare il file catalog.<br />
Consigliamo comunque di scrivere sempre anche il file .ct<br />
che, tra l'altro, permette di inserire anche il numero di<br />
versione del catalog.<br />
Programmare con la Locale<br />
#include <br />
#include <br />
#include <br />
#include <br />
#include <br />
#include <br />
#include "provacata1og.h" /* file include contenente i define */<br />
/* delle stringhe (vedi testo) * /<br />
struct LocaleInfo<br />
(<br />
);<br />
APTR li-LocaleBase;<br />
APTR li-Catalog;<br />
struct Library *IntuiBase;<br />
struct Library *LocaleBase;<br />
struct Catalog *catalog;<br />
struct LocaleInfo li;<br />
struct EasyStruct es;<br />
STRPTR GetString(struct LocaleInfo *li,LONG stringid,<br />
STRPTR strinterna)<br />
(<br />
if(li->li-LocaleBase)<br />
return(GetCatalogStr(li->li-Catalog,stringid,strinterna) );<br />
return(strinterna) ;<br />
)<br />
void main (void)<br />
(<br />
IntuiBase = OpenLibrary("intuition.library",OL);<br />
if(1ntuiBase)<br />
(<br />
LocaleBase = OpenLibrary("locale.library",OL);<br />
li.li-LocaleBase = LocaleBase;<br />
if(Loca1eBase)<br />
(<br />
l<br />
catalog = OpenCatalog(NULL,"provalocale.catalog",<br />
OC-BuiltInLanguage,"english"<br />
TAG-DONE);<br />
li.li-Catalog = catalog;<br />
es.es-StructSize = sizeof(struct EasyStruct);<br />
es.es-Flags = NLiLL;<br />
es.es-Title = ~etstring(&li,~SG-~1~0~0,"Language test")<br />
es.es-TextFormat = ~et~tring(&li,MSG-SALUTO,<br />
"Hello Boys, I'm talking\n with you<br />
in English") ;<br />
es.es-GadgetFormat= GetString(&li,MSG-~O-S0-GAD"1 know");<br />
Viste e analizzate tutte le componenti, possiamo finai-<br />
mente dedicarci alla programmazione vera e propria.<br />
Ricordiamo che è consigliabile l'uso di un file header Comp che genera questi file automaticamente. Per il ca-<br />
che associ il nome di ogni stringa al suo relativo numero talog dell'esempio precedente, questo file avrebbe il se-<br />
d'identificazione sempre che non si disponga di Cat guente contenuto: