Qt 同じ単語に複数の翻訳をあてるのに少し頑張った話2
前回からの続きです。
例によって、Qtのバージョンは4.8.4です。
.tsファイルと.qmファイルを自動的に作れるようにexcelのマクロを組みます。
excelのシート上に、enum(識別子)として使うID、対応する表示文言を列挙します。
マクロでヘッダファイルにenumと文字列を出力。
さらに、.tsファイルも作成しますが、lupdateを使うと不都合があるため、べた書きします。
もし、.tsファイル作成時にlupdateを使うと、
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> <TS version="2.0"> <context> <name>QWidget</name>
クラス化されていないファイルへQT_TR_NOOP()で文字列を記載していると、QWidgetとして.tsが作成されます。
しかし、
前回の記事であれば、setStringIdを実装しているクラスとなります。
.tsファイルができたら、lreleaseコマンドをたたいて.qmファイルを作成しておしまいです。
すごーくざっくりしている上に、コードサンプルがないのでひどくわかりにくい感じになってしまった…