Files
docview/docs/TRANSLATIONS.md
T
2026-09-21 13:41:40 +09:00

45 lines
2.8 KiB
Markdown

# 日本語表示と翻訳用資源
設計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)を参照する。