qt翻訳パブリケーションマネージャ--lupdateとlrelease


パブリケーションマネージャには、lupdateとlreleaseの2つのツールがあります.これらのツールはqmakeプロジェクトファイルに依存します.qmakeを使う必要はありませんが.
Qtプロジェクトファイル
lupdateとlreleaseはアプリケーションに依存する.proQtプロジェクトファイル.プロジェクトファイルには、ローカル言語以外の追加言語のTRANSLATIONSセクションが必要です.代表的なエントリは次のようになります.
    TRANSLATIONS    = tt2_fr.ts \
                      tt2_nl.ts

翻訳ファイルの名前には、実行時にその言語を呼び出すことを決定するのに役立つ場所が含まれています.これは第4章:プログラマーで説明します.
1つは4つの翻訳ソースファイルを含む完全なものである.Proファイルの例:
    HEADERS         = main-dlg.h \
		      options-dlg.h
    SOURCES         = main-dlg.cpp \
		      options-dlg.cpp \
		      main.cpp 
    FORMS           = search-dlg.ui
    TRANSLATIONS    = superapp_dk.ts \
		      superapp_fi.ts \
		      superapp_no.ts \
		      superapp_se.ts

QAPplication::setDefaultCodec()は、tr()呼び出しで表示される文字列を選択して使用する8ビット符号化方式を可能にする.符号化方式が指定されていない場合、tr()はLatin-1を使用する.
あなたのアプリケーションでQLPplication::defaultCodec()メカニズムを使用する場合は、Qt言語学者はあなたを必要とします.ProファイルにもDEFAULTCODECエントリが設定されています.例:
    DEFAULTCODEC    = ISO-8859-5

lupdate
使用法:lupdate myproject.pro
これは簡単なコマンドラインツールです.lupdateはQtを読み出す.Proプロジェクトファイルは、プロジェクトファイルにリストするものを生成または更新する.tsソースファイルを翻訳します.翻訳者はQt言語学者でこの翻訳ファイルを読み取り、翻訳を挿入することができます.
独自の翻訳者を持つ企業では、アプリケーション開発者のように定期的に(おそらく毎月)lupdateを実行することが役に立つことがわかります.これにより、翻訳作業をプロジェクトサイクル全体にわたって均一に分散させることができ、翻訳者が同時に大量のプロジェクトで作業できるようになります.
翻訳者を雇用する会社は、アプリケーション開発サイクル全体でlupdateを何回か実行するだけで、最初の実行は最初のテストフェーズの前になるかもしれません.これにより、充実した単一ワークブロックを翻訳者に提供することができ、翻訳欠陥も最初のテスト段階で容易に発見することができる.2回目およびその後のlupdate実行は、最後のbetaテストフェーズで発生することができる.
.tsファイルフォーマットは簡単な人々が読むことができるXMLフォーマットであり、必要であればバージョン制御システムを使用することができる.
lrelease
使用法:lrelease myproject.pro
これはもう一つの簡単なコマンドラインツールです.Qtを読み出します.Proプロジェクトファイルは、プロジェクトファイルにリストする各ファイルに基づいている.ts翻訳ソースファイルは、アプリケーションを生成するために使用する.qmファイル.qmファイルフォーマットは、より迅速な翻訳検索を提供するコンパクトなバイナリフォーマットです.
このツールは、アプリケーションがパブリッシュされ、最初のテストバージョンから最終的なパブリッシュバージョンに至るまで実行されます.もし.qmファイルは作成されていません.たとえば、alphaパブリケーションが翻訳が完了する前に出る必要があるため、アプリケーションはプログラマがソースファイルに配置したテキストを使用して正常に実行することもできます.いったんqmファイルが提供され、アプリケーションはそれらを検出し、自動的に使用することができます.
注意:lreleaseは、「done」とマークされた翻訳をマージするだけです.翻訳が1つ欠けているか、失敗した確認がある場合は、最初のテキストが使用されます.
欠落した翻訳
lupdateとlreleaseも不完全に用いることができる.ts翻訳ソースファイル上.欠落した翻訳は、実行時にローカルの言語フレーズに置き換えられます.