投稿者: shirane 日付: 2011-02-15 (火) 16:44
quiz (6.x-4.0) の Question Results ページの日本語化について。
デフォルトでは、個々の問題解答見出しの右端に次のように得点が表示される。
Score 3 of 10
これは、10 点満点のうち 3 点を獲得したという意味。
この表示に対応するコードは、theme/quiz-report-form.tpl.php で次のように実装されている。
<?php print t('Score')?> <?php print drupal_render($sub_form['score'])?> <?php print t('of') .' '. $sub_form['max_score']['#value']?> <?php print '<br><em>'. $skipped .'</em>'?>
Score、of といった個々の文字列パーツをローカライズしてから連結しているので、語順の入れ替えに対応できず、次のような日本語表示になってしまう。
得点 3 の 10
いくらなんでもこれではマズいので、ここはテンプレートを書き換える必要がある。
とりあえず、最もお手軽な対応として、t('of') を '/' に置き換えた。
<?php print t('Score')?> <?php print drupal_render($sub_form['score'])?> <?php print '/' .' '. $sub_form['max_score']['#value']?> <?php print '<br><em>'. $skipped .'</em>'?>
これで表示は次のようになる。
得点 3 / 10
ありがちですが、1ヵ月後は完全に忘れている自信があるのでとりいそぎメモ。