« Ver.1.6.6 リリース | トップページ | 言語依存データの外部ファイル化について考える その1 »

2017年3月 8日 (水)

macOS 版のアプリケーションメニューの日本語化

Qt BrynhildrのmacOS版ではアプリケーションメニューの項目だけが英語のままなので、カッコ悪いなぁと思っていたのでちょっと調べました。

Qt Assistant で検索してみると "locversion.plist" とかいうファイルをAppleが決めた所定の位置に置けと書いてあるのですが、よく分かりません。

さらに google先生にお尋ねすると Qt のパッケージに入っている qt_ja.qm を使えばいいと書いているページが ありました。

例えばMinGW版だとこんなところにありました。

Qt5.8.0/5.8/mingw53_32/translations/qt_ja.qm

早速このファイルをローカルにコピーして、追加する処理をmain関数に追加しました。

QTranslator appTranslator2;
appTranslator2.load(QTB_TRANSLATION_FILE_PATH "qt_" + QLocale::system().name(),  qApp->applicationDirPath());
app.installTranslator(&appTranslator2);
installTranslator() は翻訳情報を"追加で"インストールしてくれるそうなので、こうすれば元々ある Qt Brynhildrの翻訳情報に追加されるようです。

早速macOS上でリビルドして実行してみました。

「全然変わらない…」、英語のままでした。

仕方がないので、qt_ja.qm のサイズを調べてみると165バイトしかありません。

"なんかおかしいなぁ"と思い、lconvert というコマンドで .ts に変換すると

lconvert -i qt_ja.qm -o qt_ja.ts -if qm -of ts














うーん、依存関係を書いてあるだけなので上記の5つのファイルもコピーしてこないとだめなのですかねぇ…
全然関係ないファイルのような気がしますし。

まず、それっぽい qt_base_ja.qm だけコピーしてきました。

lconvertでこれを qtbase_ja.ts に変換してそれらしい情報がないか調べてみました。

どうやら、この記述みたいですね。



    MAC_APPLICATION_MENU
    
        Hide Others
        ほかを隠す
    
    
        Quit %1
        %1 を終了
    
    
        About %1
        %1 について
    
    
        Preferences...
        設定...
    
    
        Services
        サービス
    
    
        Hide %1
        %1 を隠す
    
    
        Show All
        すべて表示
    



とりあえず、この記述を qtbrynhildr_ja_JP.ts の最後に追加して lrelease を実行して qtbrynhildr_ja_JP.qm を更新してみました。

とりあえず日本語になったようです。
Menu

« Ver.1.6.6 リリース | トップページ | 言語依存データの外部ファイル化について考える その1 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: macOS 版のアプリケーションメニューの日本語化:

« Ver.1.6.6 リリース | トップページ | 言語依存データの外部ファイル化について考える その1 »