名/姓 と、日時選択

名/姓 と、日時選択

- Takahiro Kagoya の投稿
返信数: 12

何度か日本語での名前の表示についてfullname関数を正しく使うよう提案し、かなり改善されましたが、まだいくつかの気になる点があります。

コースの参加者リストや、小テストの結果リスト等において、フィールド見出しに、名/姓というのがあり、クリックすることで、並べ替えがされます。 ただ、姓/名と表示されていないので、一瞬迷います。よくわかっている人にとってはいいのですが、全学的な利用においては、いろんな先生がいるので結構ストレスがたまるようです。
また、学生がプロフィール登録時に、毎年何人かは、姓と名のテキストボックスを間違えて登録してしまいます。
折角、サイト設定でフルネームのオーダーが姓+名と指定できるので、これらのフォームインターフェースも自動的に合うようににならないものでしょうか。

それと、小テストの実施期間や課題の締め切り等の日時を設定する際、日本式の年月日でなく、日月年のオーダーになるのも結構ストレスがたまります。

これらは言語設定ファイルの変更だけでなくプログラムの修正が必要なんですよね?

Takahiro Kagoya への返信

Re: 名/姓 と、日時選択

- Minoru Akiyama の投稿
> これらは言語設定ファイルの変更だけでなくプログラムの修正が必要なんですよね?

「日月年のオーダーになる」ことに関しては、言語ファイルで変数が使用できることから考えると、変えることができると推測しています。
しかし、get_string()関数を使っていない箇所があちこちあるので、該当する箇所がそうであれば、直さないとだめですね。

こういった、ローカライズに関する問題には、今後、しっかり取り組んでいくつもりです。
Minoru Akiyama への返信

Re: 名/姓 と、日時選択

- Hiroto Kagotani の投稿
名/姓表示と日時選択のフォームでは、htmlのレベルでメニューの順序を決めているので、stringレベルの修正では無理で、言語ファイルでは変更できないと思います。

そのあたりは今のところサイトに合わせてhtml(php)をいじっておくしかないでしょうね。

完全に言語パック側でコントロールするには、smartyなどのテンプレートエンジンを全面的に導入して、テンプレート全体を言語パックに入れるというような、抜本的な改造が必要じゃないかと思います。これができれば順序のせいで表現のおかしな部分はほとんどすべて解消できるんですけどね。
Hiroto Kagotani への返信

Re: 名/姓 と、日時選択

- Haruhiko Okumura の投稿
姓名については,そもそも firstnamelastname の訳し方で対応すべきだったかもしれません。最初に表示する名前(firstname)が日本語では「姓」であると考えたら他のところは何もいじる必要がなかったのでは?
Haruhiko Okumura への返信

Re: 名/姓 と、日時選択

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
>最初に表示する名前(firstname)が日本語では「姓」であると考えたら他のところは何もいじる必要がなかったのでは?

鋭いご指摘ありがとうございます。

仮に全部の言語ファイルの文字コードがutf-8に統一されて、様々な国の方が混在するような環境になった場合に、日本語だけ「姓」「名」の並びが逆になりますが、その他の点では一番確実で手軽な方法だと思います。
Mitsuhiro Yoshida への返信

Re: 名/姓 と、日時選択

- Haruhiko Okumura の投稿
最初の名前が姓になるのは日本語や中国語などいくつかあるようです。 ウインク

中国人はローマ字つづりでも姓名の順で通しているようです。日本人もそちらで通す人が増えているようです。

表示をfirst name onlyにした場合に,日本人なら姓だけのほうが自然なので,その点でもこちらの方式のほうが自然です。
Mitsuhiro Yoshida への返信

Re: 名/姓 と、日時選択

- Haruhiko Okumura の投稿
最初の名前が姓になるのは日本語や中国語などいくつかあるようです。 ウインク

中国人はローマ字つづりでも姓名の順で通しているようです。日本人もそちらで通す人が増えているようです。

表示をfirst name onlyにした場合に,日本人なら姓だけのほうが自然なので,その点でもこちらの方式のほうが自然です。
Haruhiko Okumura への返信

Re: 名/姓 と、日時選択

- Haruhiko Okumura の投稿
あれあれ,またSafariから投稿したら二つになったぞ。どこかバグがあるのでしょうけれど,理由がわかりません。これも二つになるのかな。文字化けはここではしていませんので関係なさそうです。
Mitsuhiro Yoshida への返信

Re: 名/姓 と、日時選択

- Haruhiko Okumura の投稿
意味が通じてなかったと思うのでもう一度書きますと,firstname=名,lastname=姓としてサイト全体または言語設定で順序を設定する方法では,いろいろな国の人が交じっている場合,George Bushと表示しようとすれば沢東毛となってしまい,毛沢東と表示しようとすればBush Georgeになってしまいます。firstname=上の名前,lastname=下の名前という解釈でいくなら,毛沢東(あるいはMao Tse-tung)とGeorge Bushが共存できます。Maoが姓なので吉田さんの言われるように中国人は姓と名が逆になるのですが,そのほうが自然ではないかという趣旨でした。

中国人は実際にどうやっているか,ここの簡体中国語のフォーラムを覗いてみたら,やはり中国名の人は姓・名の順,英語名の人は名・姓の順になっているようです。
Haruhiko Okumura への返信

Re: 名/姓 と、日時選択

- Hiroto Kagotani の投稿
日頃、この手のシステムを見ていて、思っていることをちょっと述べさせていただきます。moodleにはあまり関係ないですがお許しください。

表示上の問題だけなら、本来は姓と名を区別する必要はないはずです。本人の表記してほしいように登録し、表記されるのが最も理にかなっています。

本質的に必要なのはソートする手段であり、副次的には検索する手段もあればいいんだろうと思います。ソートは、西洋系の名前であっても姓でソートすることがほとんどですよね。ところが、名姓という表記ではそのままソートできないから、どこが姓かをわかるようにするためフィールドを分けているというのが本音でしょう。

このような発想は、名前を文字だけ比較すればソート可能であるという西洋系の表記の特徴からすれば自然なことです。ですが、ソートの手段が必要という本質からすれば、ソートキーが別に指定できるという方が究極的な解であるはずです。これなら東洋系の名前を使うシステムにもそのまま変更なく適用でき、都合がいいですしね。
Haruhiko Okumura への返信

Re: 名/姓 と、日時選択

- Ryoichi Nakayama の投稿

nakayamaです。
1.姓と名のシステム上の機能を考えると、fullname(正式名称?)を表示する場合にどちらを先に表示すべきか、という問題に対して 姓ー名か、名ー姓かということ。
2.さらになぜ姓と名に分けるかというと、略称として(短く呼ぶ場合)に、姓と名のどちらを使うかということ。
の2点だと思います。fullnameとshortnameの2つがあれば、moodleの利用者へのレスポンス生成の要件は満たされると思います。
姓と名からこれらを生成しようとするところで文化の差が出てしまっているように感じます。fullnameを姓ー名にするか、名ー姓にするか、userのプロフィールで設定できれば解決するにではないかとも思います。

日時フォーマットについては、選択オプションがほしいですね。

Haruhiko Okumura への返信

Re: 名/姓 と、日時選択

- Takahiro Kagoya の投稿

あぁ、なるほど。そんな方法がありましたね。Moodleでfirstnameとlastnameの順序を指定できるような仕様を考えた時点では、単に表示系の事しか想定していなかったんでしょうね。fullname関数で対応しているの同じように 姓/名 の部分も関数で一般化する方向が真っ当な方法の気がしますが。

日付の方は、汎用的なローカライズを考えるならやっぱり本家できちんと対応してもらいたいですね。

テンプレートについては1.6で計画されているんでしたっけ。 それを待つまでもなく修正は可能な気がしていますが、より多言語への汎用的な対応を考えるとまずいんでしょうね。

Hiroto Kagotani への返信

Re: 名/姓 と、日時選択

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
>smartyなどのテンプレートエンジンを全面的に導入して、

私もそう思います。
実はsmartyでも、日本語文字化けの原因の一つであるhtmlentitiesが使われています。 満面の笑顔