User talk:Kamokamohouse2009
From Stellarium
Contents |
[edit] 恒星名の和名表示
メモ
恒星名の和名表示例 スクリーンショット1 スクリーンショット2 スクリーンショット3
[edit] 手順
stellariumソース(使用ソースは公式版0.8.2)のpo/ディレクトリ内のstellarium.potに翻訳したい恒星名を追加し、poEditでja.poに翻訳文字列を追加して編集。
[edit] 詳細
po/POTFILES.inをそのまま利用したかったので、src/translations.hに翻訳したい恒星名をN_("恒星の英名"); という書式で挿入 translations.hの例、
po/ディレクトリ内で
$ intltool-update -r
を実行して、stellarium.pot stellarium.potの例を再構築した。
次に po/ja.poをpoEditで開き、カタログメニューから"POTファイルを元に更新します"を実行、カタログリストに恒星名を追加した。和名に関してはYakan.tさんがノートのページで公開して下さっているstar_names.txtリストをそのまま利用させていただいた。ja.poの例
po/ディレクトリ内で
$ msgfmt -o ja.gmo ja.po
を実行後、
./configure; make; make install
した。
locale/ja/LC_MESSAGES/stellarium.moの例
[edit] 良い点
data/sky_cultures/ 以下に和訳版のstar_names.fabを置いた場合、和名のない星の名が表示されない(星を選択したときに情報は表示される)のだがそれは回避できる。本来data/sky_cultures/以下には伝統的な星の呼び名等のデータを配置すべきで言語翻訳ということであればpo/以下で行なうのが妥当であろうが、その目的に添ったものとなる。使用言語の切替えのみで簡単に表示が変わる点もユーザーフレンドリーと言えるかもしれない。
[edit] 問題点
data/sky_cultures/ 以下に和訳版のstar_names.fabを置いた場合でも同じ問題を抱えているが、和名表示の際には検索が不可能となる。(解決へのハードルは高いか)
和名表示を可能にする作業そのものは決して難しいものではないのだが、ユーザーレベルでPOTFILES.inの再構築を伴うカスタマイズをする場合にはちょっとした開発環境(gettext等)が必要となるのでUNIX系以外のユーザーにはちょっと敷居が高く感じられるかもしれない。
あらかじめパッケージに翻訳対象語として恒星名が含まれていればよいが、新たに開発版や公式版に加えるとなると、 translations.h(他のファイルでもよいが)に翻訳語を挿入しstellarium.potを再構築することになるので多くの人の了承を得る必要があるだろう。
--Kamokamohouse2009 07:13, 23 January 2007 (PST)
[edit] 星雲・銀河 固有名の表示と検索(英名検索)の改善
メシエ天体(Messier object)は、成立が古いだけあって古くから親しまれている名前の付けられている天体が多い。stellarium0.8.2でも多くの名前が定義されており表示される。ところが、いくつかの有名な天体名が上手く表示されていない、検索も出来ないということに気付いたのでこの問題の改善を試みた。
[edit] 問題の実例
例えば M1 かに星雲(Crab Nebula)をThe Object Search Windowで検索した場合、"M1"で検索するとちゃんと検索候補にも上がるし、表示される。
下はスクリーン表示した状態。情報表示もちゃんとされている。が、情報表示には"Crab Nebula"は表示されていない。
The Object Search Windowで"Crab Nebula"で検索を試みてもやはり見つからないのである。
ご承知の通りstellarium上でメシエ天体やNGC(New General Catalogue)天体などの固有名については、data/ngc2000names.datに記述されている。それではngc2000names.datに"Crab Nebula"の記述が無いのか、コメントアウトされて居るのかと確認してみたのだが、ちゃんと書かれている。記述にも問題はないように思える。
どうも天体名の定義が複数されている為に情報の受渡しがうまくいっていないようだ。しかし、同じようにメシエ名と固有名の複数が定義されていても例えば"Trifid nebula"のように定義されている天体固有名が正常に表示され、"M20"、"NGC6514"、"Trifid nebula"いずれでも問題なく検索できている天体もある。したがって両者の違いを比較すれば解決できるのではないかと考えた。
[edit] 改善法
根本的に改善するにはプログラムそのものを書き換えるのが一番なのだろうが、残念ながら当方にはその技術は無い。従ってカタログリストが記述されているngc2000names.datを編集するに留めた。
[edit] 詳細
ngc2000names.datの編集
stellarium0.8.2のdataディレクトリ内にあるngc2000names.datを見ていただくと一目瞭然なのだが、記述順がまず 天体固有名 - NGCナンバーの対応リスト が並べられており、途中 メシエ天体 - NGCナンバーの対応リスト が挟み込まれ、再び天体固有名 - NGCナンバーの対応リスト になっている。 (簡単に言うと天体固有名、メシエ天体といった種類に関わらず、リスト全体がアルファベット順にソートされているのである。)
上の例の"Crab Nebula"の場合は、NGCナンバー"1952"に対して"Crab Nebula"と"M 1"が二重に定義されているが、"Crab Nebula"の定義が先にされていて、"M1"の定義は後になっている。一方、正常に表示される"Trifid nebula"の場合は"M20"、"Trifid nebula"の順である。
See "ngc2000names.dat original"
この"Crab Nebula"と"Trifid nebula"の違いを参考に、 メシエ天体 - NGCナンバーの対応リスト 、 天体固有名 - NGCナンバーの対応リスト に並べ直してみた。
[edit] 改善結果
ngc2000names.dat編集後にstellariumを起動し、"Crab Nebula"で検索してみると、変換候補に表れ、
画面上の表示天体名が"M1"から"Crab Nebula"に変わり、"M1"、"Crab Nebula"、"NGC1952"いずれのキーワードでも検索可能となった。
他のいくつかの天体についても検索等の動作検証を試みたが正常に動作しているようである。
[edit] このトピックについて
僕はディスカッション出来る程英語を上手くあやつることが出来ないので、大変残念に思っています。もしも、今回書いたことがまだ知られていないことでしたら英語に訳して伝えて下さい。既知の問題、解決済の事柄であれば僕に教えて下さい。wikiの使い方にも慣れていないので、或いはwikiのポリシーに反した内容であるかもしれません。いずれの場合もその旨お教え下さい。速やかにこのトピックを削除します。
--kamokamohouse2010 22:21, 1 February 2007 (PST)

