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
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 omschakeling doet meer dan captions vervangen:
- Later aangemaakte formulieren worden automatisch vertaald. Een dialoogvenster dat tien minuten na de wissel opent, verschijnt in de juiste taal.
- Waarden die door code zijn gewijzigd, blijven behouden. Een label dat je code met een klantnaam heeft gevuld, wordt niet door een vertaling overschreven.
- Selecties blijven bestaan. Keuzelijsten en lijsten behouden het geselecteerde item terwijl hun items van taal veranderen.
- Talen die van rechts naar links worden gelezen, spiegelen de indeling, zodat een Arabische of Hebreeuwse gebruiker een gespiegeld formulier krijgt.
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
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.
- Itemstatussen. Elke tekst is nieuw, gewijzigd, voorstel, vertaald, gecontroleerd of verouderd, en je filtert op status.
- Filters en meervoudige selectie. Filter op taal, formulier of zoektekst, selecteer veel rijen en wijzig ze samen.
- Versiemarkeringen. Markeer een release, en het filter "Nieuw of gewijzigd sinds" toont precies wat de volgende release moet vertalen. Er wordt niets gemist.
- De taal van je vertaler. De editor zelf is beschikbaar in 12 talen, met lichte en donkere thema's.
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:
- opmaakspecificaties en plaatshouders,
- sneltoetsen,
- regeleinden, voorloop- en naloopspaties,
- lege vertalingen en meervoudsvormen.
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.
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.
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.
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 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.
