はじめに
Qt 4.
- Qt 4.
5 What's New in Qt 4. 5 - URL:http://
doc. trolltech. com/ 4. 5/ qt4-5-intro. html#qt-linguist-
improvements
Qt 4.
ファイルフォーマット関連
翻訳メッセージファイルである.tsファイルのバージョンは,
表1 .tsファイルと,
.tsバージョン | 説明 |
---|---|
なし | Qt 4. |
1. | Qt 4. |
2. | Qt 4. |
表2 Qt Linguistが新たに扱うXML要素
新XML要素 | 説明 |
---|---|
extracomment | 参考情報としてだけのためのコメントを格納 |
translatorcomment | 翻訳者のコメントを格納 |
extra-* | ユーザ拡張 |
oldsource | lupdateの推測マージで元の値を格納 |
oldcomment | 同上 |
コマンドツール関連
メッセージ翻訳のためのGUIツールQt Linguistを中心とする表3のような翻訳用のツールがあります。
表3 翻訳ツール一覧
ツール | 説明 |
---|---|
Qt Linguist | 翻訳ファイル |
lupdate | ソースコードから翻訳対象のメッセージテキストを抽出する。 |
lrelease | 翻訳ファイルからコンパイル済みQt翻訳バイナリファイル |
lconvert | Qt 4. |
このQt Linguistツールチェーンのコマンドツールも改良されています。
lconvertコマンド
Qt 4.
表4 lconvertが扱えるファイル
サフィックス | 入力 | 出力 | ファイルフォーマット |
---|---|---|---|
qm | ○ | ○ | コンパイル済みQt翻訳バイナリファイル |
ts11 | ○ | ○ | Qt翻訳ファイル |
ts20 | ○ | ○ | Qt翻訳ファイル |
ts | ○ | ○ | Qt翻訳ファイル |
qph | ○ | ○ | Qt Linguistフレーズブック |
po | ○ | ○ | GNU gettextローカライゼーションファイル |
ui | ○ | - | Qt Designerフォームファイル |
jui | ○ | - | Qt Jambiフォームファイル |
cpp | ○ | - | C++ソースファイル |
java | ○ | - | Javaソースファイル |
js | ○ | - | Qt Scriptソースファイル |
xlf | ○ | ○ | XLIFFローカライゼーションファイル |
※ .juiや.javaはQt Jambiが製品終了となっているため,
リファレンスに使い方の説明が何もなく,lconvert -help
で表示されるメッセージのみが使い方の手がかりなのが残念です。この記事の後半で,
lupdateコマンド
20近くのバグ修正や改良がされている中からいくつか拾ってみました。
//: と /*: */ 形式のコメントが
タグに出力されるように 翻訳者への翻訳のヒントを開発者から伝えるために使われ,
Qt Linguistのソーステキスト領域のDeveloper commentsに, 開発者が記述したコメントが表示されます。 新しい形式の QT_
TR*() マクロやQ_ DECLARE_ TR_ FUNCTIONS への対応QT_ TRANSLATE_ NOOP_ UTF8 マクロの追加。 QtScriptへの対応
オプション -disable-heuristic,
-nosort, -target-language, -source-languageの追加。 とくに,
-disable-heuristic によって, メッセージの変更を推測する機能を無効にできるようになったので, 連番でメッセージを扱っている場合に, 余計な推測が抑制されます。 オプション -locations が追加
ソースコードの参照行番号を相対番号にしたり,
出力しないようにもできるようになりました。 UTF-16でエンコーディングされたソースファイルへの対応
ネームスペースエイリアスへの対応
同じメッセージの最後のソースコード位置しか記録しなかったのが,
全ての位置を記録するようになった
複数言語の同時翻訳
複数言語の翻訳を同時に見比べながらできるようになりました。今までは別々にQt Linguistを起動していたので,
複数の翻訳ファイルを閉じて,
言語設定
翻訳ファイル設定で,
翻訳ファイル設定ダイアログ
「メニューバー」→