Delphi、C++ Builder & Lazarus sgcUI の一部

sgcLocalization、Delphi、C++ Builder & Lazarus アプリケーションの翻訳

お客様が使うあらゆる言語でアプリケーションを提供できます。sgcLocalization はフォーム、フレーム、データモジュールのテキストを検出し、手作業、プロの翻訳者、AI のいずれでも翻訳できる 1 つのエディターを提供します。すべての翻訳を検査し、1 行のコードでアプリケーション全体を実行時に切り替えます。

VCL、FireMonkey、LCLDelphi 7 から 13、C++ Builder、LazarusXLIFF 1.2 と AI 翻訳sgcUI のすべてのエディションに含まれます
プロジェクトを開いた sgcLocalization の翻訳エディター。ドイツ語、スペイン語、フランス語の列を持つソーステキスト、項目の状態、編集パネルが表示されています

最初のスキャンから次のリリースまで

sgcLocalization は、テキストの収集、翻訳、検査、実行時の言語切り替え、アプリケーションが変わったときの翻訳の更新まで、作業全体をカバーします。

収集と翻訳

アプリケーションのテキストを 1 つのプロジェクトにまとめ、1 つのエディターで翻訳します。

フォームで検出されたテキストプロパティ(キャプション、ヒント、列の見出しなど)を、言語ごとに 1 列で一覧表示した翻訳エディター

収集と翻訳

テキストは自動で検出され、翻訳するかどうかはお客様が決めます

sgcLocalization は RTTI を通じてフォーム、フレーム、データモジュールを読み取り、見つかったすべてのテキストプロパティ(キャプション、ヒント、列の見出し、リスト項目など)を一覧にします。翻訳してはいけないプロパティは無視ルールで除外でき、一般的な非テキストプロパティは組み込みの既定値ですでにカバーされています。コードの中で作られるテキストは、スニペットとして明示的に追加します。同じ単語に 2 つの訳が必要な場合はコンテキストを付け、テキストが数に左右される場合は複数形のバリアントを付けます。

  • フォーム、フレーム、データモジュールを RTTI でスキャン
  • 無視ルールと、一般的な非テキストプロパティ向けの組み込み既定値
  • コードで作られるテキストには sgcT を使い、コンテキストと複数形のバリアントに対応
  • デザイン時にも単体ツールとしても使える 1 つのエディター
フランス語の XLIFF ファイルのインポートレビューのダイアログ。各行に、古いテキスト、新しいテキスト、変更の種類、問題が表示され、承認用のチェックボックスがあります

収集と翻訳

XLIFF でプロの翻訳者と協力できます

言語を XLIFF 1.2 ファイルにエクスポートして翻訳者に送り、戻ってきたファイルをインポートします。何も無条件には書き込まれません。インポートではレビューが開き、行ごとに古いテキスト、新しいテキスト、変更の種類が表示されます。書式指定子がソースと合わなくなった行など、問題のある行には印が付き、適用する行はお客様が選びます。

  • XLIFF 1.2 のエクスポートとインポート
  • すべてのインポートは、適用前にレビューされます
  • 不明な ID や原文の不一致は、黙って適用されず、報告されます
  • 手作業の翻訳と同じ検証
AI 翻訳のダイアログ。ターゲット言語、新規と変更されたテキストに設定された範囲、バッチサイズ、任意の用語集、任意の指示が表示されています

収集と翻訳

お客様が承認する AI 翻訳

新規および変更されたテキストを、選択した言語に AI サービスで翻訳できます。独自の用語集と、トーンや用語に関する指示も指定できます。AI の翻訳はまず提案として現在のテキストの横に表示され、お客様が 1 件ずつ承認または却下します。エディターは sgcUI の AI プロバイダーを通じて AI と通信します。sgcWebSockets をインストールすると ChatGPT、Claude、Gemini、Ollama などを利用でき、インストールしない場合は、イベントを使って自分のコードから任意のサービスを呼び出せます。

  • sgcWebSockets 経由で ChatGPT、Claude、Gemini、Ollama などに対応
  • ほかのサービスを自分で呼び出すためのイベント
  • 実行ごとに用語集と指示を指定
  • 提案が先: 承認するまで翻訳は置き換えられません

翻訳の正確さを保つ

すべてのテキストの検査と、前回のリリース以降に何が変わったかが一目で分かる表示です。

複数形のテキストを選択した翻訳エディター。ドイツ語の翻訳には、単数形とその他の複数形ごとに 1 つのタブがあります

翻訳の正確さを保つ

検証と複数形

%d やアクセラレータキーが抜けた翻訳は、その言語のユーザーだけでアプリケーションを壊すため、見落としやすい問題です。sgcLocalization は、書式指定子、プレースホルダー、アクセラレータキー、改行、先頭と末尾の空白、空の翻訳、複数形を検査します。同じ検査が、手作業、インポート、AI のすべての翻訳に適用されます。複数形のテキストは各言語の CLDR ルールに従うため、エディターはその言語に必要な形だけを求めます。

  • 書式指定子、プレースホルダー、アクセラレータキー
  • 改行、先頭と末尾の空白、空の翻訳
  • CLDR ルールによる複数形
  • 問題のある行だけを表示するフィルター

増分翻訳

すべての項目に、新規、変更済み、提案、翻訳済み、レビュー済み、廃止のいずれかの状態があります。リリース時にバージョンをマークすると、「次のバージョン以降に新規または変更」フィルターで、その後に追加または編集された項目が分かるため、新しいテキストを見落としません。アプリケーションから削除されたテキストは保持され、候補として再利用されます。

実行時に切り替え

sgcSetLanguage('de') を呼び出すか、すぐに使える言語コンボをフォームに置きます。アプリケーション全体が一度に切り替わり、あとから作成されるフォームも自動的に翻訳されます。右から左へ書く言語では、レイアウトの方向も切り替わります。

1 つのプロジェクトファイル

翻訳は 1 つの .sgcloc プロジェクトファイルに保存されます。JSON 形式なので、バージョン管理と相性が良く、プロジェクトをフォームファイルに埋め込むこともできます。

お客様の言語で使えるエディター

翻訳エディター自体が 12 言語で利用でき、ライトとダークのテーマに対応しています。デザイン時も単体ツールとしても同じエディターなので、翻訳者は IDE を必要としません。

お客様が書くコード

フォームはコードなしで翻訳されます。書くのは、言語を切り替える 1 行と、コードで作られるテキストを囲む部分だけです。

uses
  sgcLocalization_Engine;

procedure TfrmMain.ShowSelection(aCount: Integer);
begin
  // アプリケーション全体をドイツ語に切り替える
  sgcSetLanguage('de');

  // コードで作られるテキスト
  ShowMessage(sgcT('The order has been saved.'));

  // 独自の翻訳が必要な同じ単語には、コンテキストを付ける
  lblState.Caption := sgcTC('order status', 'Open');

  // 複数形: 現在の言語で aCount に合う形
  lblCount.Caption := Format(sgcTN('%d order selected',
    '%d orders selected', aCount), [aCount]);
end;

sgcLocalization が含まれる製品

sgcLocalization は単独では販売されず、独自の価格もありません。sgcUI のすべてのエディションと、単体パッケージとして購入するすべての sgcUI 製品に、追加費用なしで含まれます。

sgcUI のすべてのエディション

Standard、Professional、Enterprise のいずれにも sgcLocalization が含まれます。

sgcUI の価格を見る →

すべての単体製品

たとえば sgcGrid のように sgcUI の製品を 1 つだけ購入しても、sgcLocalization が付属します。

単体パッケージを見る →

体験版

sgcLocalization は sgcUI のインストーラーに同梱されているため、sgcUI の体験版で試せます。

sgcUI の体験版をダウンロード →

対応するフレームワークとプラットフォーム

sgcLocalization のコンポーネント

TsgcVCLLocalizer

VCL アプリケーション用のローカライザーコンポーネントです。有効な言語をフォームに適用します。

TsgcVCLLanguageCombo

プロジェクトの言語を一覧表示し、ユーザーが選ぶとアプリケーションを切り替える、VCL 用のすぐに使えるコンボです。

TsgcFMXLocalizer

FireMonkey アプリケーション用の同じローカライザーです。

TsgcFMXLanguageCombo

FireMonkey 用の言語コンボです。

翻訳エディター

IDE からデザイン時に開けるほか、単体ツールとしても動作し、12 言語とライト、ダークのテーマに対応しています。

sgcT、sgcTC、sgcTN

コードで作られるテキスト用の関数です。通常のテキスト、コンテキスト付きのテキスト、複数形に対応します。

ターゲットフレームワークプラットフォーム
Delphi 7 から 13VCLWindows
DelphiFireMonkeyFireMonkey が動作する Windows、macOS、iOS、Android、Linux
C++ BuilderVCL と FireMonkey各フレームワークのプラットフォーム
LazarusLCLWindows と Linux

よくある質問

追加費用はありません。sgcLocalization は、sgcUI のすべてのエディションと、単体パッケージとして購入するすべての sgcUI 製品に含まれます。単独では販売されません。

いいえ。フォーム、フレーム、データモジュールのテキストプロパティは RTTI で検出されるため、フォームはそのままで構いません。変更が必要なのは、コードで作られるテキストだけです。sgcT で囲み、スニペットとしてプロジェクトに追加してください。

はい。sgcSetLanguage は 1 行でアプリケーション全体を切り替え、言語コンボはコードなしで同じことを行います。あとから作成されるフォームも自動的に翻訳され、右から左へ書く言語ではレイアウトの方向が切り替わります。

エディターは sgcUI の AI プロバイダーを使います。sgcWebSockets をインストールすると、ChatGPT、Claude、Gemini、Ollama などに接続します。sgcWebSockets がない場合は、イベントがリクエストを渡すので、自分のコードから任意のサービスを呼び出せます。どちらの場合も、翻訳は提案として届き、承認または却下できます。

再スキャンすると、追加されたテキストは新規、編集されたテキストは変更済みとしてマークされ、既存の翻訳はそのまま残ります。「次のバージョン以降に新規または変更」フィルターには、バージョンのマーク以降に触れられた項目が一覧表示されます。削除されたテキストは廃止となり、プロジェクトに保持され、候補として再利用されます。

JSON 形式の 1 つの .sgcloc プロジェクトファイルに保存されます。バージョン管理と相性が良く、フォームファイルに埋め込むこともできます。

Delphi 7 から 13、C++ Builder、Lazarus に対応し、VCL、FireMonkey、LCL を、各フレームワークが動作する Windows、macOS、iOS、Android、Linux で使えます。

sgcLocalization のヘルプ

オンラインヘルプ

sgcLocalization は sgcUI のヘルプで解説しています。Delphi と C++ Builder があります。

PDF マニュアル

Delphi と C++ Builder。いずれも sgcUI のすべての製品を対象としています。

機能一覧

sgcLocalization のすべての機能を、用途別にまとめています。

すべての機能を見る →
3,000+開発者
20+年
761+コンポーネント
30+API 連携
5プラットフォーム
30日間返金保証ご満足いただけない場合は、ご購入から30日以内に全額返金をリクエストできます。 返金ポリシーを見る

今すぐ sgcLocalization をお試しください

sgcUI の体験版には、sgcLocalization とほかのすべての sgcUI 製品が含まれます。