2.8 KiB
日本語表示と翻訳用資源
設計01の初期UI言語は日本語。文書の言語やOSの数値・日付localeを変更せず、 本体の翻訳カタログとQt標準部品の日本語カタログを起動時に読み込む。 言語切替UIや外部から任意の翻訳ファイルを読み込む機能は提供しない。
本体・ワーカーの利用者向け文字列はtr、qsTr、または固定contextを持つ
QCoreApplication::translateで抽出する。コマンドID、設定キー、IPCキー、
エラーコード、文書の本文・見出し・パスは翻訳しない。
構文解析器が返す英語の詳細は、日本語の原因・行番号案内と区別して表示する。
更新とビルド
Qt 6.11.2のLinguistToolsを必要とする。
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ログと 対象ビルドのhashに記録した。
実装はQt公式の翻訳ビルド手順と QTranslatorの公開APIに基づく。 配置時の統合カタログはQtの翻訳配置資料を参照する。