feat: add ci cd files dont edit those files

This commit is contained in:
mahyargdz
2024-10-21 10:22:26 +03:30
commit fb5b440d42
321 changed files with 188273 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
module.exports = function checkNationalCode(code) {
var L = code.length
if (L < 8 || parseInt(code, 10) == 0) return false
code = ('0000' + code).substr(L + 4 - 10)
if (parseInt(code.substr(3, 6), 10) == 0) return false
var c = parseInt(code.substr(9, 1), 10)
var s = 0
for (var i = 0; i < 9; i++) {
s += parseInt(code.substr(i, 1), 10) * (10 - i)
}
s = s % 11;
return (s < 2 && c == s) || (s >= 2 && c == (11 - s))
}
@@ -0,0 +1,79 @@
module.exports.res404 = (res, err) => {
return res.status(404).json({message: err})
}
module.exports.res500 = (res, err) => {
return res.status(500).json({message: err})
}
module.exports.checkValidations = validationResult => {
return (req, res, next) => {
const errors = validationResult(req)
if (!errors.isEmpty()) return res.status(422).json({validation: errors.mapped()})
else next()
}
}
module.exports.removeWhiteSpaces = str => {
return str.replace(/ /g, '')
}
module.exports.nameOptimizer = name => {
function regex(str) {
return new RegExp(str)
}
return name
.replace(regex('آقای'), '')
.replace(regex('آقا'), '')
.replace(regex('جنابه'), '')
.replace(regex('جناب'), '')
.replace(regex('سرکار خانوم'), '')
.replace(regex('سرکار خانم'), '')
.replace(regex('سرکارخانوم'), '')
.replace(regex('سرکارخانومه'), '')
.replace(regex('سرکارخانمه'), '')
.replace(regex('سرکارخانم'), '')
.replace(regex('سرکار'), '')
.replace(regex('خانوم'), '')
.replace(regex('خانم'), '')
}
module.exports.checkNationalCode = code => {
var L = code.length
if (L < 8 || parseInt(code, 10) == 0) return false
code = ('0000' + code).substr(L + 4 - 10)
if (parseInt(code.substr(3, 6), 10) == 0) return false
var c = parseInt(code.substr(9, 1), 10)
var s = 0
for (var i = 0; i < 9; i++) {
s += parseInt(code.substr(i, 1), 10) * (10 - i)
}
s = s % 11;
return (s < 2 && c == s) || (s >= 2 && c == (11 - s))
}
module.exports.isLatinCharactersWithoutSymbol = str => {
return str.match(/^[A-Za-z]+$/g)
}
module.exports.isLatinCharactersWithSymbol = str => {
return str.match(/^[a-zA-Z0-9()*_\-!#$%^&*,."\'\][]*$/g)
}
module.exports.hasWhiteSpaces = str => {
return str.includes(' ')
}
module.exports.generateRandomDigits = digitsLength => {
var add = 1, max = 12 - add // 12 is the min safe number Math.random() can generate without it starting to pad the end with zeros.
if (digitsLength > max) {
return generateRandomDigits(max) + generateRandomDigits(digitsLength - max)
}
max = Math.pow(10, digitsLength + add)
var min = max / 10 // Math.pow(10, n) basically
var number = Math.floor(Math.random() * (max - min + 1)) + min
return ('' + number).substring(add)
}
+152
View File
@@ -0,0 +1,152 @@
const User = require('../models/User')
const News = require('../models/News')
const Category = require('../models/Category')
const fs = require('fs')
const minute = 1000 * 60
const hour = minute * 60
const day = hour * 24
module.exports = async () => {
// check users for activation
// setInterval(() => {
// User.find({confirmed: false})
// .then(users => {
// if (users.length) {
// ///////////////////////
// users.forEach((item, index) => {
// // item time and timeout
// const itemTime = Date.parse(item.created_at)
// const timeout = itemTime + day
// ////////////////////////////
// if (Date.now() >= timeout) {
// item.remove()
// }
// if (index === users.length - 1) {
// // console.log('Unconfirmed users deleted.')
// }
// })
// }
// })
// .catch(err => {
// console.log(err)
// })
// }, hour)
// console.log('migration started ...')
// try {
// const rawFile = await fs.readFileSync(`./server/ostan_wp_posts.json`)
// const parsedData = await JSON.parse(rawFile)
//
// // console.log(parsedData[0])
//
// const posts = []
//
// // dynamic
// const rootParent = '60e95a43111ba696ea3d5171' // فرمانداری ها
// const category = '60e95c7d111ba696ea3d5301' // فرماندای شهرستان خنداب
//
// // static
// const creator = '60eaaf8db36930ef88d3d377'
//
// const newArray = []
//
// for await (const item of parsedData) {
//
// // console.log(item.post_type)
// if (item.post_type === 'post' && posts.includes(item.ID) && item.post_status === 'publish') {
// await newArray.push(item)
// }
// }
//
// console.log('-- posts length: ', newArray.length)
//
// let index = 0
// for await (const item of newArray) {
// const newPost = new News({
// title: item.post_title,
// shortTitlePanel: item.post_title,
// shortTitleFront: item.post_title,
// summaryTitle: item.post_title,
// leadTitle: '',
// shortSummaryTitle: item.post_title,
// customDate: item.post_date,
// /// ****************************************
// catId: category,
// /// ****************************************
// allCat: [],
// newsFileId: null,
// /// ****************************************
// rootParent: rootParent,
// /// ****************************************
// priority: false,
// allowComment: false,
// showInHome: false,
// slider: false,
// publish: true,
// pageContent: item.post_content,
// cover: null,
// thumbCover: null,
// userViews: 200,
// special: false,
// notifications: false,
// _creator: creator,
// _updatedBy: creator,
// siteMap: true,
// keywords: [],
// metaTagDesc: item.post_title,
// newsStatus: true,
// modelType: 'ostandari',
// attachments: [],
// imported: true
// })
// await newPost.save()
// if (index === newArray.length - 1) console.log('---- data entry finished')
// index++
// }
//
//
// } catch (e) {
// console.log('this is catch error --- ', e)
// }
// update all news
// try {
// const news = await News.find()
// const regex = new RegExp('/', 'g')
// let index = 0
// for await (const item of news) {
// console.log(index)
// item.title = item.title.replace(regex, ',')
// await item.save()
// if (index === news.length - 1) console.log('update finished')
// index++
//
// }
// } catch (e) {
// console.log('-- this is catch error:', e)
// }
// update all categories
// try {
// const categories = await Category.find()
// // const regex = new RegExp('/', 'g')
// let index = 0
// for await (const item of categories) {
// console.log(index)
// // item.title = item.title.replace(regex, ',')
// await item.save()
// if (index === categories.length - 1) console.log('update finished')
// index++
//
// }
// } catch (e) {
// console.log('-- this is catch error:', e)
// }
}
+161
View File
@@ -0,0 +1,161 @@
// province cities
const eastazarbaijan1 = ['آذرشهر', 'اسکو', 'اهر', 'بستان‌آباد', 'بناب', 'تبریز', 'جلفا', 'چاراویماق', 'سراب', 'شبستر', 'مراغه']
const westazarbaijan2 = ['ارومیه', 'اشنویه', 'بوکان', 'پیرانشهر', 'تکاب', 'چالدران', 'خوی', 'سردشت', 'سلماس', 'شاهین‌دژ', 'ماکو', 'مهاباد', 'میاندوآب', 'نقده']
const ardabil3 = ['اردبیل', 'بیله‌سوار', 'پارس‌آباد', 'خلخال', 'کوثر', 'گِرمی', 'مِشگین‌شهر', 'نَمین', 'نیر']
const esfahan4 = ['آران و بیدگل', 'اردستان', 'اصفهان', 'برخوار و میمه', 'تیران و کرون', 'چادگان', 'خمینی‌شهر', 'خوانسار', 'سمیرم', 'شهرضا', 'سمیرم سفلی', 'فریدن', 'فریدون‌شهر', 'فلاورجان', 'کاشان', 'گلپایگان', 'لنجان', 'مبارکه', 'نائین', 'نجف‌آباد', 'نطنز']
const ilam5 = ['آبدانان', 'ایلام', 'ایوان', 'دره‌شهر', 'دهلران', 'شیروان و چرداول', 'مهران']
const booshehr6 = ['بوشهر', 'تنگستان', 'جم', 'دشتستان', 'دشتی', 'دیر', 'دیلم', 'کنگان', 'گناوه']
const tehran7 = ['اسلام‌شهر', 'پاکدشت', 'تهران', 'دماوند', 'رباط‌کریم', 'ری', 'ساوجبلاغ', 'شمیرانات', 'شهریار', 'فیروزکوه', 'ورامین']
const chaharmahalobakhtiari8 = ['اردل', 'بروجن', 'شهرکرد', 'فارسان', 'کوهرنگ', 'لردگان']
const khorasanjonoobi9 = ['بیرجند', 'درمیان', 'سرایان', 'سربیشه', 'فردوس', 'قائنات', 'نهبندان']
const khorasanrazavi10 = ['بردسکن', 'تایباد', 'تربت جام', 'تربت حیدریه', 'چناران', 'خلیل‌آباد', 'خواف', 'درگز', 'رشتخوار', 'سبزوار', 'سرخس', 'فریمان', 'قوچان', 'کاشمر', 'کلات', 'گناباد', 'مشهد', 'مه ولات', 'نیشابور']
const khorasanshomali11 = ['اسفراین', 'بجنورد', 'جاجرم', 'شیروان', 'فاروج', 'مانه و سملقان']
const khoozestan12 = ['آبادان', 'امیدیه', 'اندیمشک', 'اهواز', 'ایذه', 'باغ‌ملک', 'بندر ماهشهر', 'بهبهان', 'خرمشهر', 'دزفول', 'دشت آزادگان', 'رامشیر', 'رامهرمز', 'شادگان', 'شوش', 'شوشتر']
const zanjan13 = ['ابهر', 'ایجرود', 'خدابنده', 'خرمدره', 'زنجان', 'طارم', 'ماه‌نشان']
const semnan14 = ['دامغان', 'سمنان', 'شاهرود', 'گرمسار', 'مهدی‌شهر']
const sistanobaloochestan15 = ['ایرانشهر', 'چابهار', 'خاش', 'دلگان', 'زابل', 'زاهدان', 'زهک', 'سراوان', 'سرباز', 'کنارک', 'نیک‌شهر']
const fars16 = ['آباده', 'ارسنجان', 'استهبان', 'اقلید', 'بوانات', 'پاسارگاد', 'جهرم', 'خرم‌بید', 'خنج', 'داراب', 'زرین‌دشت', 'سپیدان', 'شیراز', 'فراشبند', 'فسا', 'فیروزآباد', 'قیر و کارزین', 'کازرون', 'لارستان', 'لامِرد', 'مرودشت', 'ممسنی', 'مهر', 'نی‌ریز']
const qazvin17 = ['آبیک', 'البرز', 'بوئین‌زهرا', 'تاکستان', 'قزوین']
const qom18 = ['قم']
const kordestan19 = ['بانه', 'بیجار', 'دیواندره', 'سروآباد', 'سقز', 'سنندج', 'قروه', 'کامیاران', 'مریوان']
const kerman20 = ['بافت', 'بردسیر', 'بم', 'جیرفت', 'راور', 'رفسنجان', 'رودبار جنوب', 'زرند', 'سیرجان', 'شهر بابک', 'عنبرآباد', 'قلعه گنج', 'کرمان', 'کوهبنان', 'کهنوج', 'منوجان']
const kermanshah21 = ['اسلام‌آباد غرب', 'پاوه', 'ثلاث باباجانی', 'جوانرود', 'دالاهو', 'روانسر', 'سرپل ذهاب', 'سنقر', 'صحنه', 'قصر شیرین', 'کرمانشاه', 'کنگاور', 'گیلان غرب', 'هرسین']
const kohkilooyevaboyrahmad22 = ['بویراحمد', 'بهمئی', 'دنا', 'کهگیلویه', 'گچساران']
const golestan23 = ['آزادشهر', 'آق‌قلا', 'بندر گز', 'ترکمن', 'رامیان', 'علی‌آباد', 'کردکوی', 'کلاله', 'گرگان', 'گنبد کاووس', 'مراوه‌تپه', 'مینودشت']
const gilan24 = ['آستارا', 'آستانه اشرفیه', 'اَملَش', 'بندر انزلی', 'رشت', 'رضوانشهر', 'رودبار', 'رودسر', 'سیاهکل', 'شَفت', 'صومعه‌سرا', 'طوالش', 'فومَن', 'لاهیجان', 'لنگرود', 'ماسال']
const lorestan25 = ['ازنا', 'الیگودرز', 'بروجرد', 'پل‌دختر', 'خرم‌آباد', 'دورود', 'دلفان', 'سلسله ,کوهدشت']
const mazandaran26 = ['آمل', 'بابل', 'بابلسر', 'بهشهر', 'تنکابن', 'جویبار', 'چالوس', 'رامسر', 'ساری', 'سوادکوه', 'قائم‌شهر', 'گلوگاه', 'محمودآباد', 'نکا', 'نور', 'نوشهر']
const markazi27 = ['آشتیان', 'اراک', 'تفرش', 'خمین', 'دلیجان', 'زرندیه', 'ساوه', 'شازند', 'کمیجان', 'محلات']
const hormozgan28 = ['ابوموسی', 'بستک', 'بندر عباس', 'بندر لنگه', 'جاسک', 'حاجی‌آباد', 'شهرستان خمیر', 'رودان', 'قشم', 'گاوبندی', 'میناب']
const hamedan29 = ['اسدآباد', 'بهار', 'تویسرکان', 'رزن', 'کبودرآهنگ', 'ملایر', 'نهاوند', 'همدان']
const yazd30 = ['ابرکوه', 'اردکان', 'بافق', 'تفت', 'خاتم', 'صدوق', 'طبس', 'مهریز', 'مِیبُد', 'یزد']
const alborz31 = ['کرج', 'نظرآباد', 'فردیس', 'اشتهارد', 'هشتگرد', 'طالقان']
// provinces list
module.exports.iranCities = [
{
name: 'آذربایجان شرقی',
cities: eastazarbaijan1
},
{
name: 'آذربایجان غربی',
cities: westazarbaijan2
},
{
name: 'اردبیل',
cities: ardabil3
},
{
name: 'اصفهان',
cities: esfahan4
},
{
name: 'ایلام',
cities: ilam5
},
{
name: 'بوشهر',
cities: booshehr6
},
{
name: 'تهران',
cities: tehran7
},
{
name: 'چهارمحال بختیاری',
cities: chaharmahalobakhtiari8
},
{
name: 'خراسان جنوبی',
cities: khorasanjonoobi9
},
{
name: 'خراسان رضوی',
cities: khorasanrazavi10
},
{
name: 'خراسان شمالی',
cities: khorasanshomali11
},
{
name: 'خوزستان',
cities: khoozestan12
},
{
name: 'زنجان',
cities: zanjan13
},
{
name: 'سمنان',
cities: semnan14
},
{
name: 'سیستان بلوچستان',
cities: sistanobaloochestan15
},
{
name: 'فارس',
cities: fars16
},
{
name: 'قزوین',
cities: qazvin17
},
{
name: 'قم',
cities: qom18
},
{
name: 'کردستان',
cities: kordestan19
},
{
name: 'کرمان',
cities: kerman20
},
{
name: 'کرمانشاه',
cities: kermanshah21
},
{
name: 'کهکیلویه و بویراحمد',
cities: kohkilooyevaboyrahmad22
},
{
name: 'گلستان',
cities: golestan23
},
{
name: 'گیلان',
cities: gilan24
},
{
name: 'لرستان',
cities: lorestan25
},
{
name: 'مازندران',
cities: mazandaran26
},
{
name: 'مرکزی',
cities: markazi27
},
{
name: 'هرمزگان',
cities: hormozgan28
},
{
name: 'همدان',
cities: hamedan29
},
{
name: 'یزد',
cities: yazd30
},
{
name: 'البرز',
cities: alborz31
}
]
+36
View File
@@ -0,0 +1,36 @@
const ContactUs = require('../models/ContactUs');
const database = require('../database');
module.exports.createAdmins = () => {
database.once('open', async cb => {
try {
const contactUs = await ContactUs.find();
if (!contactUs.length) {
const data = {
description : "توضیحات صفحه تماس با ما",
showInMenu : true,
main : true,
email : 'test@gmail.com',
phone : '08632222222',
address : 'میدان فاطمیه',
catId : null,
_creator : null,
_updatedBy : null,
location : {
type : 'Point',
coordinates : [-118.2870407961309,33.93508571994455]
},
siteMap : true,
showInFooter : true
};
const newContactUs = new ContactUs(data);
newContactUs.save(err => {
if (err) console.log(err)
})
}
} catch
(e) {
console.log('defualt contact us creation has error -- ', e)
}
})
}
+42
View File
@@ -0,0 +1,42 @@
module.exports = [
{
name: 'دسترسی کامل',
value: 'superAdmin'
},
{
name: 'مدیریت اخبار',
value: 'news'
},
{
name: 'مدیریت دسته بندی ها و صفحات',
value: 'categories'
},
{
name: 'مدیریت رسانه ها',
value: 'gallery'
},
{
name: 'مدیریت نظرسنجی ها',
value: 'polls'
},
{
name: 'مدیریت انتخابات',
value: 'elections'
},
{
name: 'مدیریت صفحات خاص',
value: 'contents'
},
{
name: 'مدیریت پرونده خبری',
value: 'newsFile'
},
{
name: 'مدیریت پیام های اخبار',
value: 'comment-News'
},
{
name: 'مدیریت پیام های ارتباط با ما',
value: 'comment-ContactUs'
}
]
+10
View File
@@ -0,0 +1,10 @@
module.exports = [
{
name: 'استانداری',
value: 'ostandari'
},
{
name: 'ستاد انتخابات',
value: 'election'
}
]
+39
View File
@@ -0,0 +1,39 @@
const User = require('../models/User')
const _privateAdminInfo = require('./privateAdminData')
const bcrypt = require('bcryptjs')
const database = require('../database')
module.exports.createAdmins = () => {
database.once('open', async cb => {
for (const item of _privateAdminInfo) {
try {
const user = await User.findOne({username: item.username})
if (!user) {
const data = {
firstName: item.firstName,
lastName: item.lastName,
username: item.username,
email : item.email,
mobileNumber : item.mobileNumber,
scope: ['admin'],
private: true,
registration_done: true,
permissions: ['superAdmin'],
portals: item.portals
}
// hash password
const salt = await bcrypt.genSalt(10)
const hash = await bcrypt.hash(item.password, salt)
data.password = hash
const newUser = new User(data)
newUser.save(err => {
if (err) console.log(err)
})
}
} catch
(e) {
console.log('Private admin creation has error -- ', e)
}
}
})
}
+55
View File
@@ -0,0 +1,55 @@
////////////////////////////////// example
//////////////////////////////////
// module.exports = [
// {
// first_name: '',
// last_name: '',
// username: '',
// password: ''
// },
// {
// first_name: '',
// last_name: '',
// username: '',
// password: ''
// }
// ]
////////////////////////////////////
//////////////////////////////////// example
//////////////////////////////////////////////////
//////////////////////////////////////////////////
//////////////////////////////////////////////////
// *remove data from this file after first run* //
//////////////////////////////////////////////////
//////////////////////////////////////////////////
//////////////////////////////////////////////////
module.exports = [
{
firstName: 'Arman',
lastName: 'Mousavi',
username: 'manager',
password: '#$2021managementAdmin%',
email: 'admin1@gmail.com',
mobileNumber: '09365385627',
registration_done: true,
portals: ['ostandari', 'election'],
permissions: ['superAdmin'],
private: true
},
{
firstName: 'admin',
lastName: 'admin',
username: 'negareh_support',
password: '*^@admin1234$#?@',
email: 'admin2@gmail.com',
mobileNumber: '000000',
registration_done: true,
portals: ['ostandari', 'election'],
permissions: ['superAdmin'],
private: true
}
]
+751
View File
@@ -0,0 +1,751 @@
module.exports._sr = {
fa: {
required: {
field: 'این فیلد نباید خالی باشد',
// developer validations
remember_me: 'پارامتر remember_me الزامی است',
// registration validations
name: 'نام را وارد کنید',
first_name: 'نام را وارد کنید',
last_name: 'نام خانوادگی را وارد کنید',
email: 'ایمیل را وارد کنید',
national_code: 'کد ملی الزامی است',
email_personal: 'ایمیل شخصی الزامی است',
email_company: 'ایمیل کمپانی برای اشخاص حقوقی الزامی است',
company_name: 'درصورتی که شخص حقوقی هستید، نام کمپانی را وارد کنید',
username: 'نام کاربری را وارد کنید',
phone_number: 'شماره تماس را وارد کنید',
password: 'پسورد را وارد کنید',
birthdate: 'تاریخ تولد را وارد کنید',
// addressing validations
country: 'کشور را وارد کنید',
province: 'استان را وارد کنید',
city: 'شهر را وارد کنید',
address: 'آدرس را وارد کنید',
postal_code: 'کد پستی را وارد کنید',
plaque: 'پلاک را وارد کنید',
receiver_first_name: 'نام گیرنده را وارد کنید',
receiver_last_name: 'نام خانوادگی گیرنده را وارد کنید',
receiver_mobile: 'شماره موبایل گیرنده را وارد کنید',
// global (post - gallery - ...)
title: 'عنوان را وارد کنید',
caption: 'متن را وارد کنید',
description: 'توضیحات را وارد کنید',
Twitter:'لینک Twitter را وارد کنید',
category: 'دسته بندی را انتخاب کنید',
image: 'عکس اجباری است',
cover: 'کاور اجباری است',
file: 'فایل اجباری است',
message: 'پیام را بنویسید',
quantity: 'تعداد را وارد کنید',
date: 'تاریخ را وارد کنید',
reason: 'دلیل را انتخاب کنید',
question: 'سوال را بنویسید',
answer: 'جواب را بنویسید',
price: 'قیمت را وارد کنید',
type: 'نوع را انتخاب کنید'
},
format: {
phone_number: 'فرمت شماره تماس صحیح نیست',
email: 'فرمت ایمیل قابل قبول نیست',
number: 'مقدار باید از جنس عدد باشد',
boolean: 'مقدار باید از جنس Boolean باشد',
image: 'فرمت عکس قابل قبول نیست',
video: 'فرمت فیلم قابل قبول نیست',
national_code: 'کد ملی صحیح نیست'
},
min_char: {
min2: 'حداقل 2 کاراکتر',
min4: 'حداقل 4 کاراکتر',
min8: 'حداقل 8 کاراکتر',
min10: 'حداقل 10 کاراکتر',
min20: 'حداقل 20 کاراکتر',
min30: 'حداقل 30 کاراکتر',
min40: 'حداقل 40 کاراکتر',
min50: 'حداقل 50 کاراکتر',
min60: 'حداقل 60 کاراکتر',
min100: 'حداقل 100 کاراکتر',
min120: 'حداقل 120 کاراکتر',
min150: 'حداقل 150 کاراکتر',
min200: 'حداقل 200 کاراکتر',
data_size: 'حجم قابل قبول حداقل: ',
image_width_size: 'عرض حداقل: ',
image_height_size: 'ارتفاع حداقل: ',
},
max_char: {
max4: 'حداکثر 4 کاراکتر',
max8: 'حداکثر 8 کاراکتر',
max10: 'حداکثر 10 کاراکتر',
max15: 'حداکثر 15 کاراکتر',
max20: 'حداکثر 20 کاراکتر',
max30: 'حداکثر 30 کاراکتر',
max40: 'حداکثر 40 کاراکتر',
max50: 'حداکثر 50 کاراکتر',
max60: 'حداکثر 60 کاراکتر',
max100: 'حداکثر 100 کاراکتر',
max120: 'حداکثر 120 کاراکتر',
max150: 'حداکثر 150 کاراکتر',
max200: 'حداکثر 200 کاراکتر',
data_size: 'حجم قابل قبول حداکثر: ',
image_width_size: 'عرض حداکثر: ',
image_height_size: 'ارتفاع حداکثر: ',
},
not_found: {
user_id: 'کاربری با این مشخصات وجود ندارد',
admin_id: 'ادمینی با این مشخصات وجود ندارد',
order_id: 'سفارشی با این مشخصات وجود ندارد',
item_id: 'موردی با این مشخصات وجود ندارد',
password: 'رمز عبور یا آیدی درست نیست',
email : 'هیچ کاربری با ایمیل مورد نظر پیدا نشده است',
category : 'دسته بندی انتخاب شده وحود ندارد' /** @todo add this string to another language */
},
duplicated: {
username: 'این نام کاربری از قبل وجود دارد',
email: 'این ایمیل از قبل وجود دارد',
name: 'نام تکراری است',
title: 'عنوان تکراری است',
phoneNumber : 'شماره همراه وجود دارد'
},
response: {
logged_in: 'شما وارد سیستم شدید',
not_logged_in: 'شما وارد سیستم نشدید',
logged_out: 'شما از سیستم خارج شدید',
unauthenticated: 'غیرمجاز',
recovery_link: 'لینک بازیابی فرستاده شد',
success_save: 'با موفقیت ثبت شد',
success_remove: 'با موفقیت حذف شد',
cart_empty: 'سبد خرید خالی است',
already_has_address: 'آدرس قبلا اضافه شده',
activation_code: 'کد فعالسازی برای شما ارسال شد',
activation_email: 'ایمیل فعال سازی برای شما ارسال شد',
expired_reset_link: 'این لینک بازیابی منقضی شده است',
email_not_confirmed: 'ابتدا ایمیل خود را تایید کنید،لینک فعال سازی قبلا برای شما فرستاده شده است.',
expired_activation_link: 'این لینک فعال سازی منقضی شده است',
success_activation: 'اکانت شما با موفقیت فعال شد',
passwords_not_match: 'پسورد ها یکی نیست',
problem: 'مشکلی پیش آمده، لطفا دوباره تلاش کنید.',
latinChar: 'لطفا با حروف لاتین بنویسید',
persianChar: 'لطفا با حروف فارسی بنویسید',
whiteSpace: 'بین حروف و کلمات نباید فاصله باشد'
},
optional: {
string : 'باید یک رشته باشد',
boolean : 'باید بولین باشد',
number : 'باید عدد باشد',
onlyValid : 'فقط این مقادیر قابل قبول می باشد'
},
file_types: {
jpg: 'فقط فرمت jpg قابل قبول است',
png: 'فقط فرمت png قابل قبول است',
gif: 'فقط فرمت gif قابل قبول است',
pdf: 'فقط فرمت pdf قابل قبول است',
txt: 'فقط فرمت txt قابل قبول است',
log: 'فقط فرمت log قابل قبول است',
mp3: 'فقط فرمت mp3 قابل قبول است',
ogg: 'فقط فرمت ogg قابل قبول است',
wmv: 'فقط فرمت wmv قابل قبول است',
mp4: 'فقط فرمت mp4 قابل قبول است',
mov: 'فقط فرمت mov قابل قبول است',
mkv: 'فقط فرمت mkv قابل قبول است',
flv: 'فقط فرمت flv قابل قبول است'
}
},
en: {
required: {
field: 'This field is required',
// developer validations
remember_me: 'Remember_me parameter required',
// registration validations
name: 'Enter name',
first_name: 'Enter first name',
last_name: 'Enter last name',
national_code: 'National code is required',
email: 'Enter email',
email_personal: 'Personal email is required',
email_company: 'Company email is required for legal entities',
company_name: 'Enter company name if you are a legal entity',
username: 'Enter username',
phone_number: 'Enter phone number',
password: 'Enter password',
birthdate: 'Enter birthdate',
// addressing validations
country: 'Enter country',
province: 'Enter province',
city: 'Enter city',
address: 'Enter address',
postal_code: 'Enter postal code',
plaque: 'Enter plaque',
receiver_first_name: 'Enter recipient name',
receiver_last_name: 'Enter recipient surname',
receiver_mobile: 'Enter recipient\'s mobile number',
// global (post - gallery - ...)
title: 'Enter title',
caption: 'Enter caption',
description: 'Enter description',
category: 'Select category',
image: 'Image is required',
cover: 'Cover is required',
file: 'File is required',
message: 'Write message',
quantity: 'Enter quantity',
date: 'Enter date',
reason: 'Select reason',
question: 'Write the question',
answer: 'Write the answer',
price: 'Enter Price',
type: 'Select type'
},
format: {
phone_number: 'Phone number format in incorrect',
email: 'Email format is not correct',
number: 'Value must be number',
boolean: 'Value must be Boolean',
image: 'Photo format is not acceptable',
video: 'Video format is not acceptable',
national_code: 'National code format is not correct'
},
min_char: {
min2: 'At least 2 characters',
min4: 'At least 4 characters',
min8: 'At least 8 characters',
min10: 'At least 10 characters',
min20: 'At least 20 characters',
min30: 'At least 30 characters',
min40: 'At least 40 characters',
min50: 'At least 50 characters',
min60: 'At least 60 characters',
min100: 'At least 100 characters',
min120: 'At least 120 characters',
min150: 'At least 150 characters',
min200: 'At least 200 characters',
data_size: 'Acceptable minimum size: ',
image_width_size: 'Minimum width: ',
image_height_size: 'Minimum height: ',
},
max_char: {
max4: 'Maximum 4 characters',
max8: 'Maximum 8 characters',
max10: 'Maximum 10 characters',
max15: 'Maximum 15 characters',
max20: 'Maximum 20 characters',
max30: 'Maximum 30 characters',
max40: 'Maximum 40 characters',
max50: 'Maximum 50 characters',
max60: 'Maximum 60 characters',
max100: 'Maximum 100 characters',
max120: 'Maximum 120 characters',
max150: 'Maximum 150 characters',
max200: 'Maximum 200 characters',
data_size: 'Maximum acceptable size: ',
image_width_size: 'Maximum width: ',
image_height_size: 'Maximum height: ',
},
not_found: {
user_id: 'There is no user with this profile',
admin_id: 'There is no admin with this profile',
order_id: 'There is no order with this profile',
item_id: 'There is no item with this specification',
password: 'Password or ID is incorrect',
email : 'No users were found with the email in question'
},
duplicated: {
username: 'This username already exists',
email: 'This email already exists',
name: 'Name is duplicate',
title: 'Title is duplicate',
phoneNumber : 'phoneNumber already exists'
},
response: {
logged_in: 'You are logged in',
not_logged_in: 'You are not logged in',
logged_out: 'You are logged out',
unauthenticated: 'unauthenticated',
recovery_link: 'Recovery link sent',
success_save: 'Successfully saved',
success_remove: 'Successfully removed',
cart_empty: 'Cart is empty',
already_has_address: 'Already has address',
activation_code: 'Activation code sent to you',
activation_email: 'Activation email sent to you',
expired_reset_link: 'The current reset pass link has been expired',
email_not_confirmed: 'Confirm your email first, the activation link has already been sent to you.',
expired_activation_link: 'This activation link has expired',
success_activation: 'Your account has been successfully activated',
passwords_not_match: 'Passwords are not the same',
problem: 'There is a problem, please try again.',
latinChar: 'Please write in Latin letters',
persianChar: 'Please write in Persian letters',
whiteSpace: 'There should be no space between letters and words'
},
optional: {
string : 'must be a string',
boolean : 'must be boolean',
number : 'must be a number',
onlyValid : 'Only these values are acceptable'
},
file_types: {
jpg: 'Only jpg format is acceptable',
png: 'Only png format is acceptable',
gif: 'Only gif format is acceptable',
pdf: 'Only pdf format is acceptable',
txt: 'Only txt format is acceptable',
log: 'Only log format is acceptable',
mp3: 'Only mp3 format is acceptable',
ogg: 'Only ogg format is acceptable',
wmv: 'Only wmv format is acceptable',
mp4: 'Only mp4 format is acceptable',
mov: 'Only mov format is acceptable',
mkv: 'Only mkv format is acceptable',
flv: 'Only flv format is acceptable'
}
},
de: {
required: {
field: 'This field is required',
// developer validations
remember_me: 'Remember_me-Parameter erforderlich',
// registration validations
name: 'Name eingeben',
first_name: 'Name eingeben',
last_name: 'Nachnamen eingeben',
national_code: "Nationaler Code ist erforderlich",
email: 'Email eingeben',
email_personal: 'Persönliche E-Mail ist erforderlich',
email_company: 'Für juristische Personen ist eine Unternehmens-E-Mail erforderlich',
company_name: 'Geben Sie den Firmennamen ein, wenn Sie eine juristische Person sind',
username: 'Geben Sie den Benutzernamen ein',
phone_number: 'Telefonnummer eingeben',
password: 'Passwort eingeben',
birthdate: 'Enter birthdate',
// addressing validations
country: 'Land eingeben',
province: 'Stadt betreten',
city: 'Stadt betreten',
address: 'Adresse eingeben',
postal_code: 'Postleitzahl eingeben',
plaque: 'Plakette eingeben',
receiver_first_name: 'Empfängername eingeben',
receiver_last_name: 'Nachname des Empfängers eingeben',
receiver_mobile: 'Handynummer des Empfängers eingebenr',
// global (post - gallery - ...)
title: 'Titel eingeben',
caption: 'Beschriftung eingeben',
description: 'Beschreibung eingeben',
category: 'Kategorie wählen',
image: 'Bild ist erforderlich',
cover: 'Bild ist erforderlich Abdeckung ist erforderlich',
file: 'Datei ist erforderlich',
message: 'Nachricht schreiben',
quantity: 'Menge eingeben',
date: 'Enter date',
reason: 'Grund auswählen',
question: 'Schreibe die Frage',
answer: 'Schreibe die Antwort',
price: 'Enter Price',
type: 'Select type'
},
format: {
phone_number: 'Telefonnummernformat falsch',
email: 'E-Mail-Format nicht korrekt',
number: 'Wert muss Nummer sein',
boolean: 'Wert muss Boolescher Wert sein',
image: 'Photo format is not acceptable',
video: 'Video format is not acceptable',
national_code: "Nationales Codeformat ist nicht korrekt"
},
min_char: {
min2: 'Mindestens 2 Zeichen',
min4: 'Mindestens 4 Zeichen',
min8: 'Mindestens 8 Zeichen',
min10: 'Mindestens 10 Zeichen',
min20: 'Mindestens 20 Zeichen',
min30: 'Mindestens 30 Zeichen',
min40: 'Mindestens 40 Zeichen',
min50: 'Mindestens 50 Zeichen',
min60: 'Mindestens 60 Zeichen',
min100: 'Mindestens 100 Zeichen',
min120: 'Mindestens 120 Zeichen',
min150: 'Mindestens 150 Zeichen',
min200: 'Mindestens 200 Zeichen',
data_size: 'Akzeptable Mindestgröße: ',
image_width_size: 'Mindestbreite: ',
image_height_size: 'Mindesthöhe: ',
},
max_char: {
max4: 'Maximal 4 Zeichen',
max8: 'Maximal 8 Zeichen',
max10: 'Maximal 10 Zeichen',
max15: 'Maximal 15 Zeichen',
max20: 'Maximal 20 Zeichen',
max30: 'Maximal 30 Zeichen',
max40: 'Maximal 40 Zeichen',
max50: 'Maximal 50 Zeichen',
max60: 'Maximal 60 Zeichen',
max100: 'Maximal 100 Zeichen',
max120: 'Maximal 120 Zeichen',
max150: 'Maximal 150 Zeichen',
max200: 'Maximal 200 Zeichen',
data_size: 'Maximal zulässige Größe: ',
image_width_size: 'Maximale Breite: ',
image_height_size: 'Maximale Höhe: ',
},
not_found: {
user_id: 'Es gibt keinen Benutzer mit diesem Profil',
admin_id: 'Es gibt keinen Administrator mit diesem Profil',
order_id: 'Es gibt keine Bestellung mit diesem Profil',
item_id: 'Es gibt keinen Artikel mit dieser Spezifikation',
password: 'Passwort oder ID ist falsch',
email : 'Mit der betreffenden E-Mail wurden keine Benutzer gefunden'
},
duplicated: {
username: 'Dieser Benutzername existiert bereits',
email: 'Diese E-Mail existiert bereits',
name: 'Name ist doppelt',
title: 'Titel ist doppelt',
phoneNumber : 'phoneNumber existiert bereits'
},
response: {
logged_in: 'Sie sind angemeldet',
not_logged_in: 'Sie sind nicht angemeldet',
logged_out: 'Sie sind abgemeldet',
unauthenticated: 'nicht authentifiziert',
recovery_link: 'Wiederherstellungslink gesendet',
success_save: 'Erfolgreich gespeichert',
success_remove: 'Erfolgreich entfernt',
cart_empty: 'Warenkorb ist leer',
ready_has_address: 'Hat bereits Adresse',
activation_code: 'Activation code sent to you',
activation_email: 'Activation email sent to you',
expired_reset_link: 'Der aktuelle Reset-Pass-Link ist abgelaufen',
email_not_confirmed: "Bestätigen Sie zuerst Ihre E-Mail, der Aktivierungslink wurde bereits an Sie gesendet.",
expired_activation_link: 'Dieser Aktivierungslink ist abgelaufen',
success_activation: 'Ihr Konto wurde erfolgreich aktiviert',
passwords_not_match: 'Passwörter sind nicht dasselbe',
problem: "Es gibt ein Problem, bitte versuchen Sie es erneut.",
latinChar: 'Please write in Latin letters',
persianChar: 'Please write in Persian letters',
whiteSpace: 'There should be no space between letters and words'
},
optional: {
string : 'muss eine Zeichenfolge sein',
boolean : 'muss boolesch sein',
number : 'muss eine Nummer sein',
onlyValid : 'Nur diese Werte sind akzeptabel'
},
file_types: {
jpg: 'Nur das jpg-Format ist akzeptabel',
png: 'Nur das png-Format ist akzeptabel',
gif: 'Nur das gif-Format ist akzeptabel',
pdf: 'Nur das PDF-Format ist akzeptabel',
txt: 'Nur das txt-Format ist akzeptabel',
log: 'Nur das log-Format ist akzeptabel',
mp3: 'Nur das mp3-Format ist akzeptabel',
ogg: 'Nur das ogg-Format ist akzeptabel',
wmv: 'Nur das wmv-Format ist akzeptabel',
mp4: 'Nur das mp4-Format ist akzeptabel',
mov: 'Nur das mov-Format ist akzeptabel',
mkv: 'Nur das mkv-Format ist akzeptabel',
flv: 'Nur das flv-Format ist akzeptabel'
}
},
tr: {
required: {
field: 'This field is required',
// geliştirici doğrulamaları
Remember_me: 'Remember_me parametresi gerekli',
// kayıt doğrulamaları
name: 'Adı girin',
first_name: 'Adı girin',
last_name: 'Soyadı girin',
national_code: "Nationaler Kodu erforderlich",
email: 'E-posta girin',
email_personal: 'Kişisel e-posta gereklidir',
email_company: 'Tüzel kişiler için şirket e-postası gereklidir',
company_name: 'Tüzel kişiyseniz şirket adını girin',
username: 'Kullanıcı adını girin',
phone_number: 'Telefon numarasını girin',
password: 'Şifre girin',
birthdate: 'Enter birthdate',
// doğrulamaları adresleme
country: 'Ülke girin',
province: 'İl girin',
city: 'Şehir girin',
address: 'Adres girin',
postal_code: 'Posta kodunu girin',
plaque: 'Plak girin',
receiver_first_name: 'Alıcı adını girin',
receiver_last_name: 'Alıcının soyadını girin',
receiver_mobile: 'Alıcının cep telefonu numarasını girin',
// global (post - galeri - ...)
title: 'Başlığı girin',
caption: 'Başlık girin',
description: 'Açıklama girin',
category: 'Kategori seçin',
image: 'Resim gerekli',
cover: 'Kapak gereklidir',
file: 'Dosya gerekli',
message: 'Mesaj yaz',
quantity: 'Miktar girin',
date: 'Enter date',
reason: 'Nedeni seçin',
question: 'Soruyu yazın',
answer: 'Cevabı yaz',
price: 'Enter Price',
type: 'Select type'
},
format: {
phone_number: 'Telefon numarası biçimi yanlış',
email: 'E-posta formatı doğru değil',
number: 'Değer sayı olmalıdır',
boolean: 'Değer Boole olmalıdır',
image: 'Photo format is not acceptable',
video: 'Video format is not acceptable',
national_code: 'Ulusal kod formatı doğru değil'
},
min_char: {
min2: 'En az 2 karakter',
min4: 'En az 4 karakter',
min8: 'En az 8 karakter',
min10: 'En az 10 karakter',
min20: 'En az 20 karakter',
min30: 'En az 30 karakter',
min40: 'En az 40 karakter',
min50: 'En az 50 karakter',
min60: 'En az 60 karakter',
min100: 'En az 100 karakter',
min120: 'En az 120 karakter',
min150: 'En az 150 karakter',
min200: 'En az 200 karakter',
data_size: 'Kabul edilebilir minimum boyut: ',
image_width_size: 'Minimum genişlik: ',
image_height_size: 'Minimum yükseklik: ',
},
max_char: {
max4: 'Maksimum 4 karakter',
max8: 'Maksimum 8 karakter',
max10: 'Maksimum 10 karakter',
max15: 'Maksimum 15 karakter',
max20: 'Maksimum 20 karakter',
max30: 'Maksimum 30 karakter',
max40: 'Maksimum 40 karakter',
max50: 'Maksimum 50 karakter',
max60: 'Maksimum 60 karakter',
max100: 'Maksimum 100 karakter',
max120: 'Maksimum 120 karakter',
max150: 'Maksimum 150 karakter',
max200: 'Maksimum 200 karakter',
data_size: 'Kabul edilebilir maksimum boyut: ',
image_width_size: 'Maksimum genişlik: ',
image_height_size: 'Maksimum yükseklik: ',
},
not_found: {
user_id: 'Bu profile sahip kullanıcı yok',
admin_id: 'Bu profile sahip yönetici yok',
order_id: 'Bu profilde sipariş yok',
item_id: 'Bu spesifikasyona sahip hiçbir öğe yok',
password: 'Şifre veya kimlik yanlış',
email : 'Söz konusu e-postaya sahip kullanıcı bulunamadı'
},
duplicated: {
username: 'Bu kullanıcı adı zaten mevcut',
email: 'Bu email zaten var',
name: 'Ad çift',
title: 'Başlık yineleniyor',
phoneNumber : 'phoneNumber zaten mevcut'
},
response: {
logged_in: 'Giriş yaptınız',
not_logged_in: 'Giriş yapmadınız',
logged_out: 'Çıkış yaptınız',
unauthenticated: 'unauthenticated',
recovery_link: 'Kurtarma bağlantısı gönderildi',
success_save: 'Başarıyla kaydedildi',
success_remove: 'Başarıyla kaldırıldı',
cart_empty: 'Sepet boş',
already_has_address: 'Zaten adresi var',
activation_code: 'Activation code sent to you',
activation_email: 'Activation email sent to you',
expired_reset_link: 'Mevcut sıfırlama geçiş bağlantısının süresi doldu',
email_not_confirmed: 'Önce e-postanızı onaylayın, aktivasyon bağlantısı size zaten gönderildi.',
expired_activation_link: "Bu aktivasyon bağlantısının süresi doldu",
success_activation: 'Hesabınız başarıyla etkinleştirildi',
passwords_not_match: 'Şifreler aynı değil',
problem: 'Bir sorun var, lütfen tekrar deneyin.',
latinChar: 'Please write in Latin letters',
persianChar: 'Please write in Persian letters',
whiteSpace: 'There should be no space between letters and words'
},
optional: {
string : 'bir dizi olmalı',
boolean : 'boole olmalı',
number : 'bir sayı olmalı',
onlyValid : 'Yalnızca bu değerler kabul edilebilir'
},
file_types: {
jpg: 'Yalnızca jpg formatı kabul edilebilir',
png: 'Sadece png formatı kabul edilebilir',
gif: 'Yalnızca gif formatı kabul edilebilir',
pdf: 'Yalnızca pdf formatı kabul edilebilir',
txt: 'Yalnızca txt formatı kabul edilebilir',
log: 'Yalnızca log formatı kabul edilebilir',
mp3: 'Yalnızca mp3 formatı kabul edilebilir',
ogg: 'Yalnızca ogg formatı kabul edilebilir',
wmv: 'Yalnızca wmv formatı kabul edilebilir',
mp4: 'Yalnızca mp4 formatı kabul edilebilir',
mov: 'Yalnızca mov formatı kabul edilebilir',
mkv: 'Yalnızca mkv formatı kabul edilebilir',
flv: 'Yalnızca flv biçimi kabul edilebilir'
}
},
it: {
required: {
field: 'This field is required',
// convalide dello sviluppatore
Remember_me: "Remember_me parameter required",
// convalide della registrazione
name: "Inserisci nome",
first_name: "Inserisci nome",
last_name: "Inserisci il cognome",
national_code: "Il codice Nationaler è comune",
email: "Enter email",
email_personal: "L'email personale è obbligatoria",
email_company: "L'email aziendale è obbligatoria per le persone giuridiche",
company_name: "Inserisci il nome dell'azienda se sei una persona giuridica",
username: "Inserisci nome utente",
phone_number: "Inserisci numero di telefono",
password: "Inserisci password",
birthdate: 'Enter birthdate',
// indirizzamento delle convalide
country: "Inserisci paese",
province: "Inserisci provincia",
city: "Inserisci città",
address: "Inserisci indirizzo",
postal_code: "Inserisci codice postale",
plaque: "Inserisci targa",
receiver_first_name: "Inserisci il nome del destinatario",
receiver_last_name: "Inserisci il cognome del destinatario",
receiver_mobile: "Inserisci il numero di cellulare del destinatario",
// globale (post - gallery - ...)
title: "Inserisci titolo",
caption: "Inserisci didascalia",
description: "Inserisci descrizione",
category: "Seleziona categoria",
image: "L'immagine è obbligatoria",
cover: "Cover is required",
file: "Il file è obbligatorio",
message: "Scrivi messaggio",
quantity: "Inserisci quantità",
date: 'Enter date',
reason: 'Seleziona motivo',
question: 'Scrivi la domanda',
answer: 'Scrivi la risposta',
price: 'Enter Price',
type: 'Select type'
},
format: {
phone_number: "Formato del numero di telefono non corretto",
email: "Formato email non corretto",
number: "Il valore deve essere un numero",
boolean: "Il valore deve essere booleano",
image: 'Photo format is not acceptable',
video: 'Video format is not acceptable',
national_code: "Il formato del codice nazionale non è corretto"
},
min_char: {
min2: "Almeno 2 caratteri",
min4: "Almeno 4 caratteri",
min8: "Almeno 8 caratteri",
min10: "Almeno 10 caratteri",
min20: "Almeno 20 caratteri",
min30: "Almeno 30 caratteri",
min40: "Almeno 40 caratteri",
min50: "Almeno 50 caratteri",
min60: "Almeno 60 caratteri",
min100: "Almeno 100 caratteri",
min120: "Almeno 120 caratteri",
min150: "Almeno 150 caratteri",
min200: "Almeno 200 caratteri",
data_size: "Dimensione minima accettabile: ",
image_width_size: "Larghezza minima: ",
image_height_size: "Altezza minima: ",
},
max_char: {
max4: "Massimo 4 caratteri",
max8: "Massimo 8 caratteri",
max10: "Massimo 10 caratteri",
max15: "Massimo 15 caratteri",
max20: "Massimo 20 caratteri",
max30: "Massimo 30 caratteri",
max40: "Massimo 40 caratteri",
max50: "Massimo 50 caratteri",
max60: "Massimo 60 caratteri",
max100: "Massimo 100 caratteri",
max120: "Massimo 120 caratteri",
max150: "Massimo 150 caratteri",
max200: "Massimo 200 caratteri",
data_size: "Dimensione massima accettabile: ",
image_width_size: "Larghezza massima: ",
image_height_size: "Altezza massima: ",
},
not_found: {
user_id: "Nessun utente con questo profilo",
admin_id: "Nessun amministratore con questo profilo",
order_id: "Nessun ordine con questo profilo",
item_id: "Nessun articolo con questa specifica",
password: "La password o l'ID non sono corretti",
email : "Nessun utente trovato con l'email in questione"
},
duplicated: {
username: "Questo nome utente esiste già",
email: "Questa email esiste già",
name: "Il nome è duplicato",
title: "Il titolo è duplicato",
phoneNumber : "phoneNumber esiste già"
},
response: {
logged_in: "Hai effettuato l'accesso",
not_logged_in: "Non sei loggato",
logged_out: "Sei disconnesso",
unauthenticated: "unauthenticated",
recovery_link: "Link di ripristino inviato",
success_save: "Salvataggio riuscito",
success_remove: "Rimosso con successo",
cart_empty: "Il carrello è vuoto",
already_has_address: "Ha già indirizzo",
activation_code: 'Activation code sent to you',
activation_email: 'Activation email sent to you',
expired_reset_link: "L'attuale link del passaggio di reimpostazione è scaduto",
email_not_confirmed: "Conferma prima la tua email, il link di attivazione ti è già stato inviato.",
expired_activation_link: "Questo link di attivazione è scaduto",
success_activation: "Il tuo account è stato attivato con successo",
passwords_not_match: "Le password non sono le stesse",
problem: "Si è verificato un problema, riprova.",
latinChar: 'Please write in Latin letters',
persianChar: 'Please write in Persian letters',
whiteSpace: 'There should be no space between letters and words'
},
optional: {
string : 'deve essere una stringa',
boolean : 'deve essere booleano',
number : 'deve essere un numero',
onlyValid : 'Solo questi valori sono accettabili'
},
file_types: {
jpg: "È accettabile solo il formato jpg",
png: "È accettabile solo il formato png",
gif: "È accettabile solo il formato GIF",
pdf: "È accettabile solo il formato pdf",
txt: "È accettabile solo il formato txt",
log: "È accettabile solo il formato log",
mp3: "È accettabile solo il formato mp3",
ogg: "È accettabile solo il formato ogg",
wmv: "È accettabile solo il formato wmv",
mp4: "È accettabile solo il formato mp4",
mov: "È accettabile solo il formato mov",
mkv: "È accettabile solo il formato mkv",
flv: "È accettabile solo il formato flv"
}
},
supportedImageFormats: ['jpg', 'jpeg', 'png', 'webp'],
supportedVideoFormats: ['mp4', 'avi', 'wmv']
}