Skip to content

Commit 1e7d51c

Browse files
authored
Fix: Fixed group by date (#11845)
1 parent 8288b09 commit 1e7d51c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+196
-190
lines changed

src/Files.App/ServicesImplementation/DateTimeFormatter/AbstractDateTimeFormatter.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ namespace Files.App.ServicesImplementation.DateTimeFormatter
88
{
99
internal abstract class AbstractDateTimeFormatter : IDateTimeFormatter
1010
{
11-
private static readonly CultureInfo cultureInfo = new(ApplicationLanguages.Languages[0]);
11+
private static readonly CultureInfo cultureInfo
12+
= ApplicationLanguages.PrimaryLanguageOverride == string.Empty ? CultureInfo.CurrentCulture : new(ApplicationLanguages.PrimaryLanguageOverride);
1213

1314
public abstract string Name { get; }
1415

@@ -23,19 +24,19 @@ public ITimeSpanLabel ToTimeSpanLabel(DateTimeOffset offset)
2324
var time = offset.ToLocalTime();
2425

2526
var diff = now - offset;
26-
var y = now.AddDays(-1);
27-
var w = now.AddDays(diff.Days * -1);
2827

2928
return 0 switch
3029
{
31-
_ when now.Date == time.Date => new Label("Today", "\ue184", 7),
32-
_ when y.Date == time.Date => new Label("ItemTimeText_Yesterday", "\ue161", 6),
33-
_ when diff.Days < 7 && w.Year == time.Year && GetWeekOfYear(w) == GetWeekOfYear(time) => new Label("ItemTimeText_ThisWeek", "\uE162", 5),
34-
_ when diff.Days < 14 && w.Year == time.Year && GetWeekOfYear(w) == GetWeekOfYear(time) => new Label("ItemTimeText_LastWeek", "\uE162", 4),
35-
_ when now.Year == time.Year && now.Month == time.Month => new Label("ItemTimeText_ThisMonth", "\ue163", 3),
36-
_ when now.AddMonths(-1).Year == time.Year && now.AddMonths(-1).Month == time.Month => new Label("ItemTimeText_LastMonth", "\ue163", 2),
37-
_ when now.Year == time.Year => new Label("ItemTimeText_ThisYear", "\ue163", 1),
38-
_ => new Label("ItemTimeText_Older", "\uEC92", 0),
30+
_ when now.Date < time.Date => new Label("Future".GetLocalizedResource(), "\uED28", 9),
31+
_ when now.Date == time.Date => new Label("Today".GetLocalizedResource(), "\uE8D1", 8),
32+
_ when now.AddDays(-1).Date == time.Date => new Label("Yesterday".GetLocalizedResource(), "\uE8BF", 7),
33+
_ when diff.Days <= 7 && GetWeekOfYear(now) == GetWeekOfYear(time) => new Label("EarlierThisWeek".GetLocalizedResource(), "\uE8C0", 6),
34+
_ when diff.Days <= 14 && GetWeekOfYear(now.AddDays(-7)) == GetWeekOfYear(time) => new Label("LastWeek".GetLocalizedResource(), "\uE8C0", 5),
35+
_ when now.Year == time.Year && now.Month == time.Month => new Label("EarlierThisMonth".GetLocalizedResource(), "\uE787", 4),
36+
_ when now.AddMonths(-1).Year == time.Year && now.AddMonths(-1).Month == time.Month => new Label("LastMonth".GetLocalizedResource(), "\uE787", 3),
37+
_ when now.Year == time.Year => new Label("EarlierThisYear".GetLocalizedResource(), "\uEC92", 2),
38+
_ when now.AddYears(-1).Year == time.Year => new Label("LastYear".GetLocalizedResource(), "\uEC92", 1),
39+
_ => new Label(string.Format("YearN".GetLocalizedResource(), time.Year), "\uEC92", 0),
3940
};
4041
}
4142

@@ -44,8 +45,7 @@ protected static string ToString(DateTimeOffset offset, string format)
4445

4546
private static int GetWeekOfYear(DateTimeOffset t)
4647
{
47-
// Should we use the system setting for the first day of week in the future?
48-
return cultureInfo.Calendar.GetWeekOfYear(t.DateTime, CalendarWeekRule.FirstDay, System.DayOfWeek.Sunday);
48+
return cultureInfo.Calendar.GetWeekOfYear(t.DateTime, CalendarWeekRule.FirstFullWeek, cultureInfo.DateTimeFormat.FirstDayOfWeek);
4949
}
5050

5151
private class Label : ITimeSpanLabel
@@ -56,8 +56,8 @@ private class Label : ITimeSpanLabel
5656

5757
public int Index { get; }
5858

59-
public Label(string textKey, string glyph, int index)
60-
=> (Text, Glyph, Index) = (textKey.GetLocalizedResource(), glyph, index);
59+
public Label(string text, string glyph, int index)
60+
=> (Text, Glyph, Index) = (text, glyph, index);
6161
}
6262
}
6363
}

src/Files.App/Strings/af/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1450,19 +1450,19 @@
14501450
<data name="Today" xml:space="preserve">
14511451
<value>Vandag</value>
14521452
</data>
1453-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1453+
<data name="Yesterday" xml:space="preserve">
14541454
<value>Gister</value>
14551455
</data>
1456-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1456+
<data name="EarlierThisWeek" xml:space="preserve">
14571457
<value>Vroeër hierdie week</value>
14581458
</data>
1459-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1459+
<data name="LastWeek" xml:space="preserve">
14601460
<value>Verlede week</value>
14611461
</data>
14621462
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14631463
<value>Hierdie maand</value>
14641464
</data>
1465-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1465+
<data name="LastMonth" xml:space="preserve">
14661466
<value>Verlede maand</value>
14671467
</data>
14681468
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/ar/Resources.resw

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1449,7 +1449,7 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>اليوم</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>أمس</value>
14541454
</data>
14551455
<data name="ItemTimeText_ThisWeek" xml:space="preserve">

src/Files.App/Strings/bg/Resources.resw

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,7 +1449,7 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Днес</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Вчера</value>
14541454
</data>
14551455
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
@@ -1461,7 +1461,7 @@
14611461
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14621462
<value>Този месец</value>
14631463
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1464+
<data name="LastMonth" xml:space="preserve">
14651465
<value>Миналият месец</value>
14661466
</data>
14671467
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/ca/Resources.resw

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,10 +1449,10 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Avui</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Ahir</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>Al principi d'aquesta setmana</value>
14571457
</data>
14581458
<data name="ItemTimeText_LastWeek" xml:space="preserve">

src/Files.App/Strings/cs-CZ/Resources.resw

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,10 +1449,10 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Dnes</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Včera</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>Dříve tento týden</value>
14571457
</data>
14581458
<data name="ItemTimeText_LastWeek" xml:space="preserve">

src/Files.App/Strings/da-DK/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1800,19 +1800,19 @@
18001800
<data name="Today" xml:space="preserve">
18011801
<value>I dag</value>
18021802
</data>
1803-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1803+
<data name="Yesterday" xml:space="preserve">
18041804
<value>I går</value>
18051805
</data>
1806-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1806+
<data name="EarlierThisWeek" xml:space="preserve">
18071807
<value>Tidligere i denne uge</value>
18081808
</data>
1809-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1809+
<data name="LastWeek" xml:space="preserve">
18101810
<value>Sidste uge</value>
18111811
</data>
18121812
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
18131813
<value>Denne måned</value>
18141814
</data>
1815-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1815+
<data name="LastMonth" xml:space="preserve">
18161816
<value>Sidste måned</value>
18171817
</data>
18181818
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/da/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,19 +1449,19 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>I dag</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>I går</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>Tidligere i denne uge</value>
14571457
</data>
1458-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1458+
<data name="LastWeek" xml:space="preserve">
14591459
<value>Sidste uge</value>
14601460
</data>
14611461
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14621462
<value>Denne måned</value>
14631463
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1464+
<data name="LastMonth" xml:space="preserve">
14651465
<value>Sidste måned</value>
14661466
</data>
14671467
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/de-DE/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,19 +1449,19 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Heute</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Gestern</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>Anfang dieser Woche</value>
14571457
</data>
1458-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1458+
<data name="LastWeek" xml:space="preserve">
14591459
<value>Letzte Woche</value>
14601460
</data>
14611461
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14621462
<value>Diesen Monat</value>
14631463
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1464+
<data name="LastMonth" xml:space="preserve">
14651465
<value>Letzten Monat</value>
14661466
</data>
14671467
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/el/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,19 +1449,19 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Σήμερα</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Χθες</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>Νωρίτερα αυτή την εβδομάδα</value>
14571457
</data>
1458-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1458+
<data name="LastWeek" xml:space="preserve">
14591459
<value>Την περασμένη εβδομάδα</value>
14601460
</data>
14611461
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14621462
<value>Αυτόν τον μήνα</value>
14631463
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1464+
<data name="LastMonth" xml:space="preserve">
14651465
<value>Τον περασμένο μήνα</value>
14661466
</data>
14671467
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/en-GB/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,19 +1449,19 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Today</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Yesterday</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>Earlier this week</value>
14571457
</data>
1458-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1458+
<data name="LastWeek" xml:space="preserve">
14591459
<value>Last week</value>
14601460
</data>
14611461
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14621462
<value>This month</value>
14631463
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1464+
<data name="LastMonth" xml:space="preserve">
14651465
<value>Last month</value>
14661466
</data>
14671467
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/en-US/Resources.resw

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1446,29 +1446,35 @@
14461446
<data name="ItemSizeText_Tiny" xml:space="preserve">
14471447
<value>Tiny</value>
14481448
</data>
1449+
<data name="Future" xml:space="preserve">
1450+
<value>Future</value>
1451+
</data>
14491452
<data name="Today" xml:space="preserve">
14501453
<value>Today</value>
14511454
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1455+
<data name="Yesterday" xml:space="preserve">
14531456
<value>Yesterday</value>
14541457
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1458+
<data name="EarlierThisWeek" xml:space="preserve">
14561459
<value>Earlier this week</value>
14571460
</data>
1458-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1461+
<data name="LastWeek" xml:space="preserve">
14591462
<value>Last week</value>
14601463
</data>
1461-
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
1462-
<value>This month</value>
1464+
<data name="EarlierThisMonth" xml:space="preserve">
1465+
<value>Earlier this month</value>
14631466
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1467+
<data name="LastMonth" xml:space="preserve">
14651468
<value>Last month</value>
14661469
</data>
1467-
<data name="ItemTimeText_ThisYear" xml:space="preserve">
1468-
<value>This year</value>
1470+
<data name="EarlierThisYear" xml:space="preserve">
1471+
<value>Earlier this year</value>
1472+
</data>
1473+
<data name="LastYear" xml:space="preserve">
1474+
<value>Last year</value>
14691475
</data>
1470-
<data name="ItemTimeText_Older" xml:space="preserve">
1471-
<value>Older</value>
1476+
<data name="YearN" xml:space="preserve">
1477+
<value>Year {0}</value>
14721478
</data>
14731479
<data name="GroupItemsCount_Singular" xml:space="preserve">
14741480
<value>{0} item</value>
@@ -2658,10 +2664,10 @@
26582664
<data name="ToggleCompactOverlayDescription" xml:space="preserve">
26592665
<value>Toggle compact overlay</value>
26602666
</data>
2661-
<data name="EnterCompactOverlayDescription" xml:space="preserve">
2667+
<data name="EnterCompactOverlayDescription" xml:space="preserve">
26622668
<value>Enter compact overlay</value>
26632669
</data>
2664-
<data name="ExitCompactOverlayDescription" xml:space="preserve">
2670+
<data name="ExitCompactOverlayDescription" xml:space="preserve">
26652671
<value>Exit compact overlay</value>
26662672
</data>
26672673
</root>

src/Files.App/Strings/es-419/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,19 +1449,19 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Hoy</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Ayer</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>A principios de esta semana</value>
14571457
</data>
1458-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1458+
<data name="LastWeek" xml:space="preserve">
14591459
<value>La semana pasada</value>
14601460
</data>
14611461
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14621462
<value>Este mes</value>
14631463
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1464+
<data name="LastMonth" xml:space="preserve">
14651465
<value>El mes pasado</value>
14661466
</data>
14671467
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/es-ES/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,19 +1449,19 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Hoy</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Ayer</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>A principios de esta semana</value>
14571457
</data>
1458-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1458+
<data name="LastWeek" xml:space="preserve">
14591459
<value>La semana pasada</value>
14601460
</data>
14611461
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14621462
<value>Este mes</value>
14631463
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1464+
<data name="LastMonth" xml:space="preserve">
14651465
<value>El mes pasado</value>
14661466
</data>
14671467
<data name="ItemTimeText_ThisYear" xml:space="preserve">

src/Files.App/Strings/fi-FI/Resources.resw

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,19 +1449,19 @@
14491449
<data name="Today" xml:space="preserve">
14501450
<value>Tänään</value>
14511451
</data>
1452-
<data name="ItemTimeText_Yesterday" xml:space="preserve">
1452+
<data name="Yesterday" xml:space="preserve">
14531453
<value>Eilen</value>
14541454
</data>
1455-
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
1455+
<data name="EarlierThisWeek" xml:space="preserve">
14561456
<value>Aiemmin tällä viikolla</value>
14571457
</data>
1458-
<data name="ItemTimeText_LastWeek" xml:space="preserve">
1458+
<data name="LastWeek" xml:space="preserve">
14591459
<value>Viime viikolla</value>
14601460
</data>
14611461
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
14621462
<value>Tässä kuussa</value>
14631463
</data>
1464-
<data name="ItemTimeText_LastMonth" xml:space="preserve">
1464+
<data name="LastMonth" xml:space="preserve">
14651465
<value>Viime kuussa</value>
14661466
</data>
14671467
<data name="ItemTimeText_ThisYear" xml:space="preserve">

0 commit comments

Comments
 (0)