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

セルゲイ・ジコフ

私はこれを実装しようとしています:https//docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view = aspnetcore-2.1#dataannotations-localization

私のコード:

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
...
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
    .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
    .AddDataAnnotationsLocalization(options =>
    {
        options.DataAnnotationLocalizerProvider = (type, factory) =>
            factory.Create(typeof(SharedResource));
    });
...
}

SharedResource.cs

namespace MyProj.Classes
{
    /// <summary>
    /// Dummy class to group shared resources
    /// </summary>
    public class SharedResource
    {

    }
}

FooViewModel.cs

public class FooViewModel
{
    [Required(ErrorMessage = "EmailRequired")]
    [EmailAddress(ErrorMessage = "EmailIsNotValid")]
    [Display(Name = "Email")]
    [DataType(DataType.EmailAddress)]
    public string Email { get; set; }
}

FooPage.cshtml

...
<input asp-for="Email" class="form-control">
<div class="invalid-feedback" style="display:block;">
    <span asp-validation-for="Email"></span>
</div>
...

そして、私はリソースファイルResources \ SharedResource.resxを持っています

EメールEメール
EmailIsNotValidEメールフィールドは有効なEメールアドレスではありません。
EmailRequiredEメールフィールドは必須です。

動作せず、コンパイル中または実行時にエラーは発生しません。翻訳の代わりに、「EmailIsNotValid」または「EmailRequired」と表示されます。何がうまくいかない可能性がありますか?

セルゲイ・ジコフ

ASP.NET Core 2.0でのRequiredAttributeローカリゼーションの重複しかし、マークされた回答はなく、コメントに隠されています。

ダミーのSharedResourceクラスは、Webアプリケーション(startup.cs)と同じ名前空間にある必要があります。私の場合、「。classes」を削除しました。ドキュメントは不明確でした。

更新:私のダミークラスの場合、ドキュメントと同じファイル名ルールが適用されます:https//docs.microsoft.com/en-us/aspnet/core/fundamentals/localization? view = aspnetcore-2.1#resource-file- naming

リソースには、クラスの完全な型名からアセンブリ名を引いた名前が付けられます。たとえば、LocalizationWebsite.Web.StartupクラスのメインアセンブリがLocalizationWebsite.Web.dllであるプロジェクトのフランス語のリソースは、Startup.fr.resxという名前になります。クラスLocalizationWebsite.Web.Controllers.HomeControllerのリソースは、Controllers.HomeController.fr.resxという名前になります。ターゲットクラスの名前空間がアセンブリ名と同じでない場合は、完全な型名が必要になります。たとえば、サンプルプロジェクトでは、ExtraNamespace.Toolsタイプのリソースの名前はExtraNamespace.Tools.fr.resxになります。

別の回避策は、リソースファイルに「Classes.SharedResource.resx」という名前を付けるか、Resources \ Classesフォルダーに配置することです。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

ASP.Net Core2複数のコントローラー

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

ASP.NET CORE3.1でのデータ注釈とエラー検証メッセージのローカリゼーション

分類Dev

Asp.Net Core2のRoleManagerを使用したロールのシード

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

ASP.NET Core2アプリケーションでidentityserver4のOpenIdConnect認証をサインアウトできません

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

Asp.Net Core2でのトークンベースの認証

分類Dev

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

分類Dev

ASP.Net Core2のグローバル変数

分類Dev

Asp.Net Core の簡体字中国語で正しい PDF エクスポートが表示されない (ローカリゼーション、グローバリゼーション)

分類Dev

mvcなしのasp.netコア2.0レイザーWebアプリケーションでのローカリゼーション

分類Dev

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

Related 関連記事

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

    ASP.Net Core2複数のコントローラー

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

    ASP.NET CORE3.1でのデータ注釈とエラー検証メッセージのローカリゼーション

  15. 15

    Asp.Net Core2のRoleManagerを使用したロールのシード

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

    ASP.NET Core2アプリケーションでidentityserver4のOpenIdConnect認証をサインアウトできません

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

    Asp.Net Core2でのトークンベースの認証

  25. 25

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

  26. 26

    ASP.Net Core2のグローバル変数

  27. 27

    Asp.Net Core の簡体字中国語で正しい PDF エクスポートが表示されない (ローカリゼーション、グローバリゼーション)

  28. 28

    mvcなしのasp.netコア2.0レイザーWebアプリケーションでのローカリゼーション

  29. 29

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

ホットタグ

アーカイブ