@@ -43,13 +43,13 @@ function Registration() {
43
43
return (
44
44
< div className = "flex min-h-screen flex-col items-center justify-center bg-white pt-6 sm:pt-0" >
45
45
< div className = "mt-6 w-96 overflow-hidden bg-white px-6 py-4 sm:max-w-md sm:rounded-lg" >
46
- < h1 className = "mb-4 text-center text-3xl font-semibold" > Create your account</ h1 >
46
+ < h1 className = "mb-4 text-center text-3xl font-semibold" > { navigator . languages [ 0 ] === 'zh-CN' ? '创建你的账号' : ' Create your account' } </ h1 >
47
47
{ error && (
48
48
< div
49
49
className = "relative mt-4 rounded border border-red-400 bg-red-100 px-4 py-3 text-red-700"
50
50
role = "alert"
51
51
>
52
- There was an error attempting to register your account. Please try again. { errorMessage }
52
+ { navigator . languages [ 0 ] === 'zh-CN' ? '注册帐户时出错。请重试。' : ' There was an error attempting to register your account. Please try again.' } { errorMessage }
53
53
</ div >
54
54
) }
55
55
< form
@@ -69,11 +69,11 @@ function Registration() {
69
69
required : 'Name is required' ,
70
70
minLength : {
71
71
value : 3 ,
72
- message : 'Name must be at least 3 characters'
72
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '名字必须超过3个字符' : 'Name must be at least 3 characters'
73
73
} ,
74
74
maxLength : {
75
75
value : 80 ,
76
- message : 'Name must be less than 80 characters'
76
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '名字最大长度是80个字符' : 'Name must be less than 80 characters'
77
77
}
78
78
} ) }
79
79
aria-invalid = { ! ! errors . name }
@@ -84,7 +84,7 @@ function Registration() {
84
84
htmlFor = "name"
85
85
className = "absolute left-2.5 top-4 z-10 origin-[0] -translate-y-4 scale-75 transform text-sm text-gray-500 duration-300 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:text-green-500"
86
86
>
87
- Full name
87
+ { navigator . languages [ 0 ] === 'zh-CN' ? '全名' : ' Full name' }
88
88
</ label >
89
89
</ div >
90
90
@@ -105,11 +105,11 @@ function Registration() {
105
105
required : 'Username is required' ,
106
106
minLength : {
107
107
value : 3 ,
108
- message : 'Username must be at least 3 characters'
108
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '用户名长度最少3个字符' : 'Username must be at least 3 characters'
109
109
} ,
110
110
maxLength : {
111
111
value : 20 ,
112
- message : 'Username must be less than 20 characters'
112
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '用户名必须少于20个字符' : 'Username must be less than 20 characters'
113
113
}
114
114
} ) }
115
115
aria-invalid = { ! ! errors . username }
@@ -121,7 +121,7 @@ function Registration() {
121
121
htmlFor = "username"
122
122
className = "absolute left-2.5 top-4 z-10 origin-[0] -translate-y-4 scale-75 transform text-sm text-gray-500 duration-300 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:text-green-500"
123
123
>
124
- Username
124
+ { navigator . languages [ 0 ] === 'zh-CN' ? '用户名' : ' Username' }
125
125
</ label >
126
126
</ div >
127
127
@@ -143,15 +143,15 @@ function Registration() {
143
143
required : 'Email is required' ,
144
144
minLength : {
145
145
value : 3 ,
146
- message : 'Email must be at least 6 characters'
146
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '邮箱地址至少6个字符' : 'Email must be at least 6 characters'
147
147
} ,
148
148
maxLength : {
149
149
value : 120 ,
150
- message : 'Email should not be longer than 120 characters'
150
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '邮箱地址不能超过120个字符' : 'Email should not be longer than 120 characters'
151
151
} ,
152
152
pattern : {
153
153
value : / \S + @ \S + \. \S + / ,
154
- message : 'You must enter a valid email address'
154
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '你必须输入一个有效的邮箱地址' : 'You must enter a valid email address'
155
155
}
156
156
} ) }
157
157
aria-invalid = { ! ! errors . email }
@@ -162,7 +162,7 @@ function Registration() {
162
162
htmlFor = "email"
163
163
className = "absolute left-2.5 top-4 z-10 origin-[0] -translate-y-4 scale-75 transform text-sm text-gray-500 duration-300 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:text-green-500"
164
164
>
165
- Email
165
+ { navigator . languages [ 0 ] === 'zh-CN' ? '邮箱' : ' Email' }
166
166
</ label >
167
167
</ div >
168
168
{ errors . email && (
@@ -184,11 +184,11 @@ function Registration() {
184
184
required : 'Password is required' ,
185
185
minLength : {
186
186
value : 8 ,
187
- message : 'Password must be at least 8 characters'
187
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '密码长度至少8位' : 'Password must be at least 8 characters'
188
188
} ,
189
189
maxLength : {
190
190
value : 40 ,
191
- message : 'Password must be less than 40 characters'
191
+ message : navigator . languages [ 0 ] === 'zh-CN' ? '密码长度不能超过40个字符' : 'Password must be less than 40 characters'
192
192
}
193
193
} ) }
194
194
aria-invalid = { ! ! errors . password }
@@ -199,7 +199,7 @@ function Registration() {
199
199
htmlFor = "password"
200
200
className = "absolute left-2.5 top-4 z-10 origin-[0] -translate-y-4 scale-75 transform text-sm text-gray-500 duration-300 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:text-green-500"
201
201
>
202
- Password
202
+ { navigator . languages [ 0 ] === 'zh-CN' ? '密码' : ' Password' }
203
203
</ label >
204
204
</ div >
205
205
@@ -233,7 +233,7 @@ function Registration() {
233
233
htmlFor = "confirm_password"
234
234
className = "absolute left-2.5 top-4 z-10 origin-[0] -translate-y-4 scale-75 transform text-sm text-gray-500 duration-300 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:scale-100 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:text-green-500"
235
235
>
236
- Confirm password
236
+ { navigator . languages [ 0 ] === 'zh-CN' ? '再次输入密码' : ' Confirm password' }
237
237
</ label >
238
238
</ div >
239
239
@@ -257,19 +257,19 @@ function Registration() {
257
257
aria-label = "Submit registration"
258
258
className = "w-full transform rounded-sm bg-green-500 px-4 py-3 tracking-wide text-white transition-colors duration-200 hover:bg-green-600 focus:bg-green-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-green-500"
259
259
>
260
- Continue
260
+ { navigator . languages [ 0 ] === 'zh-CN' ? '继续' : ' Continue' }
261
261
</ button >
262
262
</ div >
263
263
</ form >
264
264
< p className = "my-4 text-center text-sm font-light text-gray-700" >
265
265
{ ' ' }
266
- Already have an account?{ ' ' }
266
+ { navigator . languages [ 0 ] === 'zh-CN' ? '已经有账号? 点击' : ' Already have an account?' } { ' ' }
267
267
< a
268
268
href = "/login"
269
269
aria-label = "Login"
270
270
className = "p-1 font-medium text-green-500 hover:underline"
271
271
>
272
- Login
272
+ { navigator . languages [ 0 ] === 'zh-CN' ? '登录' : ' Login' }
273
273
</ a >
274
274
</ p >
275
275
{ startupConfig ?. googleLoginEnabled && (
@@ -307,7 +307,7 @@ function Registration() {
307
307
d = "m419.404 58.936-82.933 67.896C313.136 112.246 285.552 103.82 256 103.82c-66.729 0-123.429 42.957-143.965 102.724l-83.397-68.276h-.014C71.23 56.123 157.06 0 256 0c62.115 0 119.068 22.126 163.404 58.936z"
308
308
> </ path >
309
309
</ svg >
310
- < p > Login with Google</ p >
310
+ < p > { navigator . languages [ 0 ] === 'zh-CN' ? 'Google登录' : ' Login with Google' } </ p >
311
311
</ a >
312
312
</ div >
313
313
</ >
0 commit comments