16.06.2013 Views

2 - Amiga Magazine Online

2 - Amiga Magazine Online

2 - Amiga Magazine Online

SHOW MORE
SHOW LESS

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:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!