Una sola applicazione. Cinque lingue.
Cambiate mentre è in esecuzione.
sgcLocalization traduce le tue applicazioni Delphi, C++Builder e Lazarus. Ogni form, ogni messaggio, ogni plurale, con un solo editor e una sola riga di codice per cambiare la lingua.
- English
- Deutsch
- Español
- Français
- Italiano
L'immagine qui sopra è un solo eseguibile. La stessa dashboard, gli stessi dati, in inglese, tedesco, spagnolo, francese e italiano, e l'utente cambia la lingua da un combo box mentre l'applicazione è in esecuzione. Nessun riavvio e nessuna seconda compilazione.
Quell'applicazione è stata tradotta con sgcLocalization, un nuovo prodotto della suite sgcUI. Funziona con VCL, FireMonkey e LCL, da Delphi 7 a Delphi 13, in C++Builder e in Lazarus, ed è incluso in ogni edizione di sgcUI e in ogni singolo prodotto.
sgcLocalization in un minuto: scansiona, traduci e cambia la lingua di un'applicazione reale. Anche su YouTube.
Cambia la lingua con una sola riga
Questo è tutto il codice necessario per cambiare la lingua:
uses
sgcLocalization_Engine;
procedure TfrmMain.btnGermanClick(Sender: TObject);
begin
sgcSetLanguage('de');
end;
Se preferisci non scrivere codice, inserisci nel form il combo delle lingue già pronto (TsgcVCLLanguageCombo o TsgcFMXLanguageCombo). Elenca le lingue del tuo progetto e cambia la lingua quando l'utente ne sceglie una.
Il cambio fa più che sostituire le didascalie:
- I form creati in seguito vengono tradotti automaticamente. Una finestra di dialogo aperta dieci minuti dopo il cambio appare nella lingua giusta.
- I valori modificati dal codice vengono mantenuti. Un'etichetta che il tuo codice ha riempito con il nome di un cliente non viene sovrascritta da una traduzione.
- Le selezioni restano. I combo box e gli elenchi mantengono l'elemento selezionato mentre i loro elementi cambiano lingua.
- Le lingue da destra a sinistra invertono il layout, così un utente arabo o ebraico ottiene un form speculare.
Per avviare l'applicazione nella lingua del sistema dell'utente, imposta una proprietà:
sgcVCLLocalizer1.Language := 'auto';
Quanto poco lavoro serve
Il localizzatore (TsgcVCLLocalizer per VCL, TsgcFMXLocalizer per FireMonkey) trova ogni proprietà di testo tramite RTTI. Non devi contrassegnare le proprietà, non devi rinominare i componenti e non devi modificare i tuoi form.
Le regole di esclusione integrate saltano ciò che non è mai testo: nomi di componenti, nomi di campi, SQL, nomi di file, stringhe di formato e le proprietà non testuali degli stessi controlli sgcUI. Puoi aggiungere le tue regole. Un form che mescola controlli standard e controlli sgcUI viene scansionato in modo pulito, quindi l'elenco che traduci contiene testi e nient'altro.
Testi nel codice: snippet
Non tutti i testi si trovano in un form. Messaggi, righe di stato e didascalie costruiti nel codice sono snippet. Racchiudi il testo in sgcT e diventa traducibile:
if MessageDlg(sgcT('Save changes?'), mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
SaveOrder;
La stessa parola può richiedere due traduzioni. In inglese "Open" è sia un comando sia lo stato di un ordine. sgcTC aggiunge un contesto, così ogni significato ha la sua traduzione:
btnOpen.Caption := sgcTC('command', 'Open');
lblState.Caption := sgcTC('order status', 'Open');
I plurali usano sgcTN. Scrivi il singolare e il plurale della lingua di origine, e la traduzione fornisce tante forme quante ne servono alla lingua di destinazione:
lblSelected.Caption := sgcTN('%d order selected', '%d orders selected',
Count, [Count]);
Le regole dei plurali provengono da CLDR, quindi sono corrette per ogni lingua. Il polacco, per esempio, ha quattro forme, e l'editor chiede al traduttore ciascuna di esse.
Un unico editor di traduzione
Tutte le traduzioni si modificano in un unico posto. Fai clic con il pulsante destro sul localizzatore in fase di progettazione per aprire l'editor dentro l'IDE, oppure usa lo strumento autonomo fuori dall'IDE.
- Stati degli elementi. Ogni testo è Nuovo, Modificato, Proposta, Tradotto, Revisionato o Obsoleto, e puoi filtrare per stato.
- Filtri e selezione multipla. Filtra per lingua, form o testo cercato, seleziona molte righe e modificale insieme.
- Segni di versione. Segna una release, e il filtro "nuovi o modificati da" mostra esattamente cosa deve tradurre la release successiva. Nulla viene dimenticato.
- La lingua del tuo traduttore. L'editor stesso è disponibile in 12 lingue, con temi chiaro e scuro.
Una convalida che intercetta gli errori più comuni
Una traduzione che perde un %d o un tasto di scelta rapida è facile da scrivere e difficile da notare. sgcLocalization controlla ogni traduzione, che sia stata digitata, importata o proposta dall'AI:
- specificatori di formato e segnaposto,
- tasti di scelta rapida,
- interruzioni di riga, spazi iniziali e finali,
- traduzioni vuote e forme plurali.
Un elemento con un errore non può essere impostato su Revisionato, così un testo difettoso non finisce in una release come lavoro concluso.
Traduzione con AI, sotto forma di proposte
L'editor può tradurre con servizi di AI come ChatGPT, Claude, Gemini e Ollama. Scegli le lingue di destinazione, fornisci un glossario e istruzioni sul tono, e avvia.
I risultati arrivano come proposte. Accetti o rifiuti ciascuna, e una proposta non sovrascrive mai un testo già tradotto. Su di esse viene eseguita la stessa convalida.
XLIFF per i traduttori professionisti
Le agenzie di traduzione lavorano con XLIFF. sgcLocalization esporta XLIFF 1.2 per una lingua e importa il file quando torna.
Un'importazione non scrive mai direttamente nel tuo progetto. Apre un elenco di revisione con ogni modifica: il testo precedente, il nuovo testo, il tipo di modifica e gli eventuali problemi rilevati. Vengono applicate solo le righe che selezioni.
Un unico file di progetto
Le traduzioni di un'applicazione risiedono in un unico file di progetto con l'estensione .sgcloc. È in formato JSON, quindi si presta bene al controllo di versione: una traduzione modificata è una piccola differenza che puoi leggere in una revisione del codice. Se preferisci un unico eseguibile senza nulla accanto, il progetto può invece essere incorporato nel file del form.
Guardalo in un'applicazione reale
La demo di riferimento è Order Desk, un'applicazione aziendale completa: una dashboard, ordini, clienti, un planner, analisi pivot, una procedura guidata e un'anteprima di stampa. È tradotta in inglese, tedesco, spagnolo, francese e italiano, ed è disponibile nelle versioni VCL, FireMonkey e Lazarus.
La cartella della demo contiene anche tre guide rapide, lo strumento autonomo dell'editor di traduzione e una guida Getting Started che ti porta da un form vuoto a un'applicazione tradotta.
Incluso in sgcUI
sgcLocalization è fornito con sgcUI 2026.12.0. Non viene venduto separatamente: è incluso in ogni edizione di sgcUI e in ogni singolo prodotto, ed è selezionato per impostazione predefinita nel programma di installazione.
La tua applicazione, nella lingua dei tuoi clienti
Scarica sgcUI, apri la demo Order Desk e cambia la lingua mentre è in esecuzione. Poi inserisci un localizzatore nel tuo form principale.
Domande o commenti? Contattaci, riceverai una risposta da chi ha scritto il codice.
