2007-03-06 15:52:15

Catalyst::Plugin::I18N::DBIC

[Catalyst]

使おうとしたら、ちょっとハマった。
データベーススキーマが 'DBIC::Lexicon' 決めウチされていた。
加えて使われていない変数 $obj が作られている。
※パッチを書いて作者に送った。

For Catalyst-Plugin-I18N-DBIC/DBIC.pm(0.03)

@@ -11,7 +11,6 @@
     my ($c, @paths) = @_;
 
     my $class = ref $c || $c;
-    my $obj = "$class\::I18N"->get_handle(@{$c->languages});
     my $lang = $c->language;
 
     my $where = {
@@ -19,7 +18,8 @@
         path        => [@paths],
     };
 
-    my $lexicons_rc = $c->model('DBIC::Lexicon')->search($where);
+    my $lexicon_model = ( $c->config->{lexicon} || 'DBIC::Lexicon' );
+    my $lexicons_rc = $c->model($lexicon_model)->search($where);
     while (my $lex = $lexicons_rc->next) {
         my $message = $lex->message;
         my $value = $lex->value;

あと忘れそうなのが MyApp::I18N::ja を必ず作ること。
package MyApp::I18N::ja;
use base qw(MyApp::I18N);
our %Lexicon = (
    '_AUTO' => 1,
);
1;

2004-04-02追記
2004/03/25にアップデート(Catalyst-Plugin-I18N-DBIC-0.04)したとメールがきた。
喜んでインストールしたけど、POD or Method の typoで動かない。再メール。