メニューが日本語で表示されない

gentoo linux (Kernel 5.10.27)にlibreoffice 7.1.3.2およびlibreoffice-l10n 7.1.3.2をインストールした。gentoo のmake.confでは、L10N="jp"を指定し、compileを行っている。インストール後、の画面でメニューがデフォルト(英語)表示となっていて日本語で表示されない。libreofficeのtools→option→Language settingウインドウを開いてuser’s interfaceを見てみると、Default-English(USA)のみが有って、選択肢Japaneseがない。(FormatsのLocaleSettingは、DefaultーJapaneseである。)

  1. user’s interfaceがDefault-Japaneseとなっていないのは何故だろうか?
  2. user’s interfaceの選択項目にJapaneseを追加する方法を教えてほしい。

なお、gentooのlocale設定は、Lang=“ja_JP.utf8”。デスクトップシステム(KDE-Plasma)の地域の設定を日本語、フォーマットもすべて日本語で設定してある。

回答にあらず。メモ書き。俺Windowsユーザーなので詳しくありません。

少なくともWindowsにおいては、Cygwinによるビルドの過程でautoconf.shで–with-langを与えることができる。
https://wiki.documentfoundation.org/Development/How_to_build/localized

変数WITH_LANGがmakefile内で使用できる。空白区切りで列挙された言語リストをforeachなどで回していく。

gettext絡みのmoファイルとpoファイルの処理をしつつ、

https://opengrok.libreoffice.org/xref/core/solenv/gbuild/AllLangMoTarget.mk?r=0adc9b61#83

言語ごとに生成されるxcuを統合することで、

https://opengrok.libreoffice.org/xref/core/solenv/gbuild/Configuration.mk?r=0adc9b61#186

プロファイル生成時の元として利用するInstalledLocalesが設定され
https://opengrok.libreoffice.org/xref/core/desktop/source/app/langselect.cxx?r=cbcec442#79

プロファイル側で、初期データと異なる設定がなされたときは、プロファイルのregistrymodifications.xcuに記録される。

…あってるかな?

Formatsの方は

https://opengrok.libreoffice.org/xref/core/svx/source/dialog/langbox.cxx?r=22070dfc&fi=SetLanguageList#218

UI言語の方は

https://opengrok.libreoffice.org/xref/core/cui/source/options/optgdlg.cxx?r=3fc89330#1056

その他の参考資料。

一応追加でメモ。

https://opengrok.libreoffice.org/xref/core/solenv/gbuild/InstallModule.mk?r=0adc9b61#74

この辺の仕組みが、もしGentooでも変わらないなら、ログを出力させまくってどこで違いが出ているかを追っていく流れになる。

gentoo のmake.confでは、L10N="jp"を指定し、

こちらを見るとUSEフラグはjpではなくjaのような気がするのですが、どうでしょうか?
あとはビルド後に以下のファイルがあるかチェックでしょうか。

  • (インストール先)/share/registry/cjk_ja.xcd
  • (インストール先)/program/resource/ja/LC_MESSAGES/

インストール先は、Debian版では/usr/lib/libreoffice、TDF版debパッケージでは/opt/libreoffice7.1になります。これがなければ日本語と認識されないのでチェックしてみてください。

LibreOfficeを使いたいだけならバイナリパッケージも用意されているそうなので、それを使ったり、Flatpakを入れてFlatpak版を使って逃げるのもいいかもしれないですね。(Gentoo的にはイヤかもしれないけど)

Answerをありがとうございます。
ご指摘いただいて気づきましたがUSEフラグを間違っているようです。L10N="ja"で再度やってみます。
もう一つのノートPCにインストールしているDebianのlibreofficeのregistryファイルと比較してみました。Gentooでは、/usr/lib64/libreoffice/share/registryの下で、ご指摘頂いた/cjk-ja.xcdと、/langpack-ja.xcd、更に/usr/lib64/libreoffice/share/registry/resの下で、/fcfg_langpack_ja.xcdと/registry_ja.xcdがありませんでした。
(インストール先)/program/resource/ja/LC_MESSAGES/に相当するファイルは今の所該当するものが分からないのでもう少し調べてみます。

いずれにせよ、この後、まずフラグの内容を修正してやってみます。→ USEフラグを修正し、再度libreofficeとlibreoffice-l10nをインストールしました。結果、日本語メニューが表示されることを確認しました。適切なご指摘をいただき感謝しています。

よかったですね!:blush: