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