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関数に追加しました。
早速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 に変換してそれらしい情報がないか調べてみました。
どうやら、この記述みたいですね。
とりあえず、この記述を qtbrynhildr_ja_JP.ts の最後に追加して lrelease を実行して qtbrynhildr_ja_JP.qm を更新してみました。
とりあえず日本語になったようです。
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 を更新してみました。
とりあえず日本語になったようです。

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