@oxy.so/core 1.13.0 → 1.18.0
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/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/crypto/identityLink.js +18 -0
- package/dist/cjs/i18n/locales/ar-SA.json +105 -85
- package/dist/cjs/i18n/locales/ca-ES.json +107 -87
- package/dist/cjs/i18n/locales/de-DE.json +105 -85
- package/dist/cjs/i18n/locales/en-US.json +105 -164
- package/dist/cjs/i18n/locales/es-ES.json +104 -163
- package/dist/cjs/i18n/locales/fr-FR.json +105 -85
- package/dist/cjs/i18n/locales/it-IT.json +105 -85
- package/dist/cjs/i18n/locales/ja-JP.json +105 -85
- package/dist/cjs/i18n/locales/ko-KR.json +105 -85
- package/dist/cjs/i18n/locales/locales/ar-SA.json +105 -85
- package/dist/cjs/i18n/locales/locales/ca-ES.json +107 -87
- package/dist/cjs/i18n/locales/locales/de-DE.json +105 -85
- package/dist/cjs/i18n/locales/locales/en-US.json +105 -164
- package/dist/cjs/i18n/locales/locales/es-ES.json +104 -163
- package/dist/cjs/i18n/locales/locales/fr-FR.json +105 -85
- package/dist/cjs/i18n/locales/locales/it-IT.json +105 -85
- package/dist/cjs/i18n/locales/locales/ja-JP.json +105 -85
- package/dist/cjs/i18n/locales/locales/ko-KR.json +105 -85
- package/dist/cjs/i18n/locales/locales/pt-PT.json +105 -85
- package/dist/cjs/i18n/locales/locales/zh-CN.json +106 -86
- package/dist/cjs/i18n/locales/pt-PT.json +105 -85
- package/dist/cjs/i18n/locales/zh-CN.json +106 -86
- package/dist/cjs/index.js +10 -43
- package/dist/cjs/mixins/OxyServices.auth.js +54 -16
- package/dist/cjs/mixins/OxyServices.identity.js +128 -8
- package/dist/cjs/mixins/OxyServices.user.js +42 -7
- package/dist/cjs/server/securityHeaders.js +19 -1
- package/dist/cjs/session/accountDialogController.js +37 -142
- package/dist/cjs/utils/authWebUrl.js +6 -6
- package/dist/cjs/utils/oauthPkce.js +5 -1
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/crypto/identityLink.js +15 -0
- package/dist/esm/i18n/locales/ar-SA.json +105 -85
- package/dist/esm/i18n/locales/ca-ES.json +107 -87
- package/dist/esm/i18n/locales/de-DE.json +105 -85
- package/dist/esm/i18n/locales/en-US.json +105 -164
- package/dist/esm/i18n/locales/es-ES.json +104 -163
- package/dist/esm/i18n/locales/fr-FR.json +105 -85
- package/dist/esm/i18n/locales/it-IT.json +105 -85
- package/dist/esm/i18n/locales/ja-JP.json +105 -85
- package/dist/esm/i18n/locales/ko-KR.json +105 -85
- package/dist/esm/i18n/locales/locales/ar-SA.json +105 -85
- package/dist/esm/i18n/locales/locales/ca-ES.json +107 -87
- package/dist/esm/i18n/locales/locales/de-DE.json +105 -85
- package/dist/esm/i18n/locales/locales/en-US.json +105 -164
- package/dist/esm/i18n/locales/locales/es-ES.json +104 -163
- package/dist/esm/i18n/locales/locales/fr-FR.json +105 -85
- package/dist/esm/i18n/locales/locales/it-IT.json +105 -85
- package/dist/esm/i18n/locales/locales/ja-JP.json +105 -85
- package/dist/esm/i18n/locales/locales/ko-KR.json +105 -85
- package/dist/esm/i18n/locales/locales/pt-PT.json +105 -85
- package/dist/esm/i18n/locales/locales/zh-CN.json +106 -86
- package/dist/esm/i18n/locales/pt-PT.json +105 -85
- package/dist/esm/i18n/locales/zh-CN.json +106 -86
- package/dist/esm/index.js +5 -5
- package/dist/esm/mixins/OxyServices.auth.js +55 -17
- package/dist/esm/mixins/OxyServices.identity.js +128 -8
- package/dist/esm/mixins/OxyServices.user.js +42 -7
- package/dist/esm/server/securityHeaders.js +19 -1
- package/dist/esm/session/accountDialogController.js +37 -142
- package/dist/esm/utils/authWebUrl.js +5 -5
- package/dist/esm/utils/oauthPkce.js +5 -1
- package/dist/types/.tsbuildinfo +1 -1
- package/dist/types/crypto/identityLink.d.ts +8 -0
- package/dist/types/index.d.ts +5 -8
- package/dist/types/mixins/OxyServices.auth.d.ts +35 -25
- package/dist/types/mixins/OxyServices.identity.d.ts +34 -34
- package/dist/types/mixins/OxyServices.user.d.ts +29 -6
- package/dist/types/models/interfaces.d.ts +46 -13
- package/dist/types/server/securityHeaders.d.ts +9 -12
- package/dist/types/session/accountDialogController.d.ts +29 -98
- package/dist/types/utils/authWebUrl.d.ts +5 -5
- package/dist/types/utils/oauthPkce.d.ts +10 -0
- package/package.json +3 -3
- package/src/crypto/__tests__/identityLink.test.ts +18 -0
- package/src/crypto/__tests__/identityProof.test.ts +6 -6
- package/src/crypto/identityLink.ts +18 -0
- package/src/i18n/locales/ar-SA.json +105 -85
- package/src/i18n/locales/ca-ES.json +107 -87
- package/src/i18n/locales/de-DE.json +105 -85
- package/src/i18n/locales/en-US.json +105 -164
- package/src/i18n/locales/es-ES.json +104 -163
- package/src/i18n/locales/fr-FR.json +105 -85
- package/src/i18n/locales/it-IT.json +105 -85
- package/src/i18n/locales/ja-JP.json +105 -85
- package/src/i18n/locales/ko-KR.json +105 -85
- package/src/i18n/locales/pt-PT.json +105 -85
- package/src/i18n/locales/zh-CN.json +106 -86
- package/src/index.ts +8 -51
- package/src/mixins/OxyServices.auth.ts +72 -24
- package/src/mixins/OxyServices.identity.ts +126 -8
- package/src/mixins/OxyServices.user.ts +51 -10
- package/src/mixins/__tests__/identityLink.test.ts +89 -0
- package/src/mixins/__tests__/notifications.read.test.ts +82 -0
- package/src/mixins/__tests__/preSessionSkipAuth.test.ts +1 -1
- package/src/mixins/__tests__/webauthnAuth.test.ts +75 -1
- package/src/models/interfaces.ts +46 -12
- package/src/server/__tests__/securityHeaders.test.ts +17 -0
- package/src/server/securityHeaders.ts +29 -1
- package/src/session/__tests__/accountDialogController.test.ts +42 -184
- package/src/session/accountDialogController.ts +50 -185
- package/src/utils/__tests__/oauthPkce.test.ts +7 -0
- package/src/utils/authWebUrl.ts +5 -5
- package/src/utils/oauthPkce.ts +16 -1
- package/dist/cjs/crypto/identityMove.js +0 -142
- package/dist/cjs/crypto/webIdentityCarrier.js +0 -325
- package/dist/esm/crypto/identityMove.js +0 -128
- package/dist/esm/crypto/webIdentityCarrier.js +0 -303
- package/dist/types/crypto/identityMove.d.ts +0 -75
- package/dist/types/crypto/webIdentityCarrier.d.ts +0 -150
- package/src/crypto/__tests__/identityMove.test.ts +0 -146
- package/src/crypto/__tests__/webIdentityCarrier.test.ts +0 -169
- package/src/crypto/__tests__/webIdentityRecoveryMaterial.test.ts +0 -117
- package/src/crypto/identityMove.ts +0 -167
- package/src/crypto/webIdentityCarrier.ts +0 -394
|
@@ -1,53 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"signin": {
|
|
3
3
|
"title": "로그인",
|
|
4
|
-
"subtitle": "
|
|
4
|
+
"subtitle": "Oxy 계정 사용",
|
|
5
5
|
"addAccountTitle": "다른 계정 추가",
|
|
6
6
|
"addAccountSubtitle": "다른 계정으로 로그인",
|
|
7
7
|
"username": {
|
|
8
8
|
"label": "사용자 이름",
|
|
9
|
-
"placeholder": "
|
|
10
|
-
"
|
|
11
|
-
"required": "사용자 이름을 입력해주세요.",
|
|
12
|
-
"minLength": "사용자 이름은 최소 3자 이상이어야 합니다."
|
|
13
|
-
},
|
|
14
|
-
"password": {
|
|
15
|
-
"label": "비밀번호",
|
|
16
|
-
"placeholder": "비밀번호를 입력하세요",
|
|
17
|
-
"required": "비밀번호를 입력해주세요.",
|
|
18
|
-
"hint": "로그인하려면 비밀번호를 입력하세요"
|
|
9
|
+
"placeholder": "yourname",
|
|
10
|
+
"required": "사용자 이름을 입력해주세요."
|
|
19
11
|
},
|
|
20
12
|
"actions": {
|
|
21
13
|
"continue": "계속",
|
|
22
|
-
"back": "뒤로"
|
|
23
|
-
"signIn": "로그인",
|
|
24
|
-
"verify": "확인",
|
|
25
|
-
"openAccountSwitcher": "다른 계정으로 전환",
|
|
26
|
-
"openAccountSwitcherSubtitle": "{{count}}개의 다른 계정 사용 가능",
|
|
27
|
-
"openAccountSwitcherSubtitle_singular": "1개의 다른 계정 사용 가능",
|
|
28
|
-
"openAccountSwitcherSubtitle_zero": "저장된 계정 검토",
|
|
29
|
-
"manageAccounts": "저장된 계정 관리",
|
|
30
|
-
"manageAccountsSubtitle": "세션 검토, 제거 또는 로그아웃",
|
|
31
|
-
"loadingOtherAccounts": "다른 계정 로드 중…",
|
|
32
|
-
"switchAccountFailed": "계정을 전환할 수 없습니다. 다시 시도해주세요."
|
|
14
|
+
"back": "뒤로"
|
|
33
15
|
},
|
|
34
|
-
"forgotPrompt": "비밀번호를 잊으셨나요?",
|
|
35
|
-
"security": {
|
|
36
|
-
"dataSecure": "데이터가 암호화되어 안전합니다"
|
|
37
|
-
},
|
|
38
|
-
"currentlySignedInAs": "현재 로그인 중:",
|
|
39
|
-
"alreadySignedInWith": "이미 로그인 중:",
|
|
40
|
-
"alreadySignedIn": "이미 로그인됨",
|
|
41
|
-
"alreadySignedInMessage": "이 계정은 이미 로그인되어 있습니다. 이 계정으로 계속하시겠습니까?",
|
|
42
|
-
"continueWithAccount": "계속",
|
|
43
|
-
"currentAccount": "현재",
|
|
44
|
-
"or": "또는",
|
|
45
|
-
"viewAllAccounts": "{{count}}개 더 보기",
|
|
46
16
|
"createAccountLink": "Oxy가 처음이신가요? 계정 만들기",
|
|
47
17
|
"status": {
|
|
48
|
-
"accountSwitched": "{{name}} 사용 중",
|
|
49
18
|
"signingIn": "로그인 중…"
|
|
50
|
-
}
|
|
19
|
+
},
|
|
20
|
+
"subtitleToApp": "{{app}}(으)로 계속",
|
|
21
|
+
"orContinueWith": "또는 다음으로 계속",
|
|
22
|
+
"qr": {
|
|
23
|
+
"caption": "Commons로 스캔하여 로그인",
|
|
24
|
+
"renew": "새 코드 표시"
|
|
25
|
+
},
|
|
26
|
+
"methods": {
|
|
27
|
+
"passkey": "패스키로 로그인"
|
|
28
|
+
},
|
|
29
|
+
"errors": {
|
|
30
|
+
"rateLimited": "시도 횟수가 너무 많습니다. {{seconds}}초 후에 다시 시도하세요.",
|
|
31
|
+
"passkeyCancelled": "패스키 요청을 닫았습니다. 준비되면 다시 시도하세요.",
|
|
32
|
+
"passkeyFailed": "패스키를 완료할 수 없습니다. 다시 시도하세요."
|
|
33
|
+
},
|
|
34
|
+
"chooser": {
|
|
35
|
+
"subtitleToApp": "{{app}}(으)로 계속"
|
|
36
|
+
},
|
|
37
|
+
"terms": {
|
|
38
|
+
"before": "계속하면 다음에 동의하게 됩니다:",
|
|
39
|
+
"termsLink": "서비스 약관",
|
|
40
|
+
"and": "및",
|
|
41
|
+
"privacyLink": "개인정보처리방침"
|
|
42
|
+
},
|
|
43
|
+
"noAccount": "계정이 없으신가요?",
|
|
44
|
+
"createAccount": "계정 만들기",
|
|
45
|
+
"recoverLink": "패스키를 잃어버리셨나요? 계정 복구"
|
|
51
46
|
},
|
|
52
47
|
"signup": {
|
|
53
48
|
"title": "계정 만들기",
|
|
@@ -55,56 +50,28 @@
|
|
|
55
50
|
"createInCommons": "Commons에서 나의 아이덴티티 만들기",
|
|
56
51
|
"createAccount": "계정 만들기",
|
|
57
52
|
"backToSignInLink": "이미 계정이 있으신가요? 로그인",
|
|
58
|
-
"
|
|
59
|
-
"title": "Oxy에 오신 것을 환영합니다!",
|
|
60
|
-
"subtitle": "몇 단계만으로 계정을 만드세요",
|
|
61
|
-
"haveAccount": "이미 계정이 있으신가요?",
|
|
62
|
-
"signInCta": "로그인"
|
|
63
|
-
},
|
|
64
|
-
"identity": {
|
|
65
|
-
"title": "당신은 누구인가요?",
|
|
66
|
-
"subtitle": "사용자 이름을 선택하고 이메일을 입력하세요"
|
|
67
|
-
},
|
|
53
|
+
"webSubtitle": "비밀번호가 없습니다. 기기가 패스키를 만들고, 잃어버리면 복구 이메일로 다시 들어올 수 있습니다.",
|
|
68
54
|
"username": {
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
55
|
+
"label": "사용자 이름",
|
|
56
|
+
"placeholder": "yourname",
|
|
57
|
+
"required": "사용자 이름을 정하세요.",
|
|
58
|
+
"taken": "이미 사용 중인 사용자 이름입니다."
|
|
72
59
|
},
|
|
73
60
|
"email": {
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
"title": "계정 보호",
|
|
80
|
-
"subtitle": "계정을 보호하기 위한 강력한 비밀번호를 만드세요"
|
|
61
|
+
"title": "복구 이메일",
|
|
62
|
+
"subtitle": "패스키를 잃어버리면 다시 들어올 수 있도록 여기로 코드를 보냅니다. 다른 용도로는 쓰지 않습니다.",
|
|
63
|
+
"label": "이메일",
|
|
64
|
+
"placeholder": "you@example.com",
|
|
65
|
+
"invalid": "올바른 이메일 주소를 입력하세요."
|
|
81
66
|
},
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"confirmRequired": "비밀번호를 확인해주세요",
|
|
87
|
-
"mismatch": "비밀번호가 일치하지 않습니다",
|
|
88
|
-
"confirmHint": "확인을 위해 비밀번호를 다시 입력하세요"
|
|
67
|
+
"passkey": {
|
|
68
|
+
"title": "패스키 만들기",
|
|
69
|
+
"subtitle": "지문, 얼굴 또는 화면 잠금으로 로그인합니다. 기억할 것은 없습니다.",
|
|
70
|
+
"action": "패스키 만들기"
|
|
89
71
|
},
|
|
90
|
-
"
|
|
91
|
-
"title": "거의 완료되었습니다!",
|
|
92
|
-
"subtitle": "정보를 검토하고 계정을 만드세요",
|
|
93
|
-
"sectionTitle": "계정 정보",
|
|
94
|
-
"fields": {
|
|
95
|
-
"username": "사용자 이름",
|
|
96
|
-
"email": "이메일",
|
|
97
|
-
"password": "비밀번호"
|
|
98
|
-
},
|
|
99
|
-
"notSet": "설정되지 않음",
|
|
100
|
-
"securityTip": "더 강력한 보안을 위해 계정을 만든 후 계정 설정에서 생체 인증을 활성화하세요.",
|
|
101
|
-
"legalReminder": "계정을 만들면 서비스 약관 및 개인정보 보호정책에 동의하는 것입니다."
|
|
102
|
-
}
|
|
72
|
+
"commonsInstead": "직접 키를 보관하고 싶으신가요? Commons 사용하기"
|
|
103
73
|
},
|
|
104
74
|
"accountSwitcher": {
|
|
105
|
-
"sections": {
|
|
106
|
-
"yourAccounts": "내 계정"
|
|
107
|
-
},
|
|
108
75
|
"loading": "계정을 불러오는 중...",
|
|
109
76
|
"qrHeadline": "Oxy ID로 로그인",
|
|
110
77
|
"signInWithOxy": "Oxy로 로그인",
|
|
@@ -136,10 +103,7 @@
|
|
|
136
103
|
"claimFailed": "로그인이 승인되었지만 완료하지 못했습니다. 다시 시도해 주세요.",
|
|
137
104
|
"generic": "로그인하지 못했습니다. 다시 시도해 주세요."
|
|
138
105
|
},
|
|
139
|
-
"linkOpenFailed": "링크를 열 수 없습니다. 다시 시도해 주세요."
|
|
140
|
-
"continueWithPasskey": "계속",
|
|
141
|
-
"passkeyHint": "지문, 얼굴 또는 기기 PIN을 사용하세요.",
|
|
142
|
-
"otherDeviceCommons": "다른 기기의 계정인가요? Commons로 스캔하세요"
|
|
106
|
+
"linkOpenFailed": "링크를 열 수 없습니다. 다시 시도해 주세요."
|
|
143
107
|
},
|
|
144
108
|
"common": {
|
|
145
109
|
"actions": {
|
|
@@ -280,7 +244,63 @@
|
|
|
280
244
|
"help": "도움말 및 피드백",
|
|
281
245
|
"signOut": "로그아웃",
|
|
282
246
|
"privacy": "개인정보 처리방침",
|
|
283
|
-
"terms": "서비스 약관"
|
|
284
|
-
|
|
247
|
+
"terms": "서비스 약관"
|
|
248
|
+
},
|
|
249
|
+
"recover": {
|
|
250
|
+
"title": "계정 복구",
|
|
251
|
+
"subtitle": "사용자 이름이나 복구 이메일을 입력하세요. 계정의 복구 이메일로 코드를 보냅니다.",
|
|
252
|
+
"identifier": {
|
|
253
|
+
"label": "사용자 이름 또는 이메일",
|
|
254
|
+
"placeholder": "yourname",
|
|
255
|
+
"required": "사용자 이름이나 이메일을 입력하세요."
|
|
256
|
+
},
|
|
257
|
+
"commonsNote": "Commons를 쓰는 계정인가요? Commons에서 복구 문구로 복구하세요.",
|
|
258
|
+
"passkey": {
|
|
259
|
+
"title": "새 패스키 추가",
|
|
260
|
+
"subtitle": "@{{username}}용. 잃어버린 패스키는 나중에 계정 보안 설정에서 삭제하세요.",
|
|
261
|
+
"action": "패스키 만들기"
|
|
262
|
+
},
|
|
263
|
+
"backToSignIn": "로그인으로 돌아가기"
|
|
264
|
+
},
|
|
265
|
+
"emailCode": {
|
|
266
|
+
"title": "이메일을 확인하세요",
|
|
267
|
+
"sentTo": "{{email}}(으)로 6자리 코드를 보냈습니다.",
|
|
268
|
+
"sentIfAccount": "이 계정에 복구 이메일이 있다면 6자리 코드를 보냈습니다.",
|
|
269
|
+
"label": "코드",
|
|
270
|
+
"resend": "새 코드 보내기",
|
|
271
|
+
"resent": "새 코드를 보냈습니다.",
|
|
272
|
+
"changeEmail": "다른 이메일 사용",
|
|
273
|
+
"errors": {
|
|
274
|
+
"codeInvalid": "코드가 올바르지 않거나 만료되었습니다.",
|
|
275
|
+
"tooManyAttempts": "틀린 코드가 너무 많습니다. 새 코드를 요청하세요.",
|
|
276
|
+
"expired": "시간이 너무 오래 걸렸습니다. 다시 시작하세요.",
|
|
277
|
+
"unavailable": "지금은 Oxy가 이메일을 보낼 수 없습니다. 나중에 다시 시도하세요.",
|
|
278
|
+
"rateLimited": "코드가 너무 많습니다. 나중에 다시 시도하세요."
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
"deleteAccount": {
|
|
282
|
+
"passkey": {
|
|
283
|
+
"subtitle": "패스키로 확인하세요. @{{username}}과(와) 그 안의 모든 것이 영구적으로 삭제됩니다.",
|
|
284
|
+
"action": "패스키로 삭제",
|
|
285
|
+
"done": "계정이 삭제되었습니다.",
|
|
286
|
+
"closeWindow": "이 창을 닫아도 됩니다.",
|
|
287
|
+
"commons": "이 계정은 Commons를 사용합니다. Oxy Commons의 설정 > 계정 삭제에서 해당 키로 삭제하세요."
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
"linkCommons": {
|
|
291
|
+
"title": "Commons 연결",
|
|
292
|
+
"subtitle": "직접 키를 보관하세요. Commons를 연결하면 이 계정은 오직 당신의 것이 됩니다. 복구 이메일은 삭제되고, Commons의 복구 문구로 다시 들어올 수 있습니다.",
|
|
293
|
+
"scan": "휴대폰에서 Commons를 열고 “웹에 Oxy 계정이 있어요”를 선택한 다음 이 코드를 스캔하세요.",
|
|
294
|
+
"waiting": "Commons를 기다리는 중…",
|
|
295
|
+
"compareTitle": "코드 확인",
|
|
296
|
+
"compare": "Commons에 같은 코드가 표시됩니다. 다르면 취소하세요.",
|
|
297
|
+
"confirm": "네, Commons 연결",
|
|
298
|
+
"cancel": "취소",
|
|
299
|
+
"doneTitle": "Commons가 연결되었습니다",
|
|
300
|
+
"done": "이 계정은 이제 자기 보관 계정입니다. 복구 이메일은 삭제되었습니다. Commons의 복구 문구로 다시 들어올 수 있습니다.",
|
|
301
|
+
"already": "이 계정은 이미 Commons를 사용합니다.",
|
|
302
|
+
"expired": "이 코드는 만료되었습니다.",
|
|
303
|
+
"renew": "새 코드 보기",
|
|
304
|
+
"failed": "Commons를 연결하지 못했습니다. 다시 시도하세요."
|
|
285
305
|
}
|
|
286
306
|
}
|
|
@@ -1,53 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"signin": {
|
|
3
3
|
"title": "تسجيل الدخول",
|
|
4
|
-
"subtitle": "
|
|
4
|
+
"subtitle": "استخدم حسابك في Oxy",
|
|
5
5
|
"addAccountTitle": "إضافة حساب آخر",
|
|
6
6
|
"addAccountSubtitle": "تسجيل الدخول بحساب آخر",
|
|
7
7
|
"username": {
|
|
8
8
|
"label": "اسم المستخدم",
|
|
9
|
-
"placeholder": "
|
|
10
|
-
"
|
|
11
|
-
"required": "يرجى إدخال اسم المستخدم.",
|
|
12
|
-
"minLength": "يجب أن يكون اسم المستخدم 3 أحرف على الأقل."
|
|
13
|
-
},
|
|
14
|
-
"password": {
|
|
15
|
-
"label": "كلمة المرور",
|
|
16
|
-
"placeholder": "أدخل كلمة المرور",
|
|
17
|
-
"required": "يرجى إدخال كلمة المرور.",
|
|
18
|
-
"hint": "أدخل كلمة المرور لتسجيل الدخول"
|
|
9
|
+
"placeholder": "yourname",
|
|
10
|
+
"required": "يرجى إدخال اسم المستخدم."
|
|
19
11
|
},
|
|
20
12
|
"actions": {
|
|
21
13
|
"continue": "متابعة",
|
|
22
|
-
"back": "رجوع"
|
|
23
|
-
"signIn": "تسجيل الدخول",
|
|
24
|
-
"verify": "التحقق",
|
|
25
|
-
"openAccountSwitcher": "التبديل إلى حساب آخر",
|
|
26
|
-
"openAccountSwitcherSubtitle": "{{count}} حسابات أخرى متاحة",
|
|
27
|
-
"openAccountSwitcherSubtitle_singular": "حساب آخر واحد متاح",
|
|
28
|
-
"openAccountSwitcherSubtitle_zero": "راجع حساباتك المحفوظة",
|
|
29
|
-
"manageAccounts": "إدارة الحسابات المحفوظة",
|
|
30
|
-
"manageAccountsSubtitle": "مراجعة الجلسات أو إزالتها أو تسجيل الخروج",
|
|
31
|
-
"loadingOtherAccounts": "جاري تحميل الحسابات الأخرى…",
|
|
32
|
-
"switchAccountFailed": "لم نتمكن من التبديل بين الحسابات. يرجى المحاولة مرة أخرى."
|
|
14
|
+
"back": "رجوع"
|
|
33
15
|
},
|
|
34
|
-
"forgotPrompt": "نسيت كلمة المرور؟",
|
|
35
|
-
"security": {
|
|
36
|
-
"dataSecure": "بياناتك مشفرة وآمنة"
|
|
37
|
-
},
|
|
38
|
-
"currentlySignedInAs": "مسجل الدخول حاليًا كـ",
|
|
39
|
-
"alreadySignedInWith": "مسجل الدخول بالفعل بـ",
|
|
40
|
-
"alreadySignedIn": "مسجل الدخول بالفعل",
|
|
41
|
-
"alreadySignedInMessage": "هذا الحساب مسجل الدخول بالفعل. المتابعة بهذا الحساب؟",
|
|
42
|
-
"continueWithAccount": "متابعة",
|
|
43
|
-
"currentAccount": "الحالي",
|
|
44
|
-
"or": "أو",
|
|
45
|
-
"viewAllAccounts": "عرض {{count}} المزيد",
|
|
46
16
|
"createAccountLink": "جديد على Oxy؟ أنشئ حسابًا",
|
|
47
17
|
"status": {
|
|
48
|
-
"accountSwitched": "استخدام {{name}} الآن",
|
|
49
18
|
"signingIn": "جارٍ تسجيل الدخول…"
|
|
50
|
-
}
|
|
19
|
+
},
|
|
20
|
+
"subtitleToApp": "للمتابعة إلى {{app}}",
|
|
21
|
+
"orContinueWith": "أو تابع باستخدام",
|
|
22
|
+
"qr": {
|
|
23
|
+
"caption": "امسح باستخدام Commons لتسجيل الدخول",
|
|
24
|
+
"renew": "عرض رمز جديد"
|
|
25
|
+
},
|
|
26
|
+
"methods": {
|
|
27
|
+
"passkey": "تسجيل الدخول بمفتاح المرور"
|
|
28
|
+
},
|
|
29
|
+
"errors": {
|
|
30
|
+
"rateLimited": "محاولات كثيرة جدًا. حاول مرة أخرى بعد {{seconds}} ث.",
|
|
31
|
+
"passkeyCancelled": "تم إغلاق طلب مفتاح المرور. حاول مرة أخرى عندما تكون مستعدًا.",
|
|
32
|
+
"passkeyFailed": "تعذر إكمال مفتاح المرور. حاول مرة أخرى."
|
|
33
|
+
},
|
|
34
|
+
"chooser": {
|
|
35
|
+
"subtitleToApp": "للمتابعة إلى {{app}}"
|
|
36
|
+
},
|
|
37
|
+
"terms": {
|
|
38
|
+
"before": "بالمتابعة، أنت توافق على",
|
|
39
|
+
"termsLink": "شروط الخدمة",
|
|
40
|
+
"and": "و",
|
|
41
|
+
"privacyLink": "سياسة الخصوصية"
|
|
42
|
+
},
|
|
43
|
+
"noAccount": "ليس لديك حساب؟",
|
|
44
|
+
"createAccount": "إنشاء حساب",
|
|
45
|
+
"recoverLink": "فقدت مفتاح المرور؟ استرد حسابك"
|
|
51
46
|
},
|
|
52
47
|
"signup": {
|
|
53
48
|
"title": "أنشئ حسابك",
|
|
@@ -55,56 +50,28 @@
|
|
|
55
50
|
"createInCommons": "أنشئ هويتك في Commons",
|
|
56
51
|
"createAccount": "إنشاء حساب",
|
|
57
52
|
"backToSignInLink": "لديك حساب بالفعل؟ سجّل الدخول",
|
|
58
|
-
"
|
|
59
|
-
"title": "مرحبًا بك في Oxy!",
|
|
60
|
-
"subtitle": "أنشئ حسابك في خطوات قليلة",
|
|
61
|
-
"haveAccount": "لديك حساب بالفعل؟",
|
|
62
|
-
"signInCta": "تسجيل الدخول"
|
|
63
|
-
},
|
|
64
|
-
"identity": {
|
|
65
|
-
"title": "من أنت؟",
|
|
66
|
-
"subtitle": "اختر اسم المستخدم وأدخل بريدك الإلكتروني"
|
|
67
|
-
},
|
|
53
|
+
"webSubtitle": "بلا كلمة مرور: ينشئ جهازك مفتاح مرور، ويعيدك بريد الاسترداد إذا فقدته.",
|
|
68
54
|
"username": {
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
55
|
+
"label": "اسم المستخدم",
|
|
56
|
+
"placeholder": "yourname",
|
|
57
|
+
"required": "اختر اسم مستخدم.",
|
|
58
|
+
"taken": "اسم المستخدم هذا مستخدم بالفعل."
|
|
72
59
|
},
|
|
73
60
|
"email": {
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
"title": "أمّن حسابك",
|
|
80
|
-
"subtitle": "أنشئ كلمة مرور قوية لحماية حسابك"
|
|
61
|
+
"title": "بريد الاسترداد",
|
|
62
|
+
"subtitle": "إذا فقدت مفتاح المرور، نرسل إلى هنا رمزًا لتعود. لا يُستخدم لأي شيء آخر.",
|
|
63
|
+
"label": "البريد الإلكتروني",
|
|
64
|
+
"placeholder": "you@example.com",
|
|
65
|
+
"invalid": "أدخل بريدًا إلكترونيًا صالحًا."
|
|
81
66
|
},
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"confirmRequired": "يرجى تأكيد كلمة المرور",
|
|
87
|
-
"mismatch": "كلمات المرور غير متطابقة",
|
|
88
|
-
"confirmHint": "أعد إدخال كلمة المرور للتأكيد"
|
|
67
|
+
"passkey": {
|
|
68
|
+
"title": "أنشئ مفتاح المرور",
|
|
69
|
+
"subtitle": "تسجّل الدخول به: ببصمتك أو وجهك أو قفل الشاشة. لا شيء تتذكره.",
|
|
70
|
+
"action": "إنشاء مفتاح مرور"
|
|
89
71
|
},
|
|
90
|
-
"
|
|
91
|
-
"title": "أوشكت على الانتهاء!",
|
|
92
|
-
"subtitle": "راجع معلوماتك وأنشئ حسابك",
|
|
93
|
-
"sectionTitle": "معلومات الحساب",
|
|
94
|
-
"fields": {
|
|
95
|
-
"username": "اسم المستخدم",
|
|
96
|
-
"email": "البريد الإلكتروني",
|
|
97
|
-
"password": "كلمة المرور"
|
|
98
|
-
},
|
|
99
|
-
"notSet": "غير محدد",
|
|
100
|
-
"securityTip": "لمزيد من الأمان، قم بتمكين المصادقة الحيوية من إعدادات الحساب بعد إنشاء حسابك.",
|
|
101
|
-
"legalReminder": "بإنشاء حساب، فإنك توافق على شروط الخدمة وسياسة الخصوصية الخاصة بنا."
|
|
102
|
-
}
|
|
72
|
+
"commonsInstead": "تريد الاحتفاظ بمفتاحك بنفسك؟ استخدم Commons"
|
|
103
73
|
},
|
|
104
74
|
"accountSwitcher": {
|
|
105
|
-
"sections": {
|
|
106
|
-
"yourAccounts": "حساباتك"
|
|
107
|
-
},
|
|
108
75
|
"loading": "جارٍ تحميل الحسابات...",
|
|
109
76
|
"qrHeadline": "سجّل الدخول بهوية Oxy الخاصة بك",
|
|
110
77
|
"signInWithOxy": "تسجيل الدخول باستخدام Oxy",
|
|
@@ -136,10 +103,7 @@
|
|
|
136
103
|
"claimFailed": "تمت الموافقة على تسجيل الدخول، لكن تعذّر إكماله. يُرجى المحاولة مرة أخرى.",
|
|
137
104
|
"generic": "تعذّر تسجيل الدخول. يُرجى المحاولة مرة أخرى."
|
|
138
105
|
},
|
|
139
|
-
"linkOpenFailed": "تعذّر فتح الرابط. يُرجى المحاولة مرة أخرى."
|
|
140
|
-
"continueWithPasskey": "متابعة",
|
|
141
|
-
"passkeyHint": "استخدم بصمتك أو وجهك أو رمز PIN للجهاز.",
|
|
142
|
-
"otherDeviceCommons": "حسابك على جهاز آخر؟ امسح الرمز باستخدام Commons"
|
|
106
|
+
"linkOpenFailed": "تعذّر فتح الرابط. يُرجى المحاولة مرة أخرى."
|
|
143
107
|
},
|
|
144
108
|
"common": {
|
|
145
109
|
"actions": {
|
|
@@ -280,7 +244,63 @@
|
|
|
280
244
|
"help": "المساعدة والملاحظات",
|
|
281
245
|
"signOut": "تسجيل الخروج",
|
|
282
246
|
"privacy": "سياسة الخصوصية",
|
|
283
|
-
"terms": "شروط الخدمة"
|
|
284
|
-
|
|
247
|
+
"terms": "شروط الخدمة"
|
|
248
|
+
},
|
|
249
|
+
"recover": {
|
|
250
|
+
"title": "استرد حسابك",
|
|
251
|
+
"subtitle": "أدخل اسم المستخدم أو بريد الاسترداد. سنرسل رمزًا إلى بريد الاسترداد الخاص بالحساب.",
|
|
252
|
+
"identifier": {
|
|
253
|
+
"label": "اسم المستخدم أو البريد",
|
|
254
|
+
"placeholder": "yourname",
|
|
255
|
+
"required": "أدخل اسم المستخدم أو البريد."
|
|
256
|
+
},
|
|
257
|
+
"commonsNote": "هل يستخدم حسابك Commons؟ استرده في Commons بعبارة الاسترداد.",
|
|
258
|
+
"passkey": {
|
|
259
|
+
"title": "أضف مفتاح مرور جديدًا",
|
|
260
|
+
"subtitle": "لـ @{{username}}. أزل مفاتيح المرور المفقودة لاحقًا من إعدادات أمان حسابك.",
|
|
261
|
+
"action": "إنشاء مفتاح مرور"
|
|
262
|
+
},
|
|
263
|
+
"backToSignIn": "العودة إلى تسجيل الدخول"
|
|
264
|
+
},
|
|
265
|
+
"emailCode": {
|
|
266
|
+
"title": "تحقق من بريدك",
|
|
267
|
+
"sentTo": "أرسلنا رمزًا من 6 أرقام إلى {{email}}.",
|
|
268
|
+
"sentIfAccount": "إذا كان لهذا الحساب بريد استرداد، فقد أرسلنا إليه رمزًا من 6 أرقام.",
|
|
269
|
+
"label": "الرمز",
|
|
270
|
+
"resend": "أرسل رمزًا جديدًا",
|
|
271
|
+
"resent": "أرسلنا رمزًا جديدًا.",
|
|
272
|
+
"changeEmail": "استخدم بريدًا آخر",
|
|
273
|
+
"errors": {
|
|
274
|
+
"codeInvalid": "الرمز غير صحيح أو انتهت صلاحيته.",
|
|
275
|
+
"tooManyAttempts": "رموز خاطئة كثيرة. اطلب رمزًا جديدًا.",
|
|
276
|
+
"expired": "استغرق الأمر وقتًا طويلًا. ابدأ من جديد.",
|
|
277
|
+
"unavailable": "لا يستطيع Oxy إرسال البريد الآن. حاول لاحقًا.",
|
|
278
|
+
"rateLimited": "رموز كثيرة. حاول لاحقًا."
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
"deleteAccount": {
|
|
282
|
+
"passkey": {
|
|
283
|
+
"subtitle": "أكّد بمفتاح المرور. سيُحذف @{{username}} وكل ما فيه نهائيًا.",
|
|
284
|
+
"action": "الحذف بمفتاح المرور",
|
|
285
|
+
"done": "حُذف حسابك.",
|
|
286
|
+
"closeWindow": "يمكنك إغلاق هذه النافذة.",
|
|
287
|
+
"commons": "يستخدم هذا الحساب Commons: احذفه في Oxy Commons من الإعدادات > حذف الحساب، بمفتاحه."
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
"linkCommons": {
|
|
291
|
+
"title": "اربط Commons",
|
|
292
|
+
"subtitle": "احتفظ بمفتاحك: اربط Commons ليصبح هذا الحساب لك وحدك. يُحذف بريد الاسترداد الخاص به، وتصبح عبارة الاسترداد في Commons طريقك للعودة.",
|
|
293
|
+
"scan": "على هاتفك، افتح Commons واختر «لدي حساب Oxy على الويب» ثم امسح هذا الرمز.",
|
|
294
|
+
"waiting": "بانتظار Commons…",
|
|
295
|
+
"compareTitle": "تحقق من الرمز",
|
|
296
|
+
"compare": "يعرض Commons الرمز نفسه. إن لم يكن كذلك، ألغِ العملية.",
|
|
297
|
+
"confirm": "نعم، اربط Commons",
|
|
298
|
+
"cancel": "إلغاء",
|
|
299
|
+
"doneTitle": "تم ربط Commons",
|
|
300
|
+
"done": "أصبح هذا الحساب ذاتي الحفظ. حُذف بريد الاسترداد الخاص به: عبارة الاسترداد في Commons هي طريقك للعودة.",
|
|
301
|
+
"already": "يستخدم هذا الحساب Commons بالفعل.",
|
|
302
|
+
"expired": "انتهت صلاحية هذا الرمز.",
|
|
303
|
+
"renew": "اعرض رمزًا جديدًا",
|
|
304
|
+
"failed": "تعذّر ربط Commons. حاول مجددًا."
|
|
285
305
|
}
|
|
286
306
|
}
|