-1

私は、コンテンツ データベース、テキスト、およびテーマを除いて、ほぼ同一の php Web アプリで作業しています。stackexchange サイトのようなものをいくつか考えてみましょう。

目的は、同じリポジトリで 1 つのプロジェクトのみを維持することです。そのため、新しい機能を導入する場合、すべてのサイトではなく、1 回だけ実装する必要があります。

テーマとデータベースについては問題ありませんが、テキストについてはどうすればよいかわかりません (現在、テキストは php ファイルにハードコードされています)。

SOでグーグル検索して検索したところ、答えがi18nにgettextを使用していた、このような類似の質問がいくつか見つかりました。しかし、私の場合、サイトのいくつかは同じ言語ですが、テキストが異なるため、正確には i18n ではありません。

これらの文字列をどのように保存できますか?

4

2 に答える 2

1

これを行う方法はたくさんあります。さまざまなものをさまざまな方法でアーカイブする、適切なプロジェクト シナリオがあります。

  • プロジェクトのすべてのインスタンスは、同じ SVN フォルダーから取得されます。
  • 各インスタンスには、SVN に含まれていない独自の構成ファイルがあります。

それに加えて、すべてのプロジェクトには独自のものがあります。

  • テキストベース (ラベルなど)
  • テンプレートセット
  • コンテンツ

独自の翻訳システムを使用して、インスタンスにテキストベースを配布しています。PHPの組み込み関数の一部を使用できます: http://verens.com/2008/04/03/translation-in-php/

Templateset は、テンプレート エンジンのルート ディレクトリを設定する config-variable によって実行されます。./templates/instance-x/...

コンテンツは、構成変数によって参照することもできます。私の場合、すべてのインスタンスで同じように使用される製品ベースを使用するショップ システムがあります。製品を公開/公開するには、製品をカテゴリに割り当てる必要があります。カテゴリおよびインスタンス依存。

カテゴリはインスタンス固有の ID を取得しました (私の場合はshop_id)。

于 2012-10-24T11:22:09.317 に答える