我正在尝试使用gettext()
翻译WordPress网站。文档说明了这一点:
使用格式字符串而不是字符串连接 -
sprintf(__('Replace %1$s with %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专家,所以如果有人知道解决这个问题的方法,我会很感激。
答案 0 :(得分: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());