phpBB の続き

今回は translation の適用と MODs の適用だ。
先日は MODs について確りと読まずに進めるつもりでそこまで辿り着かなかったが、今日は温かいので目を通してみようかと思う。
また translation 適用後に MODs を入れると大概 ja language が無いとお叱りを受けるので、標準設定で MODs を入れて動作を確認した後に translation をマージすると良いのではないだろうか。


◆言語
言語ファイルの入手は以下から可能だ。
Languages
展開する分には問題ないと思うので展開しておく。

# cd /usr/local/src
# wget http://www.phpbb.com/files/language_packs_30x/lang_ja.tar.gz
# wget http://www.phpbb.com/files/language_packs_30x/subsilver2_ja.tar.gz
# wget http://www.phpbb.com/files/language_packs_30x/prosilver_ja.tar.gz
# cd /usr/share/phpBB3/language/
# tar xzvf /usr/local/src/lang_ja.tar.gz
# cd ../styles/
# tar xzvf /usr/local/src/prosilver_ja.tar.gz
# tar xzvf /usr/local/src/subsilver2_ja.tar.gz

展開が出来たら phpBB へ Administrator でログインして、ページの一番下にある「Administration Control Panel」に移動してパスワードを再入力して管理画面へ入る。

項目やらタブが沢山ありますが『SYSTEM』タブへ移動する。
GENERAL TASKS 項の「Language packs」を選択すると日本語が入っていますね。
そして「Install」 を押して問題がなければ …successfully…. と表示される。

確認しよう。。。
迷った。。。
『GENERAL』タブに移動して「Board settings」を選択する。

Default language: 日本語

これでトップの表示が日本語になります。
画面右上の『Administration Control Panel』 付近に Board index リンクがあるのでクリックして確認できますが Administrator が US 言語設定になっているのでログアウトしないと確認できません。

ここからしばらく悩みました。
本家に README を探しに行く方が先決だと思うのですが、データベースを覗き見して phpbb_config テーブルのレコードは default_lang, ja, 0 という値になっています。
phpbb_users テーブルの user_lang カラムを見ると管理者レコードに en があります。
本来ならここに ja などが入るのでしょうか。
DBを直接操作してもよいのですが、やはり管理画面から出来た方が幸せになるので探してみます。

ありました。
『USER AND GROUPS』タグでユーザーを検索して表示した後、ドロップダウンリストで「Preference」を選択すると出てきます。
ここで例の如く日本語を選択してやると、、、はい、管理画面も全てに日本語化されましたね。
transration を作ってくださった ocean=Yohsuke 氏に多大な感謝を。


◆MODs
余談ですが「ocean 氏凄いよ!」と検索を書けたら、当人様も BB 使っているようですね。

こちら に日本語の MODs 解説なんかもありそうです。
別ページにしようかとも思いましたが波に乗って行きましょう!(ocean 氏だけに

本家MODsへ行きます。
今回は不具合要望監視のため RSS が必要という事なので RSS の MODs を検索します。
MOD Databaseに移動して「search」項から RSS 検索します。
現時点では 6 つの MOD が出てきました。
この中でバージョン 3 に対応していると思われる以下のものが候補になります。

・RSS Feed 2.0
・simple RSS mod for phpBB3
・Simple Syndication

今回は RSS Feed 2.0 を導入しようと思う。
右側にある「DOWNLOAD Modification」にて、ブラウザであれば zip が入手可能だが wget だと index.html が保存されるので MSSTI_RSS_v104.zip など本来の名前に mv します。

# wget http://www.phpbb.com/mods/db/download/6905/
# mv index.html MSSTI_RSS_v104.zip
# unzip MSSTI_RSS_v104.zip

ファイルをアップロードしたりあれこれする前に、じっくりとファイル・構成などを確認する。
現場にて MODs についていくらかドキュメントを斜め読みしていたため MODs はMODX という書式で提供され AutoMOD などの自動で MOD を導入できるスーパー MOD があるという事は予想済み。

zip を展開した後 Install_RSSFeed20_v103.xml をブラウジングする。
項目に分かれた説明があるので簡単に紹介しながら作業する。

・About this MOD
 この MOD のオーソライズデータです。
 インストールレベルは Easy で 10 分もあれば出来るそうです。

・Author
 作者に敬礼!

・Files to Edit
 編集が必要なファイルの一覧です。
 シェルを操作できない場合は FTP でこれら既存のファイルをダウンロードしてバックアップします。

・Included Files
 追加することになるファイルです。

・Additional MODX Files
 他の MODX ファイルを必要とする場合はここに表示されるかと。
 連動 MOD や設定干渉を避けるために使われるものと予想。

・Disclaimer & Other Notes
 さらっと読む。

・License & English Support
 しっかり読む。

・MOD History
 バージョンアップ時には確認しましょう。
 今回は新規導入なので気にしません。


ここから作業に入ります。
以下手順が書かれているので殆どコピペの要領で簡単に導入できます。


・SQL
 記述を DnD でも「SELECT ALL」でも良いのでコピーします。
 phpMyAdmin やシェルから SQL を実行します。
 シェルで実行する方に説明は要らないと思います。
 .sql ファイルにでもしておくとリストア時が楽かもしれません。
 phpMyAdmin の方は DB を選択して『SQL』タブにコピペして実行します。

・File Copy
 指定のファイルをコピーしましょう。
 root/ を phpBB3/ にコピーすれは良いかと思います。
 FTP でも同様です。
 ここでは language 同梱の es ディレクトリについて書かれていません。
 必要であればコピーしてくださいという観念と思います。
 既に日本語化されている環境であり内包されている rss.php は既存 ja 用ファイルをオーバーライドしないので en からコピーした ja ディレクトリを用意して一緒にコピーしましょう。
ja に設定している場合は、これをしないとエラーが出ます。

# cd MSSTI_RSS_v104b/language/
# cp -pR en ja
# cd ../
# cp -pR . /usr/share/phpBB3/
# chown -R www-data:www-data /usr/share/phpBB3/

・Edits
 Open: で指定されているファイルを開きます。
 Find で指定されている箇所を探し指示通りパッチします。
 PHP の読める方は適当なところへ、よく分からない方は Find 指定コメント直下に追記するだけです。
 Add after をコピーして vi 作業とすると、

# cd /usr/share/phpBB3/includes/
# cp -p functions.php functions.php.bak
# vi functions.php

/assigns
(Shift + a)
(ペースト)
esc
/SITE_LOGO_IMG
(Shift + a)
(ペースト)
esc
:wq

#

 で完了。
 vi のタブ補完で酷い事になったりしますが、体裁を気にしなければそのままでもよい。
 (私は修正します)
 これをファイル分繰り返します。
 言語ファイルは en を使用するのであれば指定通りに。
 en を複製した ja を使用するならパスを置き換えて作業します。

# cd ../language/ja/
# cp -p common.php common.php.bak
# vi common.php

/SEARCH_SELF
(Shift + a)
(ペースト)
esc
:wq

# cd acp
# cp -p common.php common.php.bak
# vi common.php

/ACP_WORDS
(Shift + a)
(ペースト)
esc
:wq

# cd ../../../styles/prosilver/template/
# cp -p overall_header.html overall_header.html.bak
# vi overall_header.html

/SITENAME
(Shift + a)
(ペースト)
esc
:wq

これで編集は完了です。
以下 diff を乗せておきます。

diff -U0 functions.php.bak functions.php

— functions.php.bak 2008-12-13 00:20:37.000000000 +0900
+++ functions.php 2009-02-17 15:16:25.000000000 +0900
@@ -3670,0 +3671,4 @@
+// MOD : MSSTI RSS Feeds (V1.0.4) – Start
+ $f_rss = request_var(’f', 0);
+ $t_rss = request_var(’t', 0);
+// MOD : MSSTI RSS Feeds (V1.0.4) – End
@@ -3755 +3759,12 @@
-
+// MOD : MSSTI RSS Feeds (V1.0.4) – Start
+ ‘U_RSS’ => generate_board_url() . “/rss.$phpEx”,
+ ‘S_FORUM_ID’ => $f_rss,
+ ‘S_TOPIC_ID’ => $t_rss,
+ ‘S_ENABLE_FEEDS’ => ($config['rss_enable']) ? true : false,
+ ‘S_ENABLE_FEEDS_FORUMS’ => ($config['rss_overall_forums']) ? true : false,
+ ‘S_ENABLE_FEEDS_THREADS’ => ($config['rss_overall_threads']) ? true : false,
+ ‘S_ENABLE_FEEDS_POSTS’ => ($config['rss_overall_posts']) ? true : false,
+ ‘S_ENABLE_FEEDS_EGOSEARCH’ => ($config['rss_egosearch'] && $user->data['user_id'] != ANONYMOUS) ? true : false,
+ ‘S_ENABLE_FEEDS_FORUM’ => ($config['rss_forum'] && $f_rss != 0) ? true : false,
+ ‘S_ENABLE_FEEDS_THREAD’ => ($config['rss_thread'] && $t_rss != 0) ? true : false,
+// MOD : MSSTI RSS Feeds (V1.0.4) – End
@@ -3924 +3939 @@
-?>
\ No newline at end of file
+?>

diff -U0 common.php.bak common.php

— common.php.bak 2008-12-14 10:25:04.000000000 +0900
+++ common.php 2009-02-17 15:32:55.000000000 +0900
@@ -518,0 +519,4 @@
+// MOD : MSSTI RSS Feeds (V1.0.4) – Start
+ ‘YOUR_POSTS’ => ‘Your posts’,
+ ‘RSS_FEEDS’ => ‘RSS Feeds’,
+// MOD : MSSTI RSS Feeds (V1.0.4) – End
@@ -867 +871 @@
-?>
\ No newline at end of file
+?>

diff -U0 common.php.bak common.php

— common.php.bak 2008-12-14 10:25:04.000000000 +0900
+++ common.php 2009-02-17 15:36:18.000000000 +0900
@@ -197 +197,4 @@
-
+// MOD : MSSTI RSS Feeds (V1.0.4) – Start
+ ‘ACP_RSS’ => ‘RSS management’,
+ ‘ACP_RSS_FEEDS’ => ‘RSS’,
+// MOD : MSSTI RSS Feeds (V1.0.4) – End
@@ -692 +695 @@
-?>
\ No newline at end of file
+?>

diff -U0 overall_header.html.bak overall_header.html

— overall_header.html.bak 2008-12-13 00:20:37.000000000 +0900
+++ overall_header.html 2009-02-17 15:39:02.000000000 +0900
@@ -15,0 +16,25 @@
+<!– // MOD : MSSTI RSS Feeds (V1.0.4) – Start–>
+
+<!– IF S_ENABLE_FEEDS –>
+ +<!– IF S_ENABLE_FEEDS_FORUMS –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_THREADS –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_POSTS –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_EGOSEARCH && S_USER_LOGGED_IN –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_FORUM && S_FORUM_ID –>
+ +<!– ENDIF –>
+<!– IF S_ENABLE_FEEDS_THREAD && S_TOPIC_ID –>
+ +<!– ENDIF –>
+<!– ENDIF –>
+
+<!– // MOD : MSSTI RSS Feeds (V1.0.4) – End –>
@@ -173 +198 @@
- <!– ENDIF –>
\ No newline at end of file
+ <!– ENDIF –>

※WP は blockquote しても HTML タグがコメントだとエンコードされないんですねぇ。

・DIY Instructions
 使い方が簡単に書いてあります。
 まずは管理ページにログインします。
 ログインしたらキャッシュはクリアした方が良いでしょう。
 MOD 追加後はキャッシュされる実行結果中に編集したファイルのルーチンが入っていると反映状況が分からなくなるので、一度「キャッシュの消去」の実行ボタンを押してキャッシュをクリアします。
 これはトップページにある中段のボタンが並んでいる一番下のボタンを指します。
 あまりに快適に日本語が動作するので冒頭の指針は忘れてデフォ(英語)での説明は端折ります。

 項目通りにクリックして進みます。
 「System」
 「Module management」「Administration Control Panel」
 「System」
 「General tasks」
 「ドロップダウンで RSS 選択」 「add module」「yes」
 ※「項目の編集」 モジュールを有効にする: 「はい」
 「System」
 General tasks 項の「RSS」
 お好みで設定しましょう。

という事でした。
殆どが Install_RSSFeed20_v103.xml でしたね。
こんな感じで他の MODs も追加していくといいのではないでしょうか。

One Response to “phpBB の続き”

  1. » phpBB3にRSS機能 » アリンコネット Says:

    [...] ところが、フォーラム単位でのRSS配信には対応していないようなのでRSS Feed 2.0に変更。インストールについてはこちらを参考にさせて頂きました。 [...]

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!