2017年07月17日

APorteusのLXQT日本語バージョンについて。APorteus-v17.07.14-x86_64.isoビルダーより作成

nekoさんへの私信的です。一連の経緯はコメント欄に。

isoビルダーを新しくダウンロードしなおしました。
で、iso作成における状況は、ほぼ変わっていません。
あるものは、日本語化し、あるものは日本語化しない、
状況です。

■日本語化するもの:
firefox(日本語化のfirefox-i18n-jaが追加された
ものと想われます)
google-chrome(これは以前からノーマルです)
archSMP
lxdm(ログイン画面)
lxqtのアプリケーションメニュー 
qtコンフィグレーションセンター(バータイトルは英語のまま)
qtのコンフィグレーションパネル(バータイトルは英語のまま)
など。

■日本語化しないもの:
pcmanfm-qt
lxterminal
kpatience(kde-l10n-jaが入っていますが、、、)
gparted
gimp
vlc
qtパネルの「Drop application icons here」の表示 
など。

LXQT_desktop.jpg

といった具合です。
ご指摘の、workディレクトリ内のArchSPM_DB内には、
以前からlocaleDB-17.07.11-noarch-1.xzmは、在りました。
isoビルダーの、localeデータの取得し損ねは、
なかったのではないかと想われます。

そして、インストール直後の状態は、
/etc/locale.genは、en_US.UTF-8 UTF-8に。
/etc/local.confは、en_US.UTF-8になっています。
つまり、isoビルダーでの言語設定が、
反映されていません。
それらを、ja_JP.UTF-8に設定改めし、
何度かのシステム再起動を経て、上記のような状況です。

v17.07,08のisoビルダー時には、発現しなかった
状況だと思います。isoビルダーによるlocaleデータの
取得方法に差異があるとのことですが、
素人考えでは、それ以外の理由があるように想われます。

たとえば、私のpc環境のせいとか。

ほかのデスクトップ環境で作成してみると、
何かわかるかもしれませんね。
lxqt固有で起こっているのかも。

でも、ふしぎですね。


それと、今回の作成では、
pcmanfm-qtで、隠しファイルのshow hidenの設定が
保存されなくなっています。
ウィンドウを閉じて開いたらその場で、
show hidenしなくなります。

この問題は、pcmanfmをインストールし、
使うことで、クリアされました。

以上のような検証結果ですが、
何かの参考になりましたでしょうか。


posted by ブログ開設者 at 08:06| Comment(4) | linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
誤った不具合推測恥じています。
早速、調査いたします。
お時間を頂ければ幸いです。
Posted by neko at 2017年07月17日 11:09
何でもlinuxの学びに繋がると思っております。こちらへのご配慮(調査にかかる時間等について)は、お気軽に願います。原因が判りましたら、教えていただければ幸いです。何がどうしてこうなのか、たいへん興味深いです。
Posted by ブログ開設者 at 2017年07月17日 13:07
ご指摘の「ロケール設定NG」の件原因判明しました。
キャシュ処理のバグでした。

[バグ]
1. キャシュ処理
サイトからデータlocaleDB-17.07.11-noarch-1.xzmをダウンロードした場合、
次回使用の為キャッシュとしてセーブします。
このセーブ場所がISOビルドワーク配下に生成される
ArchSPM_DB ディレクトリです。

2.データ取り出し処理ルーチン
最初にキャシュから取り出しを試みます。
キャシュに無い時、3箇所のアップロード先から順次ダウンロードします。
キャシュセーブ処理をして終了します。<--------バグ!!

キャシュセーブはcpコマンドではなくmvコマンドで行う為、
ファイルが無くなります。----->ロケールデータ内容が空に成った原因。
キャシュセーブの後、キャシュ取り出しをする必要がありました。

[処置]
シェルスクリプト
/usr/local/share/mklocale/bin/mklocale
のデータ取り出し処理ルーチンLC_download()関数の修正。
===旧===
LC_download()
{
if ( LC_getFromCache $1 )
then
return 0
fi
if ( mediafire $1 )
then
saveCache $1
return 0
fi
if ( getFromRiken $1 )
then
saveCache $1
return 0
fi
if ( getFromLiveCD $1 )
then
saveCache $1
return 0
fi
return 1
}
===新===
LC_download()
{
if ( LC_getFromCache $1 )
then
return 0
fi
if ( mediafire $1 )
then
saveCache $1
if ( LC_getFromCache $1 $BIG )
then
return 0
fi
fi
if ( getFromRiken $1 )
then
saveCache $1
if ( LC_getFromCache $1 $BIG )
then
return 0
fi
fi
if ( getFromLiveCD $1 )
then
saveCache $1
if ( LC_getFromCache $1 $BIG )
then
return 0
fi
fi
return 1
}
============
セーブのmvコマンドをcpコマンドに変更する処置は、
共通関数saveCache
修正に成り他に影響が出るので不採用でした。

[一時対処]
ロケールデータが既にセーブされたISOビルドワークが保持されていれば、
同じISOビルドワークでISOビルドすればロケール情報が正しく設定されます。
又は、localeDB-17.07.11-noarch-1.xzmをお持ちであれば、
ISOビルドワーク配下ArchSPM_DBディレクトリに事前収容して下さい。
次回更新迄の間、取り敢えずこの対処で回避して頂ければ幸いです。
(上記ソース修正を行う場合、コピーして行って下さい)

[バグ認識の遅延]
最初に気付かず、キャッシュのデータ使用で正しくロケールの設定が出来ていた為、
ご指摘の問題認識ができませんでした。(当初のトンチンカンな回答)


バグでご迷惑お掛けし陳謝致します。
又、問題ご指摘感謝致します。
Posted by neko at 2017年07月18日 02:21
早ばやとご対応くださり、ありがとうございます。
iso生成、上手く行きました。

スクリプトを修正すれば勉強になるのはわかっているのですが、とりあず結果が欲しくて、localeDB-17.07.11-noarch-1.xzmをworkディレクトリ内のArchSPM_DB ディレクトリにコピーしてやりましたら、正しくロケールの設定がなされました。起こっている事象についてのご説明は、じぶんの頭で理解するのは難しいのですが、一歩一歩勉強してまいります。
Posted by ブログ開設者 at 2017年07月18日 07:28
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: