2011年03月25日

i18n国際化表示がうまくいかない?(Locale/mo file??)

とりあえず現状報告です。

--------------
PHP 5.2.5
Zend Optimizer
CakePHP 1.3.8
--------------

現在、Cakeのlocakeディレクトリ内に jpnディレクトリを作成し、POEditで作成した poファイルとmoファイルを入れてあります。と、なぜかあるサーバに限って日本語表示がうまくいかず、英語になってしまいました。

・service httpd restart などとすると、一瞬日本語が表示される。
・他のサーバではまったく問題が発生していない
・別ディレクトリに同じソースをコピーしても、そちらでもうまく表示されない
・cacheなどの設定はすべて試したがそれでは解消されなかった。
・Zend Optimizerを入れていたのでそれも疑っていた。

結局、「default.moファイルのファイル名を変更して、default.poだけを使用するようにしたところ、正しく日本語表示されるようになった」という結果になりました。

まだソースを追っていないので詳細は不明です。
あと、/tmp/cache/persistent 内にできているファイルサイズがやたらと巨大になり、中を見てみると、同じデータがなども繰り返して入っているようでした。

みなさんは経験ありますか〜〜?
ちなみに、POEditが悪いのかと思い、msgfmtで.moファイルを作り直してもみたのですが、やはり同じ内容に・・・・。

まだよく分かりません。

posted by SDozono at 17:33| 東京 ☀| Comment(0) | TrackBack(0) | Japanese Translation | このブログの読者になる | 更新情報をチェックする

2008年09月11日

CakePHPドキュメントサイト・翻訳者一覧

単なるドキュメントサイトでは終わるはずもない、CakePHPのドキュメントサイト、book.cakephp.org。

近未来の多言語同時執筆翻訳コミュニティーSNS型ドキュメントサイトとして、ひた走っています。

今度は、「だれがどれだけ翻訳したか」ということがリストアップされるようになりました!

http://book.cakephp.org/stats
何と、翻訳では日本語版がいちばん先を突っ走っています。

現在は、
Top JA contributors
Last update: Yesterday, 08:5763% translated
nuto (164 current)
sdozono (89 current)
bobchin (74 current)
okinaka (36 current)
yandod (8 current)
LC-A (7 current)

となっています。しばらく怠けている間に、nutoさんにさーっと先を越されてしまいました。翻訳、本当にありがとうございます。
翻訳者のモチベーションを挙げる、こうした仕掛けは本当に大切だと思います。
ラベル:cakephp
posted by SDozono at 10:42| 東京 ☀| Comment(1) | TrackBack(0) | Japanese Translation | このブログの読者になる | 更新情報をチェックする

2006年12月11日

XAMPPがうまく動かない場合

Apache, MYSQL, PHP などを使える環境を一括インストールしてくれる
XAMPP

下記にある日本語の解説も参考になります。
http://phpspot.net/php/pgXAMPP.html

非常にお手軽ですが、はじめて環境を作ると「localhostが見えません!」と苦労する場合があるかもしれません。

理由はいくつかあると思うのですが、Windows 環境の場合は次の二つの例を経験したことがあります。

1)Skype を立ち上げている場合
2)フィルタリングソフトが常駐している場合

です。

1)の Skype ですが、標準状態ではポート80を利用するようになっています。

[メニュー]⇒[ツール]⇒[設定]⇒[接続]から、
「上記のポートに代わり、ポート80を利用する」のチェックを、外してください。

2)以前、某フィルタリングツールが入っていたPCでWEBサーバが動かなかったのですが、やはりアンインストールしたところ、動くようになりました。開発用途であってもWEBサーバを自宅のPCで動かす場合には、こうしたツールはインストールしておかないほうが安全です。
ラベル:xampp Apache
posted by SDozono at 10:19| 東京 ☁| Comment(0) | TrackBack(0) | Japanese Translation | このブログの読者になる | 更新情報をチェックする

2006年07月04日

CakePHP 開発者へのインタビュー

オリジナル(英文):
http://www.h3rald.com/articles/view/cakephp/

Meet the Bakers

CakePHPとフレームワークに関する記事を読んで、質問が出てきたり、プロジェクトに関心を持ったりしたかもしれません。PHPNutとgwooという, CakePHPのクリエイター、そしてリードデベロッパーのお二人に、zZine読者のための独占インタビューを行ないました。このインタビューは、このインタビューは2005年10月26日に、irc.freenode.orgの#dev-cakephpで行なわれました。

h3rald: CakePHPプロジェクトに関するインタビューに応じてくださって、ありがとうございます。まずは、名前の由来などを教えてもらえますか。

PHPnut: オリジナルのプロジェクトは、Michal Tatarynowicz aka Pies(パイズ、ここから来ています。)がはじめたものです。3月の時点でリリースされたものを見たとき、連絡を取ってみようと思いました。私の持っている会社はCakeのようなプロジェクトをサポートできること、そして、私も同じような方向性にあるものをちょうど開発中だということを伝えました。

h3raLd: ケーキはGPLライセンスですか。あと、開発協力者は何人くらいですか。

gwoo: ケーキはMITライセンスでリリースしています。開発チームは、私とPHPnut,そしてほかの4人のコントリビューターがいます。ドキュメント作成チームもあって、現在は3人から5人が作業しています。ドキュメントは、プロジェクトのリリースを追いかける形になるので若干遅れます。最近のリリースでは、かなりの修正を加えたので、ドキュメントチームが追いつくにはかなりの作業量がありますが、あともう少しです。

PHPnut: 今回のリリースで、ドキュメントもさらに改良されていると思います。現在、コードはかなり安定しているので、うまくいけば、もうそれほど大きな変更を加えなくてもよいのではないか、と考えています。

h3raLd: はじめて Cake を見た人は、Ruby on Rails を移植したものだと思うかもしれません。この点はどうでしょうか。この2つのフレームワークの間には、どんな違いと共通点がありますか。

PHPnut: Cake は移植ではじまりました。でも、さらにそこから発展しています。私たちは、RoR の概念を使うことについて話し合い、フレームワークの中に、PHPユーザのために取り込むことにしました。PHPをもう何年も利用していますし、これになじんでいます。自分のパッションもここにありますし、Cake を使う人たちも、開発者たちと同じパッションを感じていると思います。

h3raLd: Rails は、Ruby でしか使えない関数と機能があったために Ruby で開発された、という記事を読んだことがあります。

gwoo: それには同意できません。私たちが作ったものが、それは正しくないことを証明していると思います。確かに、RoR にはビルトインサーバや他の利点がありますが、PHPはどのサーバにも入っています。

h3raLd: ときどき開発者の中には、特に Perl のプログラマーは、PHPを「劣った」言語だと考える人がいます。それについてはどう思いますか。

PHPnut: 自分の名前が私の考えです。(訳注:PHP nut = PHPマニア、ファン、PHP命)

gwoo: PHPは WEB プログラミング言語で、そのために設計されていますし、そこでベストの仕事をします。いいなぁと思うところにすべて落ち着きます。

h3raLd: ほかの PHP フレームワークを試したことはありますか。MVC ベースのもの(例えば Mojavi)や、Prado のようなイベント-ドリブンのものとか。そういうフレームワークについてはどう思いますか。比較すると、Cake はどんな点で優れていますか、また悪かったりしますか。

gwoo: みんな、複雑すぎるというのが私の意見です。ほぼ全部を試してみたことがあります。Cake は、MVC を分離させ、CRUD をロジカルな方法で扱えます。また、Cake のシンタックスはスーパーイージーです。

h3raLd: Ruby on Rails は、Java や Python を含めてさまざまな言語に移植されています。有名な Ruby プロジェクトに発想を得た三つの PHP のフレームワークがあります。 Biscuit, PHP on Tracks(訳注:PHP on TRAX), CakePHP です。それらについてどう思いますか。合流することなどあるでしょうか。これまでに見たことがありますか。

gwoo: Symfony を忘れていますよ。PHP5専用の移植ですよね。試してみましたが、Cake よりも学習するのがたいへんです。

PHPnut: 間違っているかもしれませんが、使いやすさとか、フレームワークができること、機能、そしてコミュニティサポートなどの点で、ほかのプロジェクトはまだ私たちに追いついていないと思います。

gwoo: 私は、Ruby on Rails から移植されたすべての PHP フレームワークを試しました。でも、機能、コミュニティ、語彙の点で、Cake に並ぶものはありませんでした。

h3raLd: どうして、 CakePHP を移植(ポート)だと考えていないんでしょうか。Rails からどんな点で発展していると言えますか。

PHPnut: Rails と CakePHP は様々な点で共通点があります。MVC パターン、Active Record パターン …… でも、私たちは厳密にRails に倣っているわけではありません。自分たちでものを考えることができます。最近、ディレクトリ構造を変更しました。私の意見では、そのほうが Ruby on Rails のディレクトリ構造よりもっと機能的だと思います。

h3raLd: Cake はどんなことに使用できると思いますか。どんな種類のプロジェクトがよいでしょうか?制限のようなものはありますか?

gwoo: 個人的には、Cake が PHP のための最も拡張性のあるフレームワークだと思います。 components, helpers, vender でアクセスできるので、自分のしたいどんなことでもできます。

PHPnut: 制限を受けるのは、Webサーバ(通常 Apache ですが, IIS でもうまく動く模様)とデータベースの限界だけです。PHP そのものの制限もありますが、ときどき、オタクなやり方でそれをすり抜けています。

h3raLd: AJAXについてはどうですか。Cake で作ってある素晴らしいデモを幾つか見たことがあります。WEB開発の新しいトレンドについてはどう考えていますか。将来的な展望について考える人もいれば、互換性について心配する人もいます。あまり関心のない人もいます。お二人はどうですか。

gwoo: AJAXはアプリケーションの作成にはとても便利です。でも、使いすぎはよくないと思います。人々は現在の WEB の動作に非常に満足しているからです。もし、ドラッグ・アンド・ドロップや、画面の更新をしない動作をじゃんじゃん使い始めたら、ユーザは、サイト上でどう操作すればよいのか迷ってしまいます。

h3raLd: 今日は時間を取ってくださってありがとうございました。お二人に感謝します。このインタビューで何か付け加えたいことなどありますか。 Cake のユーザや、使ってみようかな、という方へのメッセージなど。

PHPnut: どうぞ試してみてください。いつでも助けになります。

gwoo: そして、かなりの間、続けるつもりです!
posted by SDozono at 11:08| ロサンゼルス ☁| Comment(0) | TrackBack(0) | Japanese Translation | このブログの読者になる | 更新情報をチェックする

2006年07月03日

CakePHP--ウェブプロジェクトを組織する簡単な方法

http://hades.phparch.com/ceres/public/article/index.php/art::cakephp::overview/0#heading1

CakePHP--ウェブプロジェクトを組織する簡単な方法

CakePHPはもともと、"Ruby on Rails": http://www.rubyonrails.com/ の考え方でのアーキテクチャと機能をPHPに移植しようというところから始まっており、その他のいろいろなフレームワークもそれぞれの仕方でそれを行なっています。Cakeには、有名になったRubyフレームワークとの共通点が多くありますが、現在では、独自の発展を遂げています。事実上、移植ではなく(PHPになくてRubyにある機能のことを考えるとそれは不可能に近いでしょうが)、RailsのアーキテクチャとRADフィロソフィーを非常にPHPらしい仕方で実装していったものです。CakePHPは、シンプルさ、移植性、柔軟性、拡張性といった部分に取り組んでいるので、これまでのPHPワールドとは一線を画すものとなっています。
CakePHPは、PEARやPropelといった追加ライブラリを何も必要としません。CakePHPの中には、コンポーネントやヘルパーによって組み込まれている多くの機能があり、それを簡単に拡張できるアーキテクチャになっています。そのすべては300kにおさまっています。
 理解しておかなければいけない大切な、そして唯一のコンセプトは、そのMVC(モデル-ビュー-コントローラ)アーキテクチャで、(最近では)Zend framework も含む多くのほかのPHPフレームワークでも一般的になっているものです。この非常に直感的、でも強力なコンセプトをあまりよく知らないという人は、自分のウェブアプリケーションを、ブログやフォトギャラリーといった幾つかの主な部分に分ける(コントローラ)ことを想像してみてください。それぞれの部分では、データベースのテーブル(モデル)へのアクセスがあるはずです。また、テンプレートファイル(ビュー)もあって、内容をユーザに表示するために使用されます。MVC アーキテクチャを現実世界の例でざっくばらんに形にしてみるとこんな感じかもしれません。言い換えると、コントローラはアプリケーションのビジネス(取引)ロジック部分を扱い、データのソース(モデル)とプレゼンテーション層(ビュー)のコードとは別になるようにします。この分離政策は、始めのうちはちょっと厳しすぎるように感じるかもしれません。(例えば、ビューの中にビジネスロジックを入れたくなるかもしれません。)でも、長い目で見ると、コードのメンテナンスのしやすさを高めることができます。

CakePHPは公式サイトから自由にダウンロードすることができます。インストールの必要もありません。圧縮されているアーカイブファイルの中身をWEBサーバの公開ディレクトリに解凍すると、フレームワークを配置し、プロジェクトの骨組みを作ったことになります。CakePHPのディレクトリ構造は、分かりやすいように設計され、コードの分離を賢く行なえるように定義されています。

* app/ * config/ * controllers/ * models/ * plugins/ * tmp/ * vendors/ * views/ * webroot/ * cake/ * config/ * docs/ * libs/ * vendors/

CakePHPに詳しくない人でも、ある程度、どこにどのファイルをおけばいいのか理解できます。いちばん上の階層には三つのフォルダがあります。

cake には、フレームワークそのものがあります。
app には、空のプロジェクトがあります。
vendors は、サードパーティのライブラリを入れる場所です。

CakePHPでプロジェクトを作るとき、cakeフォルダの中身に触る必要はまったくありません。フレームワークのソースコードは、ユーザプロジェクトとはいつも別になっています。CakeがPHPに移植したRailのフィロソフィーの一つとしていちばん大切なことは、Convention over Configuration、「細かく設定するより適切な規約で無設定に」というものです。実際に、幾つもの設定ファイルや、隠れている設定などでセッティングをする必要はまったくありません。フレームワークは、どこに何があるか、また特定の作業にはどのクラスをロードするのが適切化、といったことを賢く面倒を見てくれます。もちろん、もともと決まっているディレクトリ構造がこの賢い動作に一役買っています。

変更する設定ファイルは二つしかありません。一つは、app/config/core.php で、デバッグレベル、セッションタイムアウトなどのアプリケーションの設定がいろいろ入っています。もうひとつは、app/config/databse.php で、データベースに(persistent)接続するために必要です。

繰り返しになりますが、理解するのに難しすぎるところはありません。Cake は標準で、MYSQL, PostgreSQL, SQLite といった様々なデータベースに対応しています。Cakeはデータベース抽象レイヤーのラッパーとして AdoDB または PEAR を使用します。このファイル(database.php)を一度編集するだけで、CakePHPの機能が十分に利用でき、アプリケーションの開発を始めることができます。
posted by SDozono at 04:38| ロサンゼルス ☀| Comment(0) | TrackBack(0) | Japanese Translation | このブログの読者になる | 更新情報をチェックする

CakePHPフレームワークをざっと紹介

http://hades.phparch.com/ceres/public/article/index.php/art::cakephp::overview/0

を軽く訳してみました。

「CakePHPフレームワークの説明」

最近、PHPプログラミングで利用できるフレームワークがいろいろあります。
特に、ウェブ開発をすばやく進め、退屈な作業を減らし、より整理された形にすることを目指した、RAD(ラピッド・アプリケーション・デベロップメント、速攻アプリケーション開発)フレームワークが非常に多くなっています。CakePHPも、Ruby on Rails で非常に有名になったRADフィロソフィーを取り入れた、初期からのPHPプログラミング言語用フレームワークのひとつです。CakePHP v1.0は現在、PHPプログラミングでは非常に有名な、そして直感的なソリューションのひとつとなっています。
その理由は何でしょうか?

 PHPプログラミング言語がポピュラーになった理由の中には、開発者が簡単にパワフルなウェブアプリケーションを作成できる、ということがあります。
 PHPは動的に型づけされる言語で、手続き型言語として生まれ、当初は、単なるフォームインタプリタとして考え出されたものでした。当時は、いろいろなことが非常にシンプルでした。PHPの人気が出てくると、開発コミュニティが追加の関数や機能をコアの部分に含めて欲しいと求めるようになり、最新のPHP5では、WEB開発に関係したありとあらゆる機能が提供され、単なる基本フォームを扱うものから、プラットフォーム特有のシステム機能までもカバーしています。もちろんPHPにも弱点というものがあり、コアレベル(ネームスペースがない、命名規則が一貫していない、など。)でも、利用者レベルでも、きれいにまとまらない部分があります。PHPのコードは、HTMLページの中にそのまま埋め込むことができるので、たくさんの開発者(初心者から経験者まで)は、この特徴を使って、非常にからまったコードや、乱雑なスパゲッティコードのお手本のようなものを作っていました。

 確かに、1枚のphpファイルを使い、データベースに接続し、幾つかの結果を取り出し、それでいくらかの操作をしてHTMLのテーブルで表示する、というのでも動きはします。でも、良いコーディングをする習慣を作るためには、それでは不十分です。巨大な、1枚で完結するするスクリプトが大量にあって、それぞれに同じくらいの、こんがらかった複雑なコードが入っているところを想像してみてください。想像できるのは、動くし、実行させれば速く動くかもしれない非常にごちゃごちゃのコードで、管理し、バグを取るのはまさに悪夢、というものです。

 PHPコードを書く開発者たちとZendが最近まで特に「してこなかった」ことがあります。それは、こうしたカオス状態の中に秩序を作り、ある種の構造化や決まりごとを提供するフレームワークを公式に作成し、PHPアプリケーションの開発とメンテナンスを楽にする、ということです。ようやく新しいZendフレームワークで動き始めている、というところですが、おそらくそれは遅すぎたと言ってもよいかもしれません。新しいZendフレームワークはいまだ開発中であるのに対して、その代替策となる、驚くような効果を起こすことができる、安定したさまざまなフレームワークが登場しているからです。そして、"CakePHP"は間違いなく、その一つだと言うことができます。
posted by SDozono at 03:41| ロサンゼルス ☀| Comment(0) | TrackBack(0) | Japanese Translation | このブログの読者になる | 更新情報をチェックする