問題タブ [satellite-assembly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1217 参照

c# - 現在の文化のサテライト アセンブリの場所を取得する方法は?

私の C#/WF アプリケーションでは、言語ごとに異なるいくつかのファイルを使用しています。これらのファイルは、サテライト アセンブリのリソースとして配置できません。ただし、サテライト アセンブリと同じディレクトリに配置したいのですが、実際にアセンブリがどこにあるかを知る必要があります (バイナリ ファイルに埋め込まれた既定の言語が使用されている場合の状況を含む)。

たとえば、アプリケーションが自動的にポーランド語に切り替わったときに、場所を取得したいと考えています。

D:\<アプリフォルダー>\pl-PL\

そうする方法はありますか?フォルダーの場所を推測するのではなく、アセンブリからこの情報を取得したいことに注意してください。


Steve B の助けを借りて、ここに解決策があります。

0 投票する
2 に答える
591 参照

c# - 多言語サイトの作成方法

私はヨーロッパの多くの言語をサポートしなければならないプロジェクトを始めようとしています。このサイトのすべての静的コンテンツは、これらの言語間で翻訳可能である必要があります。衛星アセンブリについて聞いたことがあり、.NETの多言語サイトで使用されていると聞いたことがありますが、これはかなり前のことです。これは.NETの現在の慣行ですか?ASP.NETMVCを使用しています。

0 投票する
1 に答える
198 参照

asp.net - さまざまな文化的リソースファイルへのアクセス

この形式のさまざまな言語リソースファイルがあります。MyApplication\Resources\MyForm\Index.resx

現在のカルチャリソースファイルにアクセスできます。ただし、別のカルチャリソースファイル(たとえば)を見つけたい場合は、そのファイルにアクセスIndex.de.resxする方法を見つけるのに苦労しています。

私が得るエラーは言う:

指定されたカルチャまたはニュートラルカルチャに適切なリソースが見つかりませんでした。「MyApplication.Resources.MyForm」がコンパイル時にアセンブリ「BallotApplication」に正しく埋め込まれているかリンクされていること、または必要なすべてのサテライトアセンブリがロード可能で完全に署名されていることを確認してください。

私のリソースファイルは公開されており、ビルドアクションは「埋め込みリソース」です。

0 投票する
1 に答える
1850 参照

asp.net - 衛星アセンブリ、ASP.NET言語は変更されません

プロジェクトを衛星アセンブリを使用するように変換しています。新しいクラスライブラリ(「リソース」という名前)を作成しました。デフォルトのリソースはすべてルートレベルにあります*.resx。次に、カルチャごとにフォルダがあります。

「en/」と *.en.resx

en-GB/と*.en-GB.resx

.resxファイルAccess Modifierを「パブリック」に変更し、これらの設定を変更しました。

.resxデザイナー*.Designer.csが「Resources」名前名を使用するようにしました。

クラスライブラリをASP.NETMVCアプリに追加し、global.asax.cs必要に応じてカルチャを設定しています。

Resourcesクラスライブラリのビルド後のイベントにal.exeandコマンドを追加してみました。Resgen.exe

"C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ Resgen.exe" en-GB / MyResourceFile.en-GB.resx "C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ al.exe "/ t:lib /embed:en-GB/MyResourceFile.en-GB.resources /culture:en-gb /out:Resources.resources.dll

MVCアプリbin/フォルダー内を見ると、3つのファイルを含む各言語のフォルダーがあります。

MyResources.en-GB.Designer.cs、MyResources.en-GB.resx、Resources.resources.dll

ルートレベルにはがResources.dllありResources.resources.dllますが、デフォルトの言語は正常に機能します。2つ目*.resources.dllは、ビルド後のイベントによるものです。

CurrentUICultureを変更しても、UI言語は変更されません。リソースをApp_GlobalResources/外部アセンブリに移動する前は、正常に機能していました(Razorの例)。

.dlls.NET Reflectorを使用してリソースを見ると、これらが違いです。

編集:

でCurrentCultureとUICultureを設定した後、実際に機能global.asax.csするを手動で取得ResourceManagerして、期待される言語で文字列を取得することをテストしました。

MVCコントローラーで同じテストを試しましたが、機能しません。したがって、ResourceManagerを取得できるのはGlobal.asax.csだけです。

奇妙なことに、かみそりのUIレベルで同じテストを行うと、デフォルトのカルチャテキストしか返されません。cultureInfoは正しいですが、ResourceManagerはASP.NET MVCRazorUIのデフォルト言語のみを返します。(これは厳密にテスト用です)

TLDRバージョン:

リソース(.resx)からApp_GlobalResourcesからサテライトアセンブリへの変換。

手元の問題。

CurrentUICulture言語を使用してサテライトアセンブリのResourceManagerを手動で呼び出すことができ、global.asax期待どおりに機能しますが、同じテストがUI側から失敗し、MVCコントローラーで失敗します。

デフォルトの言語は正常に機能しますが、UIが言語を切り替えないのはなぜですか?

0 投票する
2 に答える
84 参照

.net - .NET は親カルチャのローカライズを自動的にサポートできますか?

pt-BRロケール用に翻訳された .NET アプリケーションがあり、その結果、サテライト アセンブリが生成されます。

pt-PTロケールの翻訳がありません。親カルチャを共有しているために pt-PT カルチャがアクティブな場合に pt-BR アセンブリが使用されることを期待していましたが、そうではありません。

.NET は何らかの方法で pt-PT カルチャの下で pt-BR アセンブリを自動的に使用できますか? または、より多くの pt 変換を取得するまで、pt-BR 変換をptアセンブリに明示的に配置する必要がありますか?

0 投票する
1 に答える
94 参照

nant - ナントとサテライト アセンブリ

サテライト アセンブリを含む Nant サンプルを探しています。私は何時間もグーグルで検索しましたが、成功しませんでした。

私はこれまでに得ました:

および csc サブ要素:

しかし、サテライト アセンブリを作成するにはどうすればよいでしょうか。ニュートラルでないリソースを含めようとすると、奇妙なエラーが発生します (たとえば、ResourceManagement.de.resources:

0 投票する
1 に答える
82 参照

c# - 多言語ページ

私のプロジェクトにはさまざまな Web ページがあり、私の要件は、ユーザーがユーザーの言語に基づいてログオンしたときに、ページをユーザーの言語で表示する必要があることです。

私はそれをグーグルで検索しましたが、適切な解決策が得られません。

ソリューションとしてサテライト アセンブリを取得しましたが、それを実装するにはどうすればよいですか?

0 投票する
1 に答える
198 参照

.net - 実行時にサテライトアセンブリを追加する

実行時にカルチャを切り替えることができるアプリケーションを作成しました。しかし、アプリケーションが実行され続けている間に、新しいサテライトアセンブリをアプリケーションに追加したいと思います。特定のカルチャフォルダー(ファイルが含まれているフォルダーなど)をアプリケーションフォルダーにコピーしてafからLocalisation.resources.dll、次のコードを実行します。

しかし、その後は何も起こりません。古い文化を見続けますが、追加された文化は表示されません。アプリケーションを停止して開始した場合にのみ、新しいカルチャがコンボボックスに追加されます。

実行時にサテライトアセンブリを追加することは可能ですか?または、常にアプリケーションを再起動する必要がありますか?

0 投票する
1 に答える
475 参照

c# - ResourceManager は、サテライト アセンブリから読み取る代わりに、既定のリソースにフォールバックします

3 つのプロジェクトのフォルダー構造は次のとおりです。

MyClassLibrary1 プロジェクトの下:

MyClassLibrary1 のプロジェクト プロパティ -> ビルド前、次のようにしました。

MyAppExe プロジェクトの下の Program.cs:

問題は、ResourceManager が何らかの理由でデフォルトのリソース ファイル (MyAppExe に埋め込まれている) にフォールバックし続けることです。ここで私が間違っていることを理解するのを手伝ってください。

何を試しても得られる出力は、「Playgroup」ではなく「Preschool」です。衛星アセンブリがまったく解決されていないようです。