cakePHP 1.3.10 で cake.php i18n を実行してもパスが正しく出力されない

投稿日: 2011/6/27 14:16

cakePHP 1.3.10で次のコマンドを実行してpotファイルを生成しようとしたところ
potファイル中のパスが \controller\aaa_controller.php のようになってしまい
poEditで表示しても参照が上手く動作しない状態となった。


cd C:\eclipse\xampp\htdocs\project\cake\console
php cake.php i18n

出力されたpotファイルは次のようになってしまっている


#: \views\buildings\edit.ctp:32
#: \views\rooms\add.ctp:26
msgid "Submit"
msgstr ""

結果としてi18nコマンドの実行時のオプション指定を変えることで上手く動作したので
ここに記載しておきます。
おそらくWindows環境のみ発生する問題です。


c:\eclipse\xampp\htdocs\realestate\cake\console>php cake.php i18n

Welcome to CakePHP v1.3.10 Console
---------------------------------------------------------------
App : app
Path: C:\eclipse\xampp\htdocs\realestate\app
---------------------------------------------------------------
I18n Shell
---------------------------------------------------------------
[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
> E
What is the full path you would like to extract?
Example: C:\eclipse\xampp\htdocs\realestate\myapp
[Q]uit [D]one
[C:\eclipse\xampp\htdocs\realestate\app] >

ここの指定を変更することで解決しました。
デフォルトでは「C:\eclipse\xampp\htdocs\realestate\app」となっていますが
「C:/eclipse/xampp/htdocs/realestate/app」と変更することで
正しく出力されるようになりました。
(変更したのは\ → /、2バイトで書くと¥→/)

この結果次のように出力されるようになりました。


#: C:\eclipse\xampp\htdocs\realestate\app\views\buildings\edit.ctp:32
#: C:\eclipse\xampp\htdocs\realestate\app\views\rooms\add.ctp:26
msgid "Submit"
msgstr ""

1時間以上悩んだため残しておきます。