Используйте григорианское свидание с не-английским sh Культура в рамках Abp. NET Core 3 - PullRequest
1 голос
/ 23 февраля 2020

При изменении языка в шаблоне ASP. net (. NET core 3 с Angular) дата в пользовательском интерфейсе была изменена на Ar Culture. Я хочу использовать григорианскую дату с Ar Culture. Есть ли какое-нибудь прямое решение без большого количества обходных путей, которое я нашел ниже, предлагает решение, но я не предпочитаю, чтобы решения

https://forum.aspnetboilerplate.com/viewtopic.php?p=26993

Отредактировано (более подробно) :

в рамках Abp есть многоязычная опция, поэтому, когда я переключаю язык на арабский c, вся системная культура переключается на арабскую c культуру с форматом даты хиджры, я хочу изменить От системы к араби c культура с григорианской датой, как я могу это сделать, и если есть настроенный код, куда я должен его поместить (например, в классе Startup.cs), потому что я пробовал настроенный код, но система этого не сделала принять его в функции настройки в классе Startup.cs

код класса Startup.cs

 public void Configure(IApplicationBuilder app,  ILoggerFactory loggerFactory)
        {
/*****************************************************************************/

            CultureInfo myCIintl = new CultureInfo("ar-SA", false);
            Calendar[] myOptCals = new CultureInfo("ar-SA").OptionalCalendars;
            // Checks which ones are GregorianCalendar then determines the GregorianCalendar version.
            Console.WriteLine("The ar-SA culture supports the following calendars:");
            foreach (Calendar cal in myOptCals)
            {

                if (cal.GetType() == typeof(GregorianCalendar))
                {

                    GregorianCalendar myGreCal = (GregorianCalendar)cal;
                    myCIintl.DateTimeFormat.Calendar = myGreCal;
                    GregorianCalendarTypes calType = myGreCal.CalendarType;
                    Console.WriteLine("   {0} ({1})", cal, calType);
                }
                else
                {
                    Console.WriteLine("   {0}", cal);
                }
            }
/*****************************************************************************/

            app.UseAbp(options => { options.UseAbpRequestLocalization = false; }); // Initializes ABP framework.

            app.UseCors(_defaultCorsPolicyName); // Enable CORS!

            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();

            app.UseAbpRequestLocalization();


            app.UseEndpoints(endpoints =>
            {
                endpoints.MapHub<AbpCommonHub>("/signalr");
                endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
                endpoints.MapControllerRoute("defaultWithArea", "{area}/{controller=Home}/{action=Index}/{id?}");
            });

            // Enable middleware to serve generated Swagger as a JSON endpoint
            app.UseSwagger();
            // Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.)
            app.UseSwaggerUI(options =>
            {
                options.SwaggerEndpoint(_appConfiguration["App:ServerRootAddress"].EnsureEndsWith('/') + "swagger/v1/swagger.json", "MyApp API V1");
                options.IndexStream = () => Assembly.GetExecutingAssembly()
                    .GetManifestResourceStream("MyApp .Web.Host.wwwroot.swagger.ui.index.html");
            }); // URL: /swagger
        }

1 Ответ

1 голос
/ 25 февраля 2020

Я нашел решение (простое обходное решение):

прежде всего, если вам нужна обширная информация, относящаяся к дате и календарному обзору эта ссылка , но я сделал следующее:

1- Go до AbpLanguages ​​ таблица базы данных и удаление всех записей.

2- В DefaultLanguagesCreator изменение класса ar до ar-EG , поскольку для календаря по умолчанию ar Культура установлен System.Globalization.UmAlQuraCalendar, а для ar-EG культура календаря по умолчанию для него является Система. Globalization.GregorianCalendar (нужный мне календарь)

3 - затем очистите, перестройте решение.

4 - Не забудьте изменить культуру в файле локализации XML на ар-EG .

...