1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-06 19:02:33 +01:00

Merge branch 'fosscord:master' into master

This commit is contained in:
Featyre 2021-11-22 21:44:26 +08:00 committed by GitHub
commit b41d8c06ec
79 changed files with 2239 additions and 1009 deletions

2
.gitignore vendored
View File

@ -9,3 +9,5 @@ tsconfig.tsbuildinfo
files/ files/
.env .env
config.json config.json
.vscode/settings.json

View File

@ -1,4 +1,7 @@
{ {
"tabWidth": 4, "tabWidth": 4,
"useTabs": true "useTabs": true,
"printWidth": 140,
"trailingComma": "none",
"useTabs": true
} }

4
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"awooga.originalColorCustomizations": {},
"workbench.colorCustomizations": {}
}

47
api/assets/checkLocale.js Normal file
View File

@ -0,0 +1,47 @@
const localStorage = window.localStorage;
// TODO: remote auth
// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
localStorage.setItem(
"DeveloperOptionsStore",
`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
);
const supportedLocales = [
"bg",
"cs",
"da",
"de",
"el",
"en-GB",
"es-ES",
"fi",
"fr",
"hi",
"hr",
"hu",
"it",
"ja",
"ko",
"lt",
"nl",
"no",
"pl",
"pt-BR",
"ro",
"ru",
"sv-SE",
"th",
"tr",
"uk",
"vi",
"zh-CN",
"zh-TW"
];
const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
if (settings && !supportedLocales.includes(settings.locale)) {
// fix client locale wrong and client not loading at all
settings.locale = "en-US";
localStorage.setItem("UserSettingsStore", JSON.stringify(settings));
}

View File

@ -0,0 +1,62 @@
// Auto register guest account:
const prefix = [
"mysterious",
"adventurous",
"courageous",
"precious",
"cynical",
"flamer ",
"despicable",
"suspicious",
"gorgeous",
"impeccable",
"lovely",
"stunning",
"keyed",
"phoned",
"glorious",
"amazing",
"strange",
"arcane"
];
const suffix = [
"Anonymous",
"Boy",
"Lurker",
"Keyhitter",
"User",
"Enjoyer",
"Hunk",
"Coolstar",
"Wrestling",
"TylerTheCreator",
"Ad",
"Gamer",
"Games",
"Programmer"
];
Array.prototype.random = function () {
return this[Math.floor(Math.random() * this.length)];
};
function _generateName() {
return `${prefix.random()}${suffix.random()}`;
}
var token = JSON.parse(localStorage.getItem("token"));
if (!token && location.pathname !== "/login" && location.pathname !== "/register") {
fetch(`${window.GLOBAL_ENV.API_ENDPOINT}/auth/register`, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ username: `${_generateName()}`, consent: true }) //${Date.now().toString().slice(-4)}
})
.then((x) => x.json())
.then((x) => {
localStorage.setItem("token", `"${x.token}"`);
if (!window.localStorage) {
// client already loaded -> need to reload to apply the newly registered user token
location.reload();
}
});
}

1
api/assets/user.css Normal file
View File

@ -0,0 +1 @@
/* Your custom CSS goes here, enjoy! */

View File

@ -4,6 +4,10 @@
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Discord Test Client</title> <title>Discord Test Client</title>
<link rel="stylesheet" href="/assets/fosscord.css" />
<link id="logincss" rel="stylesheet" href="/assets/fosscord-login.css" />
<link id="customcss" rel="stylesheet" href="/assets/user.css" />
<!-- preload plugin marker -->
</head> </head>
<body> <body>
@ -47,106 +51,25 @@
`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}` `{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
); );
// Auto register guest account: setInterval(() => {
const prefix = [ var token = JSON.parse(localStorage.getItem("token"));
"mysterious", if (token) {
"adventurous", document.querySelector("#logincss").remove();
"courageous", }
"precious", }, 1000);
"cynical",
"despicable",
"suspicious",
"gorgeous",
"lovely",
"stunning",
"based",
"keyed",
"ratioed",
"twink",
"phoned"
];
const suffix = [
"Anonymous",
"Lurker",
"User",
"Enjoyer",
"Hunk",
"Top",
"Bottom",
"Sub",
"Coolstar",
"Wrestling",
"TylerTheCreator",
"Ad"
];
Array.prototype.random = function () {
return this[Math.floor(Math.random() * this.length)];
};
function _generateName() {
return `${prefix.random()}${suffix.random()}`;
}
const token = JSON.parse(localStorage.getItem("token"));
if (!token && location.pathname !== "/login" && location.pathname !== "/register") {
fetch(`${window.GLOBAL_ENV.API_ENDPOINT}/auth/register`, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ username: `${_generateName()}`, consent: true }) //${Date.now().toString().slice(-4)}
})
.then((x) => x.json())
.then((x) => {
localStorage.setItem("token", `"${x.token}"`);
if (!window.localStorage) {
// client already loaded -> need to reload to apply the newly registered user token
location.reload();
}
});
}
const supportedLocales = [
"bg",
"cs",
"da",
"de",
"el",
"en-GB",
"es-ES",
"fi",
"fr",
"hi",
"hr",
"hu",
"it",
"ja",
"ko",
"lt",
"nl",
"no",
"pl",
"pt-BR",
"ro",
"ru",
"sv-SE",
"th",
"tr",
"uk",
"vi",
"zh-CN",
"zh-TW"
];
const settings = JSON.parse(localStorage.getItem("UserSettingsStore")); const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
if (settings && !supportedLocales.includes(settings.locale)) { if (settings && settings.locale.length <= 2) {
// fix client locale wrong and client not loading at all // fix client locale wrong and client not loading at all
settings.locale = "en-US"; settings.locale = "en-US";
localStorage.setItem("UserSettingsStore", JSON.stringify(settings)); localStorage.setItem("UserSettingsStore", JSON.stringify(settings));
} }
</script> </script>
<script src="/assets/checkLocale.js"></script>
<script src="/assets/479a2f1e7d625dc134b9.js"></script> <script src="/assets/479a2f1e7d625dc134b9.js"></script>
<script src="/assets/a15fd133a1d2d77a2424.js"></script> <script src="/assets/a15fd133a1d2d77a2424.js"></script>
<script src="/assets/97e6fa22aa08ee4daa5e.js"></script> <script src="/assets/97e6fa22aa08ee4daa5e.js"></script>
<script src="/assets/9b2b7f0632acd0c5e781.js"></script> <script src="/assets/9b2b7f0632acd0c5e781.js"></script>
<!-- plugin marker -->
</body> </body>
</html> </html>

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "البريد الإلكتروني أو الهاتف غير موجود", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "كلمة المرور غير صالحة", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "تم تعطيل تسجيل المستخدم الجديد", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "يجب دعوتك للتسجيل", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "البريد الإلكتروني خاطئ", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "البريد الإلكتروني مسجل بالفعل", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "يجب أن تكون {{years}} سنة أو أكثر", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "يجب أن توافق على شروط الخدمة وسياسة الخصوصية.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "عدد كبير جدا من المستخدمين لديهم اسم المستخدم هذا، الرجاء محاولة اسم آخر" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "هذا الحقل مطلوب", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "يجب أن يكون هذا الحقل سلسلة من الأحرف", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "يجب أن يكون هذا الحقل رقم", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "يجب أن يكون هذا الحقل أكبر", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "يجب أن يكون هذا الحقل منطقيا", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "يجب أن يكون هذا الحقل واحدا من ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "يجب أن يكون هذا الحقل مثيل {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "يجب أن يكون هذا الحقل كائناً", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "يجب أن يكون هذا الحقل مصفوفة", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "مفتاح غير معروف: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "يجب أن يكون هذا الحقل {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "عنوان البريد الإلكتروني ليس مشكّل جيدا", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "لا يمكن تحليل {{date}}. يجب أن يكون ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "يجب أن يكون بين {{length}} في الطول" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Дадзены адрас электроннай пошты ці тэлефон не знойдзены", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Няправільны пароль", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Рэгістрацыя новага карыстальніка адключана", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Вас павінны запрасіць, каб зарэгістравацца", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Няправільны адрас электроннай пошты", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Дадзены адрас электроннай пошты ўжо зарэгістраваны", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Вам павінна быць не менш за {{years}} гадоў або больш", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Вы павінны пагадзіцца з Умовамі прадастаўлення паслуг і Палітыкай прыватнасці.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Занадта шмат карыстальнікаў маюць гэтае імя карыстальніка, калі ласка, паспрабуйце іншае" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Гэта поле з'яўляецца абавязковым", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Гэта поле павінна быць string", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Гэта поле павінна быць number", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Гэта поле павінна быць bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Гэта поле павінна быць boolean", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Гэта поле павінна быць адным з ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Гэта поле павінна быць асобнікам {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Гэта поле павінна быць аб'ектам", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Гэта поле павінна быць масівам", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Невядомае поле: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Гэта поле павінна быць {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Няправільны фармат адрасы электроннай пошты", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Немагчыма разабраць {{date}}. Яна павінна быць у ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Павінна быць паміж {{length}} у даўжыню" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Невалиден имейл адрес или телефонен номер", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Невалидна парола", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Регистрацията на нов потребител е деактивирана", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Вие трябва да бъдете поканени, за да можете да се регистрирате", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Невалиден имейл", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Имейлът вече е регистриран", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Трябва да сте навършили {{years}} или повече години", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Трябва да се съгласите с Общите условия и Политиката за поверителност.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Твърде много потребители имат това потребителско име, моля опитайте друго" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Това поле е задължително", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Това поле трябва да е низ", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Това поле трябва да е число", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Това поле трябва да е голямо", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Това поле трябва да бъде булево", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Това поле трябва да бъде едно от ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Това поле трябва да бъде екземпляр на {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Това поле трябва да бъде обект", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Това поле трябва да бъде масив", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Непознат ключ: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Това поле трябва да е {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Невалиден имейл адрес", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Не може да се анализира {{date}}. Трябва да е ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Трябва да е с дължина между {{length}}" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-Mail nebo telefon nenalezen", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Neplatné heslo", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "Tento účet je vypnutý" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Registrace nového uživatele je zakázána", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Musíte být pozváni k registraci", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Neplatný E-mail", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "E-mail je již registrován", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Musíš být {{years}} let nebo starší", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Musíte souhlasit s obchodními podmínkami a zásadami ochrany osobních údajů.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Příliš mnoho uživatelů má toto uživatelské jméno, zkuste prosím jiné" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Toto pole je povinné", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Toto pole musí být řetězec", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Toto pole musí být číslo", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Toto pole musí být velké", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Toto pole musí být logická hodnota", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Toto pole musí být jedno z ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Toto pole musí být instancí {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Toto pole musí být objekt", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Toto pole musí být pole", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Neznámý klíč: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Toto pole musí být {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Není dobře vytvořená e-mailová adresa", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Nelze naparsovat {{date}}. Mělo by být ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Musí být mezi {{length}} délkou" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-mail eller telefon ikke fundet", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Ugyldig Adgangskode", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Ny brugerregistrering er deaktiveret", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Du skal inviteres til at registrere dig", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Invalid Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "E-mail er allerede registreret", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Du skal være {{years}} år eller ældre", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Du skal acceptere Servicevilkår og privatlivspolitik.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "For mange brugere har dette brugernavn, prøv venligst et andet" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Dette felt er påkrævet", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Dette felt skal være en streng", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Dette felt skal være et tal", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Dette felt skal være en bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Dette felt skal være en boolsk", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Dette felt skal være et af ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Dette felt skal være en instans på {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Dette felt skal være et objekt", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Dette felt skal være et array", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Ukendt nøgle: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Dette felt skal være {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Ikke en velformet e-mailadresse", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Kunne ikke fortolke {{date}}. Bør være ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Skal være mellem {{length}} i længden" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Dieses Feld ist erforderlich", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Dieses Feld muss ein String sein", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Dieses Feld muss eine Zahl sein", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Dieses Feld muss ein bigint sein", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Dieses Feld muss ein boolean sein", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Dieses Feld muss eines von ({{types}}) sein", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Dieses Feld muss {{type}} sein", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Dieses Feld muss ein Objekt sein", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Dieses Feld muss ein Array sein", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Unbekanntes Feld: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Dieses Feld muss {{value}} sein", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Keine gültige E-Mail-Adresse", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Konnte {{date}} nicht lesen. Muss ISO8601 entsprechen", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Muss zwischen {{length}} lang sein" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Το e-mail ή το τηλέφωνο δεν βρέθηκε", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Μη Έγκυρος Κωδικός", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Η εγγραφή νέου χρήστη είναι απενεργοποιημένη", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Πρέπει να προσκληθείτε να εγγραφείτε", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Invalid Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Το email έχει ήδη καταχωρηθεί", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Πρέπει να είστε {{years}} ετών ή μεγαλύτεροι", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Πρέπει να συμφωνήσετε με τους Όρους Παροχής Υπηρεσιών και την Πολιτική Απορρήτου.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Πάρα πολλοί χρήστες έχουν αυτό το όνομα χρήστη, παρακαλώ δοκιμάστε ένα άλλο" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Αυτό το πεδίο είναι υποχρεωτικό", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Αυτό το πεδίο πρέπει να είναι μια συμβολοσειρά", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Αυτό το πεδίο πρέπει να είναι αριθμός", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Αυτό το πεδίο πρέπει να είναι μεγαλοπρεπής", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Αυτό το πεδίο πρέπει να είναι boolean", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Αυτό το πεδίο πρέπει να είναι ένα από{{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Αυτό το πεδίο πρέπει να είναι ένα παράδειγμα {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Αυτό το πεδίο πρέπει να είναι αντικείμενο", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Αυτό το πεδίο πρέπει να είναι ένας πίνακας", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Άγνωστο κλειδί: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Αυτό το πεδίο πρέπει να είναι {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Δεν είναι καλά σχηματισμένη διεύθυνση ηλεκτρονικού ταχυδρομείου", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Αδυναμία ανάλυσης του {{date}}. Πρέπει να είναι ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Πρέπει να είναι μεταξύ {{length}} σε μήκος" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-Mail aŭ Telefonnumero ne trovis", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Pasfrazo ne validas", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Nova uzanta reĝistro estas malebligita", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Vi devas esti invitita de iu membro", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Retpoŝto ne estas valida", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Tiu retpoŝto estas jam registrita", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Vi povas esti {{years}} jaroj aŭ pli aĝa", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Vi devi konsenti Kondiĉo de Servo kaj Politiko de privateco.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Pli multaj uzantoj havas tiu salutnomo, bonvolu provi ankoraŭ" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Tio kampo estas bezona", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Tio kampo devas string", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Tio kampo devas numbero", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Tio kampo devas bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Tio kampo devas bulea", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Tio kampo devas unu de ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Tio kampo devas kazo de {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Tio kampo devas objekto", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Tio kampo devas tabelo", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Nekonata ŝlosilo: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Tio kampo devas {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Formado de retpoŝto estas nevalida", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Nevalida dato {{date}}. Devas ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Devas sub {{length}} en longo" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-Mail o teléfono no encontrado", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Contraseña Incorrecta", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "Esta cuenta está desactivada" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "El registro de un nuevo usuario no se encuentra habilitado", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Tenés que ser invitado para poder registrarte", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Email inválido", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Este E-mail ya está registrado", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Necesitás tener {{years}} años o más", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Tenés que aceptar los Términos de Servicio y la Política de Privacidad.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Demasiados usuarios tienen este nombre de usuario, por favor intentá con otro" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Este campo es obligatorio", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Este campo debe ser un texto", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Este campo debe ser un número", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Este campo debe ser un tamaño grande", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Este campo debe ser un boolean", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Este campo debe ser uno de ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Este campo debe ser una instancia de {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Este campo debe ser un objeto", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Este campo debe ser una matriz", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Clave desconocida: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Este campo debe ser {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "No es una dirección de email bien formada", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "No se pudo analizar {{date}}. Debe ser ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Debe estar entre {{length}} de longitud" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Sähköpostia tai puhelinta ei löydy", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Virheellinen Salasana", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Uuden käyttäjän rekisteröinti pois käytöstä", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Sinut on kutsuttava rekisteröitymään", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Invalid Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Sähköposti on jo rekisteröity", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Sinun täytyy olla {{years}} vuotta tai vanhempi", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Sinun on hyväksyttävä käyttöehdot ja tietosuojakäytäntö.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Liian monilla käyttäjillä on tämä käyttäjänimi, yritä toista" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Tämä kenttä on pakollinen", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Tämän kentän on oltava merkkijono", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Tämän kentän on oltava numero", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Tämän kentän on oltava isoin", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Tämän kentän on oltava totuus", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Tämän kentän on oltava yksi ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Tämän kentän on oltava {{type}} instanssi", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Tämän kentän on oltava objekti", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Tämän kentän on oltava array", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Tuntematon avain: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Tämän kentän on oltava {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Sähköpostiosoite ei ole hyvin muodostettu", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Ei voitu jäsentää {{date}}. Pitäisi olla ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Pituuden on oltava välillä {{length}}" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-Mail ou Téléphone introuvable", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Mot de passe invalide", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "L'inscription aux nouveaux utilisateurs est désactivée", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Vous devez être invité à s'inscrire", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Adresse e-mail invalide", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "L'adresse e-mail est déjà enregistrée", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Vous devez avoir {{years}} ans ou plus", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Vous devez accepter les conditions d'utilisation et la politique de confidentialité.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Trop d'utilisateurs ont ce nom d'utilisateur, veuillez en essayer un autre" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Ce champ est obligatoire", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Ce champ doit être une chaîne de caractères", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Ce champ doit être un nombre", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Ce champ doit être un bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Ce champ doit être un boolean", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Ce champ doit être l'un des ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Ce champ doit être une instance de {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Ce champ doit être un objet", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Ce champ doit être un tableau", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Clé inconnue: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Ce champ doit être {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Adresse e-mail mal formaté", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Impossible d'analyser {{date}}. Doit être ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Doit être entre {{length}} de longueur" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "ईमेल या फ़ोन नहीं मिला", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "अमान्य पासवर्ड", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "नया उपयोगकर्ता पंजीकरण अक्षम है", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "आपको पंजीकरण के लिए आमंत्रण किया गया है", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "अमान्य ई-मेल", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "ईमेल पहले से ही पंजीकृत है.", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "आपकी उम्र [[years]] वर्ष होनी चाहिए", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "आपको सेवाओं और गोपनीयता नीति से सहमत होना होगा", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "बहुत से उपयोगकर्ताओं के पास यह उपयोगकर्ता नाम है, कृपया दूसरा प्रयास करें" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "यह फ़ील्ड आवश्यक है", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "यह फ़ील्ड एक स्ट्रिंग होनी चाहिए", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "यह फ़ील्ड एक संख्या होनी चाहिए", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "यह फ़ील्ड एक बिगिन्ट होनी चाहिए", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "यह फ़ील्ड एक बूलियन होनी चाहिए", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "यह फ़ील्ड एक प्रकार का [[[types]]] होना चाहिए", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "यह फ़ील्ड एक प्रकार का [[[types]]] होना चाहिए", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "यह फ़ील्ड एक ऑब्जेक्ट होनी चाहिए", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "यह फ़ील्ड एक ऐरे होनी चाहिए", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "अज्ञात कुंजी: [[key]]", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "यह क्षेत्र {{value}} होना चाहिए", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "खराब ईमेल एड्रेस", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "{{date}} की पदव्‍याख्‍या नहीं हो पाई है। ISO8601 होना चाहिए", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "लंबाई {{length}} के बीच में होनी चाहिए" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Email ili broj mobitela nije pronađen", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Pogrešna lozinka", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Registracija novog korisnika je onemogućena", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Morate biti pozvani da se registrirate", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Nevažeći email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Email je već registriran", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Morate imati {{years}} godina ili više", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Morate se složiti s uvjetima pružanja usluge i pravila o privatnosti.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Previše korisnika ima ovo korisničko ime, molimo vas da pokušate sa drugim" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Ovo polje je obavezno", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Ovo polje mora biti niz", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Ovo polje mora biti broj", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Ovo polje mora biti bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Ovo polje mora biti boolean", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Ovo polje mora biti jedno od ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Ovo polje mora biti primjer od {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Ovo polje mora biti objekt", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Ovo polje mora biti niz", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Nepoznati ključ: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Ovo polje mora biti {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Nije dobro oblikovana Email adresa", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Nije moguće raščlaniti {{date}}. Treba biti ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Mora biti između {{length}} u duljini" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Nincs ilyen E-Mail vagy Telefon", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Érvénytelen jelszó", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "Ez a fiók le van tiltva" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Új felhasználók regisztrációja nem engedélyezett", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Csak meghívottak regisztrálhatnak", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Érvénytelen Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Az Email már regisztrálva van", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "{{years}} éves vagy idősebbnek kell lenned", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "El kell fogadnod a Felhasználási Feltételeket és az Adatvédelmi Nyilatkozatot.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Túl sok felhasználó használja ezt a nevet, kérlek próbálj egy másikat" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Ez a mező kötelező", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Ennek a mezőnek string-nek kell lennie", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Ennek a mezőnek számnak kell lennie", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Ennek a mezőnek bigint-nek kell lennie", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Ennek a mezőnek boolean-nek kell lennie", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Ennek a mezőnek {{types}} típusúnak kell lennie", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Ennek a mezőnek {{type}} típusúnak kell lennie", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Ennek a mezőnek object-nek kell lennie", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Ennek a mezőnek array-nek kell lennie", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Ismeretlen kulcs: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "A mezőnek {{value}} kell lennie", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Nem jól megformázott email cím", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Nem sikerült elemezni {{date}}. ISO8901-nak kéne lennie", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "{{length}} között kell lennie hosszban" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-Mail o numero di telefono non trovato", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Password Non Valida", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "La registrazione di nuovi utenti è disabilitata", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Devi essere stato invitato per registrarti", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Indirizzo e-mail non valido", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Email già registrata", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Devi avere almeno {{years}} anni", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "È necessario accettare i Termini di Servizio e l'Informativa sulla privacy.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Troppi utenti hanno questo nickname, per favore provane un altro" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Questo campo è obbligatorio", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Questo campo deve essere una stringa", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Questo campo deve essere un numero", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Questo campo deve essere un numero intero", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Questo campo deve essere un numero booleano", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Questo campo deve essere uno di ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Questo campo deve essere un'istanza di {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Questo campo deve essere un oggetto", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Questo campo deve essere un array", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Chiave non riconosciuta: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Questo campo deve essere {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Questo indirizzo e-mail non è in un formato valido", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Impossibile analizzare {{date}}. Dovrebbe essere ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Deve essere compreso tra {{length}} in lunghezza" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "メールまたは電話が見つかりません", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "無効なパスワード", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "新しいユーザー登録は無効です", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "登録するには招待する必要があります", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Invalid Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "メールアドレスは既に登録されています", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "{{years}} 歳以上である必要があります", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "利用規約およびプライバシーポリシーに同意する必要があります。", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "このユーザー名を持つユーザーが多すぎます。別のユーザーをお試しください。" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "このフィールドは必須項目です", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "このフィールドは文字列でなければなりません", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "このフィールドは数値でなければなりません", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "このフィールドはbigintでなければなりません", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "このフィールドはブール値でなければなりません", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "このフィールドは ({{types}} ) のいずれかでなければなりません", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "このフィールドは {{type}} のインスタンスでなければなりません", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "このフィールドはオブジェクトでなければなりません", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "このフィールドは配列でなければなりません", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "不明なキー: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "このフィールドは {{value}} でなければなりません", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "メールアドレスが正しくありません", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "{{date}}を解析できませんでした。ISO8601である必要があります", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "{{length}} 以内でなければなりません" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "이메일 또는 전화번호를 찾을 수 없습니다", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "비밀번호가 틀렸습니다", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "이 계정은 비활성화되었습니다" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "신규 사용자의 등록이 비활성화되었습니다", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "초대받은 사람만 가입할 수 있습니다", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "이메일이 유효하지 않습니다", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "이미 등록된 이메일입니다", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "최소 {{years}} 이상이어야 합니다", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "서비스 약관 및 개인정보 취급방침에 동의하셔야 합니다.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "이 사용자명을 쓰는 사용자가 너무 많습니다. 다른 사용자명을 시도하세요" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "필수로 기입해야 합니다", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "문자열을 입력해야 합니다", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "숫자를 입력해야 합니다", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "bigint를 입력해야 합니다", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "논리값을 입력해야 합니다", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "값의 유형이 ({{types}}) 중 하나여야 합니다", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "값의 유형이 {{type}}(이)여야 합니다", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "객체를 입력해야 합니다", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "배열을 입력해야 합니다", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "알 수 없는 키: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "{{value}}(을)를 입력해야 합니다", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "올바른 이메일 주소 형식이 아닙니다", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "{{date}} 형식을 분석할 수 없습니다. ISO8601을 따라야 합니다", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "길이가 {{length}} 사이여야 합니다" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "El. Paštas ar telefonas nerastas", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Neteisingas slaptažodis", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "Ši paskyra išjungta" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Naujų vartotojų registracija išjungta", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Jūs turite būti pakviesti registruotis", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Netinkamas el. pašto adresas", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "El. pašto adresas jau užregistruotas", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Jūs turite būti {{years}} metų ar vyresni", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Jūs turite sutikti su paslaugos teikimo sąlygomis ir privatumo politika.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Per daug vartotojų turi šį vartotojo vardą, prašome naudoti kitą" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Šis laukelis privalomas", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "This field must be a string", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "This field must be a number", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "This field must be a bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
@ -11,7 +11,7 @@
"BASE_TYPE_ARRAY": "This field must be an array", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Unknown key: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "This field must be {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Neteisingai suformuotas el. pašto adresas", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-mailadres of telefoon niet gevonden", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Ongeldig wachtwoord", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "Dit account is verwijderd." "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Registratie voor nieuwe gebruikers is uitgeschakeld", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "U moet worden uitgenodigd om te registreren", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Email is ongeldig.", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Dit e-mailadres is al geregistreerd", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Je moet {{years}} jaar of ouder zijn", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "U moet akkoord gaan met de Algemene Voorwaarden en het Privacybeleid.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Te veel gebruikers hebben deze gebruikersnaam, probeer een andere" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Dit veld is verplicht", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Dit veld moet een tekenreeks zijn", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Dit veld moet een getal zijn", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Dit veld moet een bigint zijn", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Dit veld moet een Booleaanse waarde zijn", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Dit veld moet een van ({{types}} ) zijn", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Dit veld moet een exemplaar zijn van {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Dit veld moet een object zijn", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Dit veld moet een array zijn", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Onbekend sleutel: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Dit veld moet {{value}} zijn", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Niet een geldig e-mailadres", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Kan {{date}}niet parsen. Moet ISO8601 zijn", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Moet tussen {{length}} in lengte zijn" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Fant ikke e-postadresse eller telefon", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Ugyldig passord", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Ny brukerregistrering er deaktivert", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Du må bli invitert for å registrere deg", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Invalid Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "E-postadressen er allerede registrert", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Du må være {{years}} eller eldre", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Du må godta vilkårene for bruk og personvernerklæringen.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "For mange brukere har dette brukernavnet, prøv et annet" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Dette feltet er obligatorisk", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Dette feltet må være en streng", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Dette feltet må være et tall", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Dette feltet må være en stor", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Dette feltet må være en boolsk verdi", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Dette feltet må være ett av ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Dette feltet må være en forekomst av {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Dette feltet må være et objekt", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Dette feltet må være en liste", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Ukjent nøkkel: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Dette feltet må være {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Ikke et gyldig e-postadresse format", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Kunne ikke analysere {{date}}. Skal være ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Må være mellom {{length}} i lengde" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-mailul sau telefonul nu au fost găsite", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Parolă nevalidă", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Înregistrarea noului utilizator este dezactivată", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Trebuie să fii invitat să te înregistrezi", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Invalid Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "E-mailul este deja înregistrat", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Trebuie să ai {{years}} ani sau mai mult", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Trebuie să fiți de acord cu Termenii de utilizare și Politica de confidențialitate.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Prea mulți utilizatori au acest nume de utilizator, vă rugăm să încercați altul" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Acest câmp este necesar", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Acest câmp trebuie să fie un şir de caractere", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Acest câmp trebuie să fie un număr", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Acest câmp trebuie să fie mare", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Acest câmp trebuie să fie un boolean", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Acest câmp trebuie să fie unul din ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Acest câmp trebuie să fie o instanță de {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Acest câmp trebuie să fie un obiect", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Acest câmp trebuie să fie un array", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Cheie necunoscută: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Acest câmp trebuie să fie {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Adresa de email nu este bine formatata", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Nu s-a putut analiza {{date}}. Ar trebui să fie ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Trebuie să fie între {{length}} lungime" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Данный адрес электронной почты или телефон не найден", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Неверный пароль", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "Этот аккаунт отключён" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Регистрация нового пользователя отключена", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Вы должны быть приглашены для регистрации", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Неверный адрес электронной почты", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Данный адрес электронной почты уже зарегистрирован", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Вам должно быть {{years}} лет или старше", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Вы должны согласиться с Условиями обслуживания и Политикой конфиденциальности.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Слишком много пользователей имеют это имя пользователя, пожалуйста, попробуйте другое" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Это поле является обязательным", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Это поле должно быть string", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Это поле должно быть number", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Это поле должно быть bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Это поле должно быть boolean", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Это поле должно быть одним из ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Это поле должно быть экземпляром {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Это поле должно быть объектом", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Это поле должно быть массивом", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Неизвестное поле: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Это поле должно быть {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Неправильный формат адреса электронной почты", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Не удалось разобрать {{date}}. Дата должна быть в ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Длина должна быть между {{length}} в длину" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "Email ili broj mobitela nije pronađen", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Pogrešna lozinka", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Registracija novog korisnika je onemogućena", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Morate biti pozvani da se registrirate", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Nevažeći email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Email je već registriran", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Morate imati {{years}} godina ili više", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Morate se složiti s uvjetima pružanja usluge i pravila o privatnosti.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Previše korisnika ima ovo korisničko ime, molimo vas da pokušate sa drugim" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Ovo polje je obavezno", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Ovo polje mora biti niz", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Ovo polje mora biti broj", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Ovo polje mora biti bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Ovo polje mora biti boolean", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Ovo polje mora biti jedno od ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Ovo polje mora biti primjer od {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Ovo polje mora biti objekt", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Ovo polje mora biti niz", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Nepoznati ključ: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Ovo polje mora biti {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Nije dobro oblikovana Email adresa", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Nije moguće raščlaniti {{date}}. Treba biti ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Mora biti između {{length}} u duljini" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-mail alebo Telefón nebol nájdený", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Neplatné Heslo", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "Tento účet je deaktivovaný" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Registrácia nového používateľa je zakázaná", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Na registráciu musíte byť pozvaní", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Neplatný Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Email je už zaregistrovaný", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Musíte mať {{years}} alebo viac rokov", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Musíte súhlasiť s Podmienkami používania služby a Zásadami ochrany osobných údajov.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Toto používateľské meno má príliš veľa používateľov, skúste iné" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Toto pole je povinné", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Toto pole musí byť slovo alebo veta", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Toto pole musí byť číslo", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Toto pole musí byť binárna číslica", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Toto pole musí byť buď áno, alebo nie", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Toto pole musí byť jedným z ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Toto pole musí byť inštanciou z {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Toto pole musí byť objekt", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Toto pole musí byť pole", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Neznámy kľúč: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Toto pole musí byť {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Nie je správne formulovaná emailová adresa", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Nepodarilo sa analyzovať {{date}}. Malo by byť ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Musí mať dĺžku medzi {{length}}" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-post eller telefon hittades inte", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Ogiltigt lösenord", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Registrering av nya användare är inaktiverat", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Du måste vara inbjuden för att registrera dig", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Ogiltig e-post", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "E-postadressen är redan registrerad", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Du måste vara {{years}} år eller äldre", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Du måste godkänna användarvillkoren och sekretesspolicyn.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "För många användare har detta användarnamn, försök med ett annat" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Detta fält är obligatoriskt", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Detta fält måste vara en sträng", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Detta fält måste vara ett nummer", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Detta fält måste vara av typen bigint", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Detta fält måste vara booleskt", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Detta fält måste vara av typen av ett av följande ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Det här fältet måste vara en instans av {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Detta fält måste vara ett objekt", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Detta fält måste vara en lista", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Okänd nyckel: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Det här fältet måste vara {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "E-postadressen har inte korrekt format", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Kunde inte tolka {{date}}. Bör vara ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Måste vara mellan {{length}} i längd" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

16
api/locales/te/auth.json Normal file
View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -3,12 +3,12 @@
"BASE_TYPE_REQUIRED": "Bu alan gereklidir", "BASE_TYPE_REQUIRED": "Bu alan gereklidir",
"BASE_TYPE_STRING": "Bu alan bir metin (string) olmalı", "BASE_TYPE_STRING": "Bu alan bir metin (string) olmalı",
"BASE_TYPE_NUMBER": "Bu alan bir sayı 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_BIGINT": "Bu alan uzun tamsayı değeri olmalıdır",
"BASE_TYPE_BOOLEAN": "Bu alan mantıksal değer (boolean) olmalıdır", "BASE_TYPE_BOOLEAN": "Bu alan doğru/yanlış olmalıdır",
"BASE_TYPE_CHOICES": "Bu alan ({{types}}) lardan biri olmak zorunda", "BASE_TYPE_CHOICES": "Bu alan ({{types}}) tiplerinden biri olmalı",
"BASE_TYPE_CLASS": "Bu alan {{type}} türünden olmalı", "BASE_TYPE_CLASS": "Bu alan {{type}} türünden olmalı",
"BASE_TYPE_OBJECT": "Bu alan bir obje olmalı", "BASE_TYPE_OBJECT": "Bu alan bir nesne olmalı",
"BASE_TYPE_ARRAY": "Bu alan bir dizi (array) olmalı", "BASE_TYPE_ARRAY": "Bu alan bir dizi olmalı",
"UNKOWN_FIELD": "Bilinmeyen anahtar: {{key}}", "UNKOWN_FIELD": "Bilinmeyen anahtar: {{key}}",
"BASE_TYPE_CONSTANT": "Bu alan {{value}} olmalı", "BASE_TYPE_CONSTANT": "Bu alan {{value}} olmalı",
"EMAIL_TYPE_INVALID_EMAIL": "Geçerli bir e-posta adresi değil", "EMAIL_TYPE_INVALID_EMAIL": "Geçerli bir e-posta adresi değil",

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-Mail або телефон не знайдено", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Невірний пароль", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Реєстрація нового користувача вимкнута", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Ви повинні бути запрошені до реєстрації", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Invalid Email", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Цю адресу електронної пошти вже зареєстровано", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Ви повинні бути {{years}} роками або старше", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Ви повинні погодитися з Правилами користування сервісом і політикою конфіденційності.", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "Надто багато користувачів з таким іменем користувача, будь ласка, спробуйте інше" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Це поле обов'язкове для заповнення", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Це поле має бути рядком", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Це поле має бути числом", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Це поле має бути великим", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Це поле має бути логічним", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Це поле має бути одним з ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Це поле повинно бути екземпляром {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Це поле має бути об'єктом", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Це поле має бути масивом", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Невідомий ключ: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Це поле має бути {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Неправильно сформована електронна адреса", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Не вдається розібрати {{date}}. має бути ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Повинно бути між {{length}} в довжині" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "E-mail hoặc số điện thoại không tồn tại", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "Sai mật khẩu", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "Tài khoản đã bị vô hiệu hóa" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "Hệ thống hiện không cho phép tài khoản mới", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "Bạn cần được mời để tạo tài khoản", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "Email không hợp lệ", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "Email đã tồn tại", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "Bạn phải từ {{years}} tuổi trở lên", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "Bạn phải đồng ý với Điều khoản Dịch vụ và Chính sách Bảo Mật.", "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" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

View File

@ -1,18 +1,18 @@
{ {
"field": { "field": {
"BASE_TYPE_REQUIRED": "Mục này là bắt buộc", "BASE_TYPE_REQUIRED": "This field is required",
"BASE_TYPE_STRING": "Trường này phải là một chuỗi", "BASE_TYPE_STRING": "This field must be a string",
"BASE_TYPE_NUMBER": "Mục này phải là một số", "BASE_TYPE_NUMBER": "This field must be a number",
"BASE_TYPE_BIGINT": "Trường này phải là một chuỗi", "BASE_TYPE_BIGINT": "This field must be a bigint",
"BASE_TYPE_BOOLEAN": "Mục này phải chọn đúng hoặc sai", "BASE_TYPE_BOOLEAN": "This field must be a boolean",
"BASE_TYPE_CHOICES": "Mục này phải là một trong ({{types}})", "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
"BASE_TYPE_CLASS": "Mục này phải là một ví dụ của {{type}}", "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
"BASE_TYPE_OBJECT": "Mục này phải là một đối tượng", "BASE_TYPE_OBJECT": "This field must be an object",
"BASE_TYPE_ARRAY": "Mục này phải là một danh sách", "BASE_TYPE_ARRAY": "This field must be an array",
"UNKOWN_FIELD": "Khóa không xác định: {{key}}", "UNKOWN_FIELD": "Unknown key: {{key}}",
"BASE_TYPE_CONSTANT": "Mục này phải là {{value}}", "BASE_TYPE_CONSTANT": "This field must be {{value}}",
"EMAIL_TYPE_INVALID_EMAIL": "Không phải là một địa chỉ email hợp lệ", "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
"DATE_TYPE_PARSE": "Không thể phân tích cú pháp {{date}}. Phải là ISO8601", "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
"BASE_TYPE_BAD_LENGTH": "Phải có độ dài từ {{length}}" "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
} }
} }

View File

@ -1,16 +1,16 @@
{ {
"login": { "login": {
"INVALID_LOGIN": "找不到電子郵件或電話", "INVALID_LOGIN": "E-Mail or Phone not found",
"INVALID_PASSWORD": "無效的密碼", "INVALID_PASSWORD": "Invalid Password",
"ACCOUNT_DISABLED": "This account is disabled" "ACCOUNT_DISABLED": "This account is disabled"
}, },
"register": { "register": {
"REGISTRATION_DISABLED": "新用戶註冊已禁用", "REGISTRATION_DISABLED": "New user registration is disabled",
"INVITE_ONLY": "必須邀請您才能註冊", "INVITE_ONLY": "You must be invited to register",
"EMAIL_INVALID": "無效電子郵件", "EMAIL_INVALID": "Invalid Email",
"EMAIL_ALREADY_REGISTERED": "該電郵地址已註冊", "EMAIL_ALREADY_REGISTERED": "Email is already registered",
"DATE_OF_BIRTH_UNDERAGE": "您必須年滿 {{years}} 歲", "DATE_OF_BIRTH_UNDERAGE": "You need to be {{years}} years or older",
"CONSENT_REQUIRED": "您必須同意服務條款和隱私政策。", "CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
"USERNAME_TOO_MANY_USERS": "此用戶名太多,請嘗試使用其他用戶名" "USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another"
} }
} }

2
api/package-lock.json generated
View File

@ -84,6 +84,7 @@
"pg": "^8.7.1", "pg": "^8.7.1",
"proxy-agent": "^5.0.0", "proxy-agent": "^5.0.0",
"reflect-metadata": "^0.1.13", "reflect-metadata": "^0.1.13",
"sqlite3": "^5.0.2",
"typeorm": "^0.2.38", "typeorm": "^0.2.38",
"typescript": "^4.4.2", "typescript": "^4.4.2",
"typescript-json-schema": "^0.50.1" "typescript-json-schema": "^0.50.1"
@ -16162,6 +16163,7 @@
"pg": "^8.7.1", "pg": "^8.7.1",
"proxy-agent": "^5.0.0", "proxy-agent": "^5.0.0",
"reflect-metadata": "^0.1.13", "reflect-metadata": "^0.1.13",
"sqlite3": "^5.0.2",
"ts-node": "^10.2.1", "ts-node": "^10.2.1",
"typeorm": "^0.2.38", "typeorm": "^0.2.38",
"typescript": "^4.4.2", "typescript": "^4.4.2",

View File

@ -85,6 +85,8 @@ export class FosscordServer extends Server {
}); });
this.app = app; this.app = app;
app.use("/api/v6", api);
app.use("/api/v7", api);
app.use("/api/v8", api); app.use("/api/v8", api);
app.use("/api/v9", api); app.use("/api/v9", api);
app.use("/api", api); // allow unversioned requests app.use("/api", api); // allow unversioned requests

View File

@ -11,6 +11,9 @@ export const NO_AUTHORIZATION_ROUTES = [
"/experiments", "/experiments",
"/-/readyz", "/-/readyz",
"/-/healthz", "/-/healthz",
"/science",
"/track",
"/policies/instance",
/\/guilds\/\d+\/widget\.(json|png)/ /\/guilds\/\d+\/widget\.(json|png)/
]; ];

View File

@ -1,11 +1,9 @@
import { Request, Response, Router } from "express"; import { Request, Response, Router } from "express";
const router: Router = Router();
import { Template, Guild, Role, Snowflake, Config, User, Member } from "@fosscord/util"; import { Template, Guild, Role, Snowflake, Config, User, Member } from "@fosscord/util";
const { enabled, allowTemplateCreation, allowDiscordTemplates, allowRaws } = Config.get().templates;
import { route } from "@fosscord/api"; import { route } from "@fosscord/api";
import { DiscordApiErrors } from "@fosscord/util"; import { DiscordApiErrors } from "@fosscord/util";
import fetch from "node-fetch"; import fetch from "node-fetch";
const router: Router = Router();
export interface GuildTemplateCreateSchema { export interface GuildTemplateCreateSchema {
name: string; name: string;
@ -13,6 +11,7 @@ export interface GuildTemplateCreateSchema {
} }
router.get("/:code", route({}), async (req: Request, res: Response) => { router.get("/:code", route({}), async (req: Request, res: Response) => {
const { allowDiscordTemplates, allowRaws, enabled } = Config.get().templates;
if (!enabled) res.json({ code: 403, message: "Template creation & usage is disabled on this instance." }).sendStatus(403); if (!enabled) res.json({ code: 403, message: "Template creation & usage is disabled on this instance." }).sendStatus(403);
const { code } = req.params; const { code } = req.params;
@ -39,6 +38,7 @@ router.get("/:code", route({}), async (req: Request, res: Response) => {
}); });
router.post("/:code", route({ body: "GuildTemplateCreateSchema" }), async (req: Request, res: Response) => { router.post("/:code", route({ body: "GuildTemplateCreateSchema" }), async (req: Request, res: Response) => {
const { enabled, allowTemplateCreation, allowDiscordTemplates, allowRaws } = Config.get().templates;
if (!enabled) return res.json({ code: 403, message: "Template creation & usage is disabled on this instance." }).sendStatus(403); if (!enabled) return res.json({ code: 403, message: "Template creation & usage is disabled on this instance." }).sendStatus(403);
if (!allowTemplateCreation) return res.json({ code: 403, message: "Template creation is disabled on this instance." }).sendStatus(403); if (!allowTemplateCreation) return res.json({ code: 403, message: "Template creation is disabled on this instance." }).sendStatus(403);

View File

@ -0,0 +1,18 @@
import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
import { Config } from "@fosscord/util";
import { config } from "dotenv"
const router = Router();
router.get("/",route({}), async (req: Request, res: Response) => {
const { cdn, gateway } = Config.get();
const IdentityForm = {
cdn: cdn.endpointPublic || process.env.CDN || "http://localhost:3001",
gateway: gateway.endpointPublic || process.env.GATEWAY || "ws://localhost:3002"
};
res.json(IdentityForm);
});
export default router;

View File

@ -0,0 +1,12 @@
import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
import { Config } from "@fosscord/util";
const router = Router();
router.get("/",route({}), async (req: Request, res: Response) => {
const { general } = Config.get();
res.json(general);
});
export default router;

View File

@ -0,0 +1,11 @@
import { Router, Request, Response } from "express";
import { route } from "@fosscord/api";
import { Config } from "@fosscord/util";
const router = Router();
router.get("/",route({}), async (req: Request, res: Response) => {
const { limits } = Config.get();
res.json(limits);
});
export default router;

11
api/src/routes/track.ts Normal file
View File

@ -0,0 +1,11 @@
import { Router, Response, Request } from "express";
import { route } from "@fosscord/api";
const router = Router();
router.post("/", route({}), (req: Request, res: Response) => {
// TODO:
res.sendStatus(204);
});
export default router;

1604
bundle/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -65,7 +65,6 @@
"assert": "^1.5.0", "assert": "^1.5.0",
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"bcrypt": "^5.0.1", "bcrypt": "^5.0.1",
"better-sqlite3": "^7.4.3",
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
"btoa": "^1.2.1", "btoa": "^1.2.1",
"cheerio": "^1.0.0-rc.10", "cheerio": "^1.0.0-rc.10",

View File

@ -18,48 +18,31 @@ if (argv.includes("clean")) {
}); });
} }
fse.copySync( fse.copySync(path.join(__dirname, "..", "..", "api", "assets"), path.join(__dirname, "..", "dist", "api", "assets"));
path.join(__dirname, "..", "..", "api", "assets"), fse.copySync(path.join(__dirname, "..", "..", "api", "client_test"), path.join(__dirname, "..", "dist", "api", "client_test"));
path.join(__dirname, "..", "dist", "api", "assets") fse.copySync(path.join(__dirname, "..", "..", "api", "locales"), path.join(__dirname, "..", "dist", "api", "locales"));
);
fse.copySync(
path.join(__dirname, "..", "..", "api", "client_test"),
path.join(__dirname, "..", "dist", "api", "client_test")
);
fse.copySync(
path.join(__dirname, "..", "..", "api", "locales"),
path.join(__dirname, "..", "dist", "api", "locales")
);
dirs.forEach((a) => { dirs.forEach((a) => {
fse.copySync("../" + a + "/src", "dist/" + a + "/src"); fse.copySync("../" + a + "/src", "dist/" + a + "/src");
if (verbose) if (verbose) console.log(`Copied ${"../" + a + "/dist"} -> ${"dist/" + a + "/src"}!`);
console.log(
`Copied ${"../" + a + "/dist"} -> ${"dist/" + a + "/src"}!`
);
}); });
console.log("Copying src files done"); console.log("Copying src files done");
console.log("Compiling src files ..."); if (!argv.includes("copyonly")) {
console.log("Compiling src files ...");
console.log( console.log(
execSync( execSync(
'node "' + 'node "' +
path.join( path.join(__dirname, "..", "node_modules", "typescript", "lib", "tsc.js") +
__dirname, '" -p "' +
"..", path.join(__dirname, "..") +
"node_modules", '"',
"typescript", {
"lib", cwd: path.join(__dirname, ".."),
"tsc.js" shell: true,
) + env: process.env,
'" -p "' + encoding: "utf8"
path.join(__dirname, "..") + }
'"', )
{ );
cwd: path.join(__dirname, ".."), }
shell: true,
env: process.env,
encoding: "utf8",
}
)
);

View File

@ -38,11 +38,12 @@ if (cluster.isMaster) {
})` })`
)} )}
Current commit: ${ Commit Hash: ${
commit !== null commit !== null
? `${cyan(commit)} (${yellow(commit.slice(0, 7))})` ? `${cyan(commit)} (${yellow(commit.slice(0, 7))})`
: "Unknown (Git cannot be found)" : "Unknown (Git cannot be found)"
} }
Cores: ${cyan(cores)}
`) `)
); );
@ -65,7 +66,7 @@ Current commit: ${
let delay = process.env.DATABASE?.includes("://") ? 0 : i * 1000; let delay = process.env.DATABASE?.includes("://") ? 0 : i * 1000;
setTimeout(() => { setTimeout(() => {
cluster.fork(); cluster.fork();
console.log(`[Process] worker ${i} started.`); console.log(`[Process] worker ${cyan(i)} started.`);
}, delay); }, delay);
} }
@ -80,7 +81,7 @@ Current commit: ${
cluster.on("exit", (worker: any, code: any, signal: any) => { cluster.on("exit", (worker: any, code: any, signal: any) => {
console.log( console.log(
`[Worker] ${red( `[Worker] ${red(
`died with pid: ${worker.process.pid} , restarting ...` `died with PID: ${worker.process.pid} , restarting ...`
)}` )}`
); );
cluster.fork(); cluster.fork();

View File

@ -6,7 +6,7 @@ export function initStats() {
console.log(`[Path] running in ${__dirname}`); console.log(`[Path] running in ${__dirname}`);
console.log(`[CPU] ${osu.cpu.model()} Cores x${osu.cpu.count()}`); console.log(`[CPU] ${osu.cpu.model()} Cores x${osu.cpu.count()}`);
console.log(`[System] ${os.platform()} ${os.arch()}`); console.log(`[System] ${os.platform()} ${os.arch()}`);
console.log(`[Process] running with pid: ${process.pid}`); console.log(`[Process] running with PID: ${process.pid}`);
if (process.getuid && process.getuid() === 0) { if (process.getuid && process.getuid() === 0) {
console.warn( console.warn(
red( red(

View File

@ -49,6 +49,13 @@ export interface ConfigValue {
endpointPrivate: string | null; endpointPrivate: string | null;
}; };
general: { general: {
instanceName: string;
instanceDescription: string | null;
frontPage: string | null;
tosPage: string | null;
correspondenceEmail: string | null;
correspondenceUserID: string | null;
image: string | null;
instanceId: string; instanceId: string;
}; };
limits: { limits: {
@ -180,6 +187,13 @@ export const DefaultConfigOptions: ConfigValue = {
endpointPublic: null, endpointPublic: null,
}, },
general: { general: {
instanceName: "Fosscord Instance",
instanceDescription: "This is a Fosscord instance made in pre-relase days",
frontPage: null,
tosPage: null,
correspondenceEmail: "noreply@localhost.local",
correspondenceUserID: null,
image: null,
instanceId: Snowflake.generate(), instanceId: Snowflake.generate(),
}, },
limits: { limits: {