2016-11-18 4 views
0

メールアプリケーション(MailGun)を使用してアプリケーションのユーザーにメッセージを送信するいくつかのコンポーネント(Webアプリケーション、Windowsサービス、Web APIなど) 、SMS(Twilio)、および自動電話(Twilio)が含まれます。これらのメッセージには、メッセージが実際に送信されたときに挿入される動的情報が含まれています(ファーストネーム、ユーザー名、タイムスタンプなど)。アプリケーションから送信されたすべてのメッセージの内容を管理する

メッセージのすべての生テキストは、すべてのコンポーネント間で共有されているプロジェクトの.resxファイルの書式文字列に格納されます。サンプルの文字列は"Hello {0}, you have a notification!"のようになります。string.Formatを使用すると、実行時に{0}がユーザーのファーストネームに置き換えられます。

この構造によって、維持するのがやや難しい何百ものテキストリソースが発生しています。これらのタイプのリソースを管理したり、動的な通信を処理するための優れた方法/アーキテクチャはありますか?または、このタイプの機能を合理化するのに役立つツール/ライブラリがありますか?

+1

テキストをデータベースに保存できますか? – Botonomous

答えて

1

ここではTwilioの開発者のエバンジェリストです。

私はC#で提供する経験はありませんが、大規模なRuby on Railsアプリケーションで作業しています。補間を使用して多くの文字列を扱うときは、国際化であると考えることができます。

これは、他のキーを含むことができる(したがって特定の領域にメッセージをスコープする)キーとテンプレート文字列を含むyamlファイルを提供することによって処理されます。

このようなアプローチを使用するとファイル数が減少することになりますが、この1つのファイルは定期的に変更されるため、トレードオフが発生します。

ただのアイデアです。それがまったく役に立ったら教えてください。

関連する問題