summary refs log tree commit diff
path: root/assets/locales
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-08-30 15:13:18 +1000
committerMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-08-30 15:13:18 +1000
commitc2931f61aa0adb682ab023d85ba599099024d62b (patch)
tree86de9071cbded565fe9e082bd2cc6c611a926c6c /assets/locales
parentGuild join messages (diff)
parentOop, deprecated typeorm call (diff)
downloadserver-c2931f61aa0adb682ab023d85ba599099024d62b.tar.xz
Merge branch 'staging' into dev/Maddy/feat/welcomeMessages
Diffstat (limited to 'assets/locales')
-rw-r--r--assets/locales/af/auth.json18
-rw-r--r--assets/locales/af/common.json18
-rw-r--r--assets/locales/ar/auth.json18
-rw-r--r--assets/locales/ar/common.json18
-rw-r--r--assets/locales/arn/auth.json16
-rw-r--r--assets/locales/arn/common.json18
-rw-r--r--assets/locales/az/auth.json18
-rw-r--r--assets/locales/az/common.json18
-rw-r--r--assets/locales/be/auth.json18
-rw-r--r--assets/locales/be/common.json18
-rw-r--r--assets/locales/ber/auth.json18
-rw-r--r--assets/locales/ber/common.json18
-rw-r--r--assets/locales/bg/auth.json18
-rw-r--r--assets/locales/bg/common.json18
-rw-r--r--assets/locales/bo/auth.json18
-rw-r--r--assets/locales/bo/common.json18
-rw-r--r--assets/locales/ca/auth.json18
-rw-r--r--assets/locales/ca/common.json18
-rw-r--r--assets/locales/cs/auth.json18
-rw-r--r--assets/locales/cs/common.json18
-rw-r--r--assets/locales/da/auth.json18
-rw-r--r--assets/locales/da/common.json18
-rw-r--r--assets/locales/de/auth.json18
-rw-r--r--assets/locales/de/common.json18
-rw-r--r--assets/locales/el/auth.json18
-rw-r--r--assets/locales/el/common.json18
-rw-r--r--assets/locales/en/auth.json19
-rw-r--r--assets/locales/en/common.json18
-rw-r--r--assets/locales/eo/auth.json18
-rw-r--r--assets/locales/eo/common.json18
-rw-r--r--assets/locales/es/auth.json18
-rw-r--r--assets/locales/es/common.json18
-rw-r--r--assets/locales/eu/auth.json18
-rw-r--r--assets/locales/eu/common.json18
-rw-r--r--assets/locales/fa/auth.json18
-rw-r--r--assets/locales/fa/common.json18
-rw-r--r--assets/locales/fi/auth.json18
-rw-r--r--assets/locales/fi/common.json18
-rw-r--r--assets/locales/fr/auth.json18
-rw-r--r--assets/locales/fr/common.json18
-rw-r--r--assets/locales/gn/auth.json18
-rw-r--r--assets/locales/gn/common.json18
-rw-r--r--assets/locales/ha/auth.json18
-rw-r--r--assets/locales/ha/common.json18
-rw-r--r--assets/locales/he/auth.json18
-rw-r--r--assets/locales/he/common.json18
-rw-r--r--assets/locales/hi/auth.json18
-rw-r--r--assets/locales/hi/common.json18
-rw-r--r--assets/locales/hr/auth.json18
-rw-r--r--assets/locales/hr/common.json18
-rw-r--r--assets/locales/hu/auth.json18
-rw-r--r--assets/locales/hu/common.json18
-rw-r--r--assets/locales/id/auth.json18
-rw-r--r--assets/locales/id/common.json18
-rw-r--r--assets/locales/it/auth.json18
-rw-r--r--assets/locales/it/common.json18
-rw-r--r--assets/locales/ja/auth.json18
-rw-r--r--assets/locales/ja/common.json18
-rw-r--r--assets/locales/jv/auth.json18
-rw-r--r--assets/locales/jv/common.json18
-rw-r--r--assets/locales/kk/auth.json18
-rw-r--r--assets/locales/kk/common.json18
-rw-r--r--assets/locales/ko/auth.json18
-rw-r--r--assets/locales/ko/common.json18
-rw-r--r--assets/locales/ku/auth.json18
-rw-r--r--assets/locales/ku/common.json18
-rw-r--r--assets/locales/la/auth.json18
-rw-r--r--assets/locales/la/common.json18
-rw-r--r--assets/locales/lt/auth.json18
-rw-r--r--assets/locales/lt/common.json18
-rw-r--r--assets/locales/mi/auth.json18
-rw-r--r--assets/locales/mi/common.json18
-rw-r--r--assets/locales/mn/auth.json18
-rw-r--r--assets/locales/mn/common.json18
-rw-r--r--assets/locales/mr/auth.json18
-rw-r--r--assets/locales/mr/common.json18
-rw-r--r--assets/locales/nl/auth.json18
-rw-r--r--assets/locales/nl/common.json18
-rw-r--r--assets/locales/nn/auth.json18
-rw-r--r--assets/locales/nn/common.json18
-rw-r--r--assets/locales/no/auth.json18
-rw-r--r--assets/locales/no/common.json18
-rw-r--r--assets/locales/pa/auth.json18
-rw-r--r--assets/locales/pa/common.json18
-rw-r--r--assets/locales/pl/auth.json18
-rw-r--r--assets/locales/pl/common.json18
-rw-r--r--assets/locales/pt/auth.json18
-rw-r--r--assets/locales/pt/common.json18
-rw-r--r--assets/locales/qu/auth.json18
-rw-r--r--assets/locales/qu/common.json18
-rw-r--r--assets/locales/ro/auth.json18
-rw-r--r--assets/locales/ro/common.json18
-rw-r--r--assets/locales/ru/auth.json18
-rw-r--r--assets/locales/ru/common.json18
-rw-r--r--assets/locales/sh/auth.json18
-rw-r--r--assets/locales/sh/common.json18
-rw-r--r--assets/locales/si/auth.json18
-rw-r--r--assets/locales/si/common.json18
-rw-r--r--assets/locales/sk/auth.json18
-rw-r--r--assets/locales/sk/common.json18
-rw-r--r--assets/locales/sr/auth.json18
-rw-r--r--assets/locales/sr/common.json18
-rw-r--r--assets/locales/sv/auth.json18
-rw-r--r--assets/locales/sv/common.json18
-rw-r--r--assets/locales/sw/auth.json18
-rw-r--r--assets/locales/sw/common.json18
-rw-r--r--assets/locales/ta/auth.json18
-rw-r--r--assets/locales/ta/common.json18
-rw-r--r--assets/locales/te/auth.json18
-rw-r--r--assets/locales/te/common.json18
-rw-r--r--assets/locales/tl/auth.json18
-rw-r--r--assets/locales/tl/common.json18
-rw-r--r--assets/locales/tr/auth.json18
-rw-r--r--assets/locales/tr/common.json18
-rw-r--r--assets/locales/ug/auth.json18
-rw-r--r--assets/locales/ug/common.json18
-rw-r--r--assets/locales/uk/auth.json18
-rw-r--r--assets/locales/uk/common.json18
-rw-r--r--assets/locales/ur/auth.json18
-rw-r--r--assets/locales/ur/common.json18
-rw-r--r--assets/locales/vec/auth.json18
-rw-r--r--assets/locales/vec/common.json18
-rw-r--r--assets/locales/vi/auth.json18
-rw-r--r--assets/locales/vi/common.json18
-rw-r--r--assets/locales/zh/auth.json18
-rw-r--r--assets/locales/zh/common.json18
126 files changed, 2267 insertions, 0 deletions
diff --git a/assets/locales/af/auth.json b/assets/locales/af/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/af/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/af/common.json b/assets/locales/af/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/af/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ar/auth.json b/assets/locales/ar/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ar/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ar/common.json b/assets/locales/ar/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ar/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/arn/auth.json b/assets/locales/arn/auth.json
new file mode 100644
index 00000000..e19547a0
--- /dev/null
+++ b/assets/locales/arn/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/arn/common.json b/assets/locales/arn/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/arn/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/az/auth.json b/assets/locales/az/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/az/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/az/common.json b/assets/locales/az/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/az/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/be/auth.json b/assets/locales/be/auth.json
new file mode 100644
index 00000000..4bb36eeb
--- /dev/null
+++ b/assets/locales/be/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Дадзены адрас электроннай пошты ці тэлефона не знойдзены",
+		"INVALID_PASSWORD": "Няправільны пароль",
+		"ACCOUNT_DISABLED": "Гэты ўліковы запіс адключаны",
+		"INVALID_TOTP_CODE": "Няправільны код двухфактарнай аўтэнтыфікацыі.",
+		"INVALID_TOTP_SECRET": "Няправільны сакрэтны код двухфактарнай аўтэнтыфікацыі."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Рэгістрацыя новых карыстальнікаў адключана",
+		"INVITE_ONLY": "Вас павінны запрасіць, каб зарэгістравацца",
+		"EMAIL_INVALID": "Няправільны адрас электроннай пошты",
+		"EMAIL_ALREADY_REGISTERED": "Дадзены адрас электроннай пошты ўжо зарэгістраваны",
+		"DATE_OF_BIRTH_UNDERAGE": "Вам павінна быць не менш за {{years}} гадоў",
+		"CONSENT_REQUIRED": "Вы павінны пагадзіцца з Умовамі прадастаўлення паслуг і Палітыкай прыватнасці.",
+		"USERNAME_TOO_MANY_USERS": "Занадта шмат карыстальнікаў маюць гэтае імя карыстальніка, калі ласка, паспрабуйце іншае"
+	}
+}
diff --git a/assets/locales/be/common.json b/assets/locales/be/common.json
new file mode 100644
index 00000000..09be0d40
--- /dev/null
+++ b/assets/locales/be/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "Гэта поле з'яўляецца абавязковым",
+		"BASE_TYPE_STRING": "Гэта поле павінна быць радком",
+		"BASE_TYPE_NUMBER": "Гэта поле павінна быць лікам",
+		"BASE_TYPE_BIGINT": "Гэта поле павінна быць bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ber/auth.json b/assets/locales/ber/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ber/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ber/common.json b/assets/locales/ber/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ber/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/bg/auth.json b/assets/locales/bg/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/bg/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/bg/common.json b/assets/locales/bg/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/bg/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/bo/auth.json b/assets/locales/bo/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/bo/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/bo/common.json b/assets/locales/bo/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/bo/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ca/auth.json b/assets/locales/ca/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ca/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ca/common.json b/assets/locales/ca/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ca/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/cs/auth.json b/assets/locales/cs/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/cs/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/cs/common.json b/assets/locales/cs/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/cs/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/da/auth.json b/assets/locales/da/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/da/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/da/common.json b/assets/locales/da/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/da/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/de/auth.json b/assets/locales/de/auth.json
new file mode 100644
index 00000000..20e6daff
--- /dev/null
+++ b/assets/locales/de/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail oder Telefonnummer nicht gefunden",
+		"INVALID_PASSWORD": "Ungültiges Passwort",
+		"ACCOUNT_DISABLED": "Dieses Konto ist deaktiviert",
+		"INVALID_TOTP_CODE": "Ungültiger Zwei-Faktor-Code.",
+		"INVALID_TOTP_SECRET": "Ungültiges Zwei-Faktor-Secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Die Registrierung neuer Benutzer ist deaktiviert",
+		"INVITE_ONLY": "Du musst eingeladen werden, um dich zu registrieren",
+		"EMAIL_INVALID": "Ungültige E-Mail Adresse",
+		"EMAIL_ALREADY_REGISTERED": "Die E-Mail Adresse wird bereits verwendet",
+		"DATE_OF_BIRTH_UNDERAGE": "Du musst mindestens {{years}} Jahre alt sein",
+		"CONSENT_REQUIRED": "Du musst den Nutzungsbedingungen und den Datenschutzbestimmungen zustimmen.",
+		"USERNAME_TOO_MANY_USERS": "Dieser Name wird von zu vielen Nutzern verwendet, bitte wähle einen anderen"
+	}
+}
diff --git a/assets/locales/de/common.json b/assets/locales/de/common.json
new file mode 100644
index 00000000..97634a29
--- /dev/null
+++ b/assets/locales/de/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "Dieses Feld ist erforderlich",
+		"BASE_TYPE_STRING": "Dieses Feld muss ein String sein",
+		"BASE_TYPE_NUMBER": "Dieses Feld muss eine Zahl sein",
+		"BASE_TYPE_BIGINT": "Dieses Feld muss ein Bigint sein",
+		"BASE_TYPE_BOOLEAN": "Dieses Feld muss ein Boolean sein",
+		"BASE_TYPE_CHOICES": "Dieses Feld muss eines von ({{types}}) sein",
+		"BASE_TYPE_CLASS": "Dieses Feld muss eine Instanz von {{type}} sein",
+		"BASE_TYPE_OBJECT": "Dieses Feld muss ein Objekt sein",
+		"BASE_TYPE_ARRAY": "Dieses Feld muss ein Array sein",
+		"UNKOWN_FIELD": "Unbekanntes Feld: {{key}}",
+		"BASE_TYPE_CONSTANT": "Dieses Feld muss {{value}} sein",
+		"EMAIL_TYPE_INVALID_EMAIL": "Keine wohlgeformte E-Mail-Adresse",
+		"DATE_TYPE_PARSE": "Konnte {{date}} nicht verarbeiten. Es muss dem ISO8601 Standard entsprechen",
+		"BASE_TYPE_BAD_LENGTH": "Muss zwischen {{length}} lang sein"
+	}
+}
diff --git a/assets/locales/el/auth.json b/assets/locales/el/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/el/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/el/common.json b/assets/locales/el/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/el/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/en/auth.json b/assets/locales/en/auth.json
new file mode 100644
index 00000000..b6264a43
--- /dev/null
+++ b/assets/locales/en/auth.json
@@ -0,0 +1,19 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another",
+		"GUESTS_DISABLED": "Guest users are disabled"
+	}
+}
diff --git a/assets/locales/en/common.json b/assets/locales/en/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/en/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/eo/auth.json b/assets/locales/eo/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/eo/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/eo/common.json b/assets/locales/eo/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/eo/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/es/auth.json b/assets/locales/es/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/es/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/es/common.json b/assets/locales/es/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/es/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/eu/auth.json b/assets/locales/eu/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/eu/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/eu/common.json b/assets/locales/eu/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/eu/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/fa/auth.json b/assets/locales/fa/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/fa/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/fa/common.json b/assets/locales/fa/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/fa/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/fi/auth.json b/assets/locales/fi/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/fi/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/fi/common.json b/assets/locales/fi/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/fi/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/fr/auth.json b/assets/locales/fr/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/fr/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/fr/common.json b/assets/locales/fr/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/fr/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/gn/auth.json b/assets/locales/gn/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/gn/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/gn/common.json b/assets/locales/gn/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/gn/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ha/auth.json b/assets/locales/ha/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ha/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ha/common.json b/assets/locales/ha/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ha/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/he/auth.json b/assets/locales/he/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/he/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/he/common.json b/assets/locales/he/common.json
new file mode 100644
index 00000000..9e72e941
--- /dev/null
+++ b/assets/locales/he/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "שדה זה חייב להיות אובייקט",
+		"BASE_TYPE_ARRAY": "שדה זה חייב להיות מערך",
+		"UNKOWN_FIELD": "מפתח לא ידוע: {{key}}",
+		"BASE_TYPE_CONSTANT": "שדה זה להיות {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "כתובת דואר אלקטרוני לא חוקית",
+		"DATE_TYPE_PARSE": "לא ניתן לנתח {{date}}. צריך להיות ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "האורך חייב להיות בין {{length}}"
+	}
+}
diff --git a/assets/locales/hi/auth.json b/assets/locales/hi/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/hi/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/hi/common.json b/assets/locales/hi/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/hi/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/hr/auth.json b/assets/locales/hr/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/hr/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/hr/common.json b/assets/locales/hr/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/hr/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/hu/auth.json b/assets/locales/hu/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/hu/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/hu/common.json b/assets/locales/hu/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/hu/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/id/auth.json b/assets/locales/id/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/id/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/id/common.json b/assets/locales/id/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/id/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/it/auth.json b/assets/locales/it/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/it/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/it/common.json b/assets/locales/it/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/it/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ja/auth.json b/assets/locales/ja/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ja/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ja/common.json b/assets/locales/ja/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ja/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/jv/auth.json b/assets/locales/jv/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/jv/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/jv/common.json b/assets/locales/jv/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/jv/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/kk/auth.json b/assets/locales/kk/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/kk/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/kk/common.json b/assets/locales/kk/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/kk/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ko/auth.json b/assets/locales/ko/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ko/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ko/common.json b/assets/locales/ko/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ko/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ku/auth.json b/assets/locales/ku/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ku/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ku/common.json b/assets/locales/ku/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ku/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/la/auth.json b/assets/locales/la/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/la/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/la/common.json b/assets/locales/la/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/la/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/lt/auth.json b/assets/locales/lt/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/lt/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/lt/common.json b/assets/locales/lt/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/lt/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/mi/auth.json b/assets/locales/mi/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/mi/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/mi/common.json b/assets/locales/mi/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/mi/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/mn/auth.json b/assets/locales/mn/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/mn/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/mn/common.json b/assets/locales/mn/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/mn/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/mr/auth.json b/assets/locales/mr/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/mr/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/mr/common.json b/assets/locales/mr/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/mr/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/nl/auth.json b/assets/locales/nl/auth.json
new file mode 100644
index 00000000..ab295edd
--- /dev/null
+++ b/assets/locales/nl/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mailadres of telefoon niet gevonden",
+		"INVALID_PASSWORD": "Ongeldig wachtwoord",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Registratie voor nieuwe gebruikers is uitgeschakeld",
+		"INVITE_ONLY": "U moet worden uitgenodigd om te registreren",
+		"EMAIL_INVALID": "Email is ongeldig",
+		"EMAIL_ALREADY_REGISTERED": "Dit e-mailadres is al geregistreerd",
+		"DATE_OF_BIRTH_UNDERAGE": "Je moet {{years}} jaar of ouder zijn",
+		"CONSENT_REQUIRED": "U moet akkoord gaan met de Algemene Voorwaarden en het Privacybeleid.",
+		"USERNAME_TOO_MANY_USERS": "Te veel gebruikers hebben deze gebruikersnaam, gelieve een andere te proberen"
+	}
+}
diff --git a/assets/locales/nl/common.json b/assets/locales/nl/common.json
new file mode 100644
index 00000000..6f411c02
--- /dev/null
+++ b/assets/locales/nl/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "Dit veld is verplicht",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "Dit veld moet een getal zijn",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "Dit veld moet een van ({{types}}) zijn",
+		"BASE_TYPE_CLASS": "Dit veld moet een exemplaar zijn van {{type}}",
+		"BASE_TYPE_OBJECT": "Dit veld moet een object zijn",
+		"BASE_TYPE_ARRAY": "Dit veld moet een array zijn",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "Dit veld moet {{value}} zijn",
+		"EMAIL_TYPE_INVALID_EMAIL": "Niet een geldig e-mailadres",
+		"DATE_TYPE_PARSE": "Kan {{date}} niet parsen. Moet ISO8601 zijn",
+		"BASE_TYPE_BAD_LENGTH": "Moet tussen {{length}} in lengte zijn"
+	}
+}
diff --git a/assets/locales/nn/auth.json b/assets/locales/nn/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/nn/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/nn/common.json b/assets/locales/nn/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/nn/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/no/auth.json b/assets/locales/no/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/no/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/no/common.json b/assets/locales/no/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/no/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/pa/auth.json b/assets/locales/pa/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/pa/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/pa/common.json b/assets/locales/pa/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/pa/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/pl/auth.json b/assets/locales/pl/auth.json
new file mode 100644
index 00000000..ff17f237
--- /dev/null
+++ b/assets/locales/pl/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mail lub numer telefonu nie został znaleziony",
+		"INVALID_PASSWORD": "Nieprawidłowe hasło",
+		"ACCOUNT_DISABLED": "To konto jest nieaktywne",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Rejestracja nowych użytkowników jest wyłączona",
+		"INVITE_ONLY": "Aby się zarejestrować, musisz zostać zaproszony",
+		"EMAIL_INVALID": "Nieprawidłowy E-mail",
+		"EMAIL_ALREADY_REGISTERED": "E-mail jest już zarejestrowany",
+		"DATE_OF_BIRTH_UNDERAGE": "Musisz mieć {{years}} lat lub więcej",
+		"CONSENT_REQUIRED": "Musisz zaakceptować Regulamin i Politykę Prywatności.",
+		"USERNAME_TOO_MANY_USERS": "Zbyt wielu użytkowników ma tę nazwę, spróbuj inną"
+	}
+}
diff --git a/assets/locales/pl/common.json b/assets/locales/pl/common.json
new file mode 100644
index 00000000..98c0906b
--- /dev/null
+++ b/assets/locales/pl/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "To pole jest wymagane",
+		"BASE_TYPE_STRING": "To pole musi być ciągiem znaków",
+		"BASE_TYPE_NUMBER": "To pole musi być liczbą",
+		"BASE_TYPE_BIGINT": "To pole musi być bigint",
+		"BASE_TYPE_BOOLEAN": "To pole musi być wartością logiczną",
+		"BASE_TYPE_CHOICES": "To pole musi być jednym z ({{types}})",
+		"BASE_TYPE_CLASS": "To pole musi być instancją {{type}}",
+		"BASE_TYPE_OBJECT": "To pole musi być obiektem",
+		"BASE_TYPE_ARRAY": "To pole musi być tablicą",
+		"UNKOWN_FIELD": "Nieznany klucz: {{key}}",
+		"BASE_TYPE_CONSTANT": "To pole musi wynosić {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Źle sformułowany adres e-mail",
+		"DATE_TYPE_PARSE": "Nie można przetworzyć {{date}}. Powinno być ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Długość musi wynosić pomiędzy {{length}}"
+	}
+}
diff --git a/assets/locales/pt/auth.json b/assets/locales/pt/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/pt/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/pt/common.json b/assets/locales/pt/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/pt/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/qu/auth.json b/assets/locales/qu/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/qu/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/qu/common.json b/assets/locales/qu/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/qu/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ro/auth.json b/assets/locales/ro/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ro/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ro/common.json b/assets/locales/ro/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ro/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ru/auth.json b/assets/locales/ru/auth.json
new file mode 100644
index 00000000..7967e238
--- /dev/null
+++ b/assets/locales/ru/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Данный адрес электронной почты или телефона не найден",
+		"INVALID_PASSWORD": "Неверный пароль",
+		"ACCOUNT_DISABLED": "Этот аккаунт отключён",
+		"INVALID_TOTP_CODE": "Неверный код двухфакторной аутентификации.",
+		"INVALID_TOTP_SECRET": "Неверный секретный код двухфакторной аутентификации."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Регистрация новых пользователей отключена",
+		"INVITE_ONLY": "Вы должны быть приглашены для регистрации",
+		"EMAIL_INVALID": "Неверный адрес электронной почты",
+		"EMAIL_ALREADY_REGISTERED": "Данный адрес электронной почты уже зарегистрирован",
+		"DATE_OF_BIRTH_UNDERAGE": "Вам должно быть больше {{years}} лет",
+		"CONSENT_REQUIRED": "Вы должны согласиться с Условиями использования и Политикой конфиденциальности.",
+		"USERNAME_TOO_MANY_USERS": "Слишком много пользователей имеют это имя пользователя, пожалуйста, попробуйте другое"
+	}
+}
diff --git a/assets/locales/ru/common.json b/assets/locales/ru/common.json
new file mode 100644
index 00000000..578aba05
--- /dev/null
+++ b/assets/locales/ru/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "Это поле является обязательным",
+		"BASE_TYPE_STRING": "Это поле должно быть строкой",
+		"BASE_TYPE_NUMBER": "Это поле должно быть числом",
+		"BASE_TYPE_BIGINT": "Это поле должно быть bigint",
+		"BASE_TYPE_BOOLEAN": "Это поле должно быть булевым значением",
+		"BASE_TYPE_CHOICES": "Это поле должно быть одним из ({{types}})",
+		"BASE_TYPE_CLASS": "Это поле должно быть экземпляром {{type}}",
+		"BASE_TYPE_OBJECT": "Это поле должно быть объектом",
+		"BASE_TYPE_ARRAY": "Это поле должно быть массивом",
+		"UNKOWN_FIELD": "Неизвестное поле: {{key}}",
+		"BASE_TYPE_CONSTANT": "Это поле должно быть {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Неправильный формат адреса электронной почты",
+		"DATE_TYPE_PARSE": "Не удалось разобрать {{date}}. Дата должна быть в формате ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Длина должна быть между {{length}} в длину"
+	}
+}
diff --git a/assets/locales/sh/auth.json b/assets/locales/sh/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/sh/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/sh/common.json b/assets/locales/sh/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/sh/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/si/auth.json b/assets/locales/si/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/si/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/si/common.json b/assets/locales/si/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/si/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/sk/auth.json b/assets/locales/sk/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/sk/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/sk/common.json b/assets/locales/sk/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/sk/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/sr/auth.json b/assets/locales/sr/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/sr/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/sr/common.json b/assets/locales/sr/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/sr/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/sv/auth.json b/assets/locales/sv/auth.json
new file mode 100644
index 00000000..573e685d
--- /dev/null
+++ b/assets/locales/sv/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-post eller telefon hittades inte",
+		"INVALID_PASSWORD": "Ogiltigt lösenord",
+		"ACCOUNT_DISABLED": "Detta konto är inaktiverat",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Registrering av nya användare är inaktiverat",
+		"INVITE_ONLY": "Du måste vara inbjuden för att registrera dig",
+		"EMAIL_INVALID": "Ogiltig e-post",
+		"EMAIL_ALREADY_REGISTERED": "E-postadressen är redan registrerad",
+		"DATE_OF_BIRTH_UNDERAGE": "Du måste vara {{years}} år eller äldre",
+		"CONSENT_REQUIRED": "Du måste godkänna användarvillkoren och sekretesspolicyn.",
+		"USERNAME_TOO_MANY_USERS": "För många användare har detta användarnamn, försök med ett annat"
+	}
+}
diff --git a/assets/locales/sv/common.json b/assets/locales/sv/common.json
new file mode 100644
index 00000000..56c02a64
--- /dev/null
+++ b/assets/locales/sv/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "Detta fältet krävs",
+		"BASE_TYPE_STRING": "Detta fält måste vara en sträng",
+		"BASE_TYPE_NUMBER": "Detta fält måste vara ett nummer",
+		"BASE_TYPE_BIGINT": "Detta fält måste vara av typen bigint",
+		"BASE_TYPE_BOOLEAN": "Detta fält måste vara booleskt",
+		"BASE_TYPE_CHOICES": "Detta fält måste vara av typen av ett av följande ({{types}})",
+		"BASE_TYPE_CLASS": "Det här fältet måste vara en instans av {{type}}",
+		"BASE_TYPE_OBJECT": "Detta fält måste vara ett objekt",
+		"BASE_TYPE_ARRAY": "Detta fält måste vara en array",
+		"UNKOWN_FIELD": "Okänd nyckel: {{key}}",
+		"BASE_TYPE_CONSTANT": "Det här fältet måste vara {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "E-postadressen har inte korrekt format",
+		"DATE_TYPE_PARSE": "Kunde inte tolka {{date}}. Bör vara ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Måste vara mellan {{length}} i längd"
+	}
+}
diff --git a/assets/locales/sw/auth.json b/assets/locales/sw/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/sw/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/sw/common.json b/assets/locales/sw/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/sw/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ta/auth.json b/assets/locales/ta/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ta/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ta/common.json b/assets/locales/ta/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ta/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/te/auth.json b/assets/locales/te/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/te/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/te/common.json b/assets/locales/te/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/te/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/tl/auth.json b/assets/locales/tl/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/tl/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/tl/common.json b/assets/locales/tl/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/tl/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/tr/auth.json b/assets/locales/tr/auth.json
new file mode 100644
index 00000000..670f07e3
--- /dev/null
+++ b/assets/locales/tr/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-posta veya Telefon Numarası bulunamadı",
+		"INVALID_PASSWORD": "Geçersiz Şifre",
+		"ACCOUNT_DISABLED": "Bu hesap devre dışı bırakıldı",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Yeni kullanıcı alımı devre dışı bırakıldı",
+		"INVITE_ONLY": "Kayıt olabilmek için davet edilmelisin",
+		"EMAIL_INVALID": "Geçersiz e-posta",
+		"EMAIL_ALREADY_REGISTERED": "Bu e-posta zaten kayıtlı",
+		"DATE_OF_BIRTH_UNDERAGE": "{{years}} yaşında veya daha büyük olmalısın",
+		"CONSENT_REQUIRED": "Hizmet Koşulları ve Gizlilik Politikasını kabul etmelisin.",
+		"USERNAME_TOO_MANY_USERS": "Çok fazla kullanıcı bu kullanıcı adını kullanıyor, lütfen başka bir kullanıcı adı dene"
+	}
+}
diff --git a/assets/locales/tr/common.json b/assets/locales/tr/common.json
new file mode 100644
index 00000000..1f99c1d5
--- /dev/null
+++ b/assets/locales/tr/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "Bu alan gereklidir",
+		"BASE_TYPE_STRING": "Bu alan bir metin (string) olmalı",
+		"BASE_TYPE_NUMBER": "Bu alan bir sayı olmalı",
+		"BASE_TYPE_BIGINT": "Bu alan uzun tamsayı değeri olmalıdır",
+		"BASE_TYPE_BOOLEAN": "Bu alan doğru/yanlış olmalıdır",
+		"BASE_TYPE_CHOICES": "Bu alan ({{types}}) tiplerinden biri olmalı",
+		"BASE_TYPE_CLASS": "Bu alan {{type}} türünden olmalı",
+		"BASE_TYPE_OBJECT": "Bu alan bir nesne olmalı",
+		"BASE_TYPE_ARRAY": "Bu alan bir dizi olmalı",
+		"UNKOWN_FIELD": "Bilinmeyen anahtar: {{key}}",
+		"BASE_TYPE_CONSTANT": "Bu alan {{value}} olmalı",
+		"EMAIL_TYPE_INVALID_EMAIL": "Geçerli bir e-posta adresi değil",
+		"DATE_TYPE_PARSE": "{{date}} işlenemiyor. ISO8601 standartlarında olmalı",
+		"BASE_TYPE_BAD_LENGTH": "{{length}} arası uzunlukta olmalı"
+	}
+}
diff --git a/assets/locales/ug/auth.json b/assets/locales/ug/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ug/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ug/common.json b/assets/locales/ug/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ug/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/uk/auth.json b/assets/locales/uk/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/uk/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/uk/common.json b/assets/locales/uk/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/uk/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/ur/auth.json b/assets/locales/ur/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/ur/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/ur/common.json b/assets/locales/ur/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/ur/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/vec/auth.json b/assets/locales/vec/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/vec/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/vec/common.json b/assets/locales/vec/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/vec/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/vi/auth.json b/assets/locales/vi/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/vi/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/vi/common.json b/assets/locales/vi/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/vi/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/assets/locales/zh/auth.json b/assets/locales/zh/auth.json
new file mode 100644
index 00000000..a78d4d60
--- /dev/null
+++ b/assets/locales/zh/auth.json
@@ -0,0 +1,18 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password",
+		"ACCOUNT_DISABLED": "This account is disabled",
+		"INVALID_TOTP_CODE": "Invalid two-factor code.",
+		"INVALID_TOTP_SECRET": "Invalid two-factor secret."
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "New user registration is disabled",
+		"INVITE_ONLY": "You must be invited to register",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Email is already registered",
+		"DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
+		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/assets/locales/zh/common.json b/assets/locales/zh/common.json
new file mode 100644
index 00000000..8bb9c042
--- /dev/null
+++ b/assets/locales/zh/common.json
@@ -0,0 +1,18 @@
+{
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}