Kompiraの上部メニュー一部が日本語で表示されない問題を修正したい
回答済み環境
・OSバージョン:CentOS Linux release 7.9.2009
・kompiraバージョン: kompira-1.6.2.post5
状況
・システムの文字セットが英語環境(en_US.UTF-8)のときにkompiraをインストールした
・Kompiraの一部メニュー名が英語表示となっている(Tasks~Schedules、設定のサブメニューの一部「UserManagement」など)
対処
以前、別件で問合せて修正できた方法で試みるも解消しない
・/opt/kompira/lib/python3.6/site-packages/kompira_site/settings.pyのLANGUAGE_CODEをen-us→ja-jpに変更
・/opt/kompira/bin/manage.py import_data --overwrite /var/opt/kompira/exported/types-ja.dat /var/opt/kompira/exported/startup-ja.dat を実行
→以前は updated=49で更新されるも、今回の環境では updated=18, skipped=31となる(エラー、警告はなし)
・kompirad及びhttpdのサービスを再起動
お手数かけますが、修正方法をご教示いただければ幸いです。
よろしくお願いいたします。
-
正式なコメント
フィックスポイントの高橋です。
Kompira メニュー上部の一部は Kompira インストール時の言語設定によって選択されたインポートデータによって、日本語表記または英語表記となるようになっています(ブラウザの言語設定では変わりません)。
これを変更したい場合は、システム領域にインポートされたオブジェクトの表示名を変更する必要があり、例えばご提示いただいたように manage.py import_data を用いて上書きインポートする、といった手段が考えられます。
この手法は以前は利用できていたのですが、実は Kompira v1.6.2 (初回回答時に Kompira v1.6.2.post2 と書きましたが誤りでしたでの訂正します)で「エクスポートしたファイルのインポート時にデフォルトでシステム領域を保護するように変更しました」という変更が加わったことにより、上書きオプションを付けてもスキップされるようになっており、そのためメニューの表示も変わらないとなっております。
これはシステムを保護するための機能ですが、今回の事例のように「システム領域の保護を無効にしてインポートしたい」というときに障壁となってしまいます。今後、インポートにオプションを追加するなどしてシステム領域でも上書きできるように検討を進めたいと考えております。
※訂正:manage.py import_data 利用時に --force-mode オプションを付与することで、システム領域でも上書きインポートできるようになっておりました。下記代案に加えて、--force-mode の利用もご検討ください。(2021/07/20追記)
しかし、おそらく対策版のリリースは今しばらく先になるかと思いますので、いくつか代案を示させていただきます。
- メニュー表示の変更だけであれば、オブジェクトの表示名を変更すれば追随しますので、ルートディレクトリにある仮想オブジェクトの「プロパティ」画面を開いて表示面を変更してみてください。
- 必要なオブジェクトあるいは全体をエクスポート(バックアップ)しておき、データベースを完全に初期化してから Kompira を(日本語環境で)再インストールして、バックアップをインポートしなおすことで、表示名以外も日本語になるかと思います。
もしお急ぎでないようであれば、システム領域の上書きインポートに対応したバージョンのリリースをお待ちいただくこともご検討ください。
参考になさってみてください。
コメントアクション -
高橋様
ご回答ありがとうございます。
>実は Kompira v1.6.2.post2 で「エクスポートしたファイルのインポート時にデフォルトで
>システム領域を保護するように変更しました」という変更が加わったことにより、
>上書きオプションを付けてもスキップされるようになっており、そのためメニューの表示も
>変わらないとなっております。ご教示ありがとうございます。
承知しました。
>必要なオブジェクトあるいは全体をエクスポート(バックアップ)しておき、データベースを完
>全に初期化してから Kompira を(日本語環境で)再インストールして、バックアップをインポー
>トしなおすことで、表示名以外も日本語になるかと思います。当該環境は構築直後で特段バックアップ戻すデータもありませんので、
データ作成していく前に、今のうちに修正しておこうと思っております。当該バージョンのkompiraで利用するDBの初期化は、下記認識であってますでしょうか?
/usr/pgsql-12/bin/postgresql-12-setup initdb
ちなみに、kompiraのインストールはダウングレード(旧バージョンに戻す)は可能でしょうか?
(いったんpost2以前のKompira v1.6.2.post1で再インストールして、上書きオプションで修正してから、
post5を再度インストールといったことができるかどうか) -
申し訳ありません、さきほどの回答に誤りがございました。
「エクスポートしたファイルのインポート時にデフォルトでシステム領域を保護するように変更しました」という変更が加わったのは「Kompira v1.6.2.post2」ではなく「Kompira v1.6.2」でした。失礼いたしました。(回答も修正しておきます)
> 当該バージョンのkompiraで利用するDBの初期化は、下記認識であってますでしょうか?
> /usr/pgsql-12/bin/postgresql-12-setup initdbデータベースクラスタディレクトリ(/var/lib/pgsql/12/data/)を削除したうえで、上記コマンドを実行していただければ、Postgresql のデータベース全体を再構築できるかと思います。
あるいは、kompira の install.sh に --initdata オプションを付けてインストールを実行していただくことでも、データベースを初期化します(こちらはデータベースクラスの再構築ではなく、ユーザやデータベースの再作成(createuser/createdb)になります)。
インストール時にダウングレードを禁止するような制御は行っておりませんが、移行前後のバージョンの組み合わせによっては正しく動作しない可能性もございますのでご注意ください。
-
ご回答ありがとうございます。
システムロケールをja_JP.UTF-8に変更(locale.confにも反映済み)したうえで、--initdata オプションの再インストール実施したのですが、以前の設定en-usで取得されるようで変わらずでした。
→インストーラの最後尾あたりにDEBUG: language_code=en-us (LOCALE_LANG=en_US.UTF-8の表示)
上記のデータベースクラスタディレクトリを全削除のうえ初期化後、再インストールしたところ、
解消されました。(上記のDEBUGログはなく-LANG=en_US.UTF-8
+LANG=ja_JP.UTF-8で反映されているようでした)こちらで修正できましたので、当該トピック、クローズとしてください。
ご教示いただきまして、ありがとうございました。
サインインしてコメントを残してください。
コメント
5件のコメント