فارسی سازی خطاهای اعتبارسنجی توکار ام.وی.سی. برای اعتبار سنجی سمت کلاینت - PersianDataAnnotations is localization DataAnnotations (Localized MVC Errors) for Persian(Farsi) language
C#
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Identity
Properties
bin/Release
.gitattributes
.gitignore
DataAnnotationsResource.Designer.cs
DataAnnotationsResource.resx
PersianDataAnnotations.cs
PersianDataAnnotations.csproj
PersianDataAnnotations.nupkg
PersianDataAnnotations.sln
PersianMetadataProvider.cs
PersianModelBinder.cs
PersianValidatorClientDataType.cs
PersianValidatorDataAnnotations.cs
PersianValidatorDataErrorInfo.cs
README.md
TranslateError.cs
TranslateResource.Designer.cs
TranslateResource.resx
packages.config

README.md

‫فارسی سازی خطاهای MVC

‫DataAnnotations فارسی

Persian DataAnnotations

Persian DataAnnotations is Localized DataAnnotations which is localization of System.ComponentModel.DataAnnotations for Persian (Farsi) language. It's useful for Persian Asp .Net MVC and other type of Microsoft .Net based application. The localization of built-in resource of DataAnnotations is a bit hard to work and this solution helps project to use of this solution (just for localization of error messages).

‫اعتبار سنجی کنترل ها در .NET با Data Annotation ها

‫اعتبار سنجی های سمت کلاینت با DataAnnotation ها و افزودن [Required] یا [DataType(DataType.Password)] یا دیگر Attribute ها بسیار ساده و تمیز است. برای فارسی سازی کافی است این کتابخانه را با استفاده نیوگت یا دستی به پروژه اضافه کرده و متد RegisterAdapters آن را فقط یکبار در مثلا Application_Start فراخوانی کنید. کار تمام است.

شیوه استفاده

1- افزودن به پروژه

افزودن آن بسیار بسیار ساده است با استفاده از نیوگت به سادگی می توانید این کتابخانه را به پروژه خود اضافه کنید

  PM> Install-Package PersianDataAnnotations

2- نمونه فراخوانی و اجرا

یعنی فقط همین یک خط را اضافه کنید و تمام میشود.

protected void Application_Start()
{
    PersianDataAnnotations.PersianDataAnnotations.Register();
}

3- فارسی سازی خطاهای مربوط به رمز عبور

با این تغییر کوچک خطاهای قسمت ثبت نام هم فارسی می شوند

public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context) 
{
    ...
    manager.PasswordValidator = new PasswordValidator 
    /// جایگزین شود با خط زیر
    manager.PasswordValidator = new PersianPasswordValidator
    ...
}

دمو

برای مشاهده دمو می توانید به فرم عضویت یا ورود کاربران در طراحی وب ایران مراجعه کنید

screencapture-webdesigniran

نمونه فارسی سازی خطاهای مربوط به رمز عبور

screencapture-webdesigniran

ترجمه

‫‫هنوز احتمال دارد که خطاهایی فارسی نشده باشند. از نسخه 1.5 به بعد یک متد استاتیک ترجمه نظیر به نظیر خطا هم اضافه شده که خطاها را می تواند قبل از نمایش تا حد امکان ترجمه کند.

private void AddErrors(IdentityResult result)
{
  foreach (var error in result.Errors)
    {
      ModelState.AddModelError("", PersianDataAnnotations.TranslateError.Translate(error));
    }
}

‫ متد بالا در کلاس های پیش فرض AccountController یا مشابه آن وجود دارد فقط به آن ترجمه متن خطا اضافه شده است

نکات

  • ‫امکان تغییر Resource برای جلوگیری از تکرار ErrorMessageResourceType در هنگام RegisterAdapters دیده شده است
  • ‫با جستجوی عنوان پروژه در NuGet می توانید از ابزار NuGet در ویژوال استودیو استفاده کنید و کتابخانه را به سادگی به پروژه اضافه کنید
  • سعی شده نقطه از آخر پیام ها حذف شود برای انطباق بیشتر با برنامه های چپ به راست
  • سعی شده پیام ها با فارسی روان نه پارسی بسیار ادبی و دور از ادبیات عامه بیان شود
  • سعی شده از بیشتر از است به جای مصدر نادرست باشیدن استفاده شود

پشتیبانی

لطفا اگر ترجمه بهتری برای یک عبارت یافته اید لطفا اگر مشکلی مشاهده کردید لطفا اگر پیشنهادی دارید

  • ‫یا Fork & Pull کنید
  • ‫یا Share Issue کنید
  • ‫یا لااقل یه تلفن یا موبایل بزنید به طراحی وب ایران

License

The project is dedicated to public and is free for all uses, commercial or otherwise. Supported by Web Design Iran

این پروژه تحت حمایت طراحی وب ایران بوده و برای استفاده تجاری یا غیر تجاری، رایگان است