私は WP 3.5 と Polylang 0.9.8 pluginを使って異なる言語に翻訳しています。
すべてうまくいっていて、プラグインは問題なく動いています、しかし今私は問題に直面しています - 私はカスタム文字列を翻訳する必要があります 例えば、ウィジェット内の文字列。
この問題を解決するために私に何を勧められますか?
ADDED: 例えば(私はウィジェット内のテキストについて話していますが、ヘッダについては話していません)、いくつかの文字列定数を追加してphpコードから自分のページに書くことができます。ポリランの翻訳ページ?
これを使って
pll_register_string()
functions.phpについて
このように使用してください。
pll_register_string
Allows plugins to add their own strings in the “strings translation” panel. The function must be called on admin side (the functions.php file is OK for themes).
Usage:
pll_register_string($name, $string, $multiline);
‘$name’ => (required) name provided for sorting convenience (ex: ‘myplugin’)
‘$string’ => (required) the string to translate
‘$multiline’ => (optional) if set to true, the translation text field will be multiline, defaults to false
そう:
pll_register_string( 'Header Title'、 '表示したいタイトル');
それからダッシュボードの設定で、言語で、あなたは "strings"と呼ばれるタップを見つけるでしょう。そこで、この新しく作成された文字列と、サイト上のすべてのアクティブ言語の翻訳テキストを埋めるための入力テキストを作成します。翻訳を書いて、それから関数を使う:
直接エコーするにはpll_e()、手動でエコーするにはpll __()。 Your'geはこれを次のように使用します。
pll_e('The title you want to appear'); or
echo pll__('The title you want to appear');
それでおしまい! :)
私はトロイアンに問題があります。エスケープ文字列を取得するためのesc_html __()やesc_html_e()など、国際化関数と統合されたエスケープ関数がいくつかあります。しかし、ploylangを使うとき、どうすればいいのでしょうか。
<a title="<?php esc_attr_e( 'Skip to content', 'my-theme' ); ?>" class="screen-reader-text skip-link" href="#content" >
<?php _e( 'Skip to content', 'my-theme' ); ?>
これが私のコードです
<?php if (get_theme_mod('col_heading','') != '') { ?>
<h2 class="section-heading"><?php esc_html_e(get_theme_mod('col_heading')); ?></h2>
<?php } else { ?>
<h2 class="section-heading">Services</h2>
<?php } ?>
<?php if (get_theme_mod('col_sub','') != '') { ?>
<h3 class="section-subheading text-muted"><?php echo esc_html(get_theme_mod('col_sub','')); ?></h3>
<?php } else { ?>
<h3 class="section-subheading text-muted">Phasellus elementum odio faucibus diam sollicitudin</h3>
<?php } ?>