summary refs log tree commit diff
path: root/api/locales
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-12 20:09:35 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-08-12 20:09:35 +0200
commit08e837bf5559e9680fc8cb99bd05b93f8eb2cac5 (patch)
tree1eadc038773b025275d7b751265f741b09ca92ab /api/locales
parentnpm i @fosscord/server-util@1.3.52 (diff)
downloadserver-08e837bf5559e9680fc8cb99bd05b93f8eb2cac5.tar.xz
:sparkles: api
Diffstat (limited to 'api/locales')
-rw-r--r--api/locales/af/af18
-rw-r--r--api/locales/af/auth.json16
-rw-r--r--api/locales/af/common.json18
-rw-r--r--api/locales/ar/ar18
-rw-r--r--api/locales/ar/auth.json16
-rw-r--r--api/locales/ar/common.json18
-rw-r--r--api/locales/be/auth.json16
-rw-r--r--api/locales/be/common.json18
-rw-r--r--api/locales/bg/auth.json16
-rw-r--r--api/locales/bg/common.json18
-rw-r--r--api/locales/ca/auth.json16
-rw-r--r--api/locales/ca/ca18
-rw-r--r--api/locales/ca/common.json18
-rw-r--r--api/locales/cs/auth.json16
-rw-r--r--api/locales/cs/common.json18
-rw-r--r--api/locales/cs/cs18
-rw-r--r--api/locales/da/auth.json16
-rw-r--r--api/locales/da/common.json18
-rw-r--r--api/locales/da/da15
-rw-r--r--api/locales/de/auth.json16
-rw-r--r--api/locales/de/common.json18
-rw-r--r--api/locales/de/de18
-rw-r--r--api/locales/el/auth.json16
-rw-r--r--api/locales/el/common.json18
-rw-r--r--api/locales/el/el18
-rw-r--r--api/locales/en/auth.json16
-rw-r--r--api/locales/en/common.json18
-rw-r--r--api/locales/en/en18
-rw-r--r--api/locales/eo/auth.json16
-rw-r--r--api/locales/eo/common.json18
-rw-r--r--api/locales/es/auth.json16
-rw-r--r--api/locales/es/common.json18
-rw-r--r--api/locales/es/es18
-rw-r--r--api/locales/fi/auth.json16
-rw-r--r--api/locales/fi/common.json18
-rw-r--r--api/locales/fi/fi18
-rw-r--r--api/locales/fr/auth.json16
-rw-r--r--api/locales/fr/common.json18
-rw-r--r--api/locales/fr/fr18
-rw-r--r--api/locales/he/auth.json16
-rw-r--r--api/locales/he/common.json18
-rw-r--r--api/locales/he/he18
-rw-r--r--api/locales/hi/auth.json16
-rw-r--r--api/locales/hi/common.json18
-rw-r--r--api/locales/hi/hi18
-rw-r--r--api/locales/hr/auth.json16
-rw-r--r--api/locales/hr/common.json18
-rw-r--r--api/locales/hu/auth.json16
-rw-r--r--api/locales/hu/common.json18
-rw-r--r--api/locales/hu/hu18
-rw-r--r--api/locales/id/auth.json16
-rw-r--r--api/locales/id/common.json18
-rw-r--r--api/locales/it/auth.json16
-rw-r--r--api/locales/it/common.json18
-rw-r--r--api/locales/it/it18
-rw-r--r--api/locales/ja/auth.json16
-rw-r--r--api/locales/ja/common.json18
-rw-r--r--api/locales/ja/ja18
-rw-r--r--api/locales/ko/auth.json16
-rw-r--r--api/locales/ko/common.json18
-rw-r--r--api/locales/ko/ko15
-rw-r--r--api/locales/lt/auth.json16
-rw-r--r--api/locales/lt/common.json18
-rw-r--r--api/locales/nl/auth.json16
-rw-r--r--api/locales/nl/common.json18
-rw-r--r--api/locales/nl/nl18
-rw-r--r--api/locales/no/auth.json16
-rw-r--r--api/locales/no/common.json18
-rw-r--r--api/locales/no/no18
-rw-r--r--api/locales/pl/auth.json16
-rw-r--r--api/locales/pl/common.json18
-rw-r--r--api/locales/pl/pl18
-rw-r--r--api/locales/pt/auth.json16
-rw-r--r--api/locales/pt/common.json18
-rw-r--r--api/locales/pt/pt18
-rw-r--r--api/locales/ro/auth.json16
-rw-r--r--api/locales/ro/common.json18
-rw-r--r--api/locales/ro/ro18
-rw-r--r--api/locales/ru/auth.json16
-rw-r--r--api/locales/ru/common.json18
-rw-r--r--api/locales/ru/ru18
-rw-r--r--api/locales/sk/auth.json16
-rw-r--r--api/locales/sk/common.json18
-rw-r--r--api/locales/sr/auth.json16
-rw-r--r--api/locales/sr/common.json18
-rw-r--r--api/locales/sr/sr18
-rw-r--r--api/locales/sv/auth.json16
-rw-r--r--api/locales/sv/common.json18
-rw-r--r--api/locales/sv/sv18
-rw-r--r--api/locales/tr/auth.json16
-rw-r--r--api/locales/tr/common.json18
-rw-r--r--api/locales/tr/tr18
-rw-r--r--api/locales/uk/auth.json16
-rw-r--r--api/locales/uk/common.json18
-rw-r--r--api/locales/uk/uk18
-rw-r--r--api/locales/ur/auth.json16
-rw-r--r--api/locales/ur/common.json18
-rw-r--r--api/locales/vi/auth.json16
-rw-r--r--api/locales/vi/common.json18
-rw-r--r--api/locales/vi/vi18
-rw-r--r--api/locales/zh/auth.json16
-rw-r--r--api/locales/zh/common.json18
-rw-r--r--api/locales/zh/zh18
103 files changed, 1774 insertions, 0 deletions
diff --git a/api/locales/af/af b/api/locales/af/af
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/af/af
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/af/auth.json b/api/locales/af/auth.json
new file mode 100644
index 00000000..e19547a0
--- /dev/null
+++ b/api/locales/af/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/api/locales/af/common.json b/api/locales/af/common.json
new file mode 100644
index 00000000..a565e3dc
--- /dev/null
+++ b/api/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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ar/ar b/api/locales/ar/ar
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/ar/ar
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ar/auth.json b/api/locales/ar/auth.json
new file mode 100644
index 00000000..d60a0b35
--- /dev/null
+++ b/api/locales/ar/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "البريد الإلكتروني أو الهاتف غير موجود",
+		"INVALID_PASSWORD": "كلمة المرور غير صالحة",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "تم تعطيل تسجيل المستخدم الجديد",
+		"INVITE_ONLY": "يجب دعوتك للتسجيل",
+		"EMAIL_INVALID": "البريد الإلكتروني خاطئ",
+		"EMAIL_ALREADY_REGISTERED": "البريد الإلكتروني مسجل بالفعل",
+		"DATE_OF_BIRTH_UNDERAGE": "يجب أن تكون {{years}} سنة أو أكثر",
+		"CONSENT_REQUIRED": "يجب أن توافق على شروط الخدمة وسياسة الخصوصية.",
+		"USERNAME_TOO_MANY_USERS": "عدد كبير جدا من المستخدمين لديهم اسم المستخدم هذا، الرجاء محاولة اسم آخر"
+	}
+}
diff --git a/api/locales/ar/common.json b/api/locales/ar/common.json
new file mode 100644
index 00000000..e941bf54
--- /dev/null
+++ b/api/locales/ar/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "هذا الحقل مطلوب",
+    "BASE_TYPE_STRING": "يجب أن يكون هذا الحقل سلسلة من الأحرف",
+    "BASE_TYPE_NUMBER": "يجب أن يكون هذا الحقل رقم",
+    "BASE_TYPE_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}} في الطول"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/be/auth.json b/api/locales/be/auth.json
new file mode 100644
index 00000000..b9ac5e2e
--- /dev/null
+++ b/api/locales/be/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Дадзены адрас электроннай пошты ці тэлефон не знойдзены",
+		"INVALID_PASSWORD": "Няправільны пароль",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Рэгістрацыя новага карыстальніка адключана",
+		"INVITE_ONLY": "Вас павінны запрасіць, каб зарэгістравацца",
+		"EMAIL_INVALID": "Няправільны адрас электроннай пошты",
+		"EMAIL_ALREADY_REGISTERED": "Дадзены адрас электроннай пошты ўжо зарэгістраваны",
+		"DATE_OF_BIRTH_UNDERAGE": "Вам павінна быць не менш за {{years}} гадоў або больш",
+		"CONSENT_REQUIRED": "Вы павінны пагадзіцца з Умовамі прадастаўлення паслуг і Палітыкай прыватнасці.",
+		"USERNAME_TOO_MANY_USERS": "Занадта шмат карыстальнікаў маюць гэтае імя карыстальніка, калі ласка, паспрабуйце іншае"
+	}
+}
diff --git a/api/locales/be/common.json b/api/locales/be/common.json
new file mode 100644
index 00000000..56500818
--- /dev/null
+++ b/api/locales/be/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Гэта поле з'яўляецца абавязковым",
+    "BASE_TYPE_STRING": "Гэта поле павінна быць string",
+    "BASE_TYPE_NUMBER": "Гэта поле павінна быць number",
+    "BASE_TYPE_BIGINT": "Гэта поле павінна быць bigint",
+    "BASE_TYPE_BOOLEAN": "Гэта поле павінна быць 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}} у даўжыню"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/bg/auth.json b/api/locales/bg/auth.json
new file mode 100644
index 00000000..1dfd3568
--- /dev/null
+++ b/api/locales/bg/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Невалиден имейл адрес или телефонен номер",
+		"INVALID_PASSWORD": "Невалидна парола",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Регистрацията на нов потребител е деактивирана",
+		"INVITE_ONLY": "Вие трябва да бъдете поканени, за да можете да се регистрирате",
+		"EMAIL_INVALID": "Невалиден имейл",
+		"EMAIL_ALREADY_REGISTERED": "Имейлът вече е регистриран",
+		"DATE_OF_BIRTH_UNDERAGE": "Трябва да сте навършили {{years}} или повече години",
+		"CONSENT_REQUIRED": "Трябва да се съгласите с Общите условия и Политиката за поверителност.",
+		"USERNAME_TOO_MANY_USERS": "Твърде много потребители имат това потребителско име, моля опитайте друго"
+	}
+}
diff --git a/api/locales/bg/common.json b/api/locales/bg/common.json
new file mode 100644
index 00000000..8003eccf
--- /dev/null
+++ b/api/locales/bg/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Това поле е задължително",
+    "BASE_TYPE_STRING": "Това поле трябва да е низ",
+    "BASE_TYPE_NUMBER": "Това поле трябва да е число",
+    "BASE_TYPE_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}}"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ca/auth.json b/api/locales/ca/auth.json
new file mode 100644
index 00000000..e19547a0
--- /dev/null
+++ b/api/locales/ca/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/api/locales/ca/ca b/api/locales/ca/ca
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/ca/ca
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ca/common.json b/api/locales/ca/common.json
new file mode 100644
index 00000000..a565e3dc
--- /dev/null
+++ b/api/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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/cs/auth.json b/api/locales/cs/auth.json
new file mode 100644
index 00000000..70acc5ba
--- /dev/null
+++ b/api/locales/cs/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail nebo telefon nenalezen",
+		"INVALID_PASSWORD": "Neplatné heslo",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Registrace nového uživatele je zakázána",
+		"INVITE_ONLY": "Musíte být pozváni k registraci",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "E-mail je již registrován",
+		"DATE_OF_BIRTH_UNDERAGE": "Musíš být {{years}} let nebo starší",
+		"CONSENT_REQUIRED": "Musíte souhlasit s obchodními podmínkami a zásadami ochrany osobních údajů.",
+		"USERNAME_TOO_MANY_USERS": "Příliš mnoho uživatelů má toto uživatelské jméno, zkuste prosím jiné"
+	}
+}
diff --git a/api/locales/cs/common.json b/api/locales/cs/common.json
new file mode 100644
index 00000000..c1dd9ba4
--- /dev/null
+++ b/api/locales/cs/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Toto pole je povinné",
+    "BASE_TYPE_STRING": "Toto pole musí být řetězec",
+    "BASE_TYPE_NUMBER": "Toto pole musí být číslo",
+    "BASE_TYPE_BIGINT": "Toto pole musí být velké",
+    "BASE_TYPE_BOOLEAN": "Toto pole musí být logická hodnota",
+    "BASE_TYPE_CHOICES": "Toto pole musí být jedno z ({{types}})",
+    "BASE_TYPE_CLASS": "Toto pole musí být instancí {{type}}",
+    "BASE_TYPE_OBJECT": "Toto pole musí být objekt",
+    "BASE_TYPE_ARRAY": "Toto pole musí být pole",
+    "UNKOWN_FIELD": "Neznámý klíč: {{key}}",
+    "BASE_TYPE_CONSTANT": "Toto pole musí být {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Není dobře vytvořená e-mailová adresa",
+    "DATE_TYPE_PARSE": "Nelze naparsovat {{date}}. Mělo by být ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Musí být mezi {{length}} délkou"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/cs/cs b/api/locales/cs/cs
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/cs/cs
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/da/auth.json b/api/locales/da/auth.json
new file mode 100644
index 00000000..87465404
--- /dev/null
+++ b/api/locales/da/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mail eller telefon ikke fundet",
+		"INVALID_PASSWORD": "Ugyldig Adgangskode",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Ny brugerregistrering er deaktiveret",
+		"INVITE_ONLY": "Du skal inviteres til at registrere dig",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "E-mail er allerede registreret",
+		"DATE_OF_BIRTH_UNDERAGE": "Du skal være {{years}} år eller ældre",
+		"CONSENT_REQUIRED": "Du skal acceptere Servicevilkår og privatlivspolitik.",
+		"USERNAME_TOO_MANY_USERS": "For mange brugere har dette brugernavn, prøv venligst et andet"
+	}
+}
diff --git a/api/locales/da/common.json b/api/locales/da/common.json
new file mode 100644
index 00000000..da791f4a
--- /dev/null
+++ b/api/locales/da/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Dette felt er påkrævet",
+    "BASE_TYPE_STRING": "Dette felt skal være en streng",
+    "BASE_TYPE_NUMBER": "Dette felt skal være et tal",
+    "BASE_TYPE_BIGINT": "Dette felt skal være en bigint",
+    "BASE_TYPE_BOOLEAN": "Dette felt skal være en boolsk",
+    "BASE_TYPE_CHOICES": "Dette felt skal være et af ({{types}})",
+    "BASE_TYPE_CLASS": "Dette felt skal være en instans på {{type}}",
+    "BASE_TYPE_OBJECT": "Dette felt skal være et objekt",
+    "BASE_TYPE_ARRAY": "Dette felt skal være et array",
+    "UNKOWN_FIELD": "Ukendt nøgle: {{key}}",
+    "BASE_TYPE_CONSTANT": "Dette felt skal være {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Ikke en velformet e-mailadresse",
+    "DATE_TYPE_PARSE": "Kunne ikke fortolke {{date}}. Bør være ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Skal være mellem {{length}} i længden"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/da/da b/api/locales/da/da
new file mode 100644
index 00000000..025a3876
--- /dev/null
+++ b/api/locales/da/da
@@ -0,0 +1,15 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password"
+	},
+	"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 Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/api/locales/de/auth.json b/api/locales/de/auth.json
new file mode 100644
index 00000000..63addd6f
--- /dev/null
+++ b/api/locales/de/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail oder Telefonnummer nicht gefunden",
+		"INVALID_PASSWORD": "Ungültiges Passwort",
+		"ACCOUNT_DISABLED": "Dieses Konto ist gesperrt"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Die Registrierung 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 oder älter sein",
+		"CONSENT_REQUIRED": "Du musst den Nutzungsbedingungen und den Datenschutzbestimmungen zustimmen.",
+		"USERNAME_TOO_MANY_USERS": "Zu viele Benutzer haben bereits diesen Benutzernamen, bitte wähle einen anderen"
+	}
+}
diff --git a/api/locales/de/common.json b/api/locales/de/common.json
new file mode 100644
index 00000000..980d7b80
--- /dev/null
+++ b/api/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 {{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 gültige E-Mail-Adresse",
+    "DATE_TYPE_PARSE": "Konnte {{date}} nicht lesen. Muss ISO8601 entsprechen",
+    "BASE_TYPE_BAD_LENGTH": "Muss zwischen {{length}} lang sein"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/de/de b/api/locales/de/de
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/de/de
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/el/auth.json b/api/locales/el/auth.json
new file mode 100644
index 00000000..9315d590
--- /dev/null
+++ b/api/locales/el/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Το e-mail ή το τηλέφωνο δεν βρέθηκε",
+		"INVALID_PASSWORD": "Μη Έγκυρος Κωδικός",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Η εγγραφή νέου χρήστη είναι απενεργοποιημένη",
+		"INVITE_ONLY": "Πρέπει να προσκληθείτε να εγγραφείτε",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Το email έχει ήδη καταχωρηθεί",
+		"DATE_OF_BIRTH_UNDERAGE": "Πρέπει να είστε {{years}} ετών ή μεγαλύτεροι",
+		"CONSENT_REQUIRED": "Πρέπει να συμφωνήσετε με τους Όρους Παροχής Υπηρεσιών και την Πολιτική Απορρήτου.",
+		"USERNAME_TOO_MANY_USERS": "Πάρα πολλοί χρήστες έχουν αυτό το όνομα χρήστη, παρακαλώ δοκιμάστε ένα άλλο"
+	}
+}
diff --git a/api/locales/el/common.json b/api/locales/el/common.json
new file mode 100644
index 00000000..d7e7cc7b
--- /dev/null
+++ b/api/locales/el/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Αυτό το πεδίο είναι υποχρεωτικό",
+    "BASE_TYPE_STRING": "Αυτό το πεδίο πρέπει να είναι μια συμβολοσειρά",
+    "BASE_TYPE_NUMBER": "Αυτό το πεδίο πρέπει να είναι αριθμός",
+    "BASE_TYPE_BIGINT": "Αυτό το πεδίο πρέπει να είναι μεγαλοπρεπής",
+    "BASE_TYPE_BOOLEAN": "Αυτό το πεδίο πρέπει να είναι 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}} σε μήκος"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/el/el b/api/locales/el/el
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/el/el
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/en/auth.json b/api/locales/en/auth.json
new file mode 100644
index 00000000..e19547a0
--- /dev/null
+++ b/api/locales/en/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/api/locales/en/common.json b/api/locales/en/common.json
new file mode 100644
index 00000000..a565e3dc
--- /dev/null
+++ b/api/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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/en/en b/api/locales/en/en
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/en/en
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/eo/auth.json b/api/locales/eo/auth.json
new file mode 100644
index 00000000..2d0f7de9
--- /dev/null
+++ b/api/locales/eo/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail aŭ Telefonnumero ne trovis",
+		"INVALID_PASSWORD": "Pasfrazo ne validas",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Nova uzanta reĝistro estas malebligita",
+		"INVITE_ONLY": "Vi devas esti invitita de iu membro",
+		"EMAIL_INVALID": "Retpoŝto ne estas valida",
+		"EMAIL_ALREADY_REGISTERED": "Tiu retpoŝto estas jam registrita",
+		"DATE_OF_BIRTH_UNDERAGE": "Vi povas esti {{years}} jaroj aŭ pli aĝa",
+		"CONSENT_REQUIRED": "Vi devi konsenti Kondiĉo de Servo kaj Politiko de privateco.",
+		"USERNAME_TOO_MANY_USERS": "Pli multaj uzantoj havas tiu salutnomo, bonvolu provi ankoraŭ"
+	}
+}
diff --git a/api/locales/eo/common.json b/api/locales/eo/common.json
new file mode 100644
index 00000000..6ff6d4cf
--- /dev/null
+++ b/api/locales/eo/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Tio kampo estas bezona",
+    "BASE_TYPE_STRING": "Tio kampo devas string",
+    "BASE_TYPE_NUMBER": "Tio kampo devas numbero",
+    "BASE_TYPE_BIGINT": "Tio kampo devas bigint",
+    "BASE_TYPE_BOOLEAN": "Tio kampo devas bulea",
+    "BASE_TYPE_CHOICES": "Tio kampo devas unu de ({{types}})",
+    "BASE_TYPE_CLASS": "Tio kampo devas kazo de {{type}}",
+    "BASE_TYPE_OBJECT": "Tio kampo devas objekto",
+    "BASE_TYPE_ARRAY": "Tio kampo devas tabelo",
+    "UNKOWN_FIELD": "Nekonata ŝlosilo: {{key}}",
+    "BASE_TYPE_CONSTANT": "Tio kampo devas {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Formado de retpoŝto estas nevalida",
+    "DATE_TYPE_PARSE": "Nevalida dato {{date}}. Devas ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Devas sub {{length}} en longo"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/es/auth.json b/api/locales/es/auth.json
new file mode 100644
index 00000000..8271c578
--- /dev/null
+++ b/api/locales/es/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail o teléfono no encontrado",
+		"INVALID_PASSWORD": "Contraseña Incorrecta",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "El registro de un nuevo usuario no se encuentra habilitado",
+		"INVITE_ONLY": "Tenés que ser invitado para poder registrarte",
+		"EMAIL_INVALID": "Email inválido",
+		"EMAIL_ALREADY_REGISTERED": "Este E-mail ya está registrado",
+		"DATE_OF_BIRTH_UNDERAGE": "Necesitas tener {{years}} años o más",
+		"CONSENT_REQUIRED": "Tenés que aceptar los Términos de Servicio y la Política de Privacidad.",
+		"USERNAME_TOO_MANY_USERS": "Demasiados usuarios tienen este nombre de usuario, por favor intente con otro"
+	}
+}
diff --git a/api/locales/es/common.json b/api/locales/es/common.json
new file mode 100644
index 00000000..bf77d43c
--- /dev/null
+++ b/api/locales/es/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Este campo es obligatorio",
+    "BASE_TYPE_STRING": "Este campo debe ser un texto",
+    "BASE_TYPE_NUMBER": "Este campo debe ser un número",
+    "BASE_TYPE_BIGINT": "Este campo debe ser un tamaño grande",
+    "BASE_TYPE_BOOLEAN": "Este campo debe ser un boolean",
+    "BASE_TYPE_CHOICES": "Este campo debe ser uno de ({{types}})",
+    "BASE_TYPE_CLASS": "Este campo debe ser una instancia de {{type}}",
+    "BASE_TYPE_OBJECT": "Este campo debe ser un objeto",
+    "BASE_TYPE_ARRAY": "Este campo debe ser una matriz",
+    "UNKOWN_FIELD": "Clave desconocida: {{key}}",
+    "BASE_TYPE_CONSTANT": "Este campo debe ser {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "No es una dirección de email bien formada",
+    "DATE_TYPE_PARSE": "No se pudo analizar {{date}}. Debe ser ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Debe estar entre {{length}} de longitud"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/es/es b/api/locales/es/es
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/es/es
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/fi/auth.json b/api/locales/fi/auth.json
new file mode 100644
index 00000000..ba099f28
--- /dev/null
+++ b/api/locales/fi/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Sähköpostia tai puhelinta ei löydy",
+		"INVALID_PASSWORD": "Virheellinen Salasana",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Uuden käyttäjän rekisteröinti pois käytöstä",
+		"INVITE_ONLY": "Sinut on kutsuttava rekisteröitymään",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Sähköposti on jo rekisteröity",
+		"DATE_OF_BIRTH_UNDERAGE": "Sinun täytyy olla {{years}} vuotta tai vanhempi",
+		"CONSENT_REQUIRED": "Sinun on hyväksyttävä käyttöehdot ja tietosuojakäytäntö.",
+		"USERNAME_TOO_MANY_USERS": "Liian monilla käyttäjillä on tämä käyttäjänimi, yritä toista"
+	}
+}
diff --git a/api/locales/fi/common.json b/api/locales/fi/common.json
new file mode 100644
index 00000000..d5aab9e3
--- /dev/null
+++ b/api/locales/fi/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Tämä kenttä on pakollinen",
+    "BASE_TYPE_STRING": "Tämän kentän on oltava merkkijono",
+    "BASE_TYPE_NUMBER": "Tämän kentän on oltava numero",
+    "BASE_TYPE_BIGINT": "Tämän kentän on oltava isoin",
+    "BASE_TYPE_BOOLEAN": "Tämän kentän on oltava totuus",
+    "BASE_TYPE_CHOICES": "Tämän kentän on oltava yksi ({{types}})",
+    "BASE_TYPE_CLASS": "Tämän kentän on oltava {{type}} instanssi",
+    "BASE_TYPE_OBJECT": "Tämän kentän on oltava objekti",
+    "BASE_TYPE_ARRAY": "Tämän kentän on oltava array",
+    "UNKOWN_FIELD": "Tuntematon avain: {{key}}",
+    "BASE_TYPE_CONSTANT": "Tämän kentän on oltava {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Sähköpostiosoite ei ole hyvin muodostettu",
+    "DATE_TYPE_PARSE": "Ei voitu jäsentää {{date}}. Pitäisi olla ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Pituuden on oltava välillä {{length}}"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/fi/fi b/api/locales/fi/fi
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/fi/fi
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/fr/auth.json b/api/locales/fr/auth.json
new file mode 100644
index 00000000..eb9eef98
--- /dev/null
+++ b/api/locales/fr/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail ou Téléphone introuvable",
+		"INVALID_PASSWORD": "Mot de passe invalide",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "L'inscription aux nouveaux utilisateurs est désactivée",
+		"INVITE_ONLY": "Vous devez être invité à s'inscrire",
+		"EMAIL_INVALID": "Adresse e-mail invalide",
+		"EMAIL_ALREADY_REGISTERED": "L'adresse e-mail est déjà enregistrée",
+		"DATE_OF_BIRTH_UNDERAGE": "Vous devez avoir {{years}} ans ou plus",
+		"CONSENT_REQUIRED": "Vous devez accepter les conditions d'utilisation et la politique de confidentialité.",
+		"USERNAME_TOO_MANY_USERS": "Trop d'utilisateurs ont ce nom d'utilisateur, veuillez en essayer un autre"
+	}
+}
diff --git a/api/locales/fr/common.json b/api/locales/fr/common.json
new file mode 100644
index 00000000..8a2cd91e
--- /dev/null
+++ b/api/locales/fr/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Ce champ est obligatoire",
+    "BASE_TYPE_STRING": "Ce champ doit être une chaîne de caractères",
+    "BASE_TYPE_NUMBER": "Ce champ doit être un nombre",
+    "BASE_TYPE_BIGINT": "Ce champ doit être un bigint",
+    "BASE_TYPE_BOOLEAN": "Ce champ doit être un boolean",
+    "BASE_TYPE_CHOICES": "Ce champ doit être l'un des ({{types}})",
+    "BASE_TYPE_CLASS": "Ce champ doit être une instance de {{type}}",
+    "BASE_TYPE_OBJECT": "Ce champ doit être un objet",
+    "BASE_TYPE_ARRAY": "Ce champ doit être un tableau",
+    "UNKOWN_FIELD": "Clé inconnue: {{key}}",
+    "BASE_TYPE_CONSTANT": "Ce champ doit être {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Adresse e-mail mal formaté",
+    "DATE_TYPE_PARSE": "Impossible d'analyser {{date}}. Doit être ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Doit être entre {{length}} de longueur"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/fr/fr b/api/locales/fr/fr
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/fr/fr
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/he/auth.json b/api/locales/he/auth.json
new file mode 100644
index 00000000..e19547a0
--- /dev/null
+++ b/api/locales/he/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/api/locales/he/common.json b/api/locales/he/common.json
new file mode 100644
index 00000000..a565e3dc
--- /dev/null
+++ b/api/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": "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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/he/he b/api/locales/he/he
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/he/he
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/hi/auth.json b/api/locales/hi/auth.json
new file mode 100644
index 00000000..00c7586b
--- /dev/null
+++ b/api/locales/hi/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "ईमेल या फ़ोन नहीं मिला",
+		"INVALID_PASSWORD": "अमान्य पासवर्ड",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "नया उपयोगकर्ता पंजीकरण अक्षम है",
+		"INVITE_ONLY": "आपको पंजीकरण के लिए आमंत्रण किया गया है",
+		"EMAIL_INVALID": "अमान्य ई-मेल",
+		"EMAIL_ALREADY_REGISTERED": "ईमेल पहले से ही पंजीकृत है.",
+		"DATE_OF_BIRTH_UNDERAGE": "आपकी उम्र [[years]] वर्ष होनी चाहिए",
+		"CONSENT_REQUIRED": "आपको सेवाओं और गोपनीयता नीति से सहमत होना होगा",
+		"USERNAME_TOO_MANY_USERS": "बहुत से उपयोगकर्ताओं के पास यह उपयोगकर्ता नाम है, कृपया दूसरा प्रयास करें"
+	}
+}
diff --git a/api/locales/hi/common.json b/api/locales/hi/common.json
new file mode 100644
index 00000000..beb4b222
--- /dev/null
+++ b/api/locales/hi/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "यह फ़ील्ड आवश्यक है",
+    "BASE_TYPE_STRING": "यह फ़ील्ड एक स्ट्रिंग होनी चाहिए",
+    "BASE_TYPE_NUMBER": "यह फ़ील्ड एक संख्या होनी चाहिए",
+    "BASE_TYPE_BIGINT": "यह फ़ील्ड एक बिगिन्ट होनी चाहिए",
+    "BASE_TYPE_BOOLEAN": "यह फ़ील्ड एक बूलियन होनी चाहिए",
+    "BASE_TYPE_CHOICES": "यह फ़ील्ड एक प्रकार का [[[types]]] होना चाहिए",
+    "BASE_TYPE_CLASS": "यह फ़ील्ड एक प्रकार का [[[types]]] होना चाहिए",
+    "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}} के बीच में होनी चाहिए"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/hi/hi b/api/locales/hi/hi
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/hi/hi
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/hr/auth.json b/api/locales/hr/auth.json
new file mode 100644
index 00000000..0f2c8456
--- /dev/null
+++ b/api/locales/hr/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Email ili broj mobitela nije pronađen",
+		"INVALID_PASSWORD": "Pogrešna lozinka",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Registracija novog korisnika je onemogućena",
+		"INVITE_ONLY": "Morate biti pozvani da se registrirate",
+		"EMAIL_INVALID": "Nevažeći email",
+		"EMAIL_ALREADY_REGISTERED": "Email je već registriran",
+		"DATE_OF_BIRTH_UNDERAGE": "Morate imati {{years}} godina ili više",
+		"CONSENT_REQUIRED": "Morate se složiti s uvjetima pružanja usluge i pravila o privatnosti.",
+		"USERNAME_TOO_MANY_USERS": "Previše korisnika ima ovo korisničko ime, molimo vas da pokušate sa drugim"
+	}
+}
diff --git a/api/locales/hr/common.json b/api/locales/hr/common.json
new file mode 100644
index 00000000..2126f375
--- /dev/null
+++ b/api/locales/hr/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Ovo polje je obavezno",
+    "BASE_TYPE_STRING": "Ovo polje mora biti niz",
+    "BASE_TYPE_NUMBER": "Ovo polje mora biti broj",
+    "BASE_TYPE_BIGINT": "Ovo polje mora biti bigint",
+    "BASE_TYPE_BOOLEAN": "Ovo polje mora biti boolean",
+    "BASE_TYPE_CHOICES": "Ovo polje mora biti jedno od ({{types}})",
+    "BASE_TYPE_CLASS": "Ovo polje mora biti primjer od {{type}}",
+    "BASE_TYPE_OBJECT": "Ovo polje mora biti objekt",
+    "BASE_TYPE_ARRAY": "Ovo polje mora biti niz",
+    "UNKOWN_FIELD": "Nepoznati ključ: {{key}}",
+    "BASE_TYPE_CONSTANT": "Ovo polje mora biti {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Nije dobro oblikovana Email adresa",
+    "DATE_TYPE_PARSE": "Nije moguće raščlaniti {{date}}. Treba biti ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Mora biti između {{length}} u duljini"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/hu/auth.json b/api/locales/hu/auth.json
new file mode 100644
index 00000000..3891ce28
--- /dev/null
+++ b/api/locales/hu/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Nincs ilyen E-Mail vagy Telefon",
+		"INVALID_PASSWORD": "Érvénytelen jelszó",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Új felhasználók regisztrációja nem engedélyezett",
+		"INVITE_ONLY": "Csak meghívottak regisztrálhatnak",
+		"EMAIL_INVALID": "Érvénytelen Email",
+		"EMAIL_ALREADY_REGISTERED": "Az Email már regisztrálva van",
+		"DATE_OF_BIRTH_UNDERAGE": "{{years}} éves vagy idősebbnek kell lenned",
+		"CONSENT_REQUIRED": "El kell fogadnod a Felhasználási Feltételeket és az Adatvédelmi Nyilatkozatot.",
+		"USERNAME_TOO_MANY_USERS": "Túl sok felhasználó használja ezt a nevet, kérlek próbálj egy másikat"
+	}
+}
diff --git a/api/locales/hu/common.json b/api/locales/hu/common.json
new file mode 100644
index 00000000..e9095325
--- /dev/null
+++ b/api/locales/hu/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Ez a mező kötelező",
+    "BASE_TYPE_STRING": "Ennek a mezőnek string-nek kell lennie",
+    "BASE_TYPE_NUMBER": "Ennek a mezőnek számnak kell lennie",
+    "BASE_TYPE_BIGINT": "Ennek a mezőnek bigint-nek kell lennie",
+    "BASE_TYPE_BOOLEAN": "Ennek a mezőnek boolean-nek kell lennie",
+    "BASE_TYPE_CHOICES": "Ennek a mezőnek {{types}} típusúnak kell lennie",
+    "BASE_TYPE_CLASS": "Ennek a mezőnek {{type}} típusúnak kell lennie",
+    "BASE_TYPE_OBJECT": "Ennek a mezőnek object-nek kell lennie",
+    "BASE_TYPE_ARRAY": "Ennek a mezőnek array-nek kell lennie",
+    "UNKOWN_FIELD": "Ismeretlen kulcs: {{key}}",
+    "BASE_TYPE_CONSTANT": "A mezőnek {{value}} kell lennie",
+    "EMAIL_TYPE_INVALID_EMAIL": "Nem jól megformázott email cím",
+    "DATE_TYPE_PARSE": "Nem sikerült elemezni {{date}}. ISO8901-nak kéne lennie",
+    "BASE_TYPE_BAD_LENGTH": "{{length}} között kell lennie hosszban"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/hu/hu b/api/locales/hu/hu
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/hu/hu
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/id/auth.json b/api/locales/id/auth.json
new file mode 100644
index 00000000..e19547a0
--- /dev/null
+++ b/api/locales/id/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/api/locales/id/common.json b/api/locales/id/common.json
new file mode 100644
index 00000000..a565e3dc
--- /dev/null
+++ b/api/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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/it/auth.json b/api/locales/it/auth.json
new file mode 100644
index 00000000..3ba387e9
--- /dev/null
+++ b/api/locales/it/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail o numero di telefono non trovato",
+		"INVALID_PASSWORD": "Password Non Valida",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "La registrazione di nuovi utenti è disabilitata",
+		"INVITE_ONLY": "Devi essere stato invitato per registrarti",
+		"EMAIL_INVALID": "Indirizzo e-mail non valido",
+		"EMAIL_ALREADY_REGISTERED": "Email già registrata",
+		"DATE_OF_BIRTH_UNDERAGE": "Devi avere almeno {{years}} anni",
+		"CONSENT_REQUIRED": "È necessario accettare i Termini di Servizio e l'Informativa sulla privacy.",
+		"USERNAME_TOO_MANY_USERS": "Troppi utenti hanno questo nickname, per favore provane un altro"
+	}
+}
diff --git a/api/locales/it/common.json b/api/locales/it/common.json
new file mode 100644
index 00000000..2e17dd4f
--- /dev/null
+++ b/api/locales/it/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Questo campo è obbligatorio",
+    "BASE_TYPE_STRING": "Questo campo deve essere una stringa",
+    "BASE_TYPE_NUMBER": "Questo campo deve essere un numero",
+    "BASE_TYPE_BIGINT": "Questo campo deve essere un numero intero",
+    "BASE_TYPE_BOOLEAN": "Questo campo deve essere un numero booleano",
+    "BASE_TYPE_CHOICES": "Questo campo deve essere uno di ({{types}})",
+    "BASE_TYPE_CLASS": "Questo campo deve essere un'istanza di {{type}}",
+    "BASE_TYPE_OBJECT": "Questo campo deve essere un oggetto",
+    "BASE_TYPE_ARRAY": "Questo campo deve essere un array",
+    "UNKOWN_FIELD": "Chiave non riconosciuta: {{key}}",
+    "BASE_TYPE_CONSTANT": "Questo campo deve essere {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Questo indirizzo e-mail non è in un formato valido",
+    "DATE_TYPE_PARSE": "Impossibile analizzare {{date}}. Dovrebbe essere ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Deve essere compreso tra {{length}} in lunghezza"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/it/it b/api/locales/it/it
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/it/it
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ja/auth.json b/api/locales/ja/auth.json
new file mode 100644
index 00000000..7a131bb7
--- /dev/null
+++ b/api/locales/ja/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "メールまたは電話が見つかりません",
+		"INVALID_PASSWORD": "無効なパスワード",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "新しいユーザー登録は無効です",
+		"INVITE_ONLY": "登録するには招待する必要があります",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "メールアドレスは既に登録されています",
+		"DATE_OF_BIRTH_UNDERAGE": "{{years}} 歳以上である必要があります",
+		"CONSENT_REQUIRED": "利用規約およびプライバシーポリシーに同意する必要があります。",
+		"USERNAME_TOO_MANY_USERS": "このユーザー名を持つユーザーが多すぎます。別のユーザーをお試しください。"
+	}
+}
diff --git a/api/locales/ja/common.json b/api/locales/ja/common.json
new file mode 100644
index 00000000..25b7bc21
--- /dev/null
+++ b/api/locales/ja/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}} 以内でなければなりません"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ja/ja b/api/locales/ja/ja
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/ja/ja
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ko/auth.json b/api/locales/ko/auth.json
new file mode 100644
index 00000000..683ba78a
--- /dev/null
+++ b/api/locales/ko/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "이메일 또는 전화번호를 찾을 수 없습니다",
+		"INVALID_PASSWORD": "비밀번호가 틀렸습니다",
+		"ACCOUNT_DISABLED": "이 계정은 비활성화되었습니다"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "신규 사용자의 등록이 비활성화되었습니다",
+		"INVITE_ONLY": "초대받은 사람만 가입할 수 있습니다",
+		"EMAIL_INVALID": "이메일이 유효하지 않습니다",
+		"EMAIL_ALREADY_REGISTERED": "이미 등록된 이메일입니다",
+		"DATE_OF_BIRTH_UNDERAGE": "최소 {{years}} 이상이어야 합니다",
+		"CONSENT_REQUIRED": "서비스 약관 및 개인정보 취급방침에 동의하셔야 합니다.",
+		"USERNAME_TOO_MANY_USERS": "이 사용자명을 쓰는 사용자가 너무 많습니다. 다른 사용자명을 시도하세요"
+	}
+}
diff --git a/api/locales/ko/common.json b/api/locales/ko/common.json
new file mode 100644
index 00000000..2eb3d0c3
--- /dev/null
+++ b/api/locales/ko/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}} 사이여야 합니다"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ko/ko b/api/locales/ko/ko
new file mode 100644
index 00000000..025a3876
--- /dev/null
+++ b/api/locales/ko/ko
@@ -0,0 +1,15 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail or Phone not found",
+		"INVALID_PASSWORD": "Invalid Password"
+	},
+	"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 Terms of Service and Privacy Policy.",
+		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
+	}
+}
diff --git a/api/locales/lt/auth.json b/api/locales/lt/auth.json
new file mode 100644
index 00000000..0e2f0508
--- /dev/null
+++ b/api/locales/lt/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "El. Paštas ar telefonas nerastas",
+		"INVALID_PASSWORD": "Neteisingas slaptažodis",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Naujų vartotojų registracija išjungta",
+		"INVITE_ONLY": "Jūs turite būti pakviesti registruotis",
+		"EMAIL_INVALID": "Netinkamas el. pašto adresas",
+		"EMAIL_ALREADY_REGISTERED": "El. pašto adresas jau užregistruotas",
+		"DATE_OF_BIRTH_UNDERAGE": "Jūs turite būti {{years}} metų ar vyresni",
+		"CONSENT_REQUIRED": "Jūs turite sutikti su paslaugos teikimo sąlygomis ir privatumo politika.",
+		"USERNAME_TOO_MANY_USERS": "Per daug vartotojų turi šį vartotojo vardą, prašome naudoti kitą"
+	}
+}
diff --git a/api/locales/lt/common.json b/api/locales/lt/common.json
new file mode 100644
index 00000000..f96e028f
--- /dev/null
+++ b/api/locales/lt/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Šis laukelis privalomas",
+    "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": "Neteisingai suformuotas el. pašto adresas",
+    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/nl/auth.json b/api/locales/nl/auth.json
new file mode 100644
index 00000000..d84fdcea
--- /dev/null
+++ b/api/locales/nl/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mailadres of telefoon niet gevonden",
+		"INVALID_PASSWORD": "Ongeldig wachtwoord",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Registratie voor nieuwe gebruikers is uitgeschakeld",
+		"INVITE_ONLY": "U moet worden uitgenodigd om te registreren",
+		"EMAIL_INVALID": "Invalid Email",
+		"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, probeer een andere"
+	}
+}
diff --git a/api/locales/nl/common.json b/api/locales/nl/common.json
new file mode 100644
index 00000000..85deb2ec
--- /dev/null
+++ b/api/locales/nl/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Dit veld is verplicht",
+    "BASE_TYPE_STRING": "Dit veld moet een tekenreeks zijn",
+    "BASE_TYPE_NUMBER": "Dit veld moet een getal zijn",
+    "BASE_TYPE_BIGINT": "Dit veld moet een bigint zijn",
+    "BASE_TYPE_BOOLEAN": "Dit veld moet een Booleaanse waarde zijn",
+    "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": "Onbekend sleutel: {{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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/nl/nl b/api/locales/nl/nl
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/nl/nl
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/no/auth.json b/api/locales/no/auth.json
new file mode 100644
index 00000000..2c0ea29e
--- /dev/null
+++ b/api/locales/no/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Fant ikke e-postadresse eller telefon",
+		"INVALID_PASSWORD": "Ugyldig passord",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Ny brukerregistrering er deaktivert",
+		"INVITE_ONLY": "Du må bli invitert for å registrere deg",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "E-postadressen er allerede registrert",
+		"DATE_OF_BIRTH_UNDERAGE": "Du må være {{years}} eller eldre",
+		"CONSENT_REQUIRED": "Du må godta vilkårene for bruk og personvernerklæringen.",
+		"USERNAME_TOO_MANY_USERS": "For mange brukere har dette brukernavnet, prøv et annet"
+	}
+}
diff --git a/api/locales/no/common.json b/api/locales/no/common.json
new file mode 100644
index 00000000..c70882a2
--- /dev/null
+++ b/api/locales/no/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Dette feltet er obligatorisk",
+    "BASE_TYPE_STRING": "Dette feltet må være en streng",
+    "BASE_TYPE_NUMBER": "Dette feltet må være et tall",
+    "BASE_TYPE_BIGINT": "Dette feltet må være en stor",
+    "BASE_TYPE_BOOLEAN": "Dette feltet må være en boolsk verdi",
+    "BASE_TYPE_CHOICES": "Dette feltet må være ett av ({{types}})",
+    "BASE_TYPE_CLASS": "Dette feltet må være en forekomst av {{type}}",
+    "BASE_TYPE_OBJECT": "Dette feltet må være et objekt",
+    "BASE_TYPE_ARRAY": "Dette feltet må være en liste",
+    "UNKOWN_FIELD": "Ukjent nøkkel: {{key}}",
+    "BASE_TYPE_CONSTANT": "Dette feltet må være {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Ikke et gyldig e-postadresse format",
+    "DATE_TYPE_PARSE": "Kunne ikke analysere {{date}}. Skal være ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Må være mellom {{length}} i lengde"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/no/no b/api/locales/no/no
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/no/no
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/pl/auth.json b/api/locales/pl/auth.json
new file mode 100644
index 00000000..4fb2734b
--- /dev/null
+++ b/api/locales/pl/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mail lub telefon nie znaleziony",
+		"INVALID_PASSWORD": "Nieprawidłowe hasło",
+		"ACCOUNT_DISABLED": "Konto jest zablokowane"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Rejestracja nowego użytkownika jest wyłączona",
+		"INVITE_ONLY": "Musisz być zaproszony do rejestracji",
+		"EMAIL_INVALID": "Nieprawidłowy email",
+		"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ę użytkownika, spróbuj inną"
+	}
+}
diff --git a/api/locales/pl/common.json b/api/locales/pl/common.json
new file mode 100644
index 00000000..2291905d
--- /dev/null
+++ b/api/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 być {{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": "Musi być pomiędzy {{length}}"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/pl/pl b/api/locales/pl/pl
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/pl/pl
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/pt/auth.json b/api/locales/pt/auth.json
new file mode 100644
index 00000000..df7d6708
--- /dev/null
+++ b/api/locales/pt/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mail ou Telefone não encontrado",
+		"INVALID_PASSWORD": "Senha inválida",
+		"ACCOUNT_DISABLED": "Essa conta está desativada"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Registro de novos usuários está desativado",
+		"INVITE_ONLY": "Você deve ser convidado para registrar",
+		"EMAIL_INVALID": "E-mail inválido",
+		"EMAIL_ALREADY_REGISTERED": "E-mail já está registrado",
+		"DATE_OF_BIRTH_UNDERAGE": "Você precisa ter {{years}} anos ou mais",
+		"CONSENT_REQUIRED": "Você precisa aceitar os Termos de Serviço e a Política de Privacidade.",
+		"USERNAME_TOO_MANY_USERS": "Muitos usuários têm esse nome de usuário, por favor, tente outro"
+	}
+}
diff --git a/api/locales/pt/common.json b/api/locales/pt/common.json
new file mode 100644
index 00000000..6716dea9
--- /dev/null
+++ b/api/locales/pt/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Este campo é obrigatório.",
+    "BASE_TYPE_STRING": "Este campo deve ser uma string",
+    "BASE_TYPE_NUMBER": "Este campo deve ser um número",
+    "BASE_TYPE_BIGINT": "Este campo deve ser um grande",
+    "BASE_TYPE_BOOLEAN": "Este campo deve ser booleano",
+    "BASE_TYPE_CHOICES": "Este campo deve ser um dos ({{types}})",
+    "BASE_TYPE_CLASS": "Este campo deve ser uma instância de {{type}}",
+    "BASE_TYPE_OBJECT": "Este campo deve ser um objeto",
+    "BASE_TYPE_ARRAY": "Este campo deve ser um array",
+    "UNKOWN_FIELD": "Chave desconhecida: {{key}}",
+    "BASE_TYPE_CONSTANT": "Este campo deve ser {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Endereço de e-mail formado incorretamente",
+    "DATE_TYPE_PARSE": "Não foi possível analisar {{date}}. Deve ser ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Deve estar entre {{length}} de comprimento"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/pt/pt b/api/locales/pt/pt
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/pt/pt
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ro/auth.json b/api/locales/ro/auth.json
new file mode 100644
index 00000000..929e2596
--- /dev/null
+++ b/api/locales/ro/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mailul sau telefonul nu au fost găsite",
+		"INVALID_PASSWORD": "Parolă nevalidă",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Înregistrarea noului utilizator este dezactivată",
+		"INVITE_ONLY": "Trebuie să fii invitat să te înregistrezi",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "E-mailul este deja înregistrat",
+		"DATE_OF_BIRTH_UNDERAGE": "Trebuie să ai {{years}} ani sau mai mult",
+		"CONSENT_REQUIRED": "Trebuie să fiți de acord cu Termenii de utilizare și Politica de confidențialitate.",
+		"USERNAME_TOO_MANY_USERS": "Prea mulți utilizatori au acest nume de utilizator, vă rugăm să încercați altul"
+	}
+}
diff --git a/api/locales/ro/common.json b/api/locales/ro/common.json
new file mode 100644
index 00000000..ee0ef86c
--- /dev/null
+++ b/api/locales/ro/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Acest câmp este necesar",
+    "BASE_TYPE_STRING": "Acest câmp trebuie să fie un şir de caractere",
+    "BASE_TYPE_NUMBER": "Acest câmp trebuie să fie un număr",
+    "BASE_TYPE_BIGINT": "Acest câmp trebuie să fie mare",
+    "BASE_TYPE_BOOLEAN": "Acest câmp trebuie să fie un boolean",
+    "BASE_TYPE_CHOICES": "Acest câmp trebuie să fie unul din ({{types}})",
+    "BASE_TYPE_CLASS": "Acest câmp trebuie să fie o instanță de {{type}}",
+    "BASE_TYPE_OBJECT": "Acest câmp trebuie să fie un obiect",
+    "BASE_TYPE_ARRAY": "Acest câmp trebuie să fie un array",
+    "UNKOWN_FIELD": "Cheie necunoscută: {{key}}",
+    "BASE_TYPE_CONSTANT": "Acest câmp trebuie să fie {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Adresa de email nu este bine formatata",
+    "DATE_TYPE_PARSE": "Nu s-a putut analiza {{date}}. Ar trebui să fie ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Trebuie să fie între {{length}} lungime"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ro/ro b/api/locales/ro/ro
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/ro/ro
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ru/auth.json b/api/locales/ru/auth.json
new file mode 100644
index 00000000..b63ac34f
--- /dev/null
+++ b/api/locales/ru/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Данный адрес электронной почты или телефон не найден",
+		"INVALID_PASSWORD": "Неверный пароль",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Регистрация нового пользователя отключена",
+		"INVITE_ONLY": "Вы должны быть приглашены для регистрации",
+		"EMAIL_INVALID": "Неверный адрес электронной почты",
+		"EMAIL_ALREADY_REGISTERED": "Данный адрес электронной почты уже зарегистрирован",
+		"DATE_OF_BIRTH_UNDERAGE": "Вам должно быть {{years}} лет или старше",
+		"CONSENT_REQUIRED": "Вы должны согласиться с Условиями обслуживания и Политикой конфиденциальности.",
+		"USERNAME_TOO_MANY_USERS": "Слишком много пользователей имеют это имя пользователя, пожалуйста, попробуйте другое"
+	}
+}
diff --git a/api/locales/ru/common.json b/api/locales/ru/common.json
new file mode 100644
index 00000000..99fb15cf
--- /dev/null
+++ b/api/locales/ru/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Это поле является обязательным",
+    "BASE_TYPE_STRING": "Это поле должно быть string",
+    "BASE_TYPE_NUMBER": "Это поле должно быть number",
+    "BASE_TYPE_BIGINT": "Это поле должно быть bigint",
+    "BASE_TYPE_BOOLEAN": "Это поле должно быть 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}} в длину"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ru/ru b/api/locales/ru/ru
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/ru/ru
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/sk/auth.json b/api/locales/sk/auth.json
new file mode 100644
index 00000000..241d71e9
--- /dev/null
+++ b/api/locales/sk/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mail alebo telefón nebol nájdený",
+		"INVALID_PASSWORD": "Neplatné Heslo",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Registrácia nového používateľa je zakázaná",
+		"INVITE_ONLY": "Na registráciu musíte byť pozvaní",
+		"EMAIL_INVALID": "Neplatný Email",
+		"EMAIL_ALREADY_REGISTERED": "Email je už zaregistrovaný",
+		"DATE_OF_BIRTH_UNDERAGE": "Musíte mať {{years}} alebo viac rokov",
+		"CONSENT_REQUIRED": "Musíte súhlasiť s Podmienkami používania služby a Zásadami ochrany osobných údajov.",
+		"USERNAME_TOO_MANY_USERS": "Toto používateľské meno má príliš veľa používateľov, skúste iné"
+	}
+}
diff --git a/api/locales/sk/common.json b/api/locales/sk/common.json
new file mode 100644
index 00000000..c37f8604
--- /dev/null
+++ b/api/locales/sk/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Toto pole je povinné",
+    "BASE_TYPE_STRING": "Toto pole musí byť slovo alebo veta",
+    "BASE_TYPE_NUMBER": "Toto pole musí byť číslo",
+    "BASE_TYPE_BIGINT": "Toto pole musí byť binárna číslica",
+    "BASE_TYPE_BOOLEAN": "Toto pole musí byť buď áno, alebo nie",
+    "BASE_TYPE_CHOICES": "Toto pole musí byť jedným z ({{types}})",
+    "BASE_TYPE_CLASS": "Toto pole musí byť inštanciou z {{type}}",
+    "BASE_TYPE_OBJECT": "Toto pole musí byť objekt",
+    "BASE_TYPE_ARRAY": "Toto pole musí byť pole",
+    "UNKOWN_FIELD": "Neznámy kľúč: {{key}}",
+    "BASE_TYPE_CONSTANT": "Toto pole musí byť {{value}}",
+    "EMAIL_TYPE_INVALID_EMAIL": "Nie je správne formulovaná emailová adresa",
+    "DATE_TYPE_PARSE": "Nepodarilo sa analyzovať {{date}}. Malo by byť ISO8601",
+    "BASE_TYPE_BAD_LENGTH": "Musí mať dĺžku medzi {{length}}"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/sr/auth.json b/api/locales/sr/auth.json
new file mode 100644
index 00000000..e19547a0
--- /dev/null
+++ b/api/locales/sr/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/api/locales/sr/common.json b/api/locales/sr/common.json
new file mode 100644
index 00000000..a565e3dc
--- /dev/null
+++ b/api/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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/sr/sr b/api/locales/sr/sr
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/sr/sr
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/sv/auth.json b/api/locales/sv/auth.json
new file mode 100644
index 00000000..c94b0810
--- /dev/null
+++ b/api/locales/sv/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-post eller telefon hittades inte",
+		"INVALID_PASSWORD": "Ogiltigt lösenord",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"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/api/locales/sv/common.json b/api/locales/sv/common.json
new file mode 100644
index 00000000..9d8eb0da
--- /dev/null
+++ b/api/locales/sv/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Detta fält är obligatoriskt",
+    "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 lista",
+    "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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/sv/sv b/api/locales/sv/sv
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/sv/sv
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/tr/auth.json b/api/locales/tr/auth.json
new file mode 100644
index 00000000..80c06600
--- /dev/null
+++ b/api/locales/tr/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "Eposta veya Telefon Numarası bulunamadı",
+		"INVALID_PASSWORD": "Geçersiz Şifre",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"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 Eposta",
+		"EMAIL_ALREADY_REGISTERED": "Bu Eposta zaten kayıtlı",
+		"DATE_OF_BIRTH_UNDERAGE": "{{years}} yaşında veya daha büyük olmalısın",
+		"CONSENT_REQUIRED": "Hizmet Şartları 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/api/locales/tr/common.json b/api/locales/tr/common.json
new file mode 100644
index 00000000..b113453e
--- /dev/null
+++ b/api/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 büyük integer (bkz. bigint) değeri olmalıdır",
+    "BASE_TYPE_BOOLEAN": "Bu alan mantıksal değer (boolean) olmalıdır",
+    "BASE_TYPE_CHOICES": "Bu alan ({{types}}) lardan biri olmak zorunda",
+    "BASE_TYPE_CLASS": "Bu alan {{type}} türünden olmalı",
+    "BASE_TYPE_OBJECT": "Bu alan bir obje olmalı",
+    "BASE_TYPE_ARRAY": "Bu alan bir dizi (array) 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": "Uzunluğu {{length}} olmalı"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/tr/tr b/api/locales/tr/tr
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/tr/tr
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/uk/auth.json b/api/locales/uk/auth.json
new file mode 100644
index 00000000..76c4e500
--- /dev/null
+++ b/api/locales/uk/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-Mail або телефон не знайдено",
+		"INVALID_PASSWORD": "Невірний пароль",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Реєстрація нового користувача вимкнута",
+		"INVITE_ONLY": "Ви повинні бути запрошені до реєстрації",
+		"EMAIL_INVALID": "Invalid Email",
+		"EMAIL_ALREADY_REGISTERED": "Цю адресу електронної пошти вже зареєстровано",
+		"DATE_OF_BIRTH_UNDERAGE": "Ви повинні бути {{years}} роками або старше",
+		"CONSENT_REQUIRED": "Ви повинні погодитися з Правилами користування сервісом і політикою конфіденційності.",
+		"USERNAME_TOO_MANY_USERS": "Надто багато користувачів з таким іменем користувача, будь ласка, спробуйте інше"
+	}
+}
diff --git a/api/locales/uk/common.json b/api/locales/uk/common.json
new file mode 100644
index 00000000..e694f8ae
--- /dev/null
+++ b/api/locales/uk/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "Це поле обов'язкове для заповнення",
+    "BASE_TYPE_STRING": "Це поле має бути рядком",
+    "BASE_TYPE_NUMBER": "Це поле має бути числом",
+    "BASE_TYPE_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}} в довжині"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/uk/uk b/api/locales/uk/uk
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/uk/uk
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/ur/auth.json b/api/locales/ur/auth.json
new file mode 100644
index 00000000..e19547a0
--- /dev/null
+++ b/api/locales/ur/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/api/locales/ur/common.json b/api/locales/ur/common.json
new file mode 100644
index 00000000..a565e3dc
--- /dev/null
+++ b/api/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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/vi/auth.json b/api/locales/vi/auth.json
new file mode 100644
index 00000000..b2f59d44
--- /dev/null
+++ b/api/locales/vi/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "E-mail hoặc số điện thoại không tồn tại",
+		"INVALID_PASSWORD": "Sai mật khẩu",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "Hệ thống hiện không cho phép tài khoản mới",
+		"INVITE_ONLY": "Bạn cần được mời để tạo tài khoản",
+		"EMAIL_INVALID": "Email không hợp lệ",
+		"EMAIL_ALREADY_REGISTERED": "Email đã tồn tại",
+		"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": "Quá nhiều tài khoản trùng với username bạn chọn, xin vui lòng chọn username khác"
+	}
+}
diff --git a/api/locales/vi/common.json b/api/locales/vi/common.json
new file mode 100644
index 00000000..a565e3dc
--- /dev/null
+++ b/api/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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/vi/vi b/api/locales/vi/vi
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/vi/vi
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/zh/auth.json b/api/locales/zh/auth.json
new file mode 100644
index 00000000..b802ba22
--- /dev/null
+++ b/api/locales/zh/auth.json
@@ -0,0 +1,16 @@
+{
+	"login": {
+		"INVALID_LOGIN": "找不到電子郵件或電話",
+		"INVALID_PASSWORD": "無效的密碼",
+		"ACCOUNT_DISABLED": "This account is disabled"
+	},
+	"register": {
+		"REGISTRATION_DISABLED": "新用戶註冊已禁用",
+		"INVITE_ONLY": "必須邀請您才能註冊",
+		"EMAIL_INVALID": "無效電子郵件",
+		"EMAIL_ALREADY_REGISTERED": "該電郵地址已註冊",
+		"DATE_OF_BIRTH_UNDERAGE": "您必須年滿 {{years}} 歲",
+		"CONSENT_REQUIRED": "您必須同意服務條款和隱私政策。",
+		"USERNAME_TOO_MANY_USERS": "此用戶名太多,請嘗試使用其他用戶名"
+	}
+}
diff --git a/api/locales/zh/common.json b/api/locales/zh/common.json
new file mode 100644
index 00000000..a9e8532e
--- /dev/null
+++ b/api/locales/zh/common.json
@@ -0,0 +1,18 @@
+{
+  "field": {
+    "BASE_TYPE_REQUIRED": "此字段是必填项",
+    "BASE_TYPE_STRING": "此字段必须是字符串",
+    "BASE_TYPE_NUMBER": "此字段必须是一个数字",
+    "BASE_TYPE_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}} 之间"
+  }
+}
\ No newline at end of file
diff --git a/api/locales/zh/zh b/api/locales/zh/zh
new file mode 100644
index 00000000..7a0254fc
--- /dev/null
+++ b/api/locales/zh/zh
@@ -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 a object",
+    "BASE_TYPE_ARRAY": "This field must be an array",
+    "UNKOWN_FIELD": "Unkown 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"
+  }
+}
\ No newline at end of file