2016-07-24 17 views
2

Wordpressサイトに別の言語を追加しようとしています。翻訳の一部はPolylangというプラグインで処理されていますが、Polylangがアクセスできないテキストの一部を処理するために.po/.moファイルも使用しています。.poファイルに含まれていないWordPressサイトのテーマテキストを翻訳する

ただし、テーマに付属している.poファイルにも表示されないテキストがあります。

例を示します。

Theme Optionsには、いくつかのリンク(タイトルと説明)に関連付けられたテキストを設定する設定があります。テーマテンプレートのPHPはこれです:

<div id="homeheadlinks" class="col-md-4"> 
     <a href="<?php echo $options['unf_firstlink']?>" class="headbutton bone"><i class="golink"></i><?php echo $options['unf_firstlinktitle']?> <em><?php echo $options['unf_firstlinkdesc']?></em></a> 
     <a href="<?php echo $options['unf_secondlink']?>" class="headbutton btwo"><i class="golink"></i><?php echo $options['unf_secondlinktitle']?> <em><?php echo $options['unf_secondlinkdesc']?></em></a> 
     <a href="<?php echo $options['unf_thirdlink']?>" class="headbutton bthree"><i class="golink"></i><?php echo $options['unf_thirdlinktitle']?> <em><?php echo $options['unf_thirdlinkdesc']?></em></a> 
    </div> 

テキストがテーマのオプションを介して変更することができますが、そのようにメイン以外の言語を追加する方法はありません。

$options['unf_firstlinktitle']$options['unf_firstlinkdesc']のようなアイテムにどのように翻訳を追加できますか?

これらの項目はPolylangのString Translationsセクションには表示されません。

+0

私はこれをまだ試していません。私はあなたがそれを試してみたらフィードバックをお送りします。私はあなたの応答に感謝します。 –

答えて

0

だから、ここで何がです私はして、それは動作するようだった。 LoicTheAztecが提案したのと同様のものを追加することにしました。これらのリンクの各一

、私はその後、私はPolylangの文字列の翻訳タブに私はpll_e()で作成した新しい文字列のすべてを置くプラグインPolylang Theme Stringsを、インストール

<a href="<?php pll_e('http://mydomainname.com/englishpage/', 'mytheme-child') ?>" class="headbutton bone"><i class="golink"></i><?php pll_e('Link text', 'mytheme-child') ?> <em><?php pll_e ('Link description', 'mytheme-child') ?></em></a>https://wordpress.org/plugins/polylang-theme-strings/ 

にそれらを変更しました。そこから(上のメニューバーでShow All Languagesを選択した後で)翻訳を行いました。

ほぼが完璧です。私はすぐにそれを解決することができない場合、私は約投稿されます他の1つの問題があります。

3

あなたのコードはテーマのいくつかの設定に関連付けられているため、PHPテーマテンプレートのgettex native translatable functionで直接オーバーライドできます。あなたは以下のコードで)あなたの本当のテーマスラグによってあなたの本当のタイトルで'the title …'を交換し'your_theme_slug'必要があります。

<div id="homeheadlinks" class="col-md-4"> 
     <a href="<?php echo $options['unf_firstlink']?>" class="headbutton bone"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_firstlinkdesc']?></em></a> 
     <a href="<?php echo $options['unf_secondlink']?>" class="headbutton btwo"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_secondlinkdesc']?></em></a> 
     <a href="<?php echo $options['unf_thirdlink']?>" class="headbutton bthree"><i class="golink"></i><?php _e('the title …', 'your_theme_slug'); ?> <em><?php echo $options['unf_thirdlinkdesc']?></em></a> 
    </div> 

その後、新しい文字列をPolylangでこのテンプレートを再スキャンする必要があります、そして必要になります3つの新しい翻訳可能な文字列を見つけます。これがあなたの問題を解決する最速の方法です。しかし、まだ行われていない場合、このテーマが更新されますときに変更を失うこの方法を避けて、その中にファイルを変更コピー、子テーマを有効にするには、はるかに良いだろう...

参考:I18n for WordPress Developers (gettex)

関連する問題