Google

このブログについて

プロフィールGoogle Blogger の使い方、カスタマイズ方法、各種ツールなど、Blogger 関連の役立つ情報を紹介しています。

フィードリーダーに登録

お知らせ

「Blogger リング」に、現在少し空きがあります。満員で諦めていた人は、この機会にぜひご登録下さい。

以前の記事

現在の閲覧者数

web tracker
2005-07-22

1 comments に違和感がある人に このエントリーをはてなブックマークに追加

投稿されたそれぞれの記事の最後には 0 comments, 1 comments, 2 comments という風に、コメント数が表示されていますよね。
これを正しい英語にこだわって、ブログ上でも no comment, 1 comment, 2 comments と表記させようというのが今回の目的。

といってもクリボウが考えたのではないのです。
僕としてはそんなに 1 comments に違和感も感じず、したがって問題意識もナシナシなのですが、やはり海外の人でこれにこだわっている人がいます。

BLOGGER TEMPLATES > Personalize the comments link

ここでは JavaScript の変数 a にコメント数を代入して、その a によって表記を切り替えるということをしています。
このコメント数を代入、というところでテンプレートタグが使われているんですね。

この仕組みを使うときには、BloggerHacks-ja さんが紹介されているように、<noscript> を書いて、JavaScript が OFF の場合に従来の表記をさせるということも大事かと思います。


従来の表記に違和感を感じないと書きつつ、カッコつけて取り入れてみたクリボウでした。

ちなみに、<a> の中の改行は 1 comment  の最後のように、ブラウザによってはスペースとして扱われる場合があるので、注意が必要かと。


追記

結局、クリボウの場合は <head> 内に

<script type="text/javascript">
  function writeCommentCount(cnt,low) {
    var str = ((cnt == 0)? "No":"" + cnt) + " Comment" + ((cnt > 1)? "s":"");
    if (low) str = str.toLowerCase();
    document.write(str);
  }
</script>

を書き、コメント数表記(<a> の中)の部分には

<script type="text/javascript">writeCommentCount(<$BlogItemCommentCount$>,true);</script><noscript><$BlogItemCommentCount$> comments</noscript>

と書くことにしました(改行なしの1行です)。
コメント数による条件分岐の部分を使いまわして、ちょっとでもページのサイズを小さくしようという魂胆なのでした。

ちなみに上記赤字の部分を false に変えると、No Comment のように単語の頭が大文字になります。クリボウはメイン・アーカイブページと、アイテムページとで、(あまり意味はないけれど)大文字小文字を使い分けています。
posted at 22:21 | Translate このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマークを表示
:
  • 初めまして。さくらと申します。
    これずっと探していたのです!
    海外のサイトで一度だけ直っているサイトをちらっとみかけたのですが、どこだったかわからなくなってしまって検証できずじまいで忘れてしまっていました。
    クリボウ様に本当に感謝しております。
    ありがとうございました。

    By Anonymous さくら, at 14 February, 2006 22:25  

  • どういたしまして。
    自分の書いた記事が人の役に立ったようで、僕もうれしいです。
    コメントありがとうございます。

    By Blogger kuribo, at 15 February, 2006 19:41  

  • This post has been removed by the author.

    By Blogger ボンボンバカボン, at 27 June, 2007 04:57  

  • はじめまして。ボンボンバカボンと申します。

    > コメント数表記(<a> の中)の部分には

    ><script type="text/javascript">writeCommentCount(<$BlogItemCommentCount$>,true);</script><noscript><$BlogItemCommentCount$> comments</noscript>

    >と書くことにしました(改行なしの1行です)。

    とのことですが、「<a>の中の部分」をもう少し詳しく教えて頂けないでしょうか? 私のでは、

    <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if
    cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>

    にあたるかと思うのですが...

    どうぞ、よろしくお願いします。

    By Blogger ボンボンバカボン, at 27 June, 2007 05:31  

Post a Comment


Links to this post:

Create a Link