lconvert の使用方法
lconvert コマンドラインツールは、翻訳データファイルをフィルタリングおよび変換します。
以下のファイル形式に対応しています:
pot- GNU Gettext ローカライズ用テンプレートファイルqph-Qt Linguist フレーズブックts- Qtの翻訳ソースpo- GNU Gettext ローカライズファイルqm- コンパイル済み Qt 翻訳xlf- XLIFF ローカライズファイル
lconvert の構文
lconvert [options] <infile> [<infile>...]ここで:
optionsは、1つまたは複数のlconvert オプションを表します。infileは入力ファイルです。複数の入力ファイルを指定できます。
複数の入力ファイルを指定した場合、それらは統合され、後方のファイルの翻訳が優先されます。
最新のlconvert のヘルプを表示するには、次のように入力してください:
lconvert -helplconvert オプション
| オプション | 動作 |
|---|---|
-h -help | Display up-to-date help information and exit. |
-i <infile> -input-file <infile> | Specify an input file. Use this option if <infile> starts with a dash. Use this option several times to merge inputs. May be - (standard input) for use in a pipe. |
-o <outfile> -output-file <outfile> | Specify an output file. Default is - (standard output). |
-if <informat> -input-format <format> | Specify input format for subsequent input files. The format is auto-detected from the file name and defaults to ts. |
-of <outformat> -output-format <outformat> | Specify output format. See -if. |
-drop-tags <regexp> | TS またはXLIFF ファイルを作成する際、指定された追加タグを削除します。このオプションは複数回指定できます。 |
-drop-translations | 既存の翻訳を削除し、ステータスを `unfinished` にリセットします。これは `--no-obsolete` を意味します。 |
-source-language <language>[_<region>] | ソース文字列の言語を指定または上書きします。指定されていない場合、かつファイルに言語名がまだ指定されていない場合は、デフォルトで POSIX が使用されます。 |
-target-language <language>[_<region>] | 翻訳の言語を指定または上書きします。デフォルトでは、ターゲット言語はファイルの内容から読み取られるか、ファイル名から推測されます。 |
-no-obsolete | 不要なメッセージを削除します。 |
-no-finished | 完了したメッセージを削除します。 |
-no-untranslated | 未翻訳のメッセージを削除します。 |
-sort-contexts | 出力されるTS ファイル内のコンテキストをアルファベット順に並べ替えます。 |
-sort-messages | TS ファイル内のコンテキスト内のメッセージをアルファベット順に並べ替えます。 |
-locations {absolute|relative|none} | TS ファイルへのソースコード参照の保存方法を上書きします。デフォルトは `absolute` です。 |
-no-ui-lines | UI ファイルへの参照から行番号を削除します。 |
-pluralonly | 複数形ではないメッセージを削除します。 |
-verbose | 何が行われているかを説明します。 |
例
TS ファイルを XLIFF に変換する
単一の TS ファイルを XLIFF に変換するには、ターミナルで次のコマンドを実行します。
lconvert -o myapp_de.xlf myapp_de.ts複数のQMファイルを結合する
次のコマンドを実行すると、複数のQMファイルをfull_de.qm にマージできます:
lconvert -o full_de.qm qtbase_de.qm myapp_de.qm mylib_de.qmCMakeでのlconvertの使用
CMakeプロジェクトの構成またはビルド時にlconvert を呼び出すには、Qt6LinguistTools パッケージをロードし、lconvert 実行ファイルを指定するために$<TARGET_FILE_NAME:Qt6::lconvert> を使用します。
次の例では、単一の TS ファイルを XLIFF に変換するカスタムターゲットxlf_de を追加しています。
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)
add_custom_command(
OUTPUT myapp_de.xlf
COMMAND $<TARGET_FILE:Qt6::lconvert> -o myapp_de.xlf myapp_de.ts
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/myapp_de.ts"
VERBATIM
)
add_custom_target(xlf_de
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/myapp_de.xlf"
)PO 形式固有のオプション
PO 形式に変換する場合、po-flags の追加メタデータフィールドにno-wrap フラグを設定することで、自動改行を無効にできます。デフォルトでは、79 文字を超える行は改行されます。このフィールドは、ソースコード内で//~ メタ文字列(例://~ po-flags no-wrap )を使用するか、TS ファイル内で<extra-po-flags> 要素を直接指定して設定します。
その他の PO フラグ(GNU gettext のドキュメントを参照)は、TS 形式と PO 形式間の変換時に保持されますが、lconvert での処理には影響しません。
注: po-flags メタデータは 、TS 形式から PO 形式へ直接変換する場合にのみ保持されます。
© 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.