Locale::Maketext (より具体的にはCatalystX::I18N::Model::Maketextを使用)を使用して、Web サイトを多言語化しました。
私の maketext クラスは、データベースからロードすることにより、コンパイル時にレキシコンをパッケージ var %Lexicon にロードします。
アプリにレキシコンの管理インターフェイスを追加したかったのですが、レキシコンをリロードする方法がわかりません。%Lexicon ハッシュを更新するメソッドを各ロケール クラスに追加しました。これは dev で正常に機能しましたが、フォーク サーバー ( Starman ) で実行している場合は、もちろん、そのサーバー プロセスでパッケージ var のみを再読み込みします。
次に、レキシコンをキャッシュに入れ、必要に応じて期限切れにすることができるのではないかと考えました。ただし、Locale::Maketext の %Lexicon ハッシュはランタイムの開始時に読み込まれ、リクエストごとにキャッシュから読み込む方法がわかりません。
私の最近の考えは Locale::Maketext の一部をオーバーライドすることでしたが、スマートなアイデアを探しています :)