Skip to content

Fix: Fixed group by date #11845

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Mar 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ namespace Files.App.ServicesImplementation.DateTimeFormatter
{
internal abstract class AbstractDateTimeFormatter : IDateTimeFormatter
{
private static readonly CultureInfo cultureInfo = new(ApplicationLanguages.Languages[0]);
private static readonly CultureInfo cultureInfo
= ApplicationLanguages.PrimaryLanguageOverride == string.Empty ? CultureInfo.CurrentCulture : new(ApplicationLanguages.PrimaryLanguageOverride);

public abstract string Name { get; }

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

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

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

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

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

private class Label : ITimeSpanLabel
Expand All @@ -56,8 +56,8 @@ private class Label : ITimeSpanLabel

public int Index { get; }

public Label(string textKey, string glyph, int index)
=> (Text, Glyph, Index) = (textKey.GetLocalizedResource(), glyph, index);
public Label(string text, string glyph, int index)
=> (Text, Glyph, Index) = (text, glyph, index);
}
}
}
8 changes: 4 additions & 4 deletions src/Files.App/Strings/af/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1450,19 +1450,19 @@
<data name="Today" xml:space="preserve">
<value>Vandag</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Gister</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Vroeër hierdie week</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>Verlede week</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Hierdie maand</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Verlede maand</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
2 changes: 1 addition & 1 deletion src/Files.App/Strings/ar/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,7 +1449,7 @@
<data name="Today" xml:space="preserve">
<value>اليوم</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>أمس</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
Expand Down
4 changes: 2 additions & 2 deletions src/Files.App/Strings/bg/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,7 +1449,7 @@
<data name="Today" xml:space="preserve">
<value>Днес</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Вчера</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
Expand All @@ -1461,7 +1461,7 @@
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Този месец</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Миналият месец</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
4 changes: 2 additions & 2 deletions src/Files.App/Strings/ca/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,10 +1449,10 @@
<data name="Today" xml:space="preserve">
<value>Avui</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Ahir</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Al principi d'aquesta setmana</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
Expand Down
4 changes: 2 additions & 2 deletions src/Files.App/Strings/cs-CZ/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,10 +1449,10 @@
<data name="Today" xml:space="preserve">
<value>Dnes</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Včera</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Dříve tento týden</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
Expand Down
8 changes: 4 additions & 4 deletions src/Files.App/Strings/da-DK/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1800,19 +1800,19 @@
<data name="Today" xml:space="preserve">
<value>I dag</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>I går</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Tidligere i denne uge</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>Sidste uge</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Denne måned</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Sidste måned</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
8 changes: 4 additions & 4 deletions src/Files.App/Strings/da/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,19 +1449,19 @@
<data name="Today" xml:space="preserve">
<value>I dag</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>I går</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Tidligere i denne uge</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>Sidste uge</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Denne måned</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Sidste måned</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
8 changes: 4 additions & 4 deletions src/Files.App/Strings/de-DE/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,19 +1449,19 @@
<data name="Today" xml:space="preserve">
<value>Heute</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Gestern</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Anfang dieser Woche</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>Letzte Woche</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Diesen Monat</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Letzten Monat</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
8 changes: 4 additions & 4 deletions src/Files.App/Strings/el/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,19 +1449,19 @@
<data name="Today" xml:space="preserve">
<value>Σήμερα</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Χθες</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Νωρίτερα αυτή την εβδομάδα</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>Την περασμένη εβδομάδα</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Αυτόν τον μήνα</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Τον περασμένο μήνα</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
8 changes: 4 additions & 4 deletions src/Files.App/Strings/en-GB/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,19 +1449,19 @@
<data name="Today" xml:space="preserve">
<value>Today</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Yesterday</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Earlier this week</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>Last week</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>This month</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Last month</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
30 changes: 18 additions & 12 deletions src/Files.App/Strings/en-US/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1446,29 +1446,35 @@
<data name="ItemSizeText_Tiny" xml:space="preserve">
<value>Tiny</value>
</data>
<data name="Future" xml:space="preserve">
<value>Future</value>
</data>
<data name="Today" xml:space="preserve">
<value>Today</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Yesterday</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Earlier this week</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>Last week</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>This month</value>
<data name="EarlierThisMonth" xml:space="preserve">
<value>Earlier this month</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Last month</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
<value>This year</value>
<data name="EarlierThisYear" xml:space="preserve">
<value>Earlier this year</value>
</data>
<data name="LastYear" xml:space="preserve">
<value>Last year</value>
</data>
<data name="ItemTimeText_Older" xml:space="preserve">
<value>Older</value>
<data name="YearN" xml:space="preserve">
<value>Year {0}</value>
</data>
<data name="GroupItemsCount_Singular" xml:space="preserve">
<value>{0} item</value>
Expand Down Expand Up @@ -2658,10 +2664,10 @@
<data name="ToggleCompactOverlayDescription" xml:space="preserve">
<value>Toggle compact overlay</value>
</data>
<data name="EnterCompactOverlayDescription" xml:space="preserve">
<data name="EnterCompactOverlayDescription" xml:space="preserve">
<value>Enter compact overlay</value>
</data>
<data name="ExitCompactOverlayDescription" xml:space="preserve">
<data name="ExitCompactOverlayDescription" xml:space="preserve">
<value>Exit compact overlay</value>
</data>
</root>
8 changes: 4 additions & 4 deletions src/Files.App/Strings/es-419/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,19 +1449,19 @@
<data name="Today" xml:space="preserve">
<value>Hoy</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Ayer</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>A principios de esta semana</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>La semana pasada</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Este mes</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>El mes pasado</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
8 changes: 4 additions & 4 deletions src/Files.App/Strings/es-ES/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,19 +1449,19 @@
<data name="Today" xml:space="preserve">
<value>Hoy</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Ayer</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>A principios de esta semana</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>La semana pasada</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Este mes</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>El mes pasado</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
8 changes: 4 additions & 4 deletions src/Files.App/Strings/fi-FI/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1449,19 +1449,19 @@
<data name="Today" xml:space="preserve">
<value>Tänään</value>
</data>
<data name="ItemTimeText_Yesterday" xml:space="preserve">
<data name="Yesterday" xml:space="preserve">
<value>Eilen</value>
</data>
<data name="ItemTimeText_ThisWeek" xml:space="preserve">
<data name="EarlierThisWeek" xml:space="preserve">
<value>Aiemmin tällä viikolla</value>
</data>
<data name="ItemTimeText_LastWeek" xml:space="preserve">
<data name="LastWeek" xml:space="preserve">
<value>Viime viikolla</value>
</data>
<data name="ItemTimeText_ThisMonth" xml:space="preserve">
<value>Tässä kuussa</value>
</data>
<data name="ItemTimeText_LastMonth" xml:space="preserve">
<data name="LastMonth" xml:space="preserve">
<value>Viime kuussa</value>
</data>
<data name="ItemTimeText_ThisYear" xml:space="preserve">
Expand Down
Loading