sgcLocalization: Delphi Uygulamalarınızı Çevirin ve Çalışırken Dili Değiştirin

· Bileşenler
sgcLocalization: Delphi Uygulamalarınızı Çevirin ve Çalışırken Dili Değiştirin
Yeni ürün · sgcLocalization

Tek uygulama. Beş dil.
Çalışırken değiştirilir.

sgcLocalization, kendi Delphi, C++Builder ve Lazarus uygulamalarınızı çevirir. Her form, her mesaj, her çoğul biçim, tek bir düzenleyici ve dili değiştirmek için tek satır kodla.

  • English
  • Deutsch
  • Español
  • Français
  • Italiano
Aynı Delphi uygulamasının kontrol panelinin beş kez gösterilmesi: İngilizce, Almanca, İspanyolca, Fransızca ve İtalyanca, açık ve koyu temalarda
1satırda geçiş
3çatı
7 ila 13Delphi sürümü
0sgcUI ile ek ücret

Yukarıdaki görsel tek bir çalıştırılabilir dosyadır. Aynı kontrol paneli, aynı veriler, İngilizce, Almanca, İspanyolca, Fransızca ve İtalyanca olarak gösteriliyor ve kullanıcı uygulama çalışırken dili bir açılır listeden değiştiriyor. Yeniden başlatma yok, ikinci bir derleme yok.

Bu uygulama sgcLocalization ile çevrildi, bu sgcUI paketinin yeni bir ürünüdür. VCL, FireMonkey ve LCL ile çalışır, Delphi 7'den Delphi 13'e kadar, C++Builder'da ve Lazarus'ta kullanılabilir. Her sgcUI sürümüne ve her tek ürüne dahildir.

Bir dakikada sgcLocalization: gerçek bir uygulamayı tarayın, çevirin ve dilini değiştirin. YouTube'da da izleyin.

Dili Tek Satırla Değiştirin

Dil değişikliği için gereken kodun tamamı budur:

uses
  sgcLocalization_Engine;

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

Hiç kod yazmak istemezseniz, hazır dil açılır listesini forma bırakın (TsgcVCLLanguageCombo veya TsgcFMXLanguageCombo). Projenizin dillerini listeler ve kullanıcı birini seçtiğinde dili değiştirir.

Aynı uygulamanın sipariş sayfası İngilizce, Almanca ve İtalyanca: araç çubuğu, gezinme, arama kutusu, ızgara başlıkları, veriler ve sayı biçimleri değişiyor
Aynı sayfa İngilizce, Almanca ve İtalyanca. Araç çubuğu, gezinme, ızgara başlıkları, ipuçları ve veriler dili izler.

Geçiş, başlıkları değiştirmekten fazlasını yapar:

Kullanıcının sistem diliyle başlamak için tek bir özelliği ayarlayın:

sgcVCLLocalizer1.Language := 'auto';

Ne Kadar Az İş Gerektirir

1BırakınAna forma bir localizer bileşeni koyun.
2TarayınFormlarınızın, çerçevelerinizin ve veri modüllerinizin metinlerini toplar.
3ÇevirinElle, XLIFF ile bir çevirmen aracılığıyla veya yapay zeka önerileriyle.
4DeğiştirinTek satır kod veya dil açılır listesi.

Localizer (VCL için TsgcVCLLocalizer, FireMonkey için TsgcFMXLocalizer) her metin özelliğini RTTI ile bulur. Özellikleri işaretlemezsiniz, bileşenleri yeniden adlandırmazsınız ve formlarınızı değiştirmezsiniz.

Yerleşik yoksayma kuralları hiçbir zaman metin olmayanları atlar: bileşen adları, alan adları, SQL, dosya adları, biçim dizeleri ve sgcUI kontrollerinin kendi metin olmayan özellikleri. Kendi kurallarınızı da ekleyebilirsiniz. Standart kontrolleri ve sgcUI kontrollerini bir arada kullanan bir form temiz taranır, böylece çevireceğiniz listede yalnızca metinler bulunur.

Koddaki Metinler: Snippet'ler

Her metin bir formda durmaz. Kodda oluşturulan mesajlar, durum satırları ve başlıklar snippet'lerdir. Metni sgcT ile sarmalayın, çevrilebilir hale gelir:

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

Aynı sözcük iki çeviri gerektirebilir. İngilizcede "Open" hem bir komuttur hem de bir siparişin durumudur. sgcTC bir bağlam ekler, böylece her anlamın kendi çevirisi olur:

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

Çoğul biçimler için sgcTN kullanılır. Kaynak dilin tekil ve çoğul biçimini yazarsınız, çeviri de hedef dilin gerek duyduğu kadar biçim sağlar:

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

Çoğul kuralları CLDR'den gelir, bu yüzden her dil için doğrudur. Örneğin Lehçe dört biçim alır ve düzenleyici çevirmenden her biri için çeviri ister.

Tek Bir Çeviri Düzenleyicisi

Tüm çeviriler tek bir yerde düzenlenir. Tasarım zamanında localizer'a sağ tıklayarak düzenleyiciyi IDE içinde açın veya IDE dışındaki bağımsız aracı kullanın.

sgcLocalization çeviri düzenleyicisi açık ve koyu temalarda: her öğenin kaynak metnini ve Almanca, İspanyolca ve Fransızca çevirilerini gösteren bir ızgara, durum filtreleri ve kaynak, çeviri, not ve öneri içeren bir düzenleme paneli
Çeviri düzenleyicisi, açık ve koyu. Her metin için bir satır, her dil için bir sütun, her öğenin durumu tek bakışta.

Olağan Hataları Yakalayan Doğrulama

Bir %d ifadesini veya bir hızlandırıcı tuşu atlayan çeviri yazması kolay, fark etmesi zor bir hatadır. sgcLocalization, elle yazılmış, içe aktarılmış veya yapay zekanın önerdiği her çeviriyi denetler:

Çeviri düzenleyicisinin doğrulama sekmesi: kaynaktan farklı biçim belirteçleri için bir hata ve farklı satır sonları için bir uyarı gösteriliyor
Almanca metin bir biçim belirtecini kaybetti. Bir müşteriye ulaşmadan önce hata olarak bildirilir.

Hatası olan bir öğe gözden geçirildi olarak ayarlanamaz, böylece bozuk bir metin bitmiş iş gibi bir sürüme sızmaz.

Öneri Olarak Yapay Zeka Çevirisi

Düzenleyici, ChatGPT, Claude, Gemini ve Ollama gibi yapay zeka hizmetleriyle çeviri yapabilir. Hedef dilleri seçin, bir sözlük ve ton hakkında talimatlar verin, ardından başlatın.

Yapay zeka çeviri iletişim kutusu: hedef diller Almanca ve Fransızca seçili, kapsam yeni ve değişen metinler, bir sözlük ve resmi bir ton için talimatlar
Yapay zeka çevirisi için hedef diller, kapsam, sözlük ve talimatlar.

Sonuçlar öneri olarak gelir. Her birini kabul eder veya reddedersiniz ve bir öneri, zaten çevrilmiş bir metnin üzerine asla yazmaz. Aynı doğrulama bunlar üzerinde de çalışır.

Bilmekte fayda var. Yapay zeka çevirisi sgcUI yapay zeka sağlayıcısı üzerinden yapılır. Adı geçen hizmetler için sgcWebSockets gerekir. O olmadan, bir olay istediğiniz herhangi bir hizmeti kendi kodunuzdan çağırmanıza izin verir.

Profesyonel Çevirmenler için XLIFF

Çeviri ajansları XLIFF ile çalışır. sgcLocalization bir dil için XLIFF 1.2 dışa aktarır ve dosya geri geldiğinde içe aktarır.

İçe aktarma, projenize asla doğrudan yazmaz. Her değişikliği içeren bir inceleme listesi açar: eski metin, yeni metin, değişikliğin türü ve bulunan sorunlar. Yalnızca işaretlediğiniz satırlar uygulanır.

Fransızca bir dosya için XLIFF içe aktarma inceleme listesi: her satır öğeyi, değişikliğin türünü, eski ve yeni metni, yeni durumu ve sorunları gösterir, uygulamak için bir onay kutusu bulunur
Bir XLIFF içe aktarmasının incelenmesi. Sorunlu satırların işareti kaldırılmış olarak bırakılır ve Uygula'ya basana kadar hiçbir şey uygulanmaz.

Tek Bir Proje Dosyası

Bir uygulamanın çevirileri, .sgcloc uzantılı tek bir proje dosyasında tutulur. Dosya JSON olduğundan sürüm denetimiyle uyumludur: değiştirilen bir çeviri, kod incelemesinde okuyabileceğiniz küçük bir farktır. Yanında hiçbir şey olmayan tek bir çalıştırılabilir dosya tercih ederseniz, proje bunun yerine form dosyasına gömülebilir.

Gerçek Bir Uygulamada Görün

Vitrin demosu Order Desk, eksiksiz bir iş uygulamasıdır: bir kontrol paneli, siparişler, müşteriler, bir planlayıcı, pivot analizi, bir sihirbaz ve bir baskı önizlemesi. İngilizce, Almanca, İspanyolca, Fransızca ve İtalyancaya çevrilmiştir ve VCL, FireMonkey ve Lazarus sürümleriyle gelir.

Order Desk demosunun planlayıcı sayfası Fransızca: teslimatlarla hafta görünümü, Fransızca gün adları, araç çubuğu ve gezinme
Order Desk planlayıcısı Fransızca. Gün adları, görünümler ve randevular dili izler.

Demo klasöründe ayrıca üç hızlı başlangıç, bağımsız çeviri düzenleyicisi aracı ve sizi boş bir formdan çevrilmiş bir uygulamaya götüren bir Başlangıç Kılavuzu bulunur.

sgcUI ile Birlikte Gelir

sgcLocalization, sgcUI 2026.12.0 ile birlikte gelir. Ayrıca satılmaz: her sgcUI sürümüne ve her tek ürüne dahildir ve yükleyicide varsayılan olarak seçilidir.

Uygulamanız, Müşterinizin Dilinde

sgcUI'yi indirin, Order Desk demosunu açın ve çalışırken dili değiştirin. Sonra kendi ana formunuza bir localizer bırakın.

Sorularınız veya geri bildiriminiz mi var? Bize ulaşın, kodu yazan kişilerden yanıt alırsınız.