0

を使用してWordPressWebサイトを翻訳しようとしていgettext()ます。ドキュメントによると:

文字列の連結の代わりにフォーマット文字列を使用します— <code> sprintf(__('%1 $ sを%2 $ sに置き換えます')、$ a、$ b); 常により良い__('Replace').$a.__(' with ').$b;

私はこのアドバイスに従いたいのですが、ここに問題があります:

<?php _e('You must be', 'textdomain'); ?> 
    <a href="<?php bloginfo('url'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">
        <?php _e('logged in', 'textdomain'); ?>
    </a> 
<?php _e('to post a comment.', 'textdomain'); ?>

これにはネストが必要になるか、sprintf()そのままにしておく必要があります-3つの文字列(または少なくとも2つ)に分割します。私はPHPの専門家ではないので、誰かがこれを回避する方法を知っているなら、私はそれをいただければ幸いです。

4

1 に答える 1

2
<?php
sprintf(_e('You must be <a href="%s">logged in</a> to post a comment.', 'textdomain'), bloginfo('url') . '/wp-login.php?redirect_to=' . the_permalink());
于 2012-08-23T20:25:06.010 に答える