このページについて

lcheck の使用方法

lcheck コマンドラインツールは、QtのTS 翻訳ファイルの検証を行い、人間が読みやすいレポートを生成します。これはQt Linguist ツールチェーンの一部であり、一般的なローカライズ上の問題を早期に検出するために、バッチ処理やCI環境での使用を想定しています。デフォルトでは、lcheck は一連のチェックを実行し、有効になっているチェックのうち少なくとも1つが失敗した場合、0以外の終了コードを返します。

デフォルトのチェック項目は以下の通りです:

  • アクセラレータチェック— ソースと翻訳に含まれるアンパサンド(ニーモニック)の数が一致しているかを確認します。
  • 前後の空白チェック — ソースと翻訳の先頭および末尾の空白が一致していることを確認します。
  • 末尾の句読点チェック — 原文と翻訳文の末尾の句読点が一致しているかを確認します。
  • 位置マーカーのチェック — 原文と翻訳文の間で、%1 、%2 などの使用が一貫しているかを確認します。

各チェックは、コマンドラインオプションを使用して個別に無効にすることができます。

lcheck の構文

lcheck [options] -o report-output-file ts-file
lcheck [options] ts-file

ここで:

  • options は、1つまたは複数のlcheckオプションを表します。
  • ts-file は、検証対象のTS ファイルです。
  • report-output-file は、レポートを書き込むファイルのパスです。省略された場合、レポートは標準エラーストリームに書き込まれます。

最新のヘルプを表示するには、次のように入力してください:

lcheck -help

lcheck オプション

オプション動作
-help最新のヘルプ情報を表示して終了します。
-no-acceleratorアクセラレータ(アンパサンド)の一貫性チェックを無効にします。
-no-punctuation文末の句読点の一貫性チェックを無効にします。
-no-place-markerソースと翻訳の間で、%1 、%2 、…が一貫して使用されていることを確認するチェックを無効にします。
-no-whitespaces前後の空白の一貫性チェックを無効にします。
-check-finished完了済みとしてマークされたメッセージもチェックします。デフォルトでは、完了済みの翻訳はチェックされません。
-o <outfile>検証レポートを<outfile> に書き出します。指定がない場合、レポートは標準エラー出力に書き出されます。
-versionlcheck のバージョンを表示して終了します。

注: 有効になっているチェックのいずれかが失敗した場合、プロセスの終了ステータスは 0 以外になります。これにより、lcheck は CI パイプラインでの使用に適しています。

例

レポートをファイルに書き出す

lcheck -o lcheck_report.txt translations/myapp_de.ts

選択したチェックを無効にする

次のコマンドは、アクセラレータと句読点を除くすべてのチェックを実行します:

lcheck -no-accelerator -no-punctuation translations/myapp_de.ts

翻訳済みの項目もチェックする

lcheck -check-finished translations/myapp_de.ts

CIステップでlcheckを使用する

lcheck translations/myapp_de.ts && echo "Translations OK" || echo "Issues found"

CMakeでのlcheckの使用

CMakeプロジェクトの構成やビルド時にlcheck を呼び出すには、Qt6LinguistTools パッケージをロードし、$<TARGET_FILE:Qt6::lcheck> を使用してlcheck 実行ファイルを指定します。

次の例では、TS ファイルに対してlcheck を実行し、ビルド成果物の隣にレポートを書き出すカスタムターゲット「check_translations 」を追加しています。

find_package(Qt6 REQUIRED COMPONENTS LinguistTools)

add_custom_command(
    OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/lcheck_report.txt"
    COMMAND $<TARGET_FILE:Qt6::lcheck>
            -o "${CMAKE_CURRENT_BINARY_DIR}/lcheck_report.txt"
            "${CMAKE_CURRENT_SOURCE_DIR}/translations/myapp_de.ts"
    DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/translations/myapp_de.ts"
    VERBATIM
)

add_custom_target(check_translations
    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/lcheck_report.txt"
)

qmake での lcheck の使用

プロジェクトファイルを指定せずに、TS ファイルに対してlcheck を直接実行することができます:

lcheck translations/myapp_de.ts

© 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.