多言語化プラグイン「qTranslate」
ブログを多言語化しようと思い、プラグイン「qTranslate」を導入してみました。
General Settingsで使用する言語を選択する
★使用する言語を選択
管理画面「設定」⇒「Language」の下段に一覧があります。「Action」が"Disable"になっている言語が現在有効化されている言語ですので適宜切替えます。

そして、「Default Language / Order」でデフォルトの言語を選んで下さい。
Advanced Settings 部分
日付の表示がおかしくなる
ページにアクセスすると日付表示が「%Y年%m月%d日」(例)のようになったら、"Use strftime instead of date."を設定して下さい。表示が戻ります。
設定箇所:Date / Time Conversion
言語別のURL
言語別のURL構造を設定できます。
- Use Query Mode パラメータ形式→「http://mysite/parmalink/?lang=en」
- Use Pre-Path Mode サブディレクトリ形式→「http://mysite/en/parmalink/」
- Use Pre-Domain Mode サブドメイン形式→「http://en.mysite/parmalink/」
設定箇所:URL Modification Mode
言語切り替えボタンの表示
たとえば、特定の日本語のページから英語ページへ移動するためのボタンが用意できます。「外観」→「ウィジェット」から[qTranslate Language Chooser]を追加することで表示できます。
このブログでは、検索からの流入があればうれしいだけなので、言語切替のボタンやリンクは設置しませんでした。もし、表示しない場合は、スタイルも削除してもいいと思います。
削除方法
functions.phpに追加することで削除できます。
remove_action( 'wp_head', 'qtrans_header');
head内の以下のCSSが削除できます。
<style type="text/css" media="screen">
.qtrans_flag span { display:none }
.qtrans_flag { height:12px; width:18px; display:block }
.qtrans_flag_and_text { padding-left:20px }
.qtrans_flag_ja { .... }
</style>
翻訳した記事が用意されていない場合にインデックスされないようにする
これは、日本語の記事があるけど英語の記事がない場合には、英語の方をインデックスさせないようにするためのコードです。子テーマのfunctions.phpに追加して下さい。
add_action( 'wp_head', 'add_noindexnofollow');
function add_noindexnofollow(){
global $post;
if( preg_match( '/Sorry, this entry is only available in/', $post->post_content) ==1) {
echo '<meta content="noindex,follow" name="robots">';
}
}
Noticeメッセージ対応
デバッグログをONの場合、以下のようなメッセージがひたすら出力されます。
対応方法は、下のリンクを参照。
PHP Notice: Undefined index: language in /wp-content/plugins/qtranslate/qtranslate_hooks.php on line
アップグレード対応
3.9版がリリースするまでの対応
// エラーメッセージ PHP Catchable fatal error: Object of class WP_Post could not be converted to string in /home/breakabroad/www/kwski/blog/wp-content/plugins/qtranslate/qtranslate_core.php on line 455
// qtranslate_core.php:455 // $before.を除去する // return $before.strftime($format, $date).$after; // 変更前 return strftime($format, $date).$after;
関連記事
-
-
アイキャッチにマウスオーバーすると投稿タイトルを表示
WordPressのフォーラムから定期的に流入があるため、対応をいくつか探ってみました。トピックは、「サムネイルにマウスオーバーするとタイトルが表示されるようにしたい」 ちなみに、投稿内のキャプ
-
-
ie.cssの子テーマ化など Twenty Twelve 1.1での変更点
TwentyTwelveが1.0から1.1にアップデートされたので、勉強もかねていくつか変更点を洗ってみました。 ie.cssを外出し pubdateの削除 rel="generator"
-
-
「最近の投稿」ウィジェット カスタマイズ
目次 ウィジェットを削除 標準の設定 特定のカテゴリーに属する投稿を除外 カスタマイズ プラグイン 「最近の投稿」ウィジェットを削除 「最近の投稿」ウィジェット
-
-
投稿タイトル(entry-title)を非表示にする
表題通り「投稿タイトルを表示しない」ことは、"投稿ページ"ではあまりないと思いますが、"固定ページ"では意外とあったりします。 編集画面でTitleを入力しないでおけば、それで済むのですが、ペー
-
-
開発やテストに便利なプラグイン
開発やカスタマイズに使えそうなプラグインを集めてみました。 テーマのカスタマイズには、使用中のテンプレートファイルなどを表示してくれると便利ですね。個人的には、テーマ開発の際に、実行しているSQ
-
-
投稿記事から「(ログイン)ユーザー名」がバレるのを防ぐ
ここ最近、アカウント乗っ取りやセキュリティ事故関連のニュースが相次いでいますが、WordPressで制作されたサイトも標的に会っているようです。一般的な手法としては「ブルートフォースアタック」という手
-
-
jQueryをCDNから読み込む
WordPressではデフォルトでjQueryライブラリが同梱されています。この記事では、それをやめて、CDNから読み込み、使用する方法を解説します。 WordPress 3.6 3.9 4.0
-
-
Twitterのツイートボタンの設置
Twitterのツイートボタンの設置はプラグインを使用しなくても容易に実装できるようです。 ソーシャルボタン設置のプラグインはこちらにいちおうまとめています。 Tweetボタンの設置コード 公式
-
-
ソーシャルボタン設置 プラグイン
各種メジャーなソーシャルメディアボタンを設置できるプラグイン WP Social Bookmarking Light 国産プラグイン。国産ゆえ、はてなボタンの設置も可能 ダウンロード Twe
-
-
Twenty Twelve 投稿日・投稿者を非表示に
TwentyTwelveのちょっとした部分をカスタマイズする方法を紹介していきます。 また、子テーマで出力部分を変更する際に、翻訳が必要な部分//_()の部分がでてきますので、以下の投稿も参考に





