古い話で恐縮です。
前回投稿以来、gtransプラグインも2回程upgradeしましたが、前記の課題が解決されませんでした。そこで、翻訳されたページを表示し、firebugで要素をチェックしましたところ、見た目には表示されないのですが、ソースでは、body要素の最初、つまり#wrapperの一つ前に、div.skiptranslateという要素が挿入されていました(ちなみにテーマはtwentytenベースです)。この要素には特段styleが適用されていないのですが何故か表示されません。これが表示されれば、「原文を表示」ボタンが表示されるはずなのですが、どうすれば可能なのか、アドバイスいただければ幸いです。
div.skiptranslateの内部を以下に引用します。全て展開すると見難くなるので、ポイントとなる部分のtr要素のみを展開した形で引用しました。
<table height="100%" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr id=":1.promptSection" valign="middle" style="display:none">
<tr id=":1.progressSection" valign="middle" style="display: none;">
<tr id=":1.finishSection" style="">
<td>
<td class="goog-te-banner-margin"></td>
<td nowrap="">
<div class="goog-te-button">
<div style="background-image: url("http://translate.googleapis.com/translate_static/img/te_bk.gif"); background-repeat: repeat-x; background-position: 0px -39px;">
<button id=":1.restore">原文を表示</button>
</div>
</div>
</td>
</tr>
<tr id=":1.errorSection" valign="middle" style="display:none">
</tbody>
</table>
display:noneのtr要素はともかく、そうでないtr#:1.finishSection”要素内にある「原文を表示」ボタンが表示されない理由がわかりません。
同様な事例を解決された方がおられましたら、どうぞよろしくお願いいたします。
ログイン中にアドミンバーが表示されるように変更されたことに伴って、プラグイン側で仕様変更したのではないかと思います。
‘wp-content/plugins/gtrans/gtrans.php’の次の部分を’none’から’block’に変更すると表示されます。
.goog-te-banner-frame {display:none !important;}
上記変更を行った場合、アドミンバーが隠れますので、アドミンバーの表示位置の調整が必要になりますが、WP本体のファイルを変更するよりは、利用中のテーマのcssを変更した方が良いです。
設定画面に次のように表示されていますが、リンク先でダウンロード出来るGTranslate Freeバージョンでは、翻訳対象言語として表示する旗の選択と、セレクトボックスの非表示などが可能になっています。
gtransプラグインの代わりに上記をインストールした場合、旗だけで言語の切り替えが可能になります。
If you would like to configure flags and languages please download and install GTranslate Free from our website.
popup様、誠にありがとうございました。
長いこと悩んでいたものが解消して、また元に戻すことができました。
よかったぁ、です。
gtransはウィジェットとして使うようになっていますが、適用できるウィジェットエリアは一つに限定されるようですね?ですので、サイドバーで使ってしまうと、1カラムのテンプレートでフッターにウィジェットしたい、といった場合使えなくて残念ですが、そのようなことは可能でしょうか?
ひとつのトピックでひとつの主題を質問するのがネットのマナーです。
別の疑問に関しては、別のトピックを新しく立てて質問するようにしてください。
gtransが有効化された場合、ショートコード'[gtrans]’が利用出来るようになります。
次のコードを利用中のテーマのfunctions.phpに追加して、テキストウィジェットを使って表示してはいかがでしょうか?
テキストウィジェットでしたら、複数個所に表示設定出来ます。
// テキストウィジェットでショートコードを使用する
add_filter('widget_text', 'do_shortcode');
関数リファレンス/do_shortcode – Codex 日本語版
複数表示するとcssやjavascriptなども重複して出力されますから、1箇所あればいい部分に関しては、元のファイル’wp-content/plugins/gtrans/gtrans.php’から削除して、テーマのファイルで出力するようにした方がいいかもしれません。
重複している箇所をブラウザでHTMLソースで確認してから、上記ファイル内を検索して削除するといいです。
ご教示ありがとうございました。そして、マナーができていなかったこと、今後気を付けます。
さっそくテキストウィジェット適用しました。また、本文に直接ショートコード記入も適用できることを確認しました。また、1ページ内に複数設置する際の留意点もご指摘くださり、大変勉強になりました。
これで可能性が大きく広がった感じです。いずれは、エンタープライズ版(pro)の使用も視野に入れ、urlの適正化や翻訳精度の向上を図りたいです。
ありがとうございました。