プラグインGoogle Calendar Eventsの日本語表示
-
運営中のサイト内にプラグインGoogle Calendar Eventsを利用してカレンダーを表示しています。表示される日付や項目などを英語表示から日本語表示に変更したいと考えています。
いくつかのサイトを参考に
google-calendar-events-ja.moをダインロード後にplugins/google-calendar-events/launguagesファイルに置き、wp-config.phpファイルの define(‘WPLANG’, ‘ja’);に変更したのですが、英語表示は変わりません。
現在利用中のWordPressは英語バージョンでGoogle Calendarの表示設定は日本語になっています。
アドバイスよろしくお願いします。
-
このプラグインのことですか?
http://wordpress.org/extend/plugins/google-calendar-events/
日本語ファイル
http://lovelog.eternal-tears.com/wordpress/wp-plugin-ja/google-calendar-events-ja/※「問題解決のためのチェックリスト」にも書いてありますが、プラグインのダウンロード先も記載してください(同じような名前のプラグインが多数あるため)
こちらで日本語ファイルをダウンロード後、
/wp-content/plugins/google-calendar-events/languages/
に追加しましたが、特に問題はありませんでした。
「英語表示のまま変わらない」とは具体的にどの部分なんですか?はい、プラグインはそれです。
プラグインのダウンロード先は、サイト制作を知り合いにお願いしたので分かりません。
(現在その知り合いと連絡が取れず、自分自身で変更しています)日本語ファイルのダウンロード先も一緒です。
http://lovelog.eternal-tears.com/wordpress/wp-plugin-ja/google-calendar-events-ja/google-calendar-events-ja.moをダインロード後にassets/plugins/google-calendar-events/launguagesに追加し、それだけでは日本語表示に変わらなかったので、wp-config.phpファイル内のdefine(‘WPLANG’, ”); を define(‘WPLANG’, ‘ja’);に変更しました。
「英語表示のまま」とはカレンダーの上に表示される日付が英語表示(November 2012)であったり、カーソルを日付の上に置くと予定の詳細が見えるようになっていますが、
Events on November 12, 2012
Starts:
Ends:
Location:
Description:
と英語表示になったままです。それらの箇所の日本語表示を希望しています。
よろしくお願いします。横レス失礼します。
Events on November 12, 2012
Starts:
Ends:
Location:
Description:
と英語表示になったままです。上記の文字列の指定は、管理画面の[設定]-[Google Calendar Events]にて、任意のIDのカレンダーの[編集]を選択したうえで「Event Display Builder」欄の文字列を適宜変更すればオッケイかとおもいます。
デフォルトでは
<div class="gce-list-event gce-tooltip-event">[event-title]</div> <div><span>Starts:</span> [start-time]</div> <div><span>Ends:</span> [end-date] - [end-time]</div> [if-location]<div><span>Location:</span> [location]</div>[/if-location] [if-description]<div><span>Description:</span> [description]</div>[/if-description] <div>[link newwindow="true"]More details...[/link]</div>
となっているので、たとえば「Starts:」を「開始時刻:」とすると日本語で「開始時刻:」と表示されるはずです。お試しください。
アドバイスありがとうございます。
教えて頂いた方法で、無事イベントの項目を日本語表示に変更する事ができました。あとはカレンダーの月とイベントの題名「Events on November 12, 2012」を日本語表示に変更したいのですが、引き続きよろしくお願いします。
「カレンダーの月」の表記については、おそらく wp-content/languages/ 内にWordPress本体の日本語化ファイル一式が入ってないのが原因ではないかとおもいます。こちらで確認したところ、当該ファイル群がない場合
- wp-config.php に define(‘WPLANG’, ‘ja’); が記述されている
- wp-content/plugins/google-calendar-events/languages にプラグインの日本語化ファイルがある
という環境でも、カレンダーの月表示が英語表記となりました。
一方の
イベントの題名「Events on November 12, 2012」
については、こちらで同様の現象が再現できないので(すみません)、差し支えなければスクリーンショットや実在のURLなど、手がかりとなるものを示していただけると何らかのお手伝いができるかもしれません。
「WordPress本体の日本語化ファイル一式が入ってないのが原因」とのことですが、サイト制作していただいたのが日本語を話せない方なのですが、現在のWordPressに日本語化ファイルを挿入することによってサイトの見え方などに不都合が起こる可能性はありますか?
問題がなければ日本語化を行いたいと思っていますが、ファイルは下記のURLからcontinents-cities-ja.mo と ja.mo をダウンロードして WordPress 内の assets 以下に languages ディレクトリを作成しアップロードすればよろしいですか?
http://svn.automattic.com/wordpress-i18n/ja/tags/3.3/messages/サイトのURLは http://smoothbody.jp です。
よろしくお願いします。
WordPress 内の assets 以下に languages ディレクトリを作成しアップロードすればよろしいですか?
assets はWordPressデフォルトにはないディレクトリだとおもうのですが、デフォルトでいうところの wp-content ディレクトリですよね(maunganuiさんのサイトのソースを拝見するに themes や plugins ディレクトリも assets の配下にあるようですので)。
それであれば assets の配下に languages を作り、お示しのURLからダウンロードした continents-cities-ja.mo と ja.mo をアップロードすればOKです。
日本語化ファイルを挿入することによってサイトの見え方などに不都合が起こる可能性はありますか?
実際にサイトに反映させてみないとわからないのですが、一部の表示(日付の表記など)に変化が起きる可能性はあるでしょうね。とはいえ、データベースを壊すとか、致命的な不具合を起こすわけではないとおもいますので、不都合があればササっと日本語化ファイルを外せばよいでしょう。
イベントの題名「Events on November 12, 2012」
判明しました。
「Events on 」の部分は、カレンダーを表示するショートコードのオプションによるものです。カレンダーを埋め込んだページ(http://new.smoothbody.jp/booking/)のショートコードにtitle="Events on"
という記述がありませんか? ここを変えることで日本語表記になるはずです。
また、日付の表記は[一般]-[日付のフォーマット](英語版のWordPressなら[Settings]-[Date Format])にて設定された文字列が反映されるようです。
教えていただいたショートコードの変更と日付表示の設定でイベントの題名を変更することが出来ました。
WordPress本体の日本語化も完了し、カレンダー上の日付表示も変更することが出来たのですが、最後に「11月 2012」を「2012 11月」に変更する方法はありますか?
「11月 2012」を「2012 11月」に変更する方法
「月 年」の並びはプラグイン側でガッチリ固められてしまっているので、PHP側で制御するならプラグインのファイル(google-calendar-events/inc/php-calendar.php)に手を加える必要があるかとおもいます。
私も、あるサイトにこのプラグインを組みこんだとき同じ悩みに直面したので、そのときはjQueryを使って以下のように回避しました。ご参考までに。
$('.gce-month-title').each(function() { var str = $(this).html(); $(this).html( str.replace(/([0-9]+?月)(.+?)([0-9]{4})/, '$3年$1') ); });
上記のスクリプトを読み込ませると「11月 2012」が「2012年 11月」と表示されるようになります。WordPressへのjQueryの組み込み方は、お手数ですが「jQuery WordPress 組み込み」等のワードで検索いただけば。
教えていただいた方法を試してみるために「jQuery WordPress 組み込み」で検索し、いくつかのサイトを参考にしてみたのですが、私の知識では設置方法が全く理解出来ていない現状です。
「jQuery は WordPress に元々同梱されてるので改めて用意しなくても OK」と書かれているので、教えていただいたスクリプト<script>
jQuery(‘.gce-month-title’).each(function() {
var str = $(this).html();
jQuery(this).html(
str.replace(/([0-9]+?月)(.+?)([0-9]{4})/, ‘$3年$1’)
);
});
</script>をheader.php 内の wp_head() より下に置けばよろしいのでしょうか?
もう少し詳しく教えていただければ幸いです。スクリプト挿入の場所は wp_head() より下であれば問題ないです。ただ、maunganuiさんのサイトの場合WordPress同梱のjQueryでなく、GoogleのCDNによるjQueryを使っているので、スクリプトの記述が以下のようになりますね。
<script> $(document).ready(function() { function replaceCalendarText() { $('.gce-month-title').each(function() { var str = $(this).html(); $(this).html( str.replace(/([0-9]+?月)(.+?)([0-9]{4})/, '$3年$1') ); }); } replaceCalendarText(); $(document.body).ajaxStop(function() { replaceCalendarText(); }); }); </script>
ちょっと検証してみたところ、当初のコードだけではだめで、上記のように書かないとカレンダーを前後の月に移動させたときに「2012年11月」のように置換されなかったです。
- トピック「プラグインGoogle Calendar Eventsの日本語表示」には新たに返信することはできません。