GetAvailableLanguages()
{
diff --git a/ProjectLighthouse.Localization/StringLists/LandingPageStrings.cs b/ProjectLighthouse.Localization/StringLists/LandingPageStrings.cs
index e7c46916..6a0b58d8 100644
--- a/ProjectLighthouse.Localization/StringLists/LandingPageStrings.cs
+++ b/ProjectLighthouse.Localization/StringLists/LandingPageStrings.cs
@@ -11,5 +11,5 @@ public static class LandingPageStrings
public static readonly TranslatableString AuthAttemptsPending = create("authAttemptsPending");
- private static TranslatableString create(string key) => new(TranslationAreas.BaseLayout, key);
+ private static TranslatableString create(string key) => new(TranslationAreas.LandingPage, key);
}
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/TranslatableString.cs b/ProjectLighthouse.Localization/TranslatableString.cs
index 4805a2ab..89530be6 100644
--- a/ProjectLighthouse.Localization/TranslatableString.cs
+++ b/ProjectLighthouse.Localization/TranslatableString.cs
@@ -13,8 +13,12 @@ public class TranslatableString
public string Translate(string language) => LocalizationManager.GetLocalizedString(this.Area, language, this.Key);
+ // CS0809 is a warning about obsolete methods overriding non-obsoleted methods.
+ // That works against what we're trying to do here, so we disable the warning here.
+ #pragma warning disable CS0809
[Obsolete("Do not translate by using ToString. Use TranslatableString.Translate().", true)]
public override string ToString() => "NOT TRANSLATED CORRECTLY!";
+ #pragma warning restore CS0809
[Obsolete("Do not translate by using ToString. Use TranslatableString.Translate().", true)]
public static implicit operator string(TranslatableString _) => "NOT TRANSLATED CORRECTLY!";
diff --git a/ProjectLighthouse/Pages/LandingPage.cshtml b/ProjectLighthouse/Pages/LandingPage.cshtml
index 098f5e4e..99b4484f 100644
--- a/ProjectLighthouse/Pages/LandingPage.cshtml
+++ b/ProjectLighthouse/Pages/LandingPage.cshtml
@@ -1,4 +1,5 @@
@page "/"
+@using LBPUnion.ProjectLighthouse.Localization.StringLists
@using LBPUnion.ProjectLighthouse.Types
@using LBPUnion.ProjectLighthouse.Types.Settings
@model LBPUnion.ProjectLighthouse.Pages.LandingPage
@@ -7,11 +8,11 @@
Layout = "Layouts/BaseLayout";
Model.ShowTitleInPage = false;
}
-Welcome to Project Lighthouse!
+@Model.Translate(LandingPageStrings.Welcome)
@if (Model.User != null)
{
- You are currently logged in as @Model.User.Username.
+ @string.Format(Model.Translate(LandingPageStrings.LoggedInAs), $"{Model.User.Username}")
// TODO: make this bold
if (ServerSettings.Instance.UseExternalAuth && Model.AuthenticationAttemptsCount > 0)
{
@@ -22,7 +23,7 @@
@if (Model.PlayersOnlineCount == 1)
{
-
There is 1 user currently online:
+ @Model.Translate(LandingPageStrings.UsersSingle)
@foreach (User user in Model.PlayersOnline)
{
@user.Username
@@ -31,7 +32,7 @@
else if (Model.PlayersOnlineCount == 0)
{
- There are no users online. Why not hop on?
+ @Model.Translate(LandingPageStrings.UsersNone)
}
else
{
diff --git a/ProjectLighthouse/Startup/Startup.cs b/ProjectLighthouse/Startup/Startup.cs
index 488e6371..fb78e597 100644
--- a/ProjectLighthouse/Startup/Startup.cs
+++ b/ProjectLighthouse/Startup/Startup.cs
@@ -94,7 +94,9 @@ public class Startup
(
config =>
{
- List languages = LocalizationManager.GetAvailableLanguages().Select(l => new CultureInfo(l)).ToList();
+ List languages = LocalizationManager.GetAvailableLanguages()
+ .Select(l => new CultureInfo(LocalizationManager.MapLanguage(l)))
+ .ToList();
config.DefaultRequestCulture = new RequestCulture(new CultureInfo("en-US"));