【Ubuntu】Compiz Config 設定マネージャーでメッセージが出ないバグがある -- 原因は日本語化のミスだった [ubuntu]
元々、Compiz Config 設定マネージャーを端末から起動した時に、ワーニングがでてるな~と、気になっていました。
下記の青字の部分です。
oneiric@ocelot:~$ ccsm
Checking if settings need to be migrated ...no
Checking if internal files need to be migrated ...no
Backend : gconf
Integration : true
Profile : default
Adding plugins
Skipping upgrade com.canonical.unity.unity.01.upgrade
Skipping upgrade com.canonical.unity.unity.02.upgrade
Initializing core options...done
/usr/lib/python2.7/dist-packages/ccm/Utils.py:213: GtkWarning: Failed to set text from markup due to error parsing markup: 2 行の 81 文字目でエラー: 要素'markup' が閉ました。しかし現在開いている要素は 'span' です
self.Warning.set_markup(self.Markup % value)
/usr/lib/python2.7/dist-packages/ccm/Window.py:92: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
self.LeftPane.pack_start(page.LeftWidget, True, True)
~~後略~~
これって、明らかにXMLのspanタグの対応がおかしいんでしょ・・・なぜ直さないのだろう??と思いソースコードをダウンロードして見てみました。
そして、このワーニングを出してる部分(Utils.pyの213行目)を見てみると、下記の太字の所でした。(前後は略してあります)
box = gtk.HBox()
self.Warning = gtk.Label()
self.Markup = _("<span size=\"large\"><b>No matches found.</b> </span><s
pan>\n\n Your filter \"<b>%s</b>\" does not match any items.</span>")
value = protect_pango_markup(value)
self.Warning.set_markup(self.Markup % value)
image = Image("face-surprise", ImageThemed, 48)
それで、spanタグの対応を見てみると、ちゃんと合ってる。
(・_・?) なぜ? ワーニングがでる?? まさか・・・
今度は、日本語化ファイルのja.poの方を見てみました。この部分の日本語化している所を抜き出すと・・・
#, python-format
msgid ""
"<span size=\"large\"><b>No matches found.</b> </span><span>\n"
"\n"
" Your filter \"<b>%s</b>\" does not match any items.</span>"
msgstr ""
"<span size=\"large\"><b>何も見つかりませんでした。</b> </span><span>\n"
"フィルタ \"<b>%s</b>\" はどのアイテムにも一致しません。"
あ。。</span>が最後に無い。と言うわけで、書き変え。
#, python-format
msgid ""
"<span size=\"large\"><b>No matches found.</b> </span><span>\n"
"\n"
" Your filter \"<b>%s</b>\" does not match any items.</span>"
msgstr ""
"<span size=\"large\"><b>何も見つかりませんでした。</b> </span><span>\n"
"\n"
"フィルタ \"<b>%s</b>\" はどのアイテムにも一致しません。</span>"
赤字の</span>を付け足しました。ついでに改行コードが原文から抜けているので"\n"も付け足して見ました。
後は端末から
msgfmt -o ccsm.mo ja.po
sudo cp ccsm.po /usr/share/locale/ja/LC_MESSAGES/.
で、日本語化ファイルを入れ替えてあげました。そうしたらワーニングは出なくなりました。
このワーニング、どこに影響しているかというと・・・
Compiz Config 設定マネージャーを起動して左上の方にある「フィルター」の欄に適当な文字を入れて見てください。例えば下図のように"sssss"とか。
すると、顔のアイコンだけがでます。
それで、私が修正した日本語化ファイルで同じことを行うと下図になります。
本来はこの様にメッセージがでます。
ただの日本語化であれば文章だけを気にしていればよいのですが、そこにXMLやHTMLのようなものが入ると、これを間違った時にはプログラムの動作自体を変えてしまいます。 日本語化をする方も大変ですね。
ちなみに、Ubuntu 10.04(Lucid)で試してみても同じ現象がでました。1年半以上放置されたまま。。 誰も気が付かなかったのかな??私も気がつかなかったし・・・
とりあえず、バグ報告しておきました。めちゃくちゃな英語だけど、なんとか分かってもらえるでしょう・・・でも、日本語が分かる人でないと、直ったのをレビューできないと思います。その前に日本語環境作ってバグ再現しないと分からないから、Status NEWのまま放置かな?
https://bugs.launchpad.net/ubuntu/+source/compizconfig-settings-manager/+bug/864193
←入門XML (オライリー)
私はXMLの本は持っていません。
オライリーで「入門」と書かれても・・・
本当に入門書か?と思ってしまう。。。
なので、これを買うのはある程度自信のある方でしょう。
それに、高い・・・。いずれにしても、
XMLを今は記述することもないので、後回し。
こちらの情報をubuntu日本語フォーラムの方に報告させていただきました。
16.04ltsで修正されたようです。
by にゃんこ (2016-05-04 15:53)
初めまして。
ところで、Compiz Reloadedはご存知でしょうか。これはCompiz0.8.xを再メンテナンスしたもので、こちらのサイトの
http://blog.northfield.ws/
Soreauさんを中心に開発していらっしゃいます。
今現在ヴァージョンは0.8.14でまだこのバグが解決していないので、Soreauさんにバグとこちらのサイトとbugs.launchpadのURLを報告したところ、githubにプルリクエストしてくださいと返事をいただきました。申し訳ありませんが、あんきょさんの成果を使わせていただきました。その際、記事に誤字があるのを発見しました。訂正して戴ければさいわいです。
誤 sudo cp ccsm.po /usr/share/locale/ja/LC_MESSAGES/.
正 sudo cp ccsm.mo /usr/share/locale/ja/LC_MESSAGES/.
by TakssiK (2018-02-28 20:10)
無事 compiz-reloaded:masterにマージされました。あんきょさんありがとうございました。
by TakssiK (2018-02-28 20:52)