QM ファイル形式とは?
.qm ファイルは、The Qt Company(旧 Trolltech)によって開発された翻訳ソフトウェアツールである Qt Linguist に関連付けられています。
拡張子が .qm のファイルには、ソーステキストとターゲット言語へのコンパイル済み翻訳が保存されます。.qm ファイルは、実行時の高速なデータアクセスと検索のためにバイナリ形式でデータを保存します。これらは、Windows、macOS、Linux、Android、iOS、およびその他の Qt サポートプラットフォーム全体で、アプリケーションの翻訳をローカル言語に配布するために使用されます。
.qm は、人間が編集可能な .TS (Translation Source) ファイルに対応する、コンパイル済みのランタイムロード用ファイルです。ワークフローは次のとおりです。開発者と翻訳者が .ts XML ファイルで作業し、次に lrelease コマンドラインツールがそれをコンパクトな .qm バイナリにコンパイルし、アプリケーションが起動時に Qt の QTranslator クラスを介してロードします。
Qt Linguist を使用すると、ユーザーはアプリケーションの翻訳とローカライズを作成できます。.qm はプレーンテキストファイルではなくコンパイルされたバイナリファイルであるため、Qt Linguist 自体を使用しても、その内容を直接読み取ることはできません。ファイルは固定の 16 バイトのマジックナンバーで始まり、その後に実行時の高速な文字列検索を可能にするタグ付きデータブロック(Hashes、Messages、Contexts、NumerusRules、Dependencies)が続きます。
Qt Linguist で .qm ファイルを開くには、まず .ts に戻す必要があります。このような変換を可能にするツールは数多くあります。そのほとんどは、lconvert(Qt ツールバンドルの一部)を含むコマンドラインユーティリティです。生成された .ts ファイルは、Qt Linguist で直接開くことができます。.ts ファイルは編集可能です。ユーザーはテキストを翻訳し、lrelease を使用してファイルを .qm に戻すことができます。このプロセスにより、ユーザーはアプリケーションの言語パッケージを生成して配布できます。
セキュリティと安全性
リスク: LOW.qm は Qt の QTranslator によってロードされるパッシブな翻訳データであり、コードを実行しません。安全です。唯一の実用的な注意点は、間違ったファイルを編集することです。バイナリの .qm を手動で編集すると破損するため、変更は .ts ソースで行い、再コンパイルする必要があります。
形式の詳細
概要- QuickTime メタデータ / その他 - 無関係なツールデータで見られることがありますが、主な意味は Qt コンパイル済み翻訳です。
QM ファイルを開くプログラム
技術的詳細
詳細仕様| 開発元 | The Qt Company (旧 Trolltech / Nokia / Digia) |
| フォーマットタイプ | コンパイル済みバイナリ翻訳カタログ |
| MIMEタイプ | application/x-qm (または application/octet-stream) |
| ファイルシグネチャ (マジックバイト) | オフセット 0 の 16 バイトヘッダー: 3C B8 64 18 CA EF 9C 95 CD 21 1C BF 60 A1 BD DD |
| バイト順序 | ビッグエンディアン |
| 内部構造 | タグ/長さ/値のブロック: Hashes, Messages, Contexts, NumerusRules, Dependencies |
| 文字列エンコーディング | 文字列ごとに UTF-16 または UTF-8 |
| 圧縮 | なし - 文字列はそのまま保存され、複数形(numerus)ルールはコンパクトにエンコードされます |
| 一般的なファイルサイズ | 翻訳された文字列の数に応じて 5 KB ~ 2 MB |
| ソース形式 | .ts (Translation Source, XML) - lrelease によってコンパイルされる人間が編集可能な対応ファイル |
| コンパイルツール | lrelease (Qt ツールバンドルに含まれる Qt コマンドラインツール) |
| 逆変換ツール | lconvert (Qt コマンドラインツール) - .qm を .ts または他の形式に戻します |
| ランタイムローダー | Qt フレームワークの QTranslator クラス |
| 文字列検索 | ファイルに埋め込まれたメッセージごとのハッシュテーブルを介した O(1) |
| サポートされているプラットフォーム | Windows, macOS, Linux, Android, iOS, 組み込み Qt ターゲット |
| リリース日 | 1990s (Qt internationalization framework) |
| 最新バージョン | Tied to the Qt release stream (Qt 6.x in 2026); QM binary layout stable |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | doc.qt.io |
QM の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。QM ファイルについて最初の質問をしてみましょう。