diff --git a/ProjectLighthouse.Localization/Error.lang-ar-SA.resx b/ProjectLighthouse.Localization/Error.lang-ar-SA.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-ar-SA.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-da-DK.resx b/ProjectLighthouse.Localization/Error.lang-da-DK.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-da-DK.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-de-DE.resx b/ProjectLighthouse.Localization/Error.lang-de-DE.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-de-DE.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-eo-UY.resx b/ProjectLighthouse.Localization/Error.lang-eo-UY.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-eo-UY.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-es-MX.resx b/ProjectLighthouse.Localization/Error.lang-es-MX.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-es-MX.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-fi-FI.resx b/ProjectLighthouse.Localization/Error.lang-fi-FI.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-fi-FI.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-fil-PH.resx b/ProjectLighthouse.Localization/Error.lang-fil-PH.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-fil-PH.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-fr-FR.resx b/ProjectLighthouse.Localization/Error.lang-fr-FR.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-fr-FR.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-ga-IE.resx b/ProjectLighthouse.Localization/Error.lang-ga-IE.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-ga-IE.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-ja-JP.resx b/ProjectLighthouse.Localization/Error.lang-ja-JP.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-ja-JP.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-no-NO.resx b/ProjectLighthouse.Localization/Error.lang-no-NO.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-no-NO.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-pl-PL.resx b/ProjectLighthouse.Localization/Error.lang-pl-PL.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-pl-PL.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-pt-PT.resx b/ProjectLighthouse.Localization/Error.lang-pt-PT.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-pt-PT.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-ru-RU.resx b/ProjectLighthouse.Localization/Error.lang-ru-RU.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-ru-RU.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-sv-SE.resx b/ProjectLighthouse.Localization/Error.lang-sv-SE.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-sv-SE.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-zh-CN.resx b/ProjectLighthouse.Localization/Error.lang-zh-CN.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-zh-CN.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.lang-zh-TW.resx b/ProjectLighthouse.Localization/Error.lang-zh-TW.resx
new file mode 100644
index 00000000..ab9123e9
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.lang-zh-TW.resx
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/Error.resx b/ProjectLighthouse.Localization/Error.resx
new file mode 100644
index 00000000..131424b0
--- /dev/null
+++ b/ProjectLighthouse.Localization/Error.resx
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The username field is blank.
+
+
+ The username you've chosen is already taken.
+
+
+ Password field is required.
+
+
+ Passwords do not match!
+
+
+ Invalid Token
+
+
+ You must complete the captcha correctly.
+
+
+ The email address you've chosen is already taken.
+
+
+ Email address field is required.
+
+
+ You have been banned. Please contact an administrator for more information.\nReason: {0}
+
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-ar-SA.resx b/ProjectLighthouse.Localization/General.lang-ar-SA.resx
index 165ebaf7..65d58616 100644
--- a/ProjectLighthouse.Localization/General.lang-ar-SA.resx
+++ b/ProjectLighthouse.Localization/General.lang-ar-SA.resx
@@ -38,4 +38,7 @@
غير معروف
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-da-DK.resx b/ProjectLighthouse.Localization/General.lang-da-DK.resx
index 00e19c4e..ad8c4c70 100644
--- a/ProjectLighthouse.Localization/General.lang-da-DK.resx
+++ b/ProjectLighthouse.Localization/General.lang-da-DK.resx
@@ -38,4 +38,7 @@
Ukendt
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-de-DE.resx b/ProjectLighthouse.Localization/General.lang-de-DE.resx
index 7aa6377c..9e7baf68 100644
--- a/ProjectLighthouse.Localization/General.lang-de-DE.resx
+++ b/ProjectLighthouse.Localization/General.lang-de-DE.resx
@@ -38,4 +38,7 @@
Unbekannt
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-eo-UY.resx b/ProjectLighthouse.Localization/General.lang-eo-UY.resx
index 28930b6c..60e8aedf 100644
--- a/ProjectLighthouse.Localization/General.lang-eo-UY.resx
+++ b/ProjectLighthouse.Localization/General.lang-eo-UY.resx
@@ -38,4 +38,7 @@
Nekonata
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-es-MX.resx b/ProjectLighthouse.Localization/General.lang-es-MX.resx
index 60af08c1..9e1bb2bc 100644
--- a/ProjectLighthouse.Localization/General.lang-es-MX.resx
+++ b/ProjectLighthouse.Localization/General.lang-es-MX.resx
@@ -38,4 +38,7 @@
Desconocido
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-fi-FI.resx b/ProjectLighthouse.Localization/General.lang-fi-FI.resx
index 82b7c5a6..355c437c 100644
--- a/ProjectLighthouse.Localization/General.lang-fi-FI.resx
+++ b/ProjectLighthouse.Localization/General.lang-fi-FI.resx
@@ -38,4 +38,7 @@
Tuntematon
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-fil-PH.resx b/ProjectLighthouse.Localization/General.lang-fil-PH.resx
index db841400..d39d5a0f 100644
--- a/ProjectLighthouse.Localization/General.lang-fil-PH.resx
+++ b/ProjectLighthouse.Localization/General.lang-fil-PH.resx
@@ -38,4 +38,7 @@
Hindi kilala
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-fr-FR.resx b/ProjectLighthouse.Localization/General.lang-fr-FR.resx
index df02a561..b2c09e7e 100644
--- a/ProjectLighthouse.Localization/General.lang-fr-FR.resx
+++ b/ProjectLighthouse.Localization/General.lang-fr-FR.resx
@@ -38,4 +38,7 @@
Inconnu
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-ga-IE.resx b/ProjectLighthouse.Localization/General.lang-ga-IE.resx
index 7252d310..8946a196 100644
--- a/ProjectLighthouse.Localization/General.lang-ga-IE.resx
+++ b/ProjectLighthouse.Localization/General.lang-ga-IE.resx
@@ -38,4 +38,7 @@
Unknown
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-ja-JP.resx b/ProjectLighthouse.Localization/General.lang-ja-JP.resx
index 47666d0a..fb24d47f 100644
--- a/ProjectLighthouse.Localization/General.lang-ja-JP.resx
+++ b/ProjectLighthouse.Localization/General.lang-ja-JP.resx
@@ -38,4 +38,7 @@
Unknown
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-no-NO.resx b/ProjectLighthouse.Localization/General.lang-no-NO.resx
index 9b2d9b4d..1fb0d685 100644
--- a/ProjectLighthouse.Localization/General.lang-no-NO.resx
+++ b/ProjectLighthouse.Localization/General.lang-no-NO.resx
@@ -38,4 +38,7 @@
Ukjent
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-pl-PL.resx b/ProjectLighthouse.Localization/General.lang-pl-PL.resx
index 1b9d7ee1..8cf16993 100644
--- a/ProjectLighthouse.Localization/General.lang-pl-PL.resx
+++ b/ProjectLighthouse.Localization/General.lang-pl-PL.resx
@@ -38,4 +38,7 @@
Unknown
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-pt-PT.resx b/ProjectLighthouse.Localization/General.lang-pt-PT.resx
index 2ed5b82a..fc35a018 100644
--- a/ProjectLighthouse.Localization/General.lang-pt-PT.resx
+++ b/ProjectLighthouse.Localization/General.lang-pt-PT.resx
@@ -38,4 +38,7 @@
Desconhecido
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-ru-RU.resx b/ProjectLighthouse.Localization/General.lang-ru-RU.resx
index 16552ccc..5651c80a 100644
--- a/ProjectLighthouse.Localization/General.lang-ru-RU.resx
+++ b/ProjectLighthouse.Localization/General.lang-ru-RU.resx
@@ -38,4 +38,7 @@
Неизвестно
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-sv-SE.resx b/ProjectLighthouse.Localization/General.lang-sv-SE.resx
index 1253c6e4..3e6a512a 100644
--- a/ProjectLighthouse.Localization/General.lang-sv-SE.resx
+++ b/ProjectLighthouse.Localization/General.lang-sv-SE.resx
@@ -38,4 +38,7 @@
Okänd
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-zh-CN.resx b/ProjectLighthouse.Localization/General.lang-zh-CN.resx
index 018d7c1f..53956542 100644
--- a/ProjectLighthouse.Localization/General.lang-zh-CN.resx
+++ b/ProjectLighthouse.Localization/General.lang-zh-CN.resx
@@ -38,4 +38,7 @@
未知
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.lang-zh-TW.resx b/ProjectLighthouse.Localization/General.lang-zh-TW.resx
index 9838ab1a..a36280c1 100644
--- a/ProjectLighthouse.Localization/General.lang-zh-TW.resx
+++ b/ProjectLighthouse.Localization/General.lang-zh-TW.resx
@@ -38,4 +38,7 @@
未知
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/General.resx b/ProjectLighthouse.Localization/General.resx
index 99b27d7d..2680edfa 100644
--- a/ProjectLighthouse.Localization/General.resx
+++ b/ProjectLighthouse.Localization/General.resx
@@ -39,4 +39,7 @@
Unknown
+
+ Success!
+
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/ProjectLighthouse.Localization.csproj b/ProjectLighthouse.Localization/ProjectLighthouse.Localization.csproj
index a54c6e3d..4eaa82d2 100644
--- a/ProjectLighthouse.Localization/ProjectLighthouse.Localization.csproj
+++ b/ProjectLighthouse.Localization/ProjectLighthouse.Localization.csproj
@@ -28,6 +28,10 @@
ResXFileCodeGenerator
Register.Designer.cs
+
+ ResXFileCodeGenerator
+ Error.Designer.cs
+
diff --git a/ProjectLighthouse.Localization/StringLists/ErrorStrings.cs b/ProjectLighthouse.Localization/StringLists/ErrorStrings.cs
new file mode 100644
index 00000000..ea942865
--- /dev/null
+++ b/ProjectLighthouse.Localization/StringLists/ErrorStrings.cs
@@ -0,0 +1,16 @@
+namespace LBPUnion.ProjectLighthouse.Localization.StringLists;
+
+public static class ErrorStrings
+{
+ public static readonly TranslatableString UsernameInvalid = create("username_invalid");
+ public static readonly TranslatableString UsernameTaken = create("username_taken");
+ public static readonly TranslatableString PasswordInvalid = create("password_invalid");
+ public static readonly TranslatableString PasswordDoesntMatch = create("password_doesnt_match");
+ public static readonly TranslatableString EmailInvalid = create("email_invalid");
+ public static readonly TranslatableString EmailTaken = create("email_taken");
+ public static readonly TranslatableString CaptchaFailed = create("captcha_failed");
+ public static readonly TranslatableString TokenInvalid = create("token_invalid");
+ public static readonly TranslatableString UserIsBanned = create("user_banned");
+
+ private static TranslatableString create(string key) => new(TranslationAreas.Error, key);
+}
\ No newline at end of file
diff --git a/ProjectLighthouse.Localization/StringLists/GeneralStrings.cs b/ProjectLighthouse.Localization/StringLists/GeneralStrings.cs
index 1b17015e..62000d92 100644
--- a/ProjectLighthouse.Localization/StringLists/GeneralStrings.cs
+++ b/ProjectLighthouse.Localization/StringLists/GeneralStrings.cs
@@ -6,6 +6,7 @@ public static class GeneralStrings
public static readonly TranslatableString Password = create("password");
public static readonly TranslatableString Register = create("register");
public static readonly TranslatableString ForgotPassword = create("forgot_password");
+ public static readonly TranslatableString Success = create("success");
public static readonly TranslatableString Error = create("error");
public static readonly TranslatableString LogIn = create("log_in");
public static readonly TranslatableString Unknown = create("unknown");
diff --git a/ProjectLighthouse.Localization/TranslationAreas.cs b/ProjectLighthouse.Localization/TranslationAreas.cs
index 0d1fd52f..07ca0f98 100644
--- a/ProjectLighthouse.Localization/TranslationAreas.cs
+++ b/ProjectLighthouse.Localization/TranslationAreas.cs
@@ -8,4 +8,5 @@ public enum TranslationAreas
LoggedOut,
Status,
Register,
+ Error,
}
\ No newline at end of file
diff --git a/ProjectLighthouse.Servers.Website/Pages/LoginForm.cshtml.cs b/ProjectLighthouse.Servers.Website/Pages/LoginForm.cshtml.cs
index 5c6ea815..204f877c 100644
--- a/ProjectLighthouse.Servers.Website/Pages/LoginForm.cshtml.cs
+++ b/ProjectLighthouse.Servers.Website/Pages/LoginForm.cshtml.cs
@@ -3,6 +3,7 @@ using JetBrains.Annotations;
using LBPUnion.ProjectLighthouse.Configuration;
using LBPUnion.ProjectLighthouse.Extensions;
using LBPUnion.ProjectLighthouse.Helpers;
+using LBPUnion.ProjectLighthouse.Localization.StringLists;
using LBPUnion.ProjectLighthouse.Logging;
using LBPUnion.ProjectLighthouse.PlayerData;
using LBPUnion.ProjectLighthouse.PlayerData.Profiles;
@@ -26,19 +27,19 @@ public class LoginForm : BaseLayout
{
if (string.IsNullOrWhiteSpace(username))
{
- this.Error = "The username field is required.";
+ this.Error = this.Translate(ErrorStrings.UsernameInvalid);
return this.Page();
}
if (string.IsNullOrWhiteSpace(password))
{
- this.Error = "The password field is required.";
+ this.Error = this.Translate(ErrorStrings.PasswordInvalid);
return this.Page();
}
if (!await this.Request.CheckCaptchaValidity())
{
- this.Error = "You must complete the captcha correctly.";
+ this.Error = this.Translate(ErrorStrings.CaptchaFailed);
return this.Page();
}
@@ -60,7 +61,7 @@ public class LoginForm : BaseLayout
if (user.Banned)
{
Logger.Warn($"User {user.Username} (id: {user.UserId}) failed to login on web due to being banned", LogArea.Login);
- this.Error = "You have been banned. Please contact an administrator for more information.\nReason: " + user.BannedReason;
+ this.Error = this.Translate(ErrorStrings.UserIsBanned, user.BannedReason);
return this.Page();
}
diff --git a/ProjectLighthouse.Servers.Website/Pages/PasswordResetRequestForm.cshtml b/ProjectLighthouse.Servers.Website/Pages/PasswordResetRequestForm.cshtml
index 105af3f2..53318893 100644
--- a/ProjectLighthouse.Servers.Website/Pages/PasswordResetRequestForm.cshtml
+++ b/ProjectLighthouse.Servers.Website/Pages/PasswordResetRequestForm.cshtml
@@ -21,7 +21,7 @@
{
diff --git a/ProjectLighthouse.Servers.Website/Pages/RegisterForm.cshtml.cs b/ProjectLighthouse.Servers.Website/Pages/RegisterForm.cshtml.cs
index 8789285c..6f6a7619 100644
--- a/ProjectLighthouse.Servers.Website/Pages/RegisterForm.cshtml.cs
+++ b/ProjectLighthouse.Servers.Website/Pages/RegisterForm.cshtml.cs
@@ -3,6 +3,7 @@ using JetBrains.Annotations;
using LBPUnion.ProjectLighthouse.Configuration;
using LBPUnion.ProjectLighthouse.Extensions;
using LBPUnion.ProjectLighthouse.Helpers;
+using LBPUnion.ProjectLighthouse.Localization.StringLists;
using LBPUnion.ProjectLighthouse.PlayerData;
using LBPUnion.ProjectLighthouse.PlayerData.Profiles;
using LBPUnion.ProjectLighthouse.Servers.Website.Pages.Layouts;
@@ -28,7 +29,7 @@ public class RegisterForm : BaseLayout
if (this.Request.Query.ContainsKey("token"))
{
if (!this.Database.IsRegistrationTokenValid(this.Request.Query["token"]))
- return this.StatusCode(403, "Invalid Token");
+ return this.StatusCode(403, this.Translate(ErrorStrings.TokenInvalid));
}
else
{
@@ -42,44 +43,44 @@ public class RegisterForm : BaseLayout
if (string.IsNullOrWhiteSpace(username))
{
- this.Error = "The username field is blank.";
+ this.Error = this.Translate(ErrorStrings.UsernameInvalid);
return this.Page();
}
if (string.IsNullOrWhiteSpace(password))
{
- this.Error = "Password field is required.";
+ this.Error = this.Translate(ErrorStrings.PasswordInvalid);
return this.Page();
}
if (string.IsNullOrWhiteSpace(emailAddress) && ServerConfiguration.Instance.Mail.MailEnabled)
{
- this.Error = "Email address field is required.";
+ this.Error = this.Translate(ErrorStrings.EmailInvalid);
return this.Page();
}
if (password != confirmPassword)
{
- this.Error = "Passwords do not match!";
+ this.Error = this.Translate(ErrorStrings.PasswordDoesntMatch);
return this.Page();
}
if (await this.Database.Users.FirstOrDefaultAsync(u => u.Username.ToLower() == username.ToLower()) != null)
{
- this.Error = "The username you've chosen is already taken.";
+ this.Error = this.Translate(ErrorStrings.UsernameTaken);
return this.Page();
}
if (ServerConfiguration.Instance.Mail.MailEnabled &&
await this.Database.Users.FirstOrDefaultAsync(u => u.EmailAddress != null && u.EmailAddress.ToLower() == emailAddress.ToLower()) != null)
{
- this.Error = "The email address you've chosen is already taken.";
+ this.Error = this.Translate(ErrorStrings.EmailTaken);
return this.Page();
}
if (!await this.Request.CheckCaptchaValidity())
{
- this.Error = "You must complete the captcha correctly.";
+ this.Error = this.Translate(ErrorStrings.CaptchaFailed);
return this.Page();
}
@@ -117,7 +118,7 @@ public class RegisterForm : BaseLayout
if (this.Request.Query.ContainsKey("token"))
{
if (!this.Database.IsRegistrationTokenValid(this.Request.Query["token"]))
- return this.StatusCode(403, "Invalid Token");
+ return this.StatusCode(403, this.Translate(ErrorStrings.TokenInvalid));
}
else
{