Newsgroup: it.comp.lang.delphi
Titolo: [d5 pro] traduzione applicazione in tedesco

ciao a tutti, dovendo tradurre un applicazione dall'italiano al tedesco (per 
gli utenti altoatesini) cosa consigliate???
Simo 

 gli utenti altoatesini) cosa consigliate???
Un dizionario "Italiano-Tedesco"? :-)
Scusa, so che è bruttissima, ma come diceva il caro e vecchio Smith "è 
inevitabile". ;-)
Sono certo che esistano parecchi componenti in grado di facilitare il 
compito di localizzazione di un'applicazione; prova a dare un'occhiata 
su Torry Delphi's Pages (
http://www.torry.net/pages.php?id=273
).
Mi è capitato una sola volta di avere che fare con una traduzione dei 
testi di un'applicazione in lingua tedesca...vedere le caption 
"esondare" dai pulsanti che le contengono senza possibilità di "word 
wrap" nella maggior parte dei casi è avvilente. :-D
-- 
Marco «Alka» Breveglieri
  (marco [@] abls [.] it)
  ABLS Team S.n.c. - Software & Web
  42019 Scandiano (Reggio Emilia)
 
http://www.abls.it

allora riformulo ora post-palestra-post rotture di palle....
ho un applicazione utilizzata in scala nazionale in ITALIANO... questa
applicazione continuerà ad avere aggiornamenti e continuerà a vivere... ora
nasce l'esigenza per il popolo nord-italiano (praticamente zona di merano,
bolzano, ecc.) di avere la stessa applicazione in tedesco... poi chissà
magari può pure essere utile per fare il salto in germania e per
trasformarla successivamente in inglese... per il manuale, l'help, ecc. non
ho problemi (tanto ho l'interprete!!!)... per il sorgente son caz... perchè
vorrei cercare di utilizzare lo stesso sorgente e al limite di compilare
trasformando i vari messaggi e sostituendo i file di help...
ora cmq sotto consiglio inizio a cercare su google e su torry... accetto
pure consigli... su delphi 6 ho visto cè pure il sistema di farlo da ide,
però il delphi5 è professional e quindi devo rimanere li
Simo

 trasformando i vari messaggi e sostituendo i file di help...
Bhe... potresti crearti un file di testo simile ad un file ini e 
caricarlo in una stringlist utilizzando la proprieta value per ricercare 
il tuo valore.
In questo modo potrai abbinare le caption dei menu e delle label 
semplicemente abbinandole ai tuoi value.
spero che fosse questo quello che cercavi.


beh fino a qui c'ero arrivato... volevo capire se cè un componente che lo fa 
al posto mio.... avendo una 50ina di form con tantissime label e caption 
varie vorrei evitare di diventare scemo...
qualche idea??? su torry non ho trovato nulla di interessante
Simo 

 Simo
-- 
Ciao, Anto', [38, 143, AQ] 
MB C SC 220 CDI Magma Rot
"Oggi c'č una grande battaglia di idee, ma alla 
fine, non ci saranno ne vinti, ne vincitori, ne idee!"
S. Benni da Elianto

 trasformando i vari messaggi e sostituendo i file di help...
Ciao Simone,
ti dico come nella nostra azienda stiamo risolvendo il problema.
Nell'applicazione da tradurre puoi lasciare tutte le scritte in 
italiano, così nel progetto ti muovi più speditamente.
Crei poi tante dll di risorse quante sono le lingue in gioco
(anche per l'italiano).
Es.: se la tua app si chiama SimoApp.dpr, crei da ide un progetto:
(io ho Delphi 6) New->Other->DLL Wizard in modo da avere:
library Simo_Lang_DE;
{$R 'Simo_Lang_DE.res' 'Simo_Lang_DE.rc'}
begin
end.
(I nomi sono convenzionali).
Crei poi un file di testo di nome Simo_Lang_DE.rc (file sorgente della risorsa)
in cui scriverai i tuoi testi in lingua.
In questo file puoi usare vari tipi di risorse, come una StringTable;
io ho utilizzato le risorse tipo RCDATA perchè sono più flessibili.
Es.: contenuto del file Simo_Lang_IT.rc :
;componenti
btnCancel RCDATA {"Annulla\0"}
btnConfirm RCDATA {"Conferma\0"}
btnDel RCDATA {"Cancella\0"}
Es.: contenuto del file Simo_Lang_DE.rc :
;componenti
btnCancel RCDATA {"Abbruch\0"}
btnConfirm RCDATA {"OK\0"}
btnDel RCDATA {"Löschen\0"}
Come avrai sicuramente capito:
<nome risorsa> RCDATA {"stringa tradotta\0"}
Quando compili, Delphi dovrebbe automaticamente chiamare
il compilatore do risorse BRCC incluso nell'ambiente.
----------------
Nella tua app fai una procedura (io l'ho chiamata SetCaptionValue)
in cui leggi le risorse dalla dll interessata e le assegni
alle caption interessate. Ti fai un parametro lingua (scritto
in un file .ini o in una chiave di registro) in base al quale 
leggi la dll interessata.
Per poter leggere la dll, nella procedura scrivi:
var HDll, FRHnd, MHnd: THandle;
  HDll := LoadLibraryEx(PChar(LangSourceDLL),0,LOAD_LIBRARY_AS_DATAFILE);
  if (HDll = 0) then Exit;
  //resname è il nome della risorsa, es.: btnCancel
  FRHnd := FindResource(HDll,ResName,RT_RCDATA);
  if (FRHnd = 0) then Exit;
  MHnd := LoadResource(HDll,FRHnd);
  if (MHnd = 0) then Exit;
  label.caption := LockResource(MHnd);
  //ripetere per ogni stringa tradotta
  ...
  FreeLibrary(HDll);
---------------
Spero di non averti incasinato troppo.
E' vero che in rete troverai anche dei componenti free,
ma io preferisco codice scritto da me: so cosa c'è dentro
e lo manutengo meglio.
Io ho fatto una unit da includere in un progetto, con un oggetto
che facilita la localizzazione delle app; è semplice, se mi scrivi
non ho alcun problema a mandartelo.
Ciao.

ciao a tutti, direi che SMLanguage1 è ottimo come componente
Simo