SharedResourcesを利用したASP.NET Coreローカリゼーション

Daniel Aaron Salwerowicz:

こんにちはSharedResourcesファイルについて質問があります。それはここのチュートリアルで一見されます:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization、そして私はそれを正しく得るかどうかわかりません。

SharedResources.csクラスを作成することになっていますが、どこに配置し、それを空にする必要がありますか、それともデータで埋める必要がありますか?

同じことはリソースファイルにも当てはまります。ファイルを作成してSharedResources.da.resxすべての共有文字列をそこに配置する必要がありますか?どこに行けばいいの?

そして、私が使用するときは、それをIHtmlLocalizer<SharedResources>書いて@usingSharedResources.cs存在する名前空間を指すようにしますか?

Resourcesフォルダーに入れSharedResources.csSharedResources.da.resx、それを使用してWebサイトの言語をデンマーク語に変更しようとしましたが、機能しません。のような専用のリソースファイルを使用するIndex.da.resxと、IViewLocalizer正常に動作しますが動作IHtmlLocalizer<SharedResources>しないようです。

ページの下部にリンクされているサンプルプロジェクトを見たときに、SharedResourcesが使用されている場所が見つからなかった場合、誰かがその例を使用して更新したとしたらすばらしいでしょう。

これが私がそれをやろうとした方法です:

Views / Home / Index.cshtml:

@using Funkipedia.Resources
@using Microsoft.AspNetCore.Mvc.Localization
@inject IHtmlLocalizer<Shared> SharedLocalizer
...
<p>@SharedLocalizer["Hei"]</p>
...

Startup.csのConfigureServicesの上部:

services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
  .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
  .AddDataAnnotationsLocalization();

Startup.csのConfigureの上部:

var supportedCultures = new List<CultureInfo>
{
       new CultureInfo("nb-NO"),
       new CultureInfo("sv-SE"),
       new CultureInfo("da-DK")
};

app.UseRequestLocalization(new RequestLocalizationOptions
{
       DefaultRequestCulture = new RequestCulture("nb-NO"),
       SupportedCultures = supportedCultures,
       SupportedUICultures = supportedCultures
});

空のクラスを含むフォルダリソースが呼ばれるShared.csと、Shared.da.resxその共有の文字列が含まれています。名前をに変更する必要がSharedResources.csありSharedResources.da.resxますか?

Daniel Aaron Salwerowicz:

さて、少し掘り下げてさらに試行錯誤した結果、質問に対する回答が見つかり、すべてが機能するようになりました。これが私が見つけたものです:

SharedResources.csクラスを作成することになっていますが、どこに配置し、それを空にする必要がありますか、それともデータで埋める必要がありますか?

回答: SharedResources.csプロジェクトのルートフォルダーまたはリソースフォルダーに配置できますが、最も重要なことは、名前空間をプロジェクトのルートに設定する必要があることです。私の場合namespace Funkipediaまた、データを含める必要はなく、クラス宣言のみを含める必要があります。

同じことはリソースファイルにも当てはまります。ファイルを作成してSharedResources.da.resxすべての共有文字列をそこに配置する必要がありますか?どこに行けばいいの?

回答はい。.csファイルと同じ名前のリソースファイルを作成する必要があり、Resourcesフォルダーに配置する必要があります。

そして、私が使用するときは、それをIHtmlLocalizer<SharedResources>書いて@usingSharedResources.cs存在する名前空間を指すようにしますか?

回答:使用する場合IHtmlLocalizerおよび/またはIStringLocalizer表示する場合、これを.cshtmlファイルの先頭に書き込む必要があります。

@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.Extensions.Localization
@inject IViewLocalizer Localizer
@inject IStringLocalizer<SharedResources> SharedLocalizer
@inject IHtmlLocalizer<SharedResources> SharedHtmlLocalizer

@using Microsoft.Extensions.Localizationあなたが使用する場合にのみ必要であることに注意してくださいIStringLocalizer

これが、リソースファイルやASP.NET Coreアプリケーションのローカリゼーションに不慣れな他のユーザーに役立つことを願っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SharedResourcesを利用したASP.NET Coreローカリゼーション

分類Dev

SharedResourcesを利用したASP.NET Coreローカリゼーション

分類Dev

Asp.Net Core2.1ローカリゼーション

分類Dev

Asp.Net Core AngularSPAローカリゼーション

分類Dev

asp net core2でのDataAnnotationsのローカリゼーション

分類Dev

ASP.NET Core3.0でのローカリゼーション

分類Dev

ASP.Net Core 2.0Webアプリケーションでのローカリゼーション

分類Dev

ASP.NETコアDisplayAttributeローカリゼーション

分類Dev

ASP.Netコアのローカリゼーション

分類Dev

ASP.NET Core 3.1ルーティング(Route、ActionName)のローカリゼーションを行う方法は?

分類Dev

ASP.NET Core1.1ローカリゼーションジェネリックサービス

分類Dev

ASP.NET Core 3.0Razorページでのルーテッドローカリゼーション

分類Dev

Asp.net Core2.0ビューのローカリゼーションエラー

分類Dev

ASP .NET Core 1.0RTMローカリゼーションが機能しない

分類Dev

ASP.NET Core 2ローカリゼーション(ViewLocalizerが機能しない)

分類Dev

ASP.NET Core2.2でのルートのローカリゼーション

分類Dev

ASP.NET 5(MVC 6)-リソースのローカリゼーション

分類Dev

asp.netでローカリゼーションを使用する方法は?

分類Dev

datetimepickerをASP.NETローカリゼーションと統合する方法

分類Dev

Asp.netコアエリアのローカリゼーション

分類Dev

jsonファイルを使用したAsp.netコアのローカリゼーション

分類Dev

ASP.NET Core 3.1:バージョン3.1では共有ローカリゼーションが機能しない

分類Dev

asp.netでのアプリケーションのローカリゼーション

分類Dev

ASP.NET Coreは、訪問者のローカリゼーションによって日付をどのようにフォーマットしますか?

分類Dev

ASP.NETコアリクエストのローカリゼーションオプション

分類Dev

ASP.NET Core 3MVCエンドポイントのルーティングとルートによるローカリゼーション

分類Dev

ASP .NET Core 2ローカリゼーションは、新しい言語のすべての文字列を取得します

分類Dev

ASP.NET CORE2.2を使用してローカリゼーション用の応答Cookieを生成できません

分類Dev

リソースファイルを使用した.NETローカリゼーションの戦略

Related 関連記事

  1. 1

    SharedResourcesを利用したASP.NET Coreローカリゼーション

  2. 2

    SharedResourcesを利用したASP.NET Coreローカリゼーション

  3. 3

    Asp.Net Core2.1ローカリゼーション

  4. 4

    Asp.Net Core AngularSPAローカリゼーション

  5. 5

    asp net core2でのDataAnnotationsのローカリゼーション

  6. 6

    ASP.NET Core3.0でのローカリゼーション

  7. 7

    ASP.Net Core 2.0Webアプリケーションでのローカリゼーション

  8. 8

    ASP.NETコアDisplayAttributeローカリゼーション

  9. 9

    ASP.Netコアのローカリゼーション

  10. 10

    ASP.NET Core 3.1ルーティング(Route、ActionName)のローカリゼーションを行う方法は?

  11. 11

    ASP.NET Core1.1ローカリゼーションジェネリックサービス

  12. 12

    ASP.NET Core 3.0Razorページでのルーテッドローカリゼーション

  13. 13

    Asp.net Core2.0ビューのローカリゼーションエラー

  14. 14

    ASP .NET Core 1.0RTMローカリゼーションが機能しない

  15. 15

    ASP.NET Core 2ローカリゼーション(ViewLocalizerが機能しない)

  16. 16

    ASP.NET Core2.2でのルートのローカリゼーション

  17. 17

    ASP.NET 5(MVC 6)-リソースのローカリゼーション

  18. 18

    asp.netでローカリゼーションを使用する方法は?

  19. 19

    datetimepickerをASP.NETローカリゼーションと統合する方法

  20. 20

    Asp.netコアエリアのローカリゼーション

  21. 21

    jsonファイルを使用したAsp.netコアのローカリゼーション

  22. 22

    ASP.NET Core 3.1:バージョン3.1では共有ローカリゼーションが機能しない

  23. 23

    asp.netでのアプリケーションのローカリゼーション

  24. 24

    ASP.NET Coreは、訪問者のローカリゼーションによって日付をどのようにフォーマットしますか?

  25. 25

    ASP.NETコアリクエストのローカリゼーションオプション

  26. 26

    ASP.NET Core 3MVCエンドポイントのルーティングとルートによるローカリゼーション

  27. 27

    ASP .NET Core 2ローカリゼーションは、新しい言語のすべての文字列を取得します

  28. 28

    ASP.NET CORE2.2を使用してローカリゼーション用の応答Cookieを生成できません

  29. 29

    リソースファイルを使用した.NETローカリゼーションの戦略

ホットタグ

アーカイブ