Newsgroup: it.comp.lang.delphi
Titolo: Traduzione Label

Salve a tutti Volovo Sapere come posso effettuare la traduzione dei label
Scegliendo la lingua da un TComboBox
               \ | /
            ( @ @ )
-----oOO-(_)-OOo--------
`·.¸¸.·´¯`JOJOBA´¯`·.¸¸.·´
--- ooooO ------ Ooooo ---
      \      /          \      /
        \  /              \  /

Esistono dei tools per la traduzione delle applicazioni. Se non hai Delphi
enterprise (che include già un sistema di traslation)
provaa cercare notizie su MULTILIZER, una vera potenza.
--
`·.¸¸.·´¯`William´¯`·.¸¸.·´

Metti un Tbutton su di una form e prova questo codice...
Ciao!
----------------------------------------------------------
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;
type Lingue = (Italiano, Inglese,
               Francese, Tedesco,
               Spagnolo);
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
const T: array [0..2, Lingue] of String =
( ('Io sono il messaggio',
   'I am the message',
   'Je suis le message',
   'Ich bin die Meldung',
   'Soy el mensaje'),
  ('Il cane mangia il gatto',
   'The dog eats the cat',
   'Le chien mange le chat',
   'Der Hund ißt die Katze',
   'El perro come el gato'),
  ('Oggi ho letto un libro',
   'Today I have read a book',
   'Aujourd''hui j''ai lu un livre',
   'Heute habe ich gelesen ein Buch',
   'He leído hoy un libro')
);
var Lingua:Lingue;
implementation
{$R *.DFM}
function Id(S: String): Integer;
var I: Integer;
begin
  Result := 0;
  for I := 0 to 2 do
  begin
    if (T[I][Italiano] = S) then
    begin
      Result := I;
      Exit;
    end;
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  // visualizza la frase in spagnolo, nonostante nel
  // codice sorgente sia scritta in italiano
  ShowMessage(T[Id('Il cane mangia il gatto')][Spagnolo]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Lingua := Italiano;
Button1.Caption := T[Id('Il cane mangia il gatto')][Lingua];
end;
end.

Metti un Tbutton su di una form e prova questo codice...
<...>
E` bello rivedere il mio codice a distanza di 2 anni ;-)
-- 
Andrea Laforgia
"640kb of memory should be enough for anyone." -- Bill Gates.

Andrea, scusami se non ti ho citato
non mi ricordavo che fosse tuo!!!
Faccio pubblica ammenda, ricordando a tutti
che l'80% di quello che so, l'ho imparato qui!!!!
:)))
Miyomo
"Andrea Laforgia" <x@x.x> ha scritto nel messaggio
news:25kr5vs78em75ndp1...@4ax.com...


Salve sono di nuovo a chiedere una spiegazione
il punt e che il codice funziona ma non come vorrei io
Questo funziona
procedure TForm1.FormCreate(Sender: TObject);
begin
  Lingua := Inglese;
  Button1.Caption := T[Id('Il cane mangia il gatto')][Lingua];
end;
Questo non funziona, perchč?
procedure TForm1.FormCreate(Sender: TObject);
begin
  Lingua := ComboBox1.Text;
  Button1.Caption := T[Id('Il cane mangia il gatto')][Lingua];
end;
ComboBox1.Text dove ci sono elencate le lingue.
Grazie
--------------------------------
Inviato via 
http://usenet.libero.it


Perche' Lingua non e' una stringa.
Potresti risolvere cosi':
1) In una combo metti le lingue disponibili:
   Italiano
   Inglese
   Spagnolo
2)Nell'evento OnChange della Combo a seconda dell'itemindex selezionato....
case Combo.ItemIndex of
0:Lingua:= Italiano;
1:Lingua:=Inglese;
2:Lingua:=Spagnolo;
end;
Cosi dovrebbe andare... ciao!
Miyomo