8

以下で説明する機能は、ERPアプリケーションであるMicrosoft Dynamics AX(旧称Axapta)で使用できます。ただし、私の質問はVisualStudio2010とMVC3アプリケーションに関連しています。この機能の説明の後に私の質問を見つけてください。

  1. スクリーンショット#1は、MorphXエディターを使用してX ++(Microsoft Dynamics AXで使用される言語)で記述されたメソッドを示しています。二重引用符で囲まれたテキストを選択して右クリックすると、スクリーンショットに示すようなオプションが表示されます。これは、テキストが@文字で始まり、ラベルファイルで見つかった有効なIDである場合に当てはまります。
  2. オプションをクリックLookup Properties/Methodsすると、選択したラベルIDに関連付けられている実際のテキストを示すツールチップが表示されます。この場合、ラベルIDは@SYS67であり、関連するラベルテキストはTransaction dateです。スクリーンショット#2を参照してください。
  3. オプションをクリックするLookup Label/Textと、ラベルエディタが表示され、ラベルIDが事前にフィルタリングされ、他の選択した言語とともにエディタの下部に表示されます。エディターを使用して、さまざまな言語の翻訳テキストを変更できます。スクリーンショット#3を参照してください。
  4. Dynamics AXでは、ラベルテキストはラベルIDのテキストファイルに保存され、タブで区切られます。ラベルIDは常に@記号で始まります。ここに示されている例では、@ SYSはグループプレフィックスであり、指定された番号はシーケンシャルインデックスです。en-usラベルファイルで見つかったテキストを表示するスクリーンショット#4を参照してください。

これは、翻訳テキストが各言語の.resxファイルに保存されるVisualStudioのリソースエディターに似ていることを理解しています。翻訳テキストのデータストアとしてSQLServerデータベースを使用して、ASP.NETMVC3アプリケーションで同様のことを実行したいと思います。

これが私の質問です:

  1. IDEで翻訳エディターを呼び出すことができるように、この機能を実現するには、Visual Studio 2010で何を作成する必要がありますか?それはプラグインですか、それとも拡張機能ですか?

  2. ASP.NET MVCアプリケーションで同様のリソースプロバイダーを実行できますか?二重引用符で囲んだラベルIDを指定するだけで、プロバイダーモデルに実行時にデータベースからデータをフェッチさせることができますか?構文Resources.MyResource.GetLabel("@SYS67");はASP.NETで使用できる唯一のオプションですか?申し訳ありませんが、リソースの構文が間違っている場合。

  3. Visual Studioですでに利用可能な同様のツールセット(プラグイン/拡張機能)はありますか?

  4. ASP.NETアプリケーションで翻訳を行うための用語の1つは、を利用することだと思いますResource Provider Model。他に何か用語はありますか?私は自分が達成しようとしていることの用語を知りたいので、それについてもっと読むためにウェブで検索することができます。

どんな入力でも本当にありがたいです。

前もって感謝します。

スクリーンショット#1:

1

スクリーンショット#2:

2

スクリーンショット#3:

3

スクリーンショット#4:

4

4

1 に答える 1

1

私はここに飛び込んで、私が知っていることをあなたに提供します。あなたの質問に完全に答えていない場合は申し訳ありませんが、私がよく知っていることから離れすぎて、悪いアドバイスをしたくありません.

あなたの問題を説明する方法から、翻訳にリソース ファイル (RESX) を使用できるようですが、ユーザー フレンドリーな方法でリソース ファイルを編集する方法を知りたいという問題です。さらに、一部のユーザーは Web 上で翻訳を編集したい場合があります。

質問のこの部分に答えるには、次の記事をご覧になることをお勧めします。

http://blog.lavablast.com/post/2008/02/07/RESX-file-Web-Editor.aspx

著者はあなたと同様の問題を抱えているようで、著者が到達した結論はあなたが考えていることと似ていました。ソース コードが提供されているので、この方法を追求したい場合に有利なスタートを切ることができます。

独自のエディターを開発する場合は、1 つのインターフェイスを選択して、それを使い続けることをお勧めします。そうしないと、実際の製品ではないものの開発に時間がかかることになります。一部のユーザーに Web が必要な場合は、すべてのユーザーに Web を使用することをお勧めします。ただし、Visual Studio 用のプラグインを本当に追求したい場合は、プレゼンテーション レイヤーに多くの時間が費やされないように、中央のビジネス ロジック レイヤーにできるだけ多くのコードを配置することをお勧めします。

現在利用可能なオプションについては、次のいずれも Visual Studio プラグインではないと思いますが、ローカリゼーションをうまく処理できます。

ローカリゼーションの用語と実践について詳しく知りたい場合は、次のサイトをお勧めします。

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/localization/localization.aspx

ファイルではなくデータベースに情報を保存する場合.resxは、その方法を示すリソースを次に示します。

http://msdn.microsoft.com/en-us/library/aa905797.aspx

于 2011-06-05T00:27:55.597 に答える