# 日本語表示と翻訳用資源 設計01の初期UI言語は日本語。文書の言語やOSの数値・日付localeを変更せず、 本体の翻訳カタログとQt標準部品の日本語カタログを起動時に読み込む。 言語切替UIや外部から任意の翻訳ファイルを読み込む機能は提供しない。 本体・ワーカーの利用者向け文字列は`tr`、`qsTr`、または固定contextを持つ `QCoreApplication::translate`で抽出する。コマンドID、設定キー、IPCキー、 エラーコード、文書の本文・見出し・パスは翻訳しない。 構文解析器が返す英語の詳細は、日本語の原因・行番号案内と区別して表示する。 ## 更新とビルド Qt 6.11.2のLinguistToolsを必要とする。 ```sh cmake --build build --target docview_lupdate # resources/i18n/docview_ja.ts の新規・変更文言と訳文を確認する cmake --build build --target docview_lrelease cmake --build build ``` `docview_lupdate`は本番C++ targetとQMLから文言・相対ソース位置を収集する。 日本語の原文に同じ日本語の訳文を登録したTSを基準にし、追加時も訳文を確認する。 生成QMは本体へ埋め込み、通常ビルドではTSを書き換えない。新しい言語への翻訳には TSを別言語として作成し、読み込む言語を選ぶ設計とワーカーの運用を別途追加する。 現状の多言語動作を保証するものではない。 Qt標準部品には、Qtの`TranslationsPath`にある`qtbase_ja.qm`と `qtdeclarative_ja.qm`を使用する。配置時に統合される`qt_ja.qm`も読込み対象にする。 Linuxではシステム依存として明示し、開発版packagerが 存在とhashを検査する。Windowsの配置コードは`windeployqt`のtranslations出力を使う。 資源が欠けても文書処理を終了させず、Qtの原文へ戻るが、その配置を日本語表示の 合格とはしない。OS自身が提供するネイティブダイアログはOS側の言語設定に従う。 `translations`試験は英語localeのプロセスで、埋込QM、設定の行・原因、コマンド入力エラー、 実Qt Quick Dialogの「開く」「キャンセル」を検査する。統合実行の4ケースは成功し、最新の533件のTS文言を完了状態で収録した。 [CTestログ](../tests/results/ui-final/ctest-font-final/LastTest.log)と [対象ビルドのhash](../tests/results/ui-final/build-record.json)に記録した。 実装はQt公式の[翻訳ビルド手順](https://doc.qt.io/qt-6/qtlinguist-cmake-qt-add-translations.html)と [QTranslator](https://doc.qt.io/qt-6/qtranslator.html)の公開APIに基づく。 配置時の統合カタログは[Qtの翻訳配置資料](https://doc.qt.io/qt-6/qt-deploy-translations.html)を参照する。