5
zXHbx?e{p}J^53QYA2k2z$3i$6Owb*8=4~G*i+{*$`I#+PRyjM_T6v_RbQ-437zZNrIH`DMinp+zf=m>w4*h0s&CB_c)+TaDP5u~
zXS!Fj!|Mt0h+;ypzUIi((w?Tm!{2Z7Vl^^hby2$eLb-%NrHuXWX301uij=m0O-dGe
z-J#qv9eog(XO_Gxqt&6iGP6&KT0Fw$1lP=97QQ(uSFf9|QfLOmiq0J3$#p6ZJoNft
z-bDp~x}{I`ZJdZ{N{}0Nz*5}8Ik@9`UZtZIMG!-$Hw{MgNyeTEVN#prMMrUYnbVoT(AV>MKxWk6-x6=Ty0o<+
zb;Ld#d}Xuds*eB{7q@>(Heq`FZA=|RGK*+q2FV8Gv=yvIpLIVkXgR=>&C?*-`J&tN
z;~Oht5qG*nrV1Rq&OT#5f|4_r?h2ftf*#l_vSqfeS@oM|>0Y0u6PB^%?
z**h<0dhU#r4~b0GOV`~>a!&y$CP~lc`H*0VFS8TRU>E%@{0IOphZdv=NMUj0Ho|yd
zJRn{+6mF!B=n+=}K;g4`{9b0q%^NTXj6{DO>84iRJ|;sxwKn`1S)~JOHmF
z?T=#v!6(jk8a)kw=W0KziusbC>*H3p_~D?1v*35qnc4pR4_x)#8a|+4K*^5rPlT*O
zE0V@74DbmQcTD5N1x*C?NoL2(CJD_5XbR894>1k7@(Sy4ZFwUA%4B|W8HoFu2ip=-LHZ
zQHc~|06Mc(iT5c1%#yA*=ZH_4D$RQ3)fZ00EsdPVIB-opc^eoBCQja+KLOpje4`_dH!Aew83KX(h6=c*_61=Twu3o
z-C{nz9nzV+bUT=&x9+8e-XjYb!7GX*CZ|jfV
z76F(2M@HpC?2V>ooS@Uk#Veexbg6?$;cPc{F|fea*PUvY_3OFFp8)p}bXDC1-pjQ;kbGYmi{
z7_X14D{~|~B`y%J@qRQTo_>D8sh=^!s>lTEkejE;arHVhjQU=6dj8@Qig@}Zn)qY7
ztI}>BAqiqg@>+;zOa+wgdi`k`8Ci|^H5F)J?IZQ1=8{&Sv*BC#Jg5ePrgslw1cv+jN
z-J9FhVXS$&29&d4MVhlx@tOOZc(l4|vAEwB4H2fK3c>
zF`2_{zc@j5QOJOxbXc}Xb{HX{S{Dzc_u%)OfM268eD>$PBe})Z`GF{q(owa3EXJwL
zxS^gi(Its?^loe26**uYTe9wnFZHdY%%&VEyY&k$%_|RD_FTzx=;YDjJQ&iL{z~F)
z-aXARuVettscM}4rHDInpCt35oD6XCdC&SO&`;2K8N~w!;vO&rFb)16Mh8XyuEWF{
zP8kp{O{@u!lQxC##8YY01eB8Xi`^GRz|{AMNpUj-c)u5h-`0M#V)!t6p`GW(KGS+45BjjFvSYMg+F&V3`H+Xvuq!d5AG&H{O_?QstP+z`R
z&W3AK%vB~Iu=QNEe4b2uXtWYQ4dA|CA?Ek7!47&Z@64p1zT!}tcl_>0XFc91i=r
zB8GrA7^+}T7tfBAW*22DUr!!TzI<|xnswz{2bB|83KQ5+)c;I>UF^wxCN|{W)7&p7
zrwqBo^pgaPs!DEExPe!AwvnjQQNo%11(UKFQ62X}p_A6O4CPO|?KjPC%YI!|U!?V3
zQ<_W95QxVdO6lq4&>t-K==`4jwx!&VtsD5|s>*0tV(sXe#P&g@o!Hz12Y1ZkB`~3U
zHhvntMXk{eB;C?a6IhMUOf4_iUSMS9!E+xg;UOLvJhhO3kfqdxy42Ve@pXq{Vvkz2!Iz+m{P6n&_TxNAv-`
zgl(z^t;t!DeVRU&{CMc2KJjU!-i8n{WaF#jY!Mt-i*od0C}T-8Rfp9@Y9gGf9mB91
zHrST$7}VN*!Z&st}|z=B64g%#LXKWSI<50u(2)I4^G4!^6dU
z67j5+O|m9qtaTJw7Px4-N_`yt*u;D|ZCee*pA~-6*{wsVv^V@6M-5w>kv`6r+@nXJ
z5pMkq8(2cWj}9x@Nt|o5-7|#Zx7&I)EHO~;wk8^K(eWfkCv*5Ex;fL=Ygww17JErc-ZM(J+f1jsnXywFs}+4<{ppO@nN^%azrEqMSc@?CGK$uzNs
zKF0SSYIn!GU^$M#k``X^qv29V{DdYwO*axEow?UbXOz$!o_C!&)g3|<RM4|(Pyvjl;0PTe)!#R
z>3J8^8-E9kjEKl)R;Qj}TNTmPp>mAQU})CMOG4~xD$)B6k0>blY^zX1bI%nq3+wb=
zR?9=vi)yHO^iizGvKVk`dsx>OAd$RBVltX0MrPo{+nWjVdK_(Boo-IWddB|gw{k4Bht&W|}8w4UvK>tucHqf9^5
zX!&;JKl_i`Mzl>v`D8*R9xC!TeYW&{^L~l0JWmhXV#Vldy#;+wm7jE4Cpj-O7y)ea
z)jCqlkz}o#t;kVqaP|~IF$@99X6Q68Z_QXK9gBV$VZBiuN)0Z1bKeVkmh8E!6+3@j
zOewQQq@rtU7MAyD&Ds}wbP_es-#X$D>^(Z4bjib4FJPZauegs3=U<*SZWfkU4hGFk2WAD0-o%3_cgX{@F`-GCyA9sGBW(ZW%>=ZM9
zB>vxZegL%Me?Qh;0+?aAKz+jbQhuN$b9@-i(M<0s7F2lHM_O{+6?XE1Ipg$
z0=izviuX@(K%RI4&b62Pjj-6e<>*Qqr$d=+vK@2HFyeL_Ha
z(qDZG#}344j|$@MU8+t8;A0Xd=VXO?I%rXr$Zm}V=7%s|SLoi!_cHPpDdWv*O|Ny>
zaTGPSStuN}{JV^e8<@r=oqU#O6@efAOV;W7QX{2L6eNgpvrg+gWBX3%lbuE2X1ibz
zB^o2&NoD&DyOQY%Zds2a05EFsf!gn;6KX$R&5>K^+=3VkFuFOeceIy$+)tUE&&t9UB>A?Z-7pPW^@J$8JgRQ=x(;|%WJ@F4nrI`3V_Ps)DB$Xk4Q2G=42{dk|7HJqWMM|02cwVxUcG4!_$|ymBoOU
zg{ZCFX{kGBviL!K|3$X{5_H+(mbXsW1&VnP(e~EiJX|}MHR&uEO5lyx8JziP=hQeq
h#^X@tB_d0+0s-V*@k&+;dJ3{tNBoHp&11
diff --git a/packages/builder/src/pages/builder/apps/index.svelte b/packages/builder/src/pages/builder/apps/index.svelte
index 23f4df5bb508..285d9d72b41a 100644
--- a/packages/builder/src/pages/builder/apps/index.svelte
+++ b/packages/builder/src/pages/builder/apps/index.svelte
@@ -104,32 +104,32 @@
{#if $auth.isBuilder}
{/if}
-
+
- Hey {$auth.user.firstName || $auth.user.email}
+ {$auth.user.firstName || $auth.user.email} 님 환영합니다.
- Welcome to the {$organisation.company} portal. Below you'll find the
- list of apps that you have access to.
+ {$organisation.company} 파트너 관리에 오신 것을 환영합니다. 아래에서
+ 액세스할 수 있는 앱 목록을 찾을 수 있습니다.
@@ -138,13 +138,13 @@
- {"Your apps are currently offline."}
+ {"앱이 현재 오프라인 상태입니다."}
- Please contact the account holder to get them back online.
+ 다시 온라인 상태로 되돌리려면 계정 소유자에게 문의하십시오.
{:else if userApps.length}
- Apps
+ 앱 목록
{#each userApps as app, idx (app.appId)}
@@ -155,7 +155,7 @@
{#if app.updatedAt}
{processStringSync(
- "Updated {{ duration time 'millisecond' }} ago",
+ "{{ duration time 'millisecond' }} 전 업데이트 됨",
{
time:
new Date().getTime() -
@@ -163,7 +163,7 @@
}
)}
{:else}
- Never updated
+ 업데이트 없음.
{/if}
@@ -174,9 +174,10 @@
{:else}
- You don't have access to any apps yet.
+ 현재 접근할 수 있는 앱 목록이 없습니다.
- The apps you have access to will be listed here.
+ 접근 권한이 있는 앱 목록이 아래에 나열됩니다.
{/if}
diff --git a/packages/builder/src/pages/builder/auth/forgot.svelte b/packages/builder/src/pages/builder/auth/forgot.svelte
index 2ea8bf7a940e..8abaee654022 100644
--- a/packages/builder/src/pages/builder/auth/forgot.svelte
+++ b/packages/builder/src/pages/builder/auth/forgot.svelte
@@ -27,10 +27,10 @@
submitted = true
try {
await auth.forgotPassword(email)
- notifications.success("Email sent - please check your inbox")
+ notifications.success("이메일을 보냈습니다 - 받은 편지함을 확인하십시오")
} catch (err) {
submitted = false
- notifications.error("Unable to send reset password link")
+ notifications.error("비밀번호 재설정 링크를 보낼 수 없습니다.")
}
}
@@ -52,28 +52,27 @@
$goto("../")}>
- Forgot your password?
+ 비밀번호를 잊으셨습니까?
- No problem! Just enter your account's email address and we'll send you a
- link to reset it.
+ 계정의 이메일 주소를 입력하면 재설정 링크를 보내드립니다.
{
email = e.detail
}}
validate={() => {
if (!email) {
- return "Please enter your email"
+ return "이메일을 입력해주세요."
}
return null
}}
@@ -89,7 +88,7 @@
cta
on:click={forgot}
>
- Reset password
+ 비밀번호 재설정
diff --git a/packages/builder/src/pages/builder/auth/login.svelte b/packages/builder/src/pages/builder/auth/login.svelte
index 06e09e4fee9b..f52883e908d9 100644
--- a/packages/builder/src/pages/builder/auth/login.svelte
+++ b/packages/builder/src/pages/builder/auth/login.svelte
@@ -41,11 +41,11 @@
if ($auth?.user?.forceResetPassword) {
$goto("./reset")
} else {
- notifications.success("Logged in successfully")
+ notifications.success("성공적으로 로그인했습니다.")
$goto("../portal")
}
} catch (err) {
- notifications.error(err.message ? err.message : "Invalid credentials")
+ notifications.error(err.message ? err.message : "정상적으로 로그인할 수 없습니다.")
}
}
@@ -71,20 +71,20 @@
{#if loaded}
{/if}
- Log in to Budibase
+ ABLECLOUD 파트너 관리
{#if loaded && ($organisation.google || $organisation.oidc)}
-
+
{/if}
{#if !$organisation.isSSOEnforced}
{
formData = {
@@ -95,7 +95,7 @@
validate={() => {
let fieldError = {
username: !formData.username
- ? "Please enter a valid email"
+ ? "유효한 이메일을 입력해주세요."
: undefined,
}
errors = handleError({ ...errors, ...fieldError })
@@ -103,7 +103,7 @@
error={errors.username}
/>
{
@@ -115,7 +115,7 @@
validate={() => {
let fieldError = {
password: !formData.password
- ? "Please enter your password"
+ ? "올바른 비밀번호를 입력해주세요."
: undefined,
}
errors = handleError({ ...errors, ...fieldError })
@@ -133,13 +133,13 @@
disabled={Object.keys(errors).length > 0}
on:click={login}
>
- Log in to {company}
+ 로그인
$goto("./forgot")}>
- Forgot password?
+ 비밀번호를 잊으셨습니까?
diff --git a/packages/builder/src/pages/builder/auth/reset.svelte b/packages/builder/src/pages/builder/auth/reset.svelte
index 19bc1a1b7dcf..da6b59870dbf 100644
--- a/packages/builder/src/pages/builder/auth/reset.svelte
+++ b/packages/builder/src/pages/builder/auth/reset.svelte
@@ -32,13 +32,13 @@
$goto("../portal/")
} else {
await auth.resetPassword(formData.password, resetCode)
- notifications.success("Password reset successfully")
+ notifications.success("비밀번호 재설정을 완료하였습니다.")
// send them to login if reset successful
$goto("./login")
}
} catch (err) {
submitted = false
- notifications.error("Unable to reset password")
+ notifications.error("비밀번호 재설정 오류입니다.")
}
}
@@ -59,14 +59,14 @@
{/if}
- Reset your password
- Please enter the new password you'd like to use.
+ 비밀번호 초기화
+ 새 비밀번호를 입력하세요.
{
@@ -79,7 +79,7 @@
let fieldError = {}
fieldError["password"] = !formData.password
- ? "Please enter a password"
+ ? "비밀번호를 입력하세요."
: undefined
fieldError["confirmationPassword"] =
@@ -87,7 +87,7 @@
formData.password,
formData.confirmationPassword
) && formData.confirmationPassword
- ? "Passwords must match"
+ ? "비밀번호가 일치해야 합니다."
: undefined
errors = handleError({ ...errors, ...fieldError })
@@ -96,7 +96,7 @@
disabled={submitted}
/>
{
@@ -113,7 +113,9 @@
) && formData.password
let fieldError = {
- confirmationPassword: isValid ? "Passwords must match" : null,
+ confirmationPassword: isValid
+ ? "비밀번호가 일치해야 합니다."
+ : null,
}
errors = handleError({ ...errors, ...fieldError })
@@ -128,7 +130,7 @@
disabled={Object.keys(errors).length > 0 ||
(forceResetPassword ? false : !resetCode)}
cta
- on:click={reset}>Reset your password비밀번호 재설정
diff --git a/packages/frontend-core/src/components/SplitPage.svelte b/packages/frontend-core/src/components/SplitPage.svelte
index 79886845de2f..7c575f050798 100644
--- a/packages/frontend-core/src/components/SplitPage.svelte
+++ b/packages/frontend-core/src/components/SplitPage.svelte
@@ -19,7 +19,7 @@
.split-page {
height: 100%;
display: grid;
- grid-template-columns: max(50%, 380px) 1fr;
+ grid-template-columns: max(100%, 380px) 1fr;
justify-content: stretch;
overflow: hidden;
}
diff --git a/packages/worker/src/api/controllers/global/auth.ts b/packages/worker/src/api/controllers/global/auth.ts
index 1286fd519d90..2ab33fa34523 100644
--- a/packages/worker/src/api/controllers/global/auth.ts
+++ b/packages/worker/src/api/controllers/global/auth.ts
@@ -62,7 +62,7 @@ export const login = async (ctx: Ctx, next: any) => {
const user = await userSdk.getUserByEmail(email)
if (user && (await userSdk.isPreventPasswordActions(user))) {
- ctx.throw(403, "Invalid credentials")
+ ctx.throw(403, "정상적으로 로그인할 수 없습니다.")
}
return passport.authenticate(
@@ -81,7 +81,7 @@ export const logout = async (ctx: any) => {
if (ctx.user && ctx.user._id) {
await authSdk.logout({ ctx, userId: ctx.user._id })
}
- ctx.body = { message: "User logged out." }
+ ctx.body = { message: "사용자가 로그아웃했습니다." }
}
// INIT
@@ -112,7 +112,7 @@ export const reset = async (ctx: Ctx) => {
await authSdk.reset(email)
ctx.body = {
- message: "Please check your email for a reset link.",
+ message: "재설정 링크는 이메일을 확인하십시오.",
}
}
@@ -124,12 +124,12 @@ export const resetUpdate = async (ctx: Ctx) => {
try {
await authSdk.resetUpdate(resetCode, password)
ctx.body = {
- message: "password reset successfully.",
+ message: "비밀번호가 성공적으로 재설정되었습니다.",
}
} catch (err) {
console.warn(err)
// hide any details of the error for security
- ctx.throw(400, "Cannot reset password.")
+ ctx.throw(400, "비밀번호를 재설정할 수 없습니다.")
}
}
diff --git a/packages/worker/src/sdk/auth/auth.ts b/packages/worker/src/sdk/auth/auth.ts
index 2e716426d5e5..f8b51630db70 100644
--- a/packages/worker/src/sdk/auth/auth.ts
+++ b/packages/worker/src/sdk/auth/auth.ts
@@ -46,7 +46,7 @@ export const reset = async (email: string) => {
const configured = await emails.isEmailConfigured()
if (!configured) {
throw new HTTPError(
- "Please contact your platform administrator, SMTP is not configured.",
+ "플랫폼 관리자에게 문의하세요. SMTP가 구성되지 않았습니다.",
400
)
}
@@ -65,7 +65,7 @@ export const reset = async (email: string) => {
// send password reset
await emails.sendEmail(email, EmailTemplatePurpose.PASSWORD_RECOVERY, {
user,
- subject: "{{ company }} platform password reset",
+ subject: "{{ company }} Partner Management 비밀번호 재설정 안내입니다.",
})
await events.user.passwordResetRequested(user)
}
|