Qtブログ(日本語)

AIを活用した翻訳がQt Linguistに登場

作成者: Qt Group 日本オフィス|Dec 23, 2025 7:13:56 AM
このブログは「Qt License Server 3.6 - Flexibility for License Management」の抄訳です。

現代のソフトウェア開発では、効率的な国際化(i18n)ワークフローが求められており、翻訳のボトルネックは製品のデリバリーを大幅に遅らせる可能性があります。Qt 6.11 では、Qt Linguist に AI 翻訳を導入します。これは、ローカルの大規模言語モデル(LLM)を活用して、アプリケーションの文字列の翻訳を自動生成する強力な新機能です。

手動翻訳の課題

Qt Linguistは、Qtアプリケーションの翻訳を管理するためのツールとして長い間使われてきました。 しかし、翻訳ワークフローには、AI支援によって解決できる現実的な課題がいくつかあります。 プロの翻訳者は、ゼロから翻訳するのではなく、AIが生成した翻訳をレビューすることで、作業負荷を軽減することができます。 これは、オープンソースプロジェクトにとって特に有益です。 既存の翻訳をレビューするボランティアを募集することは、ゼロから翻訳してくれる貢献者を見つけるよりも現実的です。

さらに、AI翻訳は、設計段階でテキストの長さのバリエーションを即座にフィードバックします。 これは、開発者がUIの異なる言語間の文字列に適切なスペースを割り当てるのに役立ちます。

AI翻訳の登場

新しいAI翻訳機能は、Ollamaを通じてローカルのLLMサーバーと直接統合することで、これらの課題に対処します:

  • 機密性の高い文字列を外部サービスに送信することなく、ローカルで翻訳を生成
  • 開発やテスト時の翻訳ワークフローを高速化
  • AI翻訳を無料で実行
  • データと翻訳モデルを完全に管理
  • コンテキストを認識しながら複数の文字列をバッチ処理

AI翻訳ダイアログ:翻訳の構成

 

仕組み

このシステムは、関連する文字列をコンテキストと開発者コメントでグループ化し、プロフェッショナルなソフトウェア翻訳に特化したプロンプトを生成します。システムは、次のような重要なUI要素を保持します。

  • キーボードアクセラレータ (&File、&Exit 等)
  • プレースホルダ変数 (%1, %2)
  • 終了句読点
  • 開発者のコンテキストコメント
  • アプリケーション・コンテキストによる文字列のグループ化

使い方

Ollamaのセットアップ

  • Ollamaの公式ウェブサイトに記載されている手順に従い、Ollamaをインストールしてください。
  • 下記コマンドでターミナルで翻訳モデルを取得します

 $ ollama pull 7shi/llama-translate:8b-q4_K_M

    • OpenAIのオープンソースモデル(例:gpt-oss:20b)または翻訳用に学習された他のLLM(例:7shi/llama-translate:8b-q4_K_M)の利用をお勧めします。
  • Ollamaサーバーを起動します

 $ ollama serve

Qt LinguistでAI翻訳の利用

  1. Qt LinguistでTSファイルを開きます。
  2. Translation → AI Translation に移動し、AI Translationダイアログを開きます。
  3. 設定を行います
    • Ollama Server:通常 http://127.0.0.1:11434 (デフォルト)
    • Modelローカルにインストールされているモデルから選択
    • Context (任意)アプリケーションのコンテキストを指定します、
      例:「これは医療用アプリケーション」等
  4. 翻訳されるべきものを選びます。
    • File:現在のTSファイル(自動入力)
    • Filter(任意):特定のコンテキストまたはラベルに翻訳を制限
    • AI翻訳プロセスを開始するには、Translate をクリックします
  5. 翻訳ログで結果を確認
  6. 翻訳を適用して、AIが生成した翻訳をTSファイルに挿入します。

推奨モデル

テストに基づいて、以下のモデルをお勧めします。

  • OpenAIのオープンウェイトモデル、例えば、gpt-oss:20b
  • 7shi/llama-translate:8b-q4_K_M: 翻訳品質の高いバランスの取れた汎用モデル
  • granite3-dense:2b:リソースに制約のある環境向けの軽量モデル

Ollamaで利用可能な他のモデルを自由に試して、特定の言語や翻訳要件に最適なものを見つけてください。

高度な機能

バッチ翻訳

翻訳エンジンは、文脈とラベルに基づいて文字列をグループ化し、関連するUI要素が一貫して翻訳されるようにします。文脈とオプションのコメントも考慮に入れられ、LLMに送信されます。この文脈を認識するアプローチにより、個々の文字列を単独で処理する場合よりも、より一貫性のある翻訳が生成されます。

アプリケーションのコンテキスト

翻訳コンテキストとオプションのコメントに関する既存の情報に加えて、Linguistは、アプリケーション全体とその目的に関するさらに広いコンテキストを提供することができます。これは、大規模なLLMがアプリケーションが何をするのかを知り、その目的のために翻訳を調整するのに役立ちます。

再試行ロジックとエラー処理

本システムには、堅牢なエラー処理機能が含まれております。具体的には、自動再試行ロジック(バッチごとに最大3回まで)、Harmony(会話型・指示順守モデル)とフォーマット済みモデル(厳密なスキーマ準拠出力を生成する制約付き)間の自動フォールバック、返却されるソース→翻訳マップにおけるファジーマッチング、ならびにAIサービスが利用不可時の段階的な機能低下(グレースフルディグラデーション)が実装されております。

モデルの柔軟性

Ollamaインテグレーションは、お客様のシステムで利用可能なモデルを自動的に検出し、様々なLLMを試して、お客様の特定のニーズに最適な速度、精度、リソース使用量のバランスを見つけることができます。

プライバシーとセキュリティ

AI翻訳機能の主な利点の1つは、すべての処理がお客様のマシン上でローカルに行われることです。ソース文字列が開発環境から離れることはなく、 クラウドベースの翻訳サービスで一般的なプライバシーとセキュリティの懸念に対応します

結論

Qt Linguist 6.11 の AI 翻訳機能は、現代的な言語モデルの力を開発ワークフローに直接組み込み、プロの開発チームが求めるプライバシーと制御を維持しながら、より迅速な反復サイクルを実現します。

新規アプリケーションのプロトタイピング、国際化インフラのテスト、翻訳ワークフローの加速など、あらゆる場面でAI翻訳はQt開発ツールキットに強力な新機能を提供します。

本機能はQt Linguistバージョン6.11以降でご利用いただけます。次回のプロジェクトでぜひお試しいただき、Qtフォーラムまたはバグ報告システムを通じてご意見をお聞かせください。