sgcLocalization: Delphi 애플리케이션을 번역하고 실행 중에 언어를 전환하세요

· 컴포넌트
sgcLocalization: Delphi 애플리케이션을 번역하고 실행 중에 언어를 전환하세요
신제품 · sgcLocalization

애플리케이션 하나. 언어 다섯 개.
실행 중에 전환합니다.

sgcLocalization은 여러분의 Delphi, C++Builder, Lazarus 애플리케이션을 번역합니다. 모든 폼, 모든 메시지, 모든 복수형을 에디터 하나로 처리하고, 코드 한 줄로 언어를 바꿉니다.

  • English
  • Deutsch
  • Español
  • Français
  • Italiano
같은 Delphi 애플리케이션의 대시보드를 영어, 독일어, 스페인어, 프랑스어, 이탈리아어로 라이트 테마와 다크 테마에서 다섯 번 보여 주는 화면
1줄로 전환
3프레임워크
7 to 13Delphi 버전
0sgcUI 사용 시 추가 비용

위 그림은 실행 파일 하나입니다. 같은 대시보드, 같은 데이터를 영어, 독일어, 스페인어, 프랑스어, 이탈리아어로 보여 주며, 사용자는 애플리케이션이 실행되는 동안 콤보 상자에서 언어를 바꿉니다. 다시 시작할 필요도, 빌드를 따로 할 필요도 없습니다.

이 애플리케이션은 sgcLocalization으로 번역했습니다. sgcUI 제품군의 새 제품이며, VCL, FireMonkey, LCL에서 동작하고, Delphi 7부터 Delphi 13까지, C++Builder와 Lazarus에서 사용할 수 있으며, 모든 sgcUI 에디션과 모든 단일 제품에 포함됩니다.

1분으로 보는 sgcLocalization: 실제 애플리케이션을 스캔하고, 번역하고, 전환합니다. YouTube에서도 볼 수 있습니다.

코드 한 줄로 언어 전환

언어를 바꾸는 데 필요한 코드는 이것이 전부입니다.

uses
  sgcLocalization_Engine;

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

코드를 전혀 쓰고 싶지 않다면, 바로 사용할 수 있는 언어 콤보(TsgcVCLLanguageCombo 또는 TsgcFMXLanguageCombo)를 폼에 놓으세요. 프로젝트의 언어를 나열하고, 사용자가 하나를 고르면 전환합니다.

같은 애플리케이션의 주문 페이지를 영어, 독일어, 이탈리아어로 보여 주는 화면: 도구 모음, 탐색, 검색 상자, 그리드 머리글, 데이터와 숫자 형식이 모두 바뀝니다
같은 페이지를 영어, 독일어, 이탈리아어로 본 모습. 도구 모음, 탐색, 그리드 머리글, 힌트, 데이터가 언어를 따릅니다.

전환은 캡션을 바꾸는 데서 끝나지 않습니다.

사용자 시스템의 언어로 시작하려면 속성 하나만 설정하세요.

sgcVCLLocalizer1.Language := 'auto';

작업이 얼마나 적은지 보세요

1놓기메인 폼에 로컬라이저 컴포넌트를 놓습니다.
2스캔폼, 프레임, 데이터 모듈의 텍스트를 수집합니다.
3번역직접 번역하거나, XLIFF로 번역가에게 맡기거나, AI 제안을 사용합니다.
4전환코드 한 줄, 또는 언어 콤보를 사용합니다.

로컬라이저(VCL용 TsgcVCLLocalizer, FireMonkey용 TsgcFMXLocalizer)는 RTTI로 모든 텍스트 속성을 찾아 냅니다. 속성에 표시를 하거나, 컴포넌트 이름을 바꾸거나, 폼을 수정할 필요가 없습니다.

기본 무시 규칙은 텍스트가 아닌 항목을 건너뜁니다. 컴포넌트 이름, 필드 이름, SQL, 파일 이름, 서식 문자열, 그리고 sgcUI 컨트롤 자체의 비텍스트 속성이 여기에 해당합니다. 규칙을 직접 추가할 수도 있습니다. 표준 컨트롤과 sgcUI 컨트롤이 섞인 폼도 깔끔하게 스캔되므로, 번역할 목록에는 텍스트만 들어 있습니다.

코드 안의 텍스트: 스니펫

모든 텍스트가 폼에 있는 것은 아닙니다. 코드에서 만드는 메시지, 상태 표시줄, 캡션은 스니펫입니다. 텍스트를 sgcT로 감싸면 번역할 수 있게 됩니다.

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

같은 단어에 번역이 두 가지 필요할 수 있습니다. 영어의 "Open"은 명령이기도 하고 주문의 상태이기도 합니다. sgcTC는 컨텍스트를 추가하므로 각 의미가 자기 번역을 갖습니다.

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

복수형에는 sgcTN을 사용합니다. 원본 언어의 단수형과 복수형을 쓰면, 번역이 대상 언어에 필요한 만큼의 형태를 제공합니다.

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

복수형 규칙은 CLDR에서 가져오므로 모든 언어에 맞습니다. 예를 들어 폴란드어는 형태가 네 개이며, 에디터는 번역가에게 그 각각을 요청합니다.

번역 에디터 하나

모든 번역을 한 곳에서 편집합니다. 디자인 타임에 로컬라이저를 마우스 오른쪽 버튼으로 클릭하면 IDE 안에서 에디터가 열리고, IDE 밖에서는 독립 실행 도구를 사용할 수 있습니다.

라이트 테마와 다크 테마의 sgcLocalization 번역 에디터: 모든 항목의 원본 텍스트와 독일어, 스페인어, 프랑스어 번역이 있는 그리드, 상태 필터, 원본, 번역, 메모, 제안이 있는 편집 패널
라이트와 다크 테마의 번역 에디터. 텍스트마다 한 행, 언어마다 한 열이며, 모든 항목의 상태를 한눈에 볼 수 있습니다.

흔한 실수를 잡아내는 검증

%d나 액셀러레이터 키가 빠진 번역은 쓰기 쉽고 발견하기는 어렵습니다. sgcLocalization은 직접 입력했든, 가져왔든, AI가 제안했든 모든 번역을 검사합니다.

번역 에디터의 검증 탭: 원본과 다른 서식 지정자에 대한 오류와 줄 바꿈이 다르다는 경고를 보여 주는 화면
독일어 텍스트에서 서식 지정자가 빠졌습니다. 고객에게 닿기 전에 오류로 보고됩니다.

오류가 있는 항목은 검토됨으로 설정할 수 없으므로, 깨진 텍스트가 완성된 작업처럼 릴리스에 섞여 들어가지 않습니다.

제안으로 받는 AI 번역

에디터는 ChatGPT, Claude, Gemini, Ollama 같은 AI 서비스로 번역할 수 있습니다. 대상 언어를 고르고, 용어집과 어조에 대한 지침을 주고, 시작하면 됩니다.

AI 번역 대화 상자: 대상 언어로 독일어와 프랑스어를 선택했고, 범위는 신규 및 변경된 텍스트, 용어집과 격식체 어조 지침이 있습니다
AI 번역의 대상 언어, 범위, 용어집, 지침.

결과는 제안으로 도착합니다. 각 제안을 수락하거나 거부할 수 있으며, 제안이 이미 번역된 텍스트를 덮어쓰는 일은 없습니다. 같은 검증이 제안에도 실행됩니다.

알아 두세요. AI 번역은 sgcUI AI 제공자를 통해 이루어집니다. 이름이 지정된 서비스에는 sgcWebSockets가 필요합니다. 없으면 이벤트를 통해 원하는 서비스를 직접 작성한 코드에서 호출할 수 있습니다.

전문 번역가를 위한 XLIFF

번역 대행사는 XLIFF로 작업합니다. sgcLocalization은 언어별로 XLIFF 1.2를 내보내고, 파일이 돌아오면 가져옵니다.

가져오기는 프로젝트에 곧바로 기록하지 않습니다. 모든 변경을 담은 검토 목록을 엽니다. 이전 텍스트, 새 텍스트, 변경의 종류, 발견된 문제가 표시되며, 체크한 행만 적용됩니다.

프랑스어 파일의 XLIFF 가져오기 검토 목록: 각 행에 항목, 변경의 종류, 이전 텍스트와 새 텍스트, 새 상태, 문제가 표시되고 적용 여부를 정하는 확인란이 있습니다
XLIFF 가져오기 검토. 문제가 있는 행은 체크되지 않은 채로 남고, 적용을 누르기 전에는 아무것도 적용되지 않습니다.

프로젝트 파일 하나

애플리케이션의 번역은 확장명이 .sgcloc인 프로젝트 파일 하나에 들어 있습니다. JSON이므로 버전 관리와 잘 맞습니다. 번역이 바뀌면 코드 리뷰에서 읽을 수 있는 작은 diff가 됩니다. 옆에 다른 파일 없이 실행 파일 하나를 원한다면, 프로젝트를 폼 파일에 포함할 수도 있습니다.

실제 애플리케이션에서 확인하세요

대표 데모는 Order Desk이며, 대시보드, 주문, 고객, 플래너, 피벗 분석, 마법사, 인쇄 미리 보기를 갖춘 완전한 업무용 애플리케이션입니다. 영어, 독일어, 스페인어, 프랑스어, 이탈리아어로 번역되어 있으며 VCL, FireMonkey, Lazarus 버전이 있습니다.

프랑스어로 표시한 Order Desk 데모의 플래너 페이지: 배송이 있는 주 보기, 프랑스어 요일 이름, 도구 모음, 탐색
프랑스어로 본 Order Desk의 플래너. 요일 이름, 보기, 일정이 언어를 따릅니다.

데모 폴더에는 빠른 시작 세 개, 독립 실행 번역 에디터 도구, 빈 폼에서 번역된 애플리케이션까지 안내하는 시작 가이드도 들어 있습니다.

sgcUI에 포함

sgcLocalization은 sgcUI 2026.12.0과 함께 제공됩니다. 따로 판매하지 않으며, 모든 sgcUI 에디션과 모든 단일 제품에 포함되고, 설치 프로그램에서 기본으로 선택되어 있습니다.

여러분의 애플리케이션을 고객의 언어로

sgcUI를 다운로드하고 Order Desk 데모를 열어 실행 중에 언어를 바꿔 보세요. 그런 다음 여러분의 메인 폼에 로컬라이저를 놓으세요.

질문이나 의견이 있으신가요? 문의해 주세요. 코드를 직접 작성한 사람들이 답변해 드립니다.