Browse Source

Blog Module Update Time Ago Convert Method

pull/16941/head
Salih 3 years ago
parent
commit
b9b21c48b9
  1. 17
      modules/blogging/app/Volo.BloggingTestApp/Startup.cs
  2. 7
      modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/en.json
  3. 51
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/BloggingPageHelper.cs

17
modules/blogging/app/Volo.BloggingTestApp/Startup.cs

@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Volo.Abp;
using Volo.Abp.Localization;
namespace Volo.BloggingTestApp
{
@ -12,6 +13,22 @@ namespace Volo.BloggingTestApp
public void ConfigureServices(IServiceCollection services)
{
services.AddApplication<BloggingTestAppModule>();
services.Configure<AbpLocalizationOptions>(options =>
{
options.Languages.Add(new LanguageInfo("ar", "ar", "العربية", "ae"));
options.Languages.Add(new LanguageInfo("en", "en", "English", "gb"));
options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština", "cz"));
options.Languages.Add(new LanguageInfo("fi", "fi", "Finnish", "fi"));
options.Languages.Add(new LanguageInfo("fr", "fr", "Français", "fr"));
options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak", "sk"));
options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi", "in"));
options.Languages.Add(new LanguageInfo("it", "it", "Italiano", "it"));
options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe", "tr"));
options.Languages.Add(new LanguageInfo("pt-BR", "pt-BR", "Português", "br"));
options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文", "cn"));
options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁体中文", "cn"));
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)

7
modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/en.json

@ -19,12 +19,19 @@
"ReplyTo": "Reply To {0}",
"ContinueReading": "Continue Reading",
"DaysAgo": "{0} days ago",
"DayAgo": "{0} day ago",
"YearsAgo": "{0} years ago",
"YearAgo": "{0} year ago",
"MonthsAgo": "{0} months ago",
"MonthAgo": "{0} month ago",
"WeeksAgo": "{0} weeks ago",
"WeekAgo": "{0} week ago",
"MinutesAgo": "{0} minutes ago",
"MinuteAgo": "{0} minute ago",
"SecondsAgo": "{0} seconds ago",
"SecondAgo": "{0} second ago",
"HoursAgo": "{0} hours ago",
"HourAgo": "{0} hour ago",
"Now": "now",
"Content": "Content",
"SeeAll": "See All",

51
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/BloggingPage.cs → modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/BloggingPageHelper.cs

@ -1,4 +1,5 @@
using System;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@ -6,6 +7,7 @@ using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc.Localization;
using Markdig;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Localization;
using Volo.Blogging.Localization;
namespace Volo.Blogging.Pages.Blog
@ -102,39 +104,36 @@ namespace Volo.Blogging.Pages.Blog
var diffInDays = (int) timeDiff.TotalDays;
if (diffInDays >= 365)
switch (diffInDays)
{
return L["YearsAgo", diffInDays / 365];
}
if (diffInDays >= 30)
{
return L["MonthsAgo", diffInDays / 30];
}
if (diffInDays >= 7)
{
return L["WeeksAgo", diffInDays / 7];
}
if (diffInDays >= 1)
{
return L["DaysAgo", diffInDays];
case >= 365:
return ConvertDatetimeToTimeAgo("YearsAgo", "YearAgo", diffInDays / 365);
case >= 30:
return ConvertDatetimeToTimeAgo("MonthsAgo", "MonthAgo", diffInDays / 30);
case >= 7:
return ConvertDatetimeToTimeAgo("WeeksAgo", "WeekAgo", diffInDays / 7);
case >= 1:
return ConvertDatetimeToTimeAgo("DaysAgo", "DayAgo", diffInDays);
}
var diffInSeconds = (int) timeDiff.TotalSeconds;
if (diffInSeconds >= 3600)
switch (diffInSeconds)
{
return L["HoursAgo", diffInSeconds / 3600];
case >= 3600:
return ConvertDatetimeToTimeAgo("HoursAgo", "HourAgo", diffInSeconds / 3600);
case >= 60:
return ConvertDatetimeToTimeAgo("MinutesAgo", "MinuteAgo", diffInSeconds / 60);
case >= 1:
return ConvertDatetimeToTimeAgo("SecondsAgo", "SecondAgo", diffInSeconds);
default:
return L["Now"];
}
if (diffInSeconds >= 60)
{
return L["MinutesAgo", diffInSeconds / 60];
}
if (diffInSeconds >= 1)
{
return L["SecondsAgo", diffInSeconds];
}
return L["Now"];
}
protected virtual LocalizedHtmlString ConvertDatetimeToTimeAgo(string pluralKey, string singularKey, int value)
{
return value != 1 ? L[pluralKey, value] : L[singularKey, value];
}
}
}
Loading…
Cancel
Save