sgcLocalization: vertaal je Delphi-applicaties en wissel van taal terwijl ze draaien

· Componenten
sgcLocalization: vertaal je Delphi-applicaties en wissel van taal terwijl ze draaien
Nieuw product · sgcLocalization

Eén applicatie. Vijf talen.
Omgeschakeld terwijl ze draait.

sgcLocalization vertaalt je eigen Delphi-, C++Builder- en Lazarus-applicaties. Elk formulier, elke melding, elk meervoud, met één editor en één regel code om de taal te wisselen.

  • English
  • Deutsch
  • Español
  • Français
  • Italiano
Het dashboard van dezelfde Delphi-applicatie vijf keer getoond, in het Engels, Duits, Spaans, Frans en Italiaans, in lichte en donkere thema's
1regel om te wisselen
3frameworks
7 tot 13Delphi-versies
0extra kosten met sgcUI

De afbeelding hierboven is één uitvoerbaar bestand. Hetzelfde dashboard, dezelfde data, in het Engels, Duits, Spaans, Frans en Italiaans, en de gebruiker wijzigt de taal met een keuzelijst terwijl de applicatie draait. Geen herstart en geen tweede build.

Die applicatie is vertaald met sgcLocalization, een nieuw product van de sgcUI-suite. Het werkt met VCL, FireMonkey en LCL, van Delphi 7 tot Delphi 13, in C++Builder en in Lazarus, en het is inbegrepen bij elke sgcUI-editie en bij elk afzonderlijk product.

sgcLocalization in één minuut: een echte applicatie scannen, vertalen en omschakelen. Ook op YouTube.

Wissel van taal met één regel

Dit is alle code die de taalwissel nodig heeft:

uses
  sgcLocalization_Engine;

procedure TfrmMain.btnGermanClick(Sender: TObject);
begin
  sgcSetLanguage('de');
end;

Wil je helemaal geen code schrijven, plaats dan de kant-en-klare taalkeuzelijst op het formulier (TsgcVCLLanguageCombo of TsgcFMXLanguageCombo). Die toont de talen van je project en wisselt zodra de gebruiker er een kiest.

De orderpagina van dezelfde applicatie in het Engels, Duits en Italiaans: werkbalk, navigatie, zoekvak, kolomkoppen, data en getalnotaties veranderen allemaal mee
Dezelfde pagina in het Engels, Duits en Italiaans. Werkbalk, navigatie, kolomkoppen, hints en data volgen de taal.

De omschakeling doet meer dan captions vervangen:

Om te starten in de taal van het systeem van de gebruiker, stel je één property in:

sgcVCLLocalizer1.Language := 'auto';

Hoe weinig werk het kost

1PlaatsenZet een localizer-component op het hoofdformulier.
2ScannenHet verzamelt de teksten van je formulieren, frames en datamodules.
3VertalenMet de hand, met een vertaler via XLIFF of met AI-voorstellen.
4WisselenEén regel code, of de taalkeuzelijst.

De localizer (TsgcVCLLocalizer voor VCL, TsgcFMXLocalizer voor FireMonkey) vindt elke tekstproperty via RTTI. Je markeert geen properties, je hernoemt geen componenten en je past je formulieren niet aan.

Ingebouwde negeerregels slaan over wat nooit tekst is: componentnamen, veldnamen, SQL, bestandsnamen, opmaakstrings en de niet-tekstproperties van de sgcUI-besturingselementen zelf. Je kunt eigen regels toevoegen. Een formulier met zowel standaardbesturingselementen als sgcUI-besturingselementen wordt zonder ruis gescand, zodat de lijst die je vertaalt alleen teksten bevat.

Teksten in code: snippets

Niet elke tekst staat in een formulier. Meldingen, statusregels en captions die in code worden opgebouwd, zijn snippets. Omhul de tekst met sgcT en hij wordt vertaalbaar:

if MessageDlg(sgcT('Save changes?'), mtConfirmation,
  [mbYes, mbNo], 0) = mrYes then
  SaveOrder;

Hetzelfde woord kan twee vertalingen nodig hebben. In het Engels is "Open" zowel een opdracht als de status van een order. sgcTC voegt een context toe, zodat elke betekenis een eigen vertaling krijgt:

btnOpen.Caption := sgcTC('command', 'Open');
lblState.Caption := sgcTC('order status', 'Open');

Meervouden gebruiken sgcTN. Je schrijft het enkelvoud en het meervoud van de brontaal, en de vertaling levert zoveel vormen als de doeltaal nodig heeft:

lblSelected.Caption := sgcTN('%d order selected', '%d orders selected',
  Count, [Count]);

De meervoudsregels komen uit CLDR, dus ze kloppen voor elke taal. Pools krijgt bijvoorbeeld vier vormen, en de editor vraagt de vertaler om elk van die vier.

Eén vertaaleditor

Alle vertalingen bewerk je op één plek. Klik tijdens het ontwerpen met de rechtermuisknop op de localizer om de editor in de IDE te openen, of gebruik de zelfstandige tool buiten de IDE.

De vertaaleditor van sgcLocalization in lichte en donkere thema's: een grid met de brontekst en de Duitse, Spaanse en Franse vertaling van elk item, statusfilters en een bewerkingspaneel met bron, vertaling, notitie en voorstel
De vertaaleditor, licht en donker. Eén rij per tekst, één kolom per taal, de status van elk item in één oogopslag.

Validatie die de gebruikelijke fouten opvangt

Een vertaling die een %d of een sneltoets weglaat, is makkelijk te schrijven en moeilijk te zien. sgcLocalization controleert elke vertaling, of ze nu is getypt, geïmporteerd of door AI voorgesteld:

Het tabblad Validatie van de vertaaleditor met een fout voor opmaakspecificaties die van de bron afwijken en een waarschuwing voor regeleinden die afwijken
In de Duitse tekst ontbrak een opmaakspecificatie. Ze wordt als fout gemeld voordat ze een klant bereikt.

Een item met een fout kan niet op gecontroleerd worden gezet, zodat een kapotte tekst niet als afgerond werk in een release terechtkomt.

AI-vertaling, als voorstellen

De editor kan vertalen met AI-diensten zoals ChatGPT, Claude, Gemini en Ollama. Kies de doeltalen, geef een woordenlijst en instructies over de toon, en start.

Het dialoogvenster voor AI-vertaling: doeltalen Duits en Frans geselecteerd, bereik nieuwe en gewijzigde teksten, een woordenlijst en instructies voor een formele toon
Doeltalen, bereik, woordenlijst en instructies voor de AI-vertaling.

De resultaten komen binnen als voorstellen. Jij accepteert of weigert elk voorstel, en een voorstel overschrijft nooit een tekst die al is vertaald. Dezelfde validatie loopt ook op voorstellen.

Goed om te weten. AI-vertaling loopt via de sgcUI AI-provider. De genoemde diensten hebben sgcWebSockets nodig. Zonder sgcWebSockets laat een gebeurtenis je elke dienst die je wilt vanuit je eigen code aanroepen.

XLIFF voor professionele vertalers

Vertaalbureaus werken met XLIFF. sgcLocalization exporteert XLIFF 1.2 voor een taal en importeert het bestand wanneer het terugkomt.

Een import schrijft nooit rechtstreeks in je project. Hij opent een controlelijst met elke wijziging: de oude tekst, de nieuwe tekst, de soort wijziging en eventuele gevonden problemen. Alleen de rijen die je aanvinkt, worden toegepast.

De controlelijst van een XLIFF-import voor een Frans bestand: elke rij toont het item, de soort wijziging, de oude en nieuwe tekst, de nieuwe status en problemen, met een selectievakje om de rij toe te passen
De controle van een XLIFF-import. Rijen met problemen blijven uitgevinkt en er wordt niets toegepast voordat je op Toepassen drukt.

Eén projectbestand

De vertalingen van een applicatie staan in één projectbestand met de extensie .sgcloc. Het is JSON, dus het werkt prettig met versiebeheer: een gewijzigde vertaling is een kleine diff die je in een code review kunt lezen. Heb je liever één uitvoerbaar bestand zonder iets ernaast, dan kan het project in plaats daarvan in het formulierbestand worden ingebed.

Zie het in een echte applicatie

De showcase-demo is Order Desk, een complete bedrijfsapplicatie: een dashboard, orders, klanten, een planner, draaitabelanalyse, een wizard en een afdrukvoorbeeld. Ze is vertaald naar het Engels, Duits, Spaans, Frans en Italiaans, en ze is er in VCL-, FireMonkey- en Lazarus-versies.

De plannerpagina van de Order Desk-demo in het Frans: weekweergave met leveringen, Franse dagnamen, werkbalk en navigatie
De planner van Order Desk in het Frans. Dagnamen, weergaven en afspraken volgen de taal.

De demomap bevat ook drie quickstarts, de zelfstandige vertaaleditor en een Getting Started-gids die je van een leeg formulier naar een vertaalde applicatie brengt.

Inbegrepen bij sgcUI

sgcLocalization wordt geleverd met sgcUI 2026.12.0. Het wordt niet apart verkocht: het is inbegrepen bij elke sgcUI-editie en bij elk afzonderlijk product, en het is in het installatieprogramma standaard geselecteerd.

Je applicatie, in de taal van je klant

Download sgcUI, open de Order Desk-demo en wissel van taal terwijl ze draait. Plaats daarna een localizer op je eigen hoofdformulier.

Vragen of feedback? Neem contact op, je krijgt antwoord van de mensen die de code hebben geschreven.