create-vitnode-app 0.0.10-canary.26 → 0.0.10-canary.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -24,7 +24,7 @@ Expecting one of '${n.join("', '")}'`);let r=`${e}Help`;return this.on(r,s=>{let
24
24
  `),process.exit(1))},Tt=async t=>{let e=t.opts(),i={packageManager:e.packageManager,eslint:e.eslint,install:!e.skipInstall,docker:e.docker};if(!e.packageManager){let n=await St(),r=U.default.blue("package manager"),{packageManager:s}=await(0,Y.default)({onState:R,name:"packageManager",type:"select",message:`Which ${r} do you want to use?`,initial:e.packageManager,choices:[{title:`npm${n.npm?`@${n.npm}`:""}`,value:"npm",disabled:!n.npm},{title:`pnpm${n.pnpm?`@${n.pnpm}`:""}`,value:"pnpm",disabled:!n.pnpm}]});i={...i,packageManager:`${s}@${n[s]}`}}if(e.eslint===void 0){let n=U.default.blue("ESLint"),{eslint:r}=await(0,Y.default)({onState:R,type:"toggle",name:"eslint",message:`Would you like to use ${n}?`,initial:e.eslint?"Yes":"No",active:"Yes",inactive:"No"});i={...i,eslint:!!r}}if(e.docker===void 0){let n=U.default.blue("Dockerfile & Docker Compose"),{docker:r}=await(0,Y.default)({onState:R,type:"toggle",name:"docker",message:`Would you like to create ${n}?`,initial:e.i18nRouting?"Yes":"No",active:"Yes",inactive:"No"});i={...i,docker:!!r}}if(e.skipInstall===void 0){let n=U.default.blue("Install dependencies"),{install:r}=await(0,Y.default)({onState:R,type:"toggle",name:"install",message:`Would you like to ${n}?`,initial:e.eslint?"Yes":"No",active:"Yes",inactive:"No"});i={...i,install:!!r}}return i};var re=require("fs"),kt=require("path"),Se=p(require("picocolors"),1);function se(t,e){let i=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"],n=(0,re.readdirSync)(t).filter(r=>!i.includes(r)&&!r.endsWith(".iml"));if(n.length>0){console.log(`The directory ${Se.default.green(e)} contains files that could conflict:
25
25
  `);for(let r of n)try{(0,re.lstatSync)((0,kt.join)(t,r)).isDirectory()?console.log(`${Se.default.blue(r)}/`):console.log(r)}catch{console.log(r)}return console.log(`
26
26
  Either try using a new directory name, or remove the files listed above.
27
- `),!1}return!0}var $t=require("constants"),Pt=require("fs/promises");async function Nt(t){try{return await(0,Pt.access)(t,$t.W_OK),!0}catch{return!1}}var It=p(require("validate-npm-package-name"),1),Te=({name:t})=>{let e=(0,It.default)(t);return e.validForNewPackages?{valid:!0}:{valid:!1,problems:[...e.errors??[],...e.warnings??[]]}};var Rt={name:"create-vitnode-app",version:"0.0.10-canary.25",description:"Create a new VitNode app in seconds.",author:"VitNode Team",license:"MIT",homepage:"https://vitnode.com",repository:{type:"git",url:"git+https://github.com/VitNode/vitnode.git",directory:"packages/create-vitnode-app"},type:"module",bin:{"create-vitnode-app":"dist/index.cjs"},scripts:{lint:"eslint .","lint:fix":"eslint . --fix","build:scripts":"tsup index.ts","dev:script":"tsup index.ts --watch","start:script":"node dist/index.cjs"},keywords:["vitnode","react","next","nest","nextjs","nestjs","typescript","next.js","nest.js"],dependencies:{figlet:"^1.8.0",picocolors:"^1.1.1",prompts:"^2.4.2","validate-npm-package-name":"^6.0.0"},devDependencies:{"@types/cross-spawn":"^6.0.6","@types/figlet":"^1.7.0","@types/node":"^22.10.1","@types/prompts":"^2.4.9","@types/validate-npm-package-name":"^4.0.2",commander:"^12.1.0","cross-spawn":"^7.0.6","eslint-config-typescript-vitnode":"workspace:*",ora:"^8.1.1",tsup:"^8.3.5",typescript:"^5.7.2"}};var C=require("fs"),v=require("path"),on=require("crypto"),an=p(require("figlet"),1);var Q=p(require("process"),1);var jt=(t=0)=>e=>`\x1B[${e+t}m`,Vt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Mt=(t=0)=>(e,i,n)=>`\x1B[${38+t};2;${e};${i};${n}m`,m={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Cs=Object.keys(m.modifier),Nn=Object.keys(m.color),In=Object.keys(m.bgColor),Es=[...Nn,...In];function Rn(){let t=new Map;for(let[e,i]of Object.entries(m)){for(let[n,r]of Object.entries(i))m[n]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},i[n]=m[n],t.set(r[0],r[1]);Object.defineProperty(m,e,{value:i,enumerable:!1})}return Object.defineProperty(m,"codes",{value:t,enumerable:!1}),m.color.close="\x1B[39m",m.bgColor.close="\x1B[49m",m.color.ansi=jt(),m.color.ansi256=Vt(),m.color.ansi16m=Mt(),m.bgColor.ansi=jt(10),m.bgColor.ansi256=Vt(10),m.bgColor.ansi16m=Mt(10),Object.defineProperties(m,{rgbToAnsi256:{value(e,i,n){return e===i&&i===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(i/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let i=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!i)return[0,0,0];let[n]=i;n.length===3&&(n=[...n].map(s=>s+s).join(""));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>m.rgbToAnsi256(...m.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let i,n,r;if(e>=232)i=((e-232)*10+8)/255,n=i,r=i;else{e-=16;let o=e%36;i=Math.floor(e/36)/5,n=Math.floor(o/6)/5,r=o%6/5}let s=Math.max(i,n,r)*2;if(s===0)return 30;let u=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(i));return s===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,i,n)=>m.ansi256ToAnsi(m.rgbToAnsi256(e,i,n)),enumerable:!1},hexToAnsi:{value:e=>m.ansi256ToAnsi(m.hexToAnsi256(e)),enumerable:!1}}),m}var jn=Rn(),y=jn;var oe=p(require("process"),1),Wt=p(require("os"),1),ke=p(require("tty"),1);function B(t,e=globalThis.Deno?globalThis.Deno.args:oe.default.argv){let i=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(i+t),r=e.indexOf("--");return n!==-1&&(r===-1||n<r)}var{env:d}=oe.default,ue;B("no-color")||B("no-colors")||B("color=false")||B("color=never")?ue=0:(B("color")||B("colors")||B("color=true")||B("color=always"))&&(ue=1);function Vn(){if("FORCE_COLOR"in d)return d.FORCE_COLOR==="true"?1:d.FORCE_COLOR==="false"?0:d.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(d.FORCE_COLOR,10),3)}function Mn(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Hn(t,{streamIsTTY:e,sniffFlags:i=!0}={}){let n=Vn();n!==void 0&&(ue=n);let r=i?ue:n;if(r===0)return 0;if(i){if(B("color=16m")||B("color=full")||B("color=truecolor"))return 3;if(B("color=256"))return 2}if("TF_BUILD"in d&&"AGENT_NAME"in d)return 1;if(t&&!e&&r===void 0)return 0;let s=r||0;if(d.TERM==="dumb")return s;if(oe.default.platform==="win32"){let u=Wt.default.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in d)return"GITHUB_ACTIONS"in d||"GITEA_ACTIONS"in d?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in d)||d.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in d)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(d.TEAMCITY_VERSION)?1:0;if(d.COLORTERM==="truecolor"||d.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in d){let u=Number.parseInt((d.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(d.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(d.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(d.TERM)||"COLORTERM"in d?1:s}function Ht(t,e={}){let i=Hn(t,{streamIsTTY:t&&t.isTTY,...e});return Mn(i)}var Wn={stdout:Ht({isTTY:ke.default.isatty(1)}),stderr:Ht({isTTY:ke.default.isatty(2)})},Lt=Wn;function qt(t,e,i){let n=t.indexOf(e);if(n===-1)return t;let r=e.length,s=0,u="";do u+=t.slice(s,n)+e+i,s=n+r,n=t.indexOf(e,s);while(n!==-1);return u+=t.slice(s),u}function Gt(t,e,i,n){let r=0,s="";do{let u=t[n-1]==="\r";s+=t.slice(r,u?n-1:n)+e+(u?`\r
27
+ `),!1}return!0}var $t=require("constants"),Pt=require("fs/promises");async function Nt(t){try{return await(0,Pt.access)(t,$t.W_OK),!0}catch{return!1}}var It=p(require("validate-npm-package-name"),1),Te=({name:t})=>{let e=(0,It.default)(t);return e.validForNewPackages?{valid:!0}:{valid:!1,problems:[...e.errors??[],...e.warnings??[]]}};var Rt={name:"create-vitnode-app",version:"0.0.10-canary.27",description:"Create a new VitNode app in seconds.",author:"VitNode Team",license:"MIT",homepage:"https://vitnode.com",repository:{type:"git",url:"git+https://github.com/VitNode/vitnode.git",directory:"packages/create-vitnode-app"},type:"module",bin:{"create-vitnode-app":"dist/index.cjs"},scripts:{lint:"eslint .","lint:fix":"eslint . --fix","build:scripts":"tsup index.ts","dev:script":"tsup index.ts --watch","start:script":"node dist/index.cjs"},keywords:["vitnode","react","next","nest","nextjs","nestjs","typescript","next.js","nest.js"],dependencies:{figlet:"^1.8.0",picocolors:"^1.1.1",prompts:"^2.4.2","validate-npm-package-name":"^6.0.0"},devDependencies:{"@types/cross-spawn":"^6.0.6","@types/figlet":"^1.7.0","@types/node":"^22.10.1","@types/prompts":"^2.4.9","@types/validate-npm-package-name":"^4.0.2",commander:"^12.1.0","cross-spawn":"^7.0.6","eslint-config-typescript-vitnode":"workspace:*",ora:"^8.1.1",tsup:"^8.3.5",typescript:"^5.7.2"}};var C=require("fs"),v=require("path"),on=require("crypto"),an=p(require("figlet"),1);var Q=p(require("process"),1);var jt=(t=0)=>e=>`\x1B[${e+t}m`,Vt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Mt=(t=0)=>(e,i,n)=>`\x1B[${38+t};2;${e};${i};${n}m`,m={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Cs=Object.keys(m.modifier),Nn=Object.keys(m.color),In=Object.keys(m.bgColor),Es=[...Nn,...In];function Rn(){let t=new Map;for(let[e,i]of Object.entries(m)){for(let[n,r]of Object.entries(i))m[n]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},i[n]=m[n],t.set(r[0],r[1]);Object.defineProperty(m,e,{value:i,enumerable:!1})}return Object.defineProperty(m,"codes",{value:t,enumerable:!1}),m.color.close="\x1B[39m",m.bgColor.close="\x1B[49m",m.color.ansi=jt(),m.color.ansi256=Vt(),m.color.ansi16m=Mt(),m.bgColor.ansi=jt(10),m.bgColor.ansi256=Vt(10),m.bgColor.ansi16m=Mt(10),Object.defineProperties(m,{rgbToAnsi256:{value(e,i,n){return e===i&&i===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(i/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let i=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!i)return[0,0,0];let[n]=i;n.length===3&&(n=[...n].map(s=>s+s).join(""));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>m.rgbToAnsi256(...m.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let i,n,r;if(e>=232)i=((e-232)*10+8)/255,n=i,r=i;else{e-=16;let o=e%36;i=Math.floor(e/36)/5,n=Math.floor(o/6)/5,r=o%6/5}let s=Math.max(i,n,r)*2;if(s===0)return 30;let u=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(i));return s===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,i,n)=>m.ansi256ToAnsi(m.rgbToAnsi256(e,i,n)),enumerable:!1},hexToAnsi:{value:e=>m.ansi256ToAnsi(m.hexToAnsi256(e)),enumerable:!1}}),m}var jn=Rn(),y=jn;var oe=p(require("process"),1),Wt=p(require("os"),1),ke=p(require("tty"),1);function B(t,e=globalThis.Deno?globalThis.Deno.args:oe.default.argv){let i=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(i+t),r=e.indexOf("--");return n!==-1&&(r===-1||n<r)}var{env:d}=oe.default,ue;B("no-color")||B("no-colors")||B("color=false")||B("color=never")?ue=0:(B("color")||B("colors")||B("color=true")||B("color=always"))&&(ue=1);function Vn(){if("FORCE_COLOR"in d)return d.FORCE_COLOR==="true"?1:d.FORCE_COLOR==="false"?0:d.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(d.FORCE_COLOR,10),3)}function Mn(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Hn(t,{streamIsTTY:e,sniffFlags:i=!0}={}){let n=Vn();n!==void 0&&(ue=n);let r=i?ue:n;if(r===0)return 0;if(i){if(B("color=16m")||B("color=full")||B("color=truecolor"))return 3;if(B("color=256"))return 2}if("TF_BUILD"in d&&"AGENT_NAME"in d)return 1;if(t&&!e&&r===void 0)return 0;let s=r||0;if(d.TERM==="dumb")return s;if(oe.default.platform==="win32"){let u=Wt.default.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in d)return"GITHUB_ACTIONS"in d||"GITEA_ACTIONS"in d?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in d)||d.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in d)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(d.TEAMCITY_VERSION)?1:0;if(d.COLORTERM==="truecolor"||d.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in d){let u=Number.parseInt((d.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(d.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(d.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(d.TERM)||"COLORTERM"in d?1:s}function Ht(t,e={}){let i=Hn(t,{streamIsTTY:t&&t.isTTY,...e});return Mn(i)}var Wn={stdout:Ht({isTTY:ke.default.isatty(1)}),stderr:Ht({isTTY:ke.default.isatty(2)})},Lt=Wn;function qt(t,e,i){let n=t.indexOf(e);if(n===-1)return t;let r=e.length,s=0,u="";do u+=t.slice(s,n)+e+i,s=n+r,n=t.indexOf(e,s);while(n!==-1);return u+=t.slice(s),u}function Gt(t,e,i,n){let r=0,s="";do{let u=t[n-1]==="\r";s+=t.slice(r,u?n-1:n)+e+(u?`\r
28
28
  `:`
29
29
  `)+i,r=n+1,n=t.indexOf(`
30
30
  `,r)}while(n!==-1);return s+=t.slice(r),s}var{stdout:Ut,stderr:Yt}=Lt,$e=Symbol("GENERATOR"),j=Symbol("STYLER"),z=Symbol("IS_EMPTY"),zt=["ansi","ansi","ansi256","ansi16m"],V=Object.create(null),Ln=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let i=Ut?Ut.level:0;t.level=e.level===void 0?i:e.level};var qn=t=>{let e=(...i)=>i.join(" ");return Ln(e,t),Object.setPrototypeOf(e,J.prototype),e};function J(t){return qn(t)}Object.setPrototypeOf(J.prototype,Function.prototype);for(let[t,e]of Object.entries(y))V[t]={get(){let i=ae(this,Ne(e.open,e.close,this[j]),this[z]);return Object.defineProperty(this,t,{value:i}),i}};V.visible={get(){let t=ae(this,this[j],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var Pe=(t,e,i,...n)=>t==="rgb"?e==="ansi16m"?y[i].ansi16m(...n):e==="ansi256"?y[i].ansi256(y.rgbToAnsi256(...n)):y[i].ansi(y.rgbToAnsi(...n)):t==="hex"?Pe("rgb",e,i,...y.hexToRgb(...n)):y[i][t](...n),Gn=["rgb","hex","ansi256"];for(let t of Gn){V[t]={get(){let{level:i}=this;return function(...n){let r=Ne(Pe(t,zt[i],"color",...n),y.color.close,this[j]);return ae(this,r,this[z])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);V[e]={get(){let{level:i}=this;return function(...n){let r=Ne(Pe(t,zt[i],"bgColor",...n),y.bgColor.close,this[j]);return ae(this,r,this[z])}}}}var Un=Object.defineProperties(()=>{},{...V,level:{enumerable:!0,get(){return this[$e].level},set(t){this[$e].level=t}}}),Ne=(t,e,i)=>{let n,r;return i===void 0?(n=t,r=e):(n=i.openAll+t,r=e+i.closeAll),{open:t,close:e,openAll:n,closeAll:r,parent:i}},ae=(t,e,i)=>{let n=(...r)=>Yn(n,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(n,Un),n[$e]=t,n[j]=e,n[z]=i,n},Yn=(t,e)=>{if(t.level<=0||!e)return t[z]?"":e;let i=t[j];if(i===void 0)return e;let{openAll:n,closeAll:r}=i;if(e.includes("\x1B"))for(;i!==void 0;)e=qt(e,i.close,i.open),i=i.parent;let s=e.indexOf(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vitnode-app",
3
- "version": "0.0.10-canary.26",
3
+ "version": "0.0.10-canary.28",
4
4
  "description": "Create a new VitNode app in seconds.",
5
5
  "author": "VitNode Team",
6
6
  "license": "MIT",
@@ -42,7 +42,7 @@
42
42
  "ora": "^8.1.1",
43
43
  "tsup": "^8.3.5",
44
44
  "typescript": "^5.7.2",
45
- "eslint-config-typescript-vitnode": "0.0.10-canary.26"
45
+ "eslint-config-typescript-vitnode": "0.0.10-canary.28"
46
46
  },
47
47
  "scripts": {
48
48
  "lint": "eslint .",
@@ -16,8 +16,8 @@
16
16
  }
17
17
 
18
18
  :root {
19
- --background: 220 40% 98%;
20
- --foreground: 213deg 5% 8%;
19
+ --background: 217 20% 96%;
20
+ --foreground: 213 5% 8%;
21
21
  --card: 220 40% 100%;
22
22
  --card-foreground: 213deg 26% 7%;
23
23
  --popover: var(--card);
@@ -28,11 +28,11 @@
28
28
  --secondary-foreground: 210 40% 2%;
29
29
  --muted: 220 40% 96%;
30
30
  --muted-foreground: 220 8% 44%;
31
- --accent: 220 40% 92%;
31
+ --accent: 220 40% 94%;
32
32
  --accent-foreground: 222 47% 11%;
33
33
  --destructive: 0 57% 43%;
34
34
  --destructive-foreground: 210 40% 98%;
35
- --border: 220 20% 90%;
35
+ --border: 220 40% 90%;
36
36
  --input: var(--border);
37
37
  --ring: var(--primary);
38
38
  --radius: 0.5rem;
@@ -49,7 +49,7 @@
49
49
  .dark {
50
50
  --background: 220 11% 6%;
51
51
  --foreground: 0 0% 98%;
52
- --card: 225 11% 8%;
52
+ --card: 225 15% 9%;
53
53
  --card-foreground: 0 0% 98%;
54
54
  /* --popover: var(--card); */
55
55
  /* --popover-foreground: var(--card-foreground); */
@@ -57,9 +57,9 @@
57
57
  --primary-foreground: 220 40% 98%;
58
58
  --secondary: 216 10% 18%;
59
59
  --secondary-foreground: 0 0% 98%;
60
- --muted: 228 11% 12%;
60
+ --muted: 225 15% 12%;
61
61
  --muted-foreground: 216 0% 68%;
62
- --accent: 225 10% 10%;
62
+ --accent: 225 15% 14%;
63
63
  --accent-foreground: 0 0% 98%;
64
64
  --destructive: 359 78% 55%;
65
65
  --destructive-foreground: 210 40% 98%;
@@ -497,7 +497,6 @@
497
497
  "table": {
498
498
  "key": "Key",
499
499
  "time_24": "24h Format",
500
- "locale": "Locale",
501
500
  "name": "Name",
502
501
  "updated": "Updated",
503
502
  "enabled": "Enabled"
@@ -513,6 +512,7 @@
513
512
  "label": "Code",
514
513
  "placeholder": "en",
515
514
  "desc": "This code uses as a language identifier in your URL, like: /en/page",
515
+ "cannot_find_language_file_in_plugin": "Cannot find the language file in the plugin. You have to add the language file to the plugin first in dev mode.",
516
516
  "already_exists": "Language with this code already exists."
517
517
  },
518
518
  "timezone": {
@@ -522,9 +522,6 @@
522
522
  "label": "24h Time Format",
523
523
  "desc": "Shows 24h time format instead of 12h."
524
524
  },
525
- "locale": {
526
- "label": "Locale"
527
- },
528
525
  "allow_in_input": {
529
526
  "label": "Allow in Input",
530
527
  "desc": "Allow users to select this language in the input field."
@@ -0,0 +1,722 @@
1
+ {
2
+ "admin": {
3
+ "global": {
4
+ "dev_mode": "Development Mode",
5
+ "title": "Admin Control Panel",
6
+ "title_short": "Admin",
7
+ "version": "Version: {version}",
8
+ "diagnostic_tools": "Diagnostic Tools",
9
+ "home_page": "Home Page",
10
+ "mobile_not_supported": "Mobile devices are not supported.",
11
+ "require_email_service": "The email service is disabled.",
12
+ "search": {
13
+ "placeholder": "Search...",
14
+ "no_results": "No results found.",
15
+ "desc": "Search Engine for AdminCP",
16
+ "pages": "Pages"
17
+ }
18
+ },
19
+ "theme_editor": {
20
+ "title": "Theme Editor",
21
+ "desktop": "Desktop",
22
+ "tablet": "Tablet",
23
+ "mobile": "Mobile",
24
+ "dev_mode_disabled": {
25
+ "title": "Development Mode Disabled",
26
+ "desc": "To unlock some features, you need to enable development mode."
27
+ },
28
+ "colors": {
29
+ "title": "Colors",
30
+ "primary": "Primary",
31
+ "secondary": "Secondary",
32
+ "cover": "Cover",
33
+ "destructive": "Destructive"
34
+ },
35
+ "logos": {
36
+ "title": "Logos",
37
+ "light": "Light",
38
+ "width": "Width",
39
+ "mobile_width": "Mobile Width",
40
+ "dark": "Dark",
41
+ "mobile_light": "Mobile Light",
42
+ "mobile_dark": "Mobile Dark",
43
+ "text": "Logo Text"
44
+ },
45
+ "success": {
46
+ "title": "The theme has been saved successfully!",
47
+ "desc": "The changes will be visible after the app is rebuilt."
48
+ }
49
+ },
50
+ "core": {
51
+ "diagnostic": {
52
+ "title": "Diagnostic Tools",
53
+ "desc": "Use these tools to diagnose and fix common issues with your website.",
54
+ "clear_cache": {
55
+ "title": "Clear Cache",
56
+ "desc": "This action clean up the cache of your website. This can help fix issues with your website but may slow down your website temporarily.",
57
+ "confirm": "Yes, clear cache",
58
+ "success": "Cache has been cleared."
59
+ }
60
+ },
61
+ "email": {
62
+ "hello": "Hello"
63
+ },
64
+ "settings": {
65
+ "main": {
66
+ "title": "Main Settings",
67
+ "desc": "These settings are used to configure the main features of your website.",
68
+ "name": {
69
+ "label": "Name Site"
70
+ },
71
+ "short_name": {
72
+ "label": "Short Name Site"
73
+ },
74
+ "description": {
75
+ "label": "Description Site"
76
+ },
77
+ "contact_email": {
78
+ "label": "Contact Email",
79
+ "desc": "This email address will be applied to the contact form and other contact points on your website."
80
+ }
81
+ },
82
+ "email": {
83
+ "title": "Email",
84
+ "desc": "Send emails from your website. Unlock more features like password reset, email verification, and more.",
85
+ "logs": {
86
+ "title": "Email Error Logs",
87
+ "id": "ID",
88
+ "to": "To",
89
+ "subject": "Subject",
90
+ "created": "Created",
91
+ "error": "Error",
92
+ "show": {
93
+ "title": "Show log",
94
+ "title_dialog": "Email Log - #{id}",
95
+ "to": "To: <email>{to}</email>",
96
+ "html": "HTML",
97
+ "error": "Error Message",
98
+ "subject": "Subject"
99
+ }
100
+ },
101
+ "logo": "Logo",
102
+ "resend_key": "Resend Key",
103
+ "smtp_host": "SMTP Host",
104
+ "smtp_user": "SMTP User",
105
+ "smtp_password": "SMTP Password",
106
+ "smtp_port": "SMTP Port",
107
+ "smtp_secure": "SMTP Secure (SSL/TLS)",
108
+ "color_primary": "Primary Color",
109
+ "test": {
110
+ "title": "Test Email Send",
111
+ "to": "To",
112
+ "subject": "Subject",
113
+ "preview_text": "Preview Message",
114
+ "message": "Message",
115
+ "success": {
116
+ "title": "Email has been sent",
117
+ "desc": "Check your email inbox to see if you received the email."
118
+ },
119
+ "test": {
120
+ "subject": "Test Email from AdminCP VitNode",
121
+ "message": "This email confirms that your email settings in your website by VitNode are working correctly.",
122
+ "preview_text": "Preview text test email from AdminCP VitNode"
123
+ },
124
+ "send_testing_email": "Send Testing Email"
125
+ }
126
+ },
127
+ "security": {
128
+ "captcha": {
129
+ "title": "Captcha",
130
+ "desc": "Captcha is a security feature that requires users to complete a challenge to prove they are human. This helps prevent spam and abuse.",
131
+ "type": {
132
+ "title": "Type",
133
+ "none": {
134
+ "title": "None"
135
+ },
136
+ "recaptcha_desc": "Read more on <link>Google reCAPTCHA</link>.",
137
+ "recaptcha_v2_invisible": "reCAPTCHA v2 Invisible",
138
+ "recaptcha_v2_checkbox": "reCAPTCHA v2 Checkbox",
139
+ "recaptcha_v3": "reCAPTCHA v3",
140
+ "cloudflare_turnstile": {
141
+ "title": "Cloudflare Turnstile",
142
+ "desc": "Read more on <link>Cloudflare Turnstile</link>."
143
+ }
144
+ },
145
+ "site_key": "Site Key",
146
+ "secret_key": "Secret Key"
147
+ }
148
+ },
149
+ "authorization": {
150
+ "title": "Authorization",
151
+ "desc": "Manage authorization settings for your website.",
152
+ "settings": {
153
+ "title": "Settings",
154
+ "force_login": {
155
+ "title": "Force Login",
156
+ "desc": "Force users to log in before they can access your website."
157
+ },
158
+ "lock_register": {
159
+ "title": "Lock Register",
160
+ "desc": "Don't allow users to register on your website."
161
+ },
162
+ "require_confirm_email": {
163
+ "title": "Require Confirm Email",
164
+ "desc": "Require users to confirm their email address before they can access your site."
165
+ }
166
+ },
167
+ "methods": {
168
+ "title": "Login Methods",
169
+ "name": "Name",
170
+ "enabled": "Enabled",
171
+ "create": {
172
+ "title": "Create Method",
173
+ "desc": "New login method for your website.",
174
+ "provider": "Provider",
175
+ "client_id": "Client ID",
176
+ "client_secret": "Client Secret",
177
+ "success": "Login method has been created.",
178
+ "your_callback_url": "Your callback URL"
179
+ },
180
+ "edit": {
181
+ "title": "Edit Method",
182
+ "success": "Login method has been updated."
183
+ },
184
+ "delete": {
185
+ "desc": "This action will delete the login method <name></name>.",
186
+ "warn": "If you delete this login method, users who use this method to log in will not be able to log in.",
187
+ "success": "Login method has been deleted.",
188
+ "submit": "Yes, delete login method"
189
+ }
190
+ }
191
+ },
192
+ "legal": {
193
+ "title": "Legal & Policies",
194
+ "desc": "These settings are used to generate the legal pages on your website.",
195
+ "legal_public": "Public Legal",
196
+ "created": "Created",
197
+ "updated": "Updated",
198
+ "preview": "Preview",
199
+ "create_edit": {
200
+ "create": {
201
+ "title": "Create Policy",
202
+ "desc": "Create a new policy for your website."
203
+ },
204
+ "edit": "Edit Policy",
205
+ "form": {
206
+ "title": "Title",
207
+ "code": {
208
+ "title": "Code",
209
+ "desc": "Code should be unique. This code is used to generate the URL of the policy page.",
210
+ "preview_url": "Preview URL of the policy page: <url></url>",
211
+ "already_exists": "Policy with this code already exists."
212
+ },
213
+ "content": "Content",
214
+ "href": "URL",
215
+ "external_href": "Use external URL"
216
+ },
217
+ "submit": {
218
+ "create": "Create Policy",
219
+ "edit": "Edit Policy"
220
+ },
221
+ "success": {
222
+ "create": "Policy has been created.",
223
+ "edit": "Policy has been updated."
224
+ }
225
+ },
226
+ "delete": {
227
+ "title": "Delete Policy",
228
+ "desc": "This action will delete the policy <name></name>.",
229
+ "confirm": "Yes, delete policy",
230
+ "success": "Policy has been deleted."
231
+ }
232
+ },
233
+ "ai": {
234
+ "title": "Artificial Intelligence (AI)",
235
+ "desc": "Integrate powerful Artificial Intelligence to boost user experience with personalized content, smarter search, SEO optimization and more.",
236
+ "testing": {
237
+ "title": "Test Your AI",
238
+ "desc": "Here you can test your AI to see how it works.",
239
+ "response": "Response",
240
+ "response_success": "If you see the response, your AI is working correctly.",
241
+ "prompt": "Prompt",
242
+ "prompt_placeholder": "Ask a question...",
243
+ "submit": "Ask"
244
+ }
245
+ },
246
+ "metadata": {
247
+ "title": "Metadata",
248
+ "desc": "Share your website with the world by adding metadata to your website.",
249
+ "theme_color": "Theme Color",
250
+ "background_color": "Background Color",
251
+ "start_url": {
252
+ "label": "Start URL",
253
+ "desc": "When user launches the app, this is the page that will be loaded."
254
+ },
255
+ "icon": {
256
+ "label": "Icon",
257
+ "desc": "Represent your website on devices (PWA). Recommended size: 512x512px."
258
+ },
259
+ "favicon": {
260
+ "label": "Favicon",
261
+ "desc": "Icon in browser tab. Recommended size: 32x32px."
262
+ },
263
+ "display": {
264
+ "label": "Display",
265
+ "desc": "The display property controls how the app is displayed.",
266
+ "fullscreen": {
267
+ "title": "Fullscreen",
268
+ "desc": "Without any browser UI and any device UI."
269
+ },
270
+ "standalone": {
271
+ "title": "Standalone",
272
+ "desc": "Without any browser UI."
273
+ },
274
+ "minimal": {
275
+ "title": "Minimal UI",
276
+ "desc": "Minimal browser UI."
277
+ },
278
+ "browser": {
279
+ "title": "Browser",
280
+ "desc": "With browser UI."
281
+ }
282
+ }
283
+ }
284
+ },
285
+ "plugins": {
286
+ "title": "Plugins",
287
+ "desc": "Extend the functionality of your app with plugins.",
288
+ "upload_new_version": "Upload New Version",
289
+ "set_default": "Set as default",
290
+ "get_help": "Get help",
291
+ "search_placeholder": "Search by name...",
292
+ "dev_tools": "Developer Tools",
293
+ "name": "Name",
294
+ "version": "Version",
295
+ "author": "Author",
296
+ "updated": "Updated",
297
+ "warn_req_restart_server": {
298
+ "title": "Required Restart Server",
299
+ "desc": "We're detected changes in <bold>the plugin system</bold>. To apply these changes, you need to <bold>restart the server</bold>."
300
+ },
301
+ "dev": {
302
+ "overview": "Overview",
303
+ "nav": {
304
+ "title": "Navigation in AdminCP",
305
+ "lang_key": "Lang Key: <key></key>",
306
+ "keywords": "Keywords: <keywords></keywords>",
307
+ "link_url_with_link": "Link URL: <link></link>",
308
+ "create": {
309
+ "title": "Create Navigation",
310
+ "desc": "Create a new navigation for your plugin.",
311
+ "code": {
312
+ "label": "Code",
313
+ "desc": "Should be unique. Min 3-50 characters.",
314
+ "exists": "Navigation with this code already exists."
315
+ },
316
+ "icon": {
317
+ "label": "Icon"
318
+ },
319
+ "parent": {
320
+ "label": "Parent Navigation",
321
+ "null": "No parent"
322
+ },
323
+ "keywords": {
324
+ "label": "Keywords",
325
+ "desc": "Keywords are used to search for this navigation. Separate by comma."
326
+ },
327
+ "success": "Navigation has been created."
328
+ },
329
+ "edit": {
330
+ "title": "Edit Navigation",
331
+ "success": "Navigation has been updated."
332
+ },
333
+ "delete": {
334
+ "submit": "Yes, delete navigation",
335
+ "desc": "This action will delete <code></code> navigation.",
336
+ "success": "Navigation has been deleted."
337
+ }
338
+ },
339
+ "permissions-admin": {
340
+ "title": "Admin Permissions",
341
+ "page_permission": "Page: <page></page>",
342
+ "lang_key": "Lang Key: <key></key>",
343
+ "create_edit": {
344
+ "id": {
345
+ "label": "ID",
346
+ "desc": "Unique ID for this permission.",
347
+ "exists": "Permission with this ID already exists."
348
+ },
349
+ "parent": {
350
+ "label": "Group",
351
+ "null": "No group permission"
352
+ },
353
+ "create_success": "Permission has been created."
354
+ },
355
+ "delete": {
356
+ "desc": "This action will delete the permission <id></id>. Remember to delete all conditions associated with this permission.",
357
+ "submit": "Yes, delete permission",
358
+ "success": "Permission has been deleted.",
359
+ "children_warn": {
360
+ "title": "This permission has children",
361
+ "desc": "If you delete this permission, all children will be deleted too."
362
+ }
363
+ }
364
+ },
365
+ "export": {
366
+ "title": "Export Plugin",
367
+ "desc": "Choose version to export.",
368
+ "type": {
369
+ "rebuild": "Rebuild current version - {version}",
370
+ "new_version": "Create new version"
371
+ },
372
+ "version": "Version",
373
+ "version_code": "Version Code",
374
+ "success": "Plugin has been exported.",
375
+ "submit": "Export"
376
+ }
377
+ },
378
+ "create": {
379
+ "title": "Create Plugin",
380
+ "name": {
381
+ "label": "Name",
382
+ "desc": "Min 3-50 characters."
383
+ },
384
+ "code": {
385
+ "label": "Code",
386
+ "desc": "Must be unique. Min 3-50 characters. Allowed characters: a-z, 0-9, -",
387
+ "invalid": "You can use only a-z, 0-9, -",
388
+ "exists": "Plugin with this code already exists. If you want to update the plugin, use the upload new version form from the plugin dropdown menu."
389
+ },
390
+ "description": {
391
+ "label": "Description"
392
+ },
393
+ "support_url": {
394
+ "label": "Support URL",
395
+ "desc": "URL to the support page for this plugin."
396
+ },
397
+ "author": {
398
+ "label": "Author",
399
+ "desc": "Name of the author."
400
+ },
401
+ "author_url": {
402
+ "label": "Author URL",
403
+ "desc": "URL to the author's website."
404
+ }
405
+ },
406
+ "edit": {
407
+ "title": "Edit Plugin",
408
+ "success": "Plugin has been updated."
409
+ },
410
+ "upload": {
411
+ "title": "Upload Plugin",
412
+ "title_new_version": "Upload New Version Plugin",
413
+ "info": "After uploading the plugin, you need to restart the server to apply the changes.",
414
+ "errors": {
415
+ "PLUGIN_ALREADY_EXISTS": "Plugin with this code already exists. If you want to update the plugin, use the upload new version form from the plugin dropdown menu.",
416
+ "PLUGIN_VERSION_IS_LOWER": "The version of the uploaded plugin is lower than the current version."
417
+ },
418
+ "submit": "Upload"
419
+ },
420
+ "delete": {
421
+ "submit": "Yes, delete plugin",
422
+ "desc": "This action will delete <name></name> plugin created by <author></author> and all data associated with it.",
423
+ "info": "After the process is complete, you need to restart the server to apply the changes."
424
+ }
425
+ },
426
+ "styles": {
427
+ "theme-editor": {
428
+ "save": "Save",
429
+ "desktop": "Desktop",
430
+ "tablet": "Tablet",
431
+ "mobile": "Mobile",
432
+ "logos": {
433
+ "title": "Logos",
434
+ "text": "Logo Text",
435
+ "logo_light": "Logo Light",
436
+ "logo_dark": "Logo Dark",
437
+ "width": "Width",
438
+ "title_mobile": "Logos (Mobile)"
439
+ }
440
+ },
441
+ "nav": {
442
+ "title": "Navigation",
443
+ "href": "URL: {href}",
444
+ "create": {
445
+ "title": "Create Navigation",
446
+ "desc": "Create a new navigation for your website.",
447
+ "success": "Navigation has been created.",
448
+ "name": {
449
+ "label": "Name"
450
+ },
451
+ "description": {
452
+ "label": "Description"
453
+ },
454
+ "href": {
455
+ "label": "URL",
456
+ "desc": "Internal link format: /path/to/page"
457
+ },
458
+ "icon": {
459
+ "label": "Icon"
460
+ },
461
+ "external": {
462
+ "label": "External link?",
463
+ "desc": "The link will open in a new tab."
464
+ }
465
+ },
466
+ "edit": {
467
+ "title": "Edit Navigation",
468
+ "success": "Navigation has been updated."
469
+ },
470
+ "delete": {
471
+ "submit": "Yes, delete navigation",
472
+ "desc": "This action will delete <name></name> navigation.",
473
+ "desc_with_children": "You have sub-navigations. If you delete this navigation, all sub-navigations will be moved to the parent navigation.",
474
+ "success": "Navigation has been deleted."
475
+ }
476
+ },
477
+ "editor": {
478
+ "title": "Editor",
479
+ "sticky": {
480
+ "label": "Sticky Toolbar",
481
+ "desc": "The toolbar will be fixed at the top of the screen."
482
+ },
483
+ "files": {
484
+ "allow_type": {
485
+ "title": "Allow File Type",
486
+ "all": "All",
487
+ "images_videos": "Images & Videos",
488
+ "images": "Images",
489
+ "none": "None"
490
+ }
491
+ }
492
+ }
493
+ },
494
+ "langs": {
495
+ "title": "Languages",
496
+ "search_placeholder": "Search by name...",
497
+ "table": {
498
+ "key": "Key",
499
+ "time_24": "24h Format",
500
+ "name": "Name",
501
+ "updated": "Updated",
502
+ "enabled": "Enabled"
503
+ },
504
+ "actions": {
505
+ "create": {
506
+ "title": "Create Language",
507
+ "name": {
508
+ "label": "Name",
509
+ "placeholder": "English (USA)"
510
+ },
511
+ "code": {
512
+ "label": "Code",
513
+ "placeholder": "en",
514
+ "desc": "This code uses as a language identifier in your URL, like: /en/page",
515
+ "cannot_find_language_file_in_plugin": "Cannot find the language file in the plugin. You have to add the language file to the plugin first in dev mode.",
516
+ "already_exists": "Language with this code already exists."
517
+ },
518
+ "timezone": {
519
+ "label": "Timezone"
520
+ },
521
+ "time_24": {
522
+ "label": "24h Time Format",
523
+ "desc": "Shows 24h time format instead of 12h."
524
+ },
525
+ "allow_in_input": {
526
+ "label": "Allow in Input",
527
+ "desc": "Allow users to select this language in the input field."
528
+ },
529
+ "submit": "Create Language",
530
+ "success": "Language has been created."
531
+ },
532
+ "edit": {
533
+ "title": "Edit Language",
534
+ "submit": "Edit Language",
535
+ "default": {
536
+ "label": "Default",
537
+ "desc": "Set this language as the default language for your applications."
538
+ },
539
+ "success": "Language has been updated."
540
+ },
541
+ "delete": {
542
+ "text": "This action cannot be undone. This will permanently delete this language and all user content associated with it. This may impact your app's SEO.",
543
+ "form_confirm_text": "Type the name of the language <text></text> to confirm.",
544
+ "success": "Language has been deleted.",
545
+ "submit": "Yes, delete language"
546
+ }
547
+ }
548
+ },
549
+ "advanced": {
550
+ "files": {
551
+ "title": "Files",
552
+ "delete": {
553
+ "desc": "This action will delete the file <name></name>.",
554
+ "uses_warning": "This file is used in other part of the system.",
555
+ "success": "File has been deleted.",
556
+ "submit": "Yes, delete file"
557
+ }
558
+ }
559
+ },
560
+ "security": {
561
+ "spam": {
562
+ "title": "Spam Protection",
563
+ "captcha": {
564
+ "title": "Captcha",
565
+ "type": {
566
+ "title": "Type",
567
+ "none": {
568
+ "title": "None"
569
+ },
570
+ "recaptcha_desc": "Read more on <link>Google reCAPTCHA</link>.",
571
+ "recaptcha_v2_invisible": "reCAPTCHA v2 Invisible",
572
+ "recaptcha_v2_checkbox": "reCAPTCHA v2 Checkbox",
573
+ "recaptcha_v3": "reCAPTCHA v3",
574
+ "cloudflare_turnstile": {
575
+ "title": "Cloudflare Turnstile",
576
+ "desc": "Read more on <link>Cloudflare Turnstile</link>."
577
+ }
578
+ },
579
+ "site_key": "Site Key",
580
+ "secret_key": "Secret Key"
581
+ }
582
+ }
583
+ }
584
+ },
585
+ "members": {
586
+ "users": {
587
+ "title": "Users List",
588
+ "desc": "Manage users on your website.",
589
+ "search_placeholder": "Search by name or email...",
590
+ "name": "Name",
591
+ "email": "Email",
592
+ "group": "Group",
593
+ "joined": "Joined",
594
+ "filters": {
595
+ "groups": "Groups"
596
+ },
597
+ "create": {
598
+ "title": "Create User",
599
+ "success": "User has been created."
600
+ },
601
+ "item": {
602
+ "user_menu": "User Menu",
603
+ "public_profile": "Public Profile",
604
+ "confirm_email": {
605
+ "title": "Confirm Email",
606
+ "success": "Email has been confirmed."
607
+ },
608
+ "info": {
609
+ "title": "Info User",
610
+ "joined": "Joined",
611
+ "email": "Email",
612
+ "not_email_verified": "This user has not verified their email address."
613
+ },
614
+ "edit": {
615
+ "title": "Edit User",
616
+ "group": "Group",
617
+ "success": "User has been updated."
618
+ },
619
+ "delete": {
620
+ "title": "Delete User",
621
+ "desc": "This action will delete the user <name></name> and all data associated with it permanently.",
622
+ "submit": "Yes, delete user",
623
+ "success": "User has been deleted.",
624
+ "delete_admin": {
625
+ "title": "You cannot delete this admin",
626
+ "desc": "Please remove the admin permissions before deleting this user."
627
+ }
628
+ }
629
+ }
630
+ },
631
+ "groups": {
632
+ "title": "Groups",
633
+ "desc": "Manage groups on your website.",
634
+ "name": "Name",
635
+ "updated": "Updated",
636
+ "search_placeholder": "Search by name...",
637
+ "default": "Default",
638
+ "root": "Admin Root",
639
+ "table": {
640
+ "users_count": "Users"
641
+ },
642
+ "create_edit": {
643
+ "main": "Main",
644
+ "content": "Content",
645
+ "name": "Name",
646
+ "color": "Color",
647
+ "in_kb": "in kB",
648
+ "files": {
649
+ "title": "Files",
650
+ "allow_upload": "Allow Upload Files",
651
+ "total_max_storage": "Total Max Storage",
652
+ "max_storage_for_submit": {
653
+ "label": "Max Storage for Submit",
654
+ "desc": "If you set 1000, user can upload only 1 file with size 1000kB or 2 files with size 500kB for each submit."
655
+ }
656
+ }
657
+ },
658
+ "create": {
659
+ "title": "Create Group",
660
+ "success": "Group has been created"
661
+ },
662
+ "edit": {
663
+ "title": "Edit Group",
664
+ "success": "Group has been updated"
665
+ },
666
+ "delete": {
667
+ "text": "This action cannot be undone. This will permanently delete this group and all users in it will be moved to the default group.",
668
+ "form_confirm_text": "Type the name of the group <text></text> to confirm.",
669
+ "submit": "Yes, delete group",
670
+ "success": "Group has been deleted"
671
+ }
672
+ },
673
+ "staff": {
674
+ "shared": {
675
+ "type": "Type",
676
+ "updated": "Updated",
677
+ "permissions": "Permissions",
678
+ "restricted": "Restricted",
679
+ "user": "User",
680
+ "group": "Group",
681
+ "already_exists": "This permission is already on the list.",
682
+ "unrestricted": {
683
+ "title": "Unrestricted",
684
+ "desc": "Unrestricted administrators have full access to the admin control panel (AdminCP)."
685
+ }
686
+ },
687
+ "moderators": {
688
+ "title": "Moderators",
689
+ "desc": "Manage access to the moderator panel (ModCP).",
690
+ "moderator": "Moderator",
691
+ "add": {
692
+ "title": "Add Moderator",
693
+ "success": "Moderator has been added"
694
+ },
695
+ "delete": {
696
+ "desc": "This action will deprive the user or users of this group of access to the moderator panel (ModCP).",
697
+ "submit": "Yes, delete permissions",
698
+ "success": "Permissions has been deleted"
699
+ }
700
+ },
701
+ "admin": {
702
+ "title": "Administrators",
703
+ "desc": "Manage access to the administrator panel (AdminCP).",
704
+ "administrator": "Administrator",
705
+ "add": {
706
+ "title": "Add Administrator",
707
+ "success": "Administrator has been added"
708
+ },
709
+ "edit": {
710
+ "title": "Edit Administrator",
711
+ "success": "Administrator has been updated"
712
+ },
713
+ "delete": {
714
+ "desc": "This action will deprive the user or users of this group of access to the administrator panel (AdminCP).",
715
+ "submit": "Yes, delete permissions",
716
+ "success": "Permissions has been deleted"
717
+ }
718
+ }
719
+ }
720
+ }
721
+ }
722
+ }
@@ -0,0 +1,410 @@
1
+ {
2
+ "core": {
3
+ "global": {
4
+ "sidebar": {
5
+ "title": "Sidebar",
6
+ "desc": "Manage your sidebar settings.",
7
+ "toggle": "Toggle Sidebar"
8
+ },
9
+ "loading": "Loading...",
10
+ "optional": "Optional",
11
+ "yes": "Yes",
12
+ "no": "No",
13
+ "default": "Default",
14
+ "pick_date": "Pick a date",
15
+ "are_you_sure": "Are you sure?",
16
+ "are_you_absolutely_sure": "Are you absolutely sure?",
17
+ "cancel": "Cancel",
18
+ "confirm": "Confirm",
19
+ "are_you_sure_want_to_leave_form": "Are you sure you want to leave the form? Your changes may not be saved.",
20
+ "checked_number": "Checked: {count}",
21
+ "close": "Close",
22
+ "save": "Save",
23
+ "search": "Search",
24
+ "search_placeholder": "Search...",
25
+ "delete": "Delete",
26
+ "edit": "Edit",
27
+ "create": "Create",
28
+ "upload": "Upload",
29
+ "previous": "Previous",
30
+ "next": "Next",
31
+ "more_actions": "More Actions",
32
+ "saved_success": "Saved successfully.",
33
+ "unlimited": "Unlimited",
34
+ "selected": "{count, plural, =0 {No items} =1 {1 item} other {# items}} selected",
35
+ "or": "or",
36
+ "results": "Results",
37
+ "no_results": "No results found.",
38
+ "search_results": "Search Results",
39
+ "select_option": "Select an option",
40
+ "select_options": "Select options",
41
+ "go_back": "Go Back",
42
+ "clear": "Clear",
43
+ "download": "Download",
44
+ "none": "None",
45
+ "remove": "Remove",
46
+ "rows_per_page": "Rows per page",
47
+ "total_count": "Total Count: {count}",
48
+ "files": {
49
+ "title": "Upload file",
50
+ "drop_here": "Drop here to upload",
51
+ "extensions": "Allowed extensions: <extensions></extensions>",
52
+ "allow_size_per_file": "(max {size} MB per file)",
53
+ "errors": {
54
+ "extension": "The file {file} have an invalid extension.",
55
+ "max_size": "The file {file} is too large."
56
+ }
57
+ },
58
+ "errors": {
59
+ "title": "Oops! Something went wrong",
60
+ "reload_page": "Reload Page",
61
+ "code": "Error code: <code></code>",
62
+ "no_connection_api": "No connection to the API",
63
+ "no_connection_api_dev": "This happens when the API makes some changes in your code or when the API is down.",
64
+ "access_denied": "Access denied",
65
+ "internal_server_error": "Internal server error.",
66
+ "captcha_empty": "Captcha is empty.",
67
+ "captcha_failed": "Captcha is invalid. Please try again. If you can't see the captcha, please refresh the page.",
68
+ "required": "This field is required.",
69
+ "min_length": "This field must be at least {length} characters.",
70
+ "max_length": "This field must be less than {length} characters.",
71
+ "403": "Access denied",
72
+ "404": "Page not found",
73
+ "500": "Internal server error",
74
+ "actions": {
75
+ "back_home": "Home Page",
76
+ "contact": "Contact with Us"
77
+ },
78
+ "clear_cache_and_reload": "Clear Cache and Reload"
79
+ },
80
+ "dark_light_switcher": "Toggle Theme",
81
+ "language_change": "Change Language",
82
+ "user-bar": {
83
+ "sign_in": "Login",
84
+ "sign_up": "Register",
85
+ "log_out": "Log out",
86
+ "my_profile": "My Profile",
87
+ "settings": "Settings",
88
+ "admin_cp": "Admin Panel"
89
+ },
90
+ "mobile_nav": {
91
+ "home": "Home",
92
+ "back": "Back",
93
+ "search": "Search",
94
+ "menu": "Menu",
95
+ "desc": "Mobile Menu with navigation and user settings."
96
+ },
97
+ "icon_picker": {
98
+ "title": "Choose an icon",
99
+ "remove": "Remove Icon",
100
+ "icons": {
101
+ "title": "Icons",
102
+ "placeholder": "Search icon...",
103
+ "not_found": "No icons found."
104
+ },
105
+ "emojis": {
106
+ "title": "Emojis",
107
+ "placeholder": "Search emoji...",
108
+ "not_found": "No emojis found."
109
+ }
110
+ },
111
+ "editor": {
112
+ "extra_tools": "Extra Tools",
113
+ "text_align": "Text Align",
114
+ "horizontal_rule": "Horizontal Rule",
115
+ "more": "More",
116
+ "align": "Align",
117
+ "upload_files": "Upload Files",
118
+ "link": {
119
+ "title": "Link",
120
+ "text": "Text",
121
+ "href": "URL",
122
+ "delete": "Delete Link",
123
+ "insert": "Insert Link"
124
+ },
125
+ "heading": {
126
+ "h1": "Heading H1",
127
+ "h2": "Heading H2",
128
+ "h3": "Heading H3",
129
+ "h4": "Heading H4",
130
+ "h5": "Heading H5",
131
+ "h6": "Heading H6",
132
+ "paragraph": "Paragraph",
133
+ "code_block": {
134
+ "title": "Code Block",
135
+ "auto": "Auto",
136
+ "search": "Search..."
137
+ }
138
+ },
139
+ "color_text": "Text Color",
140
+ "change_language": "Change Language",
141
+ "emoji": {
142
+ "title": "Emoji",
143
+ "categories": {
144
+ "all": "All",
145
+ "frequent": "Frequently Used",
146
+ "people": "Smileys & People",
147
+ "nature": "Animals & Nature",
148
+ "foods": "Food & Drink",
149
+ "activity": "Activity",
150
+ "places": "Travel & Places",
151
+ "objects": "Objects",
152
+ "symbols": "Symbols",
153
+ "flags": "Flags",
154
+ "customs": "Customs"
155
+ },
156
+ "skin": {
157
+ "title": "Skin Tone",
158
+ "skin_0": "Default",
159
+ "skin_1": "Light",
160
+ "skin_2": "Medium-Light",
161
+ "skin_3": "Medium",
162
+ "skin_4": "Medium-Dark",
163
+ "skin_5": "Dark"
164
+ }
165
+ },
166
+ "files": {
167
+ "state": {
168
+ "loading": "Uploading...",
169
+ "error": "Oops! Something went wrong. {error}"
170
+ },
171
+ "insert": "Insert",
172
+ "access_denied_download": "You don't have permission to download this file.",
173
+ "images_videos": "Images & Videos",
174
+ "images": "Images",
175
+ "errors": {
176
+ "max_storage_extended": "Max storage exceeded. Max storage is {size}.",
177
+ "invalid_file_type": "Invalid file type! Allowed types: {types}."
178
+ }
179
+ },
180
+ "remove_formatting": "Remove Formatting"
181
+ }
182
+ },
183
+ "settings": {
184
+ "title": "Settings",
185
+ "open_sheet": "Open Menu",
186
+ "open_sheet_desc": "You can change your account settings here.",
187
+ "overview": {
188
+ "title": "Overview",
189
+ "change_avatar": {
190
+ "title": "Change Avatar",
191
+ "desc": "Show your personality with a new avatar.",
192
+ "submit": "Change Avatar",
193
+ "success": "Your avatar has been changed.",
194
+ "types": {
195
+ "upload": "Upload a new avatar",
196
+ "delete": "Delete avatar"
197
+ }
198
+ },
199
+ "basic_info": {
200
+ "title": "Basic Information",
201
+ "email": "Email",
202
+ "joined_at": "Joined at"
203
+ }
204
+ },
205
+ "files": {
206
+ "title": "My Files",
207
+ "desc": "Manage your files.",
208
+ "search": "Search files by name...",
209
+ "temp_file": "Temporary File will be deleted soon",
210
+ "storage_usage": "{used} of {total} ({percent}%) storage used",
211
+ "name": "Name",
212
+ "created": "Created",
213
+ "table": {
214
+ "file_size": "File Size",
215
+ "count_uses": "Count Uses",
216
+ "user": "User"
217
+ }
218
+ },
219
+ "devices": {
220
+ "title": "Devices",
221
+ "desc": "Manage your devices where you are logged in.",
222
+ "last_active": "Last Active: <time></time>",
223
+ "browser": "Browser",
224
+ "session_expires": "Session Expires",
225
+ "current_device": "Current Device",
226
+ "ip_address": "IP Address"
227
+ }
228
+ },
229
+ "sign_in": {
230
+ "title": "Login",
231
+ "desc": "You don't have an account? <link></link>.",
232
+ "or": "or",
233
+ "sign_up": "Sign Up",
234
+ "email": "Email",
235
+ "password": "Password",
236
+ "submit": "Log In",
237
+ "sso_first_login": {
238
+ "title": "Almost there!",
239
+ "desc": "Please complete your registration by entering your name."
240
+ },
241
+ "error": {
242
+ "title": "Invalid credentials",
243
+ "desc": "The email address or password was incorrect. Please try again (make sure your caps lock is off)."
244
+ },
245
+ "not_verified": {
246
+ "title": "Email is not verified",
247
+ "desc": "Please check your inbox and click the link to activate your account."
248
+ },
249
+ "forgot_password": {
250
+ "title": "Forgot Password?",
251
+ "desc": "Don't worry! We'll help you reset your password.",
252
+ "email": "Email",
253
+ "go_back_login": "Go back to login",
254
+ "send": "Send Email",
255
+ "success": {
256
+ "title": "Email Sent!",
257
+ "desc": "We've sent a password reset email to <email></email>.",
258
+ "warning": "Please check your inbox and follow the instructions."
259
+ },
260
+ "change_password": {
261
+ "title": "Change Password",
262
+ "desc": "Almost done!",
263
+ "new_password": "New Password",
264
+ "error": "We can't reset your password. Please check the link or try again.",
265
+ "success": {
266
+ "title": "Password Changed!",
267
+ "desc": "Your password has been changed successfully!",
268
+ "sign_in": "Go to Sign In"
269
+ }
270
+ },
271
+ "content_email": {
272
+ "subject": "Reset your password",
273
+ "preview": "You're receiving this email because you requested a password reset for your account.",
274
+ "p": "Someone recently requested a password change for your account. If this was you, you can set a new password here:",
275
+ "button": "Reset Password",
276
+ "security": "This link will expire in 15 minutes. If you don't want to change your password or didn't request this, just ignore and delete this message."
277
+ }
278
+ }
279
+ },
280
+ "sign_up": {
281
+ "title": "Register",
282
+ "desc": "You already have an account? <link></link>.",
283
+ "sign_in": "Sign In",
284
+ "email_invalid": "This email address is invalid.",
285
+ "name": {
286
+ "label": "Nickname",
287
+ "desc": "You can use letters, numbers and special characters: @.-_.",
288
+ "already_exists": "This nickname is already in use.",
289
+ "invalid": "This nickname is invalid.",
290
+ "your_id": "Your ID: <id></id>"
291
+ },
292
+ "email": {
293
+ "label": "Email",
294
+ "already_exists": "This email address is already in use."
295
+ },
296
+ "password": {
297
+ "label": "Password",
298
+ "desc": "Password must have:",
299
+ "min_length": "At least 8 characters",
300
+ "uppercase": "At least one uppercase letter",
301
+ "number": "At least one number",
302
+ "special_char": "At least one special character"
303
+ },
304
+ "terms": {
305
+ "label": "Accept terms and conditions",
306
+ "desc": "You agree to our <link>Legal documents & Policies</link>.",
307
+ "empty": "You must agree to the Terms of Service."
308
+ },
309
+ "newsletter": {
310
+ "label": "Newsletter",
311
+ "desc": "Receive information about new features, updates and events related to the application."
312
+ },
313
+ "submit": "Sign Up",
314
+ "success": {
315
+ "title": "Account Created!",
316
+ "desc": "We've sent a verification email to <email></email>. Please check your inbox and click the link to activate your account.",
317
+ "desc_without_email": "Your account has been created successfully. You can now log in.",
318
+ "sign_in": "Sign In"
319
+ },
320
+ "confirm_email": {
321
+ "title": "Confirmation Successful",
322
+ "desc": "Thank you for confirming your email address. You can now access to our platform.",
323
+ "sign_in": "Sign In",
324
+ "mail": {
325
+ "subject": "Confirm your email address",
326
+ "preview": "You're receiving this email because you created an account on our platform.",
327
+ "welcome": "Thank you for signing up!",
328
+ "desc": "To complete your registration, please confirm your email address by clicking the link below:",
329
+ "ignore": "If you didn't create an account, you can ignore this email.",
330
+ "button": "Confirm Email"
331
+ }
332
+ }
333
+ },
334
+ "reset_password": {
335
+ "title": "Reset Password",
336
+ "preview_text": "You're receiving this email because you requested a password reset for your account.",
337
+ "email": {
338
+ "title": "Someone recently requested a password change for your account. If this was you, you can set a new password here:",
339
+ "button": "Reset Password",
340
+ "desc": "If you don't want to change your password or didn't request this, just ignore and delete this message."
341
+ }
342
+ },
343
+ "legal": {
344
+ "title": "Legal & Policies",
345
+ "title_page": "Explore our Legal documents and Policies",
346
+ "last_updated": "Last updated: <date></date>",
347
+ "read_document": "Read Document",
348
+ "empty": "No documents found."
349
+ }
350
+ },
351
+ "admin_core": {
352
+ "nav": {
353
+ "title": "Core",
354
+ "dashboard": "Dashboard",
355
+ "settings": "Settings",
356
+ "settings_main": "Main",
357
+ "settings_metadata": "Metadata",
358
+ "settings_email": "Email",
359
+ "settings_authorization": "Authorization",
360
+ "settings_legal": "Legal & Policies",
361
+ "security": "Security",
362
+ "security_spam": "Spam Protection",
363
+ "plugins": "Plugins",
364
+ "styles": "Styles",
365
+ "styles_theme-editor": "Theme Editor",
366
+ "styles_nav": "Navigation",
367
+ "styles_editor": "Editor",
368
+ "langs": "Languages",
369
+ "advanced": "Advanced",
370
+ "advanced_files": "Files"
371
+ },
372
+ "admin_permissions": {
373
+ "dashboard": "Dashboard",
374
+ "can_manage_diagnostic_tools": "Can manage diagnostic tools?",
375
+ "settings": "Settings",
376
+ "can_manage_settings_main": "Can manage main settings?",
377
+ "can_manage_settings_metadata": "Can manage metadata settings?",
378
+ "can_manage_settings_email": "Can manage email settings?",
379
+ "can_manage_settings_authorization": "Can manage authorization settings?",
380
+ "can_manage_settings_legal": "Can manage legal settings?",
381
+ "can_manage_plugins": "Can manage plugins?",
382
+ "security": "Security",
383
+ "can_manage_security_spam": "Can manage spam protection?",
384
+ "styles": "Styles",
385
+ "can_manage_styles_theme-editor": "Can manage theme editor?",
386
+ "can_manage_styles_nav": "Can manage navigation?",
387
+ "can_manage_styles_editor": "Can manage editor?",
388
+ "can_manage_langs": "Can manage languages?",
389
+ "advanced": "Advanced",
390
+ "can_manage_advanced_files": "Can manage files?"
391
+ }
392
+ },
393
+ "admin_members": {
394
+ "nav": {
395
+ "title": "Members",
396
+ "users": "Users List",
397
+ "groups": "Groups",
398
+ "staff": "Staff",
399
+ "staff_mod": "Moderators",
400
+ "staff_admin": "Administrators"
401
+ },
402
+ "admin_permissions": {
403
+ "users": "Users",
404
+ "can_manage_users": "Can manage users?",
405
+ "can_manage_groups": "Can manage groups?",
406
+ "staff": "Staff",
407
+ "can_manage_staff_admin": "Can manage administrators?"
408
+ }
409
+ }
410
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "welcome": {
3
+ "home": {
4
+ "title": "Ready to build?",
5
+ "desc": "Dive in. Create or install your first plugin!",
6
+ "go_to_admin_cp": "Go to AdminCP",
7
+ "read_our_docs": "Read our Docs"
8
+ }
9
+ },
10
+ "admin_welcome": {
11
+ "nav": {
12
+ "title": "Welcome"
13
+ }
14
+ }
15
+ }