Ora sí entiendo el problema. Que se reduce básicamente a que, como el texto es procesado primero por gettext y luego por PHP, la introducción de la variable es complicada.
Hagamos entonces lo mismo que hace WordPress en sus plantillas: utilizar directamente
sprintf():
Código php:
Ver original<?php
$comNo = get_comment_type_count('comment');
comments_popup_link
(__
('Add your comment'), __
('Read 1 comment'), sprintf(__
( 'Read % comment'), $comNo); ?>
Con esto, ya no se pierde nada cuando la cadena es analizada por gettext, y la función comments_popup_link recibe una cadena que ya contiene el número correcto.
A propósito, no creo que el if que estás usando sea necesario, ya que la función recibe tres parámetros justamente para evitarlo (el primer parámetro se usa en caso de que no haya comentarios, el segundo en caso de que haya 1, y el tercero si hay más.) Ya entendí para qué es el if: simplemente porque no podés confiar en el número de comentarios que devolverá la función "normal" de wordpress (podría incluir
pingbacks o
trackbacks)
A propósito: si usás WordPress 2.7 quizás quieras echarle un vistazo a esta nueva función:
wp_list_comments
Saludos.