このページでは

ltext2id を使う

ltext2id コマンドラインツールは、テキストベースの翻訳を使用しているプロジェクトを ID ベースの翻訳に変換します。プロジェクトツリーをスキャンし、IDベースの翻訳APIを呼び出すようにソースコードを更新し、それに応じて関連するTS ファイルを調整します。変換に失敗した場合、ソースには失敗した場所に//ltext2id error: という注釈が付けられます。

注: ltext2id を実行する前に、完全なバックアップを作成してください(または、クリーンな Git ブランチで作業してください)。このツールは、ソース・ファイルとTS ファイルをその場で変更します。

最良の結果を得るには、ソースとTS ファイルの両方をツールに渡すプロジェクト・ルートに含めると、コードと翻訳の間で更新の一貫性が保たれます。

ltext2id 構文

ltext2id [options] [project-root]

どこで

  • options は 1 つまたは複数のltext2id オプションを意味する。
  • project-root は再帰的に処理するディレクトリ。

最新のヘルプを見るには

ltext2id -help

ltext2id オプション

オプション動作
-help最新のヘルプ情報を表示して終了する。
-no-labelsIDベースの翻訳に対してラベルを生成しない。デフォルトでは、メッセージ・コンテキストがラベルとして使用されるため、エントリはQt Linguist で同じように表示されます。
-sort-messagesTS ファイルでコンテキスト内のメッセージをアルファベット順に並べ替えます。
-source-utf16ソース・ファイルを UTF-16 エンコードとして扱います (デフォルト: false)。
-quiet進捗出力を抑制する。
-only-meta-idメタ文字列を挿入してIDを提案するだけで、IDベースの呼び出しへの実際の変換は行わない
-no-auto-idメタ文字列IDがない場合、IDを自動生成しません。メタIDのない翻訳関数呼び出しは無視されます。
-versionltext2id のバージョンを表示して終了します。

プロジェクトをIDベースの翻訳に変換する

プロジェクトのルートでツールを実行してください。そのディレクトリの下にあるソースコードとTS ファイルが更新されます。

ltext2id path/to/project

IDサジェストのみを生成する(コードは変更しない)

-only-meta-id 、IDベースAPIの呼び出しを書き換えることなく、メタ文字列のIDサジェストを注入する。その結果、翻訳呼び出しは'//~ meta-id <id>'(cpp)で注釈され、提案されるID(メタID)を指定するメタ文字列になります。

ltext2id -only-meta-id path/to/project

ラベル生成を無効にする

Qt Linguist でコンテキストをラベルとしてミラーしたくない場合は、ラベル生成を無効にします:

ltext2id -no-labels path/to/project

自動生成IDを避ける

メタIDがないコール、つまりメタ文字列'//~ meta-id <id>'(cpp)を使ってすでに指定されているIDについては、自動生成をスキップする:

ltext2id -no-auto-id path/to/project

UTF-16ソースファイルを扱う

ソースがUTF-16エンコードされている場合、オプションを有効にします:

ltext2id -source-utf16 path/to/project

終了ステータス

ltext2id は、失敗した場合(たとえば、ファイルの変換中に回復不能なエラーが発生した場合など)にゼロ以外の終了コードを返します。//ltext2id error: でマークされたインプレース・ソース注釈を検査し、残りの問題を修正します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.