diff --git a/ProjectLighthouse.Localization/General.resx b/ProjectLighthouse.Localization/General.resx
index 41f4ff69..ee62ec87 100644
--- a/ProjectLighthouse.Localization/General.resx
+++ b/ProjectLighthouse.Localization/General.resx
@@ -63,4 +63,13 @@
Notifications
+
+ Comments
+
+
+ Heart
+
+
+ Unheart
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Profile.resx b/ProjectLighthouse.Localization/Profile.resx
index f2b43522..45aeba9e 100644
--- a/ProjectLighthouse.Localization/Profile.resx
+++ b/ProjectLighthouse.Localization/Profile.resx
@@ -30,4 +30,58 @@
Profile Tag
+
+ Playlists
+
+
+ Hearted Levels
+
+
+ Queued Levels
+
+
+ Profile Settings
+
+
+ Privacy Settings
+
+
+ Block
+
+
+ Unblock
+
+
+ This user is currently banned.
+
+
+ Reason:
+
+
+ This user has been banned for violating the Terms of Service. Remember to follow the rules!
+
+
+ The user's privacy settings prevent you from viewing this page.
+
+
+ Comments are disabled because the user is banned.
+
+
+ This user hasn't uploaded any photos
+
+
+ This user hasn't published any levels
+
+
+ You haven't hearted any levels
+
+
+ You have hearted {0} levels
+
+
+ You haven't queued any levels
+
+
+ There are {0} levels in your queue
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/StringLists/GeneralStrings.cs b/ProjectLighthouse.Localization/StringLists/GeneralStrings.cs
index de05e8f8..a84245f0 100644
--- a/ProjectLighthouse.Localization/StringLists/GeneralStrings.cs
+++ b/ProjectLighthouse.Localization/StringLists/GeneralStrings.cs
@@ -17,6 +17,9 @@ public static class GeneralStrings
public static readonly TranslatableString Soon = create("soon");
public static readonly TranslatableString Announcements = create("announcements");
public static readonly TranslatableString Notifications = create("notifications");
+ public static readonly TranslatableString Comments = create("comments");
+ public static readonly TranslatableString Heart = create("heart");
+ public static readonly TranslatableString Unheart = create("unheart");
private static TranslatableString create(string key) => new(TranslationAreas.General, key);
}
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/StringLists/ProfileStrings.cs b/ProjectLighthouse.Localization/StringLists/ProfileStrings.cs
index 73b3ae18..0a819302 100644
--- a/ProjectLighthouse.Localization/StringLists/ProfileStrings.cs
+++ b/ProjectLighthouse.Localization/StringLists/ProfileStrings.cs
@@ -6,6 +6,24 @@ public static class ProfileStrings
public static readonly TranslatableString Biography = create("biography");
public static readonly TranslatableString NoBiography = create("no_biography");
public static readonly TranslatableString ProfileTag = create("profile_tag");
+ public static readonly TranslatableString Playlists = create("playlists");
+ public static readonly TranslatableString HeartedLevels = create("hearted_levels");
+ public static readonly TranslatableString QueuedLevels = create("queued_levels");
+ public static readonly TranslatableString ProfileSettings = create("profile_settings");
+ public static readonly TranslatableString PrivacySettings = create("privacy_settings");
+ public static readonly TranslatableString Block = create("block");
+ public static readonly TranslatableString Unblock = create("unblock");
+ public static readonly TranslatableString UserBanned = create("user_banned");
+ public static readonly TranslatableString BanReason = create("ban_reason");
+ public static readonly TranslatableString BanReasonTOS = create("ban_reason_tos");
+ public static readonly TranslatableString PrivacyHidden = create("privacy_hidden");
+ public static readonly TranslatableString CommentsBanned = create("comments_banned");
+ public static readonly TranslatableString NoPhotos = create("no_photos");
+ public static readonly TranslatableString NoLevels = create("no_levels");
+ public static readonly TranslatableString NoHeartedLevels = create("no_hearted_levels");
+ public static readonly TranslatableString HeartedLevelsCount = create("hearted_levels_count");
+ public static readonly TranslatableString NoQueuedLevels = create("no_queued_levels");
+ public static readonly TranslatableString QueuedLevelsCount = create("queued_levels_count");
private static TranslatableString create(string key) => new(TranslationAreas.Profile, key);
}
\ No newline at end of file
diff --git a/ProjectLighthouse.Servers.Website/Pages/UserPage.cshtml b/ProjectLighthouse.Servers.Website/Pages/UserPage.cshtml
index 84d9e0ba..6fd94e18 100644
--- a/ProjectLighthouse.Servers.Website/Pages/UserPage.cshtml
+++ b/ProjectLighthouse.Servers.Website/Pages/UserPage.cshtml
@@ -23,15 +23,15 @@
@if (Model.ProfileUser.IsBanned)
{
-
This user is currently banned.
+
@Model.Translate(ProfileStrings.UserBanned)
@if (Model.User != null && Model.User.IsModerator)
{
-
Reason:
+
@Model.Translate(ProfileStrings.BanReason)
"@Model.ProfileUser.BannedReason"
}
else
{
-
This user has been banned for violating the Terms of Service. Remember to follow the rules!
+
@Model.Translate(ProfileStrings.BanReasonTOS)
}
}
@@ -62,28 +62,28 @@
{
- Block
+ @Model.Translate(ProfileStrings.Block)
}
else
{
- Unblock
+ @Model.Translate(ProfileStrings.Unblock)
}
if (!Model.IsProfileUserHearted)
{
- Heart
+ @Model.Translate(GeneralStrings.Heart)
}
else
{
- Unheart
+ @Model.Translate(GeneralStrings.Unheart)
}
}
@@ -91,14 +91,14 @@
{
- Privacy Settings
+ @Model.Translate(ProfileStrings.PrivacySettings)
}
@if (Model.ProfileUser == Model.User || (Model.User?.IsModerator ?? false))
{
- Profile Settings
+ @Model.Translate(ProfileStrings.ProfileSettings)
}
@if (Model.ProfileUser == Model.User)
@@ -149,7 +149,7 @@
{
- The user's privacy settings prevent you from viewing this page.
+ @Model.Translate(ProfileStrings.PrivacyHidden)
}
@@ -163,7 +163,7 @@ else
@if (Model.User == Model.ProfileUser)
{
}
@@ -195,7 +195,7 @@ else
{
}
@@ -230,7 +230,7 @@ else
}
else
{
-
This user hasn't uploaded any photos
+
@Model.Translate(ProfileStrings.NoPhotos)
}
@@ -239,7 +239,7 @@ else
{
- The user's privacy settings prevent you from viewing this page.
+ @Model.Translate(ProfileStrings.PrivacyHidden).
}
@@ -248,7 +248,7 @@ else
@if (Model.Slots?.Count == 0)
{
-
This user hasn't published any levels
+
@Model.Translate(ProfileStrings.NoLevels)
}
@foreach (SlotEntity slot in Model.Slots ?? new List
())
{
@@ -270,11 +270,11 @@ else
@if (Model.HeartedSlots?.Count == 0)
{
-
You haven't hearted any levels
+
@Model.Translate(ProfileStrings.NoHeartedLevels)
}
else
{
-
You have hearted @(Model.HeartedSlots?.Count) levels
+
@Model.Translate(ProfileStrings.HeartedLevelsCount, Model.HeartedSlots?.Count)
}
@foreach (SlotEntity slot in Model.HeartedSlots ?? new List
())
{
@@ -288,11 +288,11 @@ else
@if (Model.QueuedSlots?.Count == 0)
{
-
You haven't queued any levels
+
@Model.Translate(ProfileStrings.NoQueuedLevels)
}
else
{
-
There are @(Model.QueuedSlots?.Count) levels in your queue
+
@Model.Translate(ProfileStrings.QueuedLevelsCount, Model.QueuedSlots?.Count)
}
@foreach (SlotEntity slot in Model.QueuedSlots ?? new List
())
{