quiz (6.x-4.0) の Question Results ページの日本語化について。
デフォルトでは、個々の問題解答見出しの右端に次のように得点が表示される。
これは、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 といった個々の文字列パーツをローカライズしてから連結しているので、語順の入れ替えに対応できず、次のような日本語表示になってしまう。
いくらなんでもこれではマズいので、ここはテンプレートを書き換える必要がある。
とりあえず、最もお手軽な対応として、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>'?>
これで表示は次のようになる。
ありがちですが、1ヵ月後は完全に忘れている自信があるのでとりいそぎメモ。