@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,66 +1,56 @@
|
|
|
1
1
|
{
|
|
2
2
|
"signin": {
|
|
3
|
-
"title": "Sign
|
|
4
|
-
"subtitle": "
|
|
3
|
+
"title": "Sign in",
|
|
4
|
+
"subtitle": "Use your Oxy account",
|
|
5
5
|
"chooser": {
|
|
6
6
|
"title": "Choose an account",
|
|
7
7
|
"subtitle": "Continue as an account below, or use another.",
|
|
8
|
-
"signedIn": "Signed in",
|
|
9
8
|
"useAnother": "Use another account",
|
|
10
|
-
"continueAs": "Continue as {{name}}"
|
|
9
|
+
"continueAs": "Continue as {{name}}",
|
|
10
|
+
"subtitleToApp": "to continue to {{app}}"
|
|
11
11
|
},
|
|
12
|
-
"addAccountTitle": "Add
|
|
12
|
+
"addAccountTitle": "Add another account",
|
|
13
13
|
"addAccountSubtitle": "Sign in with another account",
|
|
14
14
|
"username": {
|
|
15
15
|
"label": "Username",
|
|
16
|
-
"placeholder": "
|
|
17
|
-
"
|
|
18
|
-
"required": "Please enter your username.",
|
|
19
|
-
"minLength": "Username must be at least 3 characters."
|
|
20
|
-
},
|
|
21
|
-
"password": {
|
|
22
|
-
"label": "Password",
|
|
23
|
-
"placeholder": "Enter your password",
|
|
24
|
-
"required": "Please enter your password.",
|
|
25
|
-
"hint": "Enter your password to sign in"
|
|
16
|
+
"placeholder": "yourname",
|
|
17
|
+
"required": "Please enter your username."
|
|
26
18
|
},
|
|
27
19
|
"actions": {
|
|
28
20
|
"continue": "Continue",
|
|
29
|
-
"back": "Back"
|
|
30
|
-
|
|
31
|
-
"verify": "Verify",
|
|
32
|
-
"openAccountSwitcher": "Switch to another account",
|
|
33
|
-
"openAccountSwitcherSubtitle": "{{count}} other accounts available",
|
|
34
|
-
"openAccountSwitcherSubtitle_singular": "1 other account available",
|
|
35
|
-
"openAccountSwitcherSubtitle_zero": "Review your saved accounts",
|
|
36
|
-
"manageAccounts": "Manage saved accounts",
|
|
37
|
-
"manageAccountsSubtitle": "Review sessions, remove or sign out",
|
|
38
|
-
"loadingOtherAccounts": "Loading other accounts…",
|
|
39
|
-
"switchAccountFailed": "We couldn’t switch accounts. Please try again."
|
|
40
|
-
},
|
|
41
|
-
"forgotPrompt": "Forgot your password?",
|
|
42
|
-
"security": {
|
|
43
|
-
"dataSecure": "Your data is encrypted and secure"
|
|
44
|
-
},
|
|
45
|
-
"currentlySignedInAs": "Currently signed in as",
|
|
46
|
-
"alreadySignedInWith": "Already signed in with",
|
|
47
|
-
"alreadySignedIn": "Already signed in",
|
|
48
|
-
"alreadySignedInMessage": "This account is already signed in. Continue with this account?",
|
|
49
|
-
"continueWithAccount": "Continue",
|
|
50
|
-
"currentAccount": "Current",
|
|
51
|
-
"or": "or",
|
|
52
|
-
"viewAllAccounts": "View {{count}} more",
|
|
21
|
+
"back": "Back"
|
|
22
|
+
},
|
|
53
23
|
"createAccountLink": "New to Oxy? Create one",
|
|
54
24
|
"status": {
|
|
55
|
-
"accountSwitched": "Now using {{name}}",
|
|
56
25
|
"signingIn": "Signing in…"
|
|
57
26
|
},
|
|
58
27
|
"errors": {
|
|
59
28
|
"notConfigured": "Sign-in isn't available",
|
|
60
29
|
"notConfiguredDescription": "{{app}} isn't set up for sign-in yet. Contact the app's developer.",
|
|
61
30
|
"failed": "Couldn't start sign-in",
|
|
62
|
-
"failedDescription": "Something went wrong. Please try again."
|
|
63
|
-
|
|
31
|
+
"failedDescription": "Something went wrong. Please try again.",
|
|
32
|
+
"rateLimited": "Too many attempts. Try again in {{seconds}}s.",
|
|
33
|
+
"passkeyCancelled": "Passkey prompt dismissed. Try again when you're ready.",
|
|
34
|
+
"passkeyFailed": "Couldn't complete the passkey. Please try again."
|
|
35
|
+
},
|
|
36
|
+
"subtitleToApp": "to continue to {{app}}",
|
|
37
|
+
"orContinueWith": "or continue with",
|
|
38
|
+
"qr": {
|
|
39
|
+
"caption": "Scan with Commons to sign in",
|
|
40
|
+
"renew": "Show a new code"
|
|
41
|
+
},
|
|
42
|
+
"methods": {
|
|
43
|
+
"passkey": "Sign in with a passkey"
|
|
44
|
+
},
|
|
45
|
+
"terms": {
|
|
46
|
+
"before": "By continuing, you agree to our",
|
|
47
|
+
"termsLink": "Terms of Service",
|
|
48
|
+
"and": "and",
|
|
49
|
+
"privacyLink": "Privacy Policy"
|
|
50
|
+
},
|
|
51
|
+
"noAccount": "Don't have an account?",
|
|
52
|
+
"createAccount": "Create account",
|
|
53
|
+
"recoverLink": "Lost your passkey? Recover your account"
|
|
64
54
|
},
|
|
65
55
|
"signup": {
|
|
66
56
|
"title": "Create your account",
|
|
@@ -68,59 +58,26 @@
|
|
|
68
58
|
"createInCommons": "Create your identity in Commons",
|
|
69
59
|
"createAccount": "Create account",
|
|
70
60
|
"backToSignInLink": "Already have an account? Sign in",
|
|
71
|
-
"
|
|
72
|
-
"title": "Welcome to Oxy!",
|
|
73
|
-
"subtitle": "Let's create your account in just a few steps",
|
|
74
|
-
"haveAccount": "Already have an account?",
|
|
75
|
-
"signInCta": "Sign in"
|
|
76
|
-
},
|
|
77
|
-
"identity": {
|
|
78
|
-
"title": "Who are you?",
|
|
79
|
-
"subtitle": "Choose your username and enter your email"
|
|
80
|
-
},
|
|
61
|
+
"webSubtitle": "No password: your device makes a passkey, and a recovery email gets you back in if you lose it.",
|
|
81
62
|
"username": {
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
63
|
+
"label": "Username",
|
|
64
|
+
"placeholder": "yourname",
|
|
65
|
+
"required": "Choose a username.",
|
|
66
|
+
"taken": "That username is taken."
|
|
85
67
|
},
|
|
86
68
|
"email": {
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
"
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"confirmRequired": "Please confirm your password",
|
|
100
|
-
"mismatch": "Passwords do not match",
|
|
101
|
-
"confirmHint": "Re-enter your password to confirm"
|
|
102
|
-
},
|
|
103
|
-
"summary": {
|
|
104
|
-
"title": "Almost There!",
|
|
105
|
-
"subtitle": "Review your information and create your account",
|
|
106
|
-
"sectionTitle": "Account Information",
|
|
107
|
-
"fields": {
|
|
108
|
-
"username": "Username",
|
|
109
|
-
"email": "Email",
|
|
110
|
-
"password": "Password"
|
|
111
|
-
},
|
|
112
|
-
"notSet": "Not set",
|
|
113
|
-
"securityTip": "For stronger security, enable biometric authentication from Account Settings after you create your account.",
|
|
114
|
-
"legalReminder": "By creating an account, you agree to our Terms of Service and Privacy Policy.",
|
|
115
|
-
"sections": {
|
|
116
|
-
"account": "Account Information",
|
|
117
|
-
"next": "Next Steps"
|
|
118
|
-
},
|
|
119
|
-
"next": {
|
|
120
|
-
"securityTitle": "Keep your account secure",
|
|
121
|
-
"legalTitle": "You're all set"
|
|
122
|
-
}
|
|
123
|
-
}
|
|
69
|
+
"title": "Your recovery email",
|
|
70
|
+
"subtitle": "If you lose your passkey, we send a code here to get you back in. It's used for nothing else.",
|
|
71
|
+
"label": "Email",
|
|
72
|
+
"placeholder": "you@example.com",
|
|
73
|
+
"invalid": "Enter a valid email address."
|
|
74
|
+
},
|
|
75
|
+
"passkey": {
|
|
76
|
+
"title": "Create your passkey",
|
|
77
|
+
"subtitle": "You sign in with it: your fingerprint, face or screen lock. There's nothing to remember.",
|
|
78
|
+
"action": "Create passkey"
|
|
79
|
+
},
|
|
80
|
+
"commonsInstead": "Want to hold your own key? Use Commons instead"
|
|
124
81
|
},
|
|
125
82
|
"welcomeNew": {
|
|
126
83
|
"navTitle": "Welcome",
|
|
@@ -268,30 +225,20 @@
|
|
|
268
225
|
"subtitle": "Tell us what you think"
|
|
269
226
|
},
|
|
270
227
|
"recover": {
|
|
271
|
-
"title": "Recover
|
|
272
|
-
"
|
|
273
|
-
|
|
274
|
-
"
|
|
275
|
-
"
|
|
276
|
-
"
|
|
277
|
-
},
|
|
278
|
-
"
|
|
279
|
-
|
|
280
|
-
"
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
"
|
|
285
|
-
"noEmail": "We no longer send recovery emails. Please use your recovery phrase to restore your identity. Contact support if you need assistance.",
|
|
286
|
-
"password": {
|
|
287
|
-
"minLength": "Password must be at least 8 characters long",
|
|
288
|
-
"mismatch": "Passwords do not match",
|
|
289
|
-
"resetFailed": "Failed to reset password"
|
|
290
|
-
},
|
|
291
|
-
"missingCode": "Missing code",
|
|
292
|
-
"whatsNextTitle": "What's next?",
|
|
293
|
-
"whatsNextBody": "You can now reset your password or return to sign in with your existing credentials.",
|
|
294
|
-
"completeSecure": "Your account recovery is complete and secure."
|
|
228
|
+
"title": "Recover your account",
|
|
229
|
+
"subtitle": "Enter your username or recovery email. We'll send a code to the account's recovery email.",
|
|
230
|
+
"identifier": {
|
|
231
|
+
"label": "Username or email",
|
|
232
|
+
"placeholder": "yourname",
|
|
233
|
+
"required": "Enter your username or email."
|
|
234
|
+
},
|
|
235
|
+
"commonsNote": "Does your account use Commons? Recover it in Commons with your recovery phrase.",
|
|
236
|
+
"passkey": {
|
|
237
|
+
"title": "Add a new passkey",
|
|
238
|
+
"subtitle": "For @{{username}}. Remove lost passkeys later in your account's security settings.",
|
|
239
|
+
"action": "Create passkey"
|
|
240
|
+
},
|
|
241
|
+
"backToSignIn": "Back to sign in"
|
|
295
242
|
},
|
|
296
243
|
"accountCenter": {
|
|
297
244
|
"sections": {
|
|
@@ -358,31 +305,8 @@
|
|
|
358
305
|
"version": "Version {{version}}"
|
|
359
306
|
},
|
|
360
307
|
"accountSwitcher": {
|
|
361
|
-
"title": "Account Switcher",
|
|
362
|
-
"sections": {
|
|
363
|
-
"current": "Current Account",
|
|
364
|
-
"otherWithCount": "Other Accounts ({{count}})",
|
|
365
|
-
"deviceSessions": "Device Sessions",
|
|
366
|
-
"sharedWithYou": "Shared with you",
|
|
367
|
-
"thisDevice": "On this device",
|
|
368
|
-
"yourAccounts": "Your accounts"
|
|
369
|
-
},
|
|
370
|
-
"currentBadge": "Current",
|
|
371
308
|
"loading": "Loading accounts...",
|
|
372
309
|
"toasts": {
|
|
373
|
-
"switchSuccess": "Account switched successfully!",
|
|
374
|
-
"switchFailed": "There was a problem switching accounts. Please try again.",
|
|
375
|
-
"signInFailed": "Sign-in failed. Please try again.",
|
|
376
|
-
"removeSuccess": "Account removed successfully!",
|
|
377
|
-
"removeFailed": "There was a problem removing the account. Please try again.",
|
|
378
|
-
"signOutAllSuccess": "All accounts signed out successfully!",
|
|
379
|
-
"signOutAllFailed": "There was a problem signing out: {{error}}",
|
|
380
|
-
"deviceLoadFailed": "Failed to load device sessions. Please try again.",
|
|
381
|
-
"remoteSignOutSuccess": "Signed out from {{deviceName}} successfully!",
|
|
382
|
-
"remoteSignOutFailed": "There was a problem signing out from the device. Please try again.",
|
|
383
|
-
"noOtherDeviceSessions": "No other device sessions found to sign out from.",
|
|
384
|
-
"signOutOthersSuccess": "Signed out from all other devices successfully!",
|
|
385
|
-
"signOutOthersFailed": "There was a problem signing out from other devices. Please try again.",
|
|
386
310
|
"contextRemoved": "Removed {{account}}",
|
|
387
311
|
"contextRemoveFailed": "There was a problem removing that account. Please try again.",
|
|
388
312
|
"principalRemoved": "Signed {{name}} out of this device",
|
|
@@ -390,29 +314,11 @@
|
|
|
390
314
|
"activateFailed": "There was a problem switching accounts. Please try again."
|
|
391
315
|
},
|
|
392
316
|
"confirms": {
|
|
393
|
-
"remove": "Are you sure you want to remove {{displayName}} from this device? You'll need to sign in again to access this account.",
|
|
394
|
-
"logoutAll": "Are you sure you want to sign out of all accounts? This will remove all saved accounts from this device.",
|
|
395
|
-
"remoteLogout": "Are you sure you want to sign out from \"{{deviceName}}\"? This will end the session on that device.",
|
|
396
|
-
"logoutOthers": "Are you sure you want to sign out from all {{count}} other device(s)? This will end sessions on all other devices except this one.",
|
|
397
317
|
"removeContextTitle": "Remove this account?",
|
|
398
318
|
"removeContext": "Stop {{person}} acting as {{account}} on this device? Anyone else who reaches {{account}} here keeps their access.",
|
|
399
319
|
"removePrincipalTitle": "Sign out of this device?",
|
|
400
320
|
"removePrincipal": "Sign {{name}} out of this device? Every account they reach here is removed. Nobody else is affected."
|
|
401
321
|
},
|
|
402
|
-
"device": {
|
|
403
|
-
"loadingTitle": "Loading device sessions...",
|
|
404
|
-
"loadingSubtitle": "Please wait while we fetch your device sessions",
|
|
405
|
-
"noneTitle": "No device sessions found",
|
|
406
|
-
"noneSubtitle": "Device session management not available",
|
|
407
|
-
"thisDevice": "This device",
|
|
408
|
-
"lastActive": "Last active: {{date}}"
|
|
409
|
-
},
|
|
410
|
-
"empty": {
|
|
411
|
-
"title": "No saved accounts",
|
|
412
|
-
"subtitle": "Add another account to switch between them quickly"
|
|
413
|
-
},
|
|
414
|
-
"label": "Account switcher",
|
|
415
|
-
"searchPlaceholder": "Search accounts",
|
|
416
322
|
"scanQr": "Scan QR code",
|
|
417
323
|
"qrHeadline": "Sign in with your Oxy identity",
|
|
418
324
|
"signInWithOxy": "Sign in with Oxy",
|
|
@@ -452,10 +358,7 @@
|
|
|
452
358
|
"claimFailed": "Sign-in was approved, but we couldn't finish it. Please try again.",
|
|
453
359
|
"generic": "Sign-in failed. Please try again."
|
|
454
360
|
},
|
|
455
|
-
"linkOpenFailed": "Couldn't open that link. Please try again."
|
|
456
|
-
"continueWithPasskey": "Continue",
|
|
457
|
-
"passkeyHint": "Use your fingerprint, face or device PIN.",
|
|
458
|
-
"otherDeviceCommons": "Account on another device? Scan with Commons"
|
|
361
|
+
"linkOpenFailed": "Couldn't open that link. Please try again."
|
|
459
362
|
},
|
|
460
363
|
"reputation": {
|
|
461
364
|
"faq": {
|
|
@@ -1723,8 +1626,7 @@
|
|
|
1723
1626
|
"help": "Help & feedback",
|
|
1724
1627
|
"signOut": "Sign out",
|
|
1725
1628
|
"privacy": "Privacy Policy",
|
|
1726
|
-
"terms": "Terms of Service"
|
|
1727
|
-
"identity": "Your identity"
|
|
1629
|
+
"terms": "Terms of Service"
|
|
1728
1630
|
},
|
|
1729
1631
|
"accounts": {
|
|
1730
1632
|
"activeAccount": {
|
|
@@ -1941,9 +1843,16 @@
|
|
|
1941
1843
|
"openCommons": "Open Oxy Commons",
|
|
1942
1844
|
"commonsOpenFailed": "Couldn't open Oxy Commons. Open it yourself and go to Settings > Delete account.",
|
|
1943
1845
|
"elsewhereTitle": "Delete your account where your identity is",
|
|
1944
|
-
"elsewhereMessage": "Deleting your account needs your identity key, and it isn't on this device. Open Oxy Commons on the device that holds
|
|
1846
|
+
"elsewhereMessage": "Deleting your account needs your identity key, and it isn't on this device. Open Oxy Commons on the device that holds it and go to Settings > Delete account. An account that uses a passkey is deleted at {{site}}.",
|
|
1945
1847
|
"gotIt": "Got it",
|
|
1946
1848
|
"identityUnreadable": "Couldn't read this device's identity storage. Unlock your device and try again."
|
|
1849
|
+
},
|
|
1850
|
+
"passkey": {
|
|
1851
|
+
"subtitle": "Confirm with your passkey. @{{username}} and everything in it are deleted for good.",
|
|
1852
|
+
"action": "Delete with passkey",
|
|
1853
|
+
"done": "Your account is deleted.",
|
|
1854
|
+
"closeWindow": "You can close this window.",
|
|
1855
|
+
"commons": "This account uses Commons: delete it in Oxy Commons, Settings > Delete account, with its key."
|
|
1947
1856
|
}
|
|
1948
1857
|
},
|
|
1949
1858
|
"manageAccount": {
|
|
@@ -2182,5 +2091,37 @@
|
|
|
2182
2091
|
"allow": "Continue to {{app}}",
|
|
2183
2092
|
"deny": "Cancel",
|
|
2184
2093
|
"disclaimer": "By continuing, {{app}} will be able to sign in with your Oxy account. You can manage connected apps anytime in your Oxy account settings."
|
|
2094
|
+
},
|
|
2095
|
+
"emailCode": {
|
|
2096
|
+
"title": "Check your email",
|
|
2097
|
+
"sentTo": "We sent a 6-digit code to {{email}}.",
|
|
2098
|
+
"sentIfAccount": "If this account has a recovery email, we sent a 6-digit code to it.",
|
|
2099
|
+
"label": "Code",
|
|
2100
|
+
"resend": "Send a new code",
|
|
2101
|
+
"resent": "We sent a new code.",
|
|
2102
|
+
"changeEmail": "Use another email",
|
|
2103
|
+
"errors": {
|
|
2104
|
+
"codeInvalid": "That code isn't right, or it has expired.",
|
|
2105
|
+
"tooManyAttempts": "Too many wrong codes. Ask for a new one.",
|
|
2106
|
+
"expired": "This took too long. Start again.",
|
|
2107
|
+
"unavailable": "Oxy can't send email right now. Try again later.",
|
|
2108
|
+
"rateLimited": "Too many codes. Try again later."
|
|
2109
|
+
}
|
|
2110
|
+
},
|
|
2111
|
+
"linkCommons": {
|
|
2112
|
+
"title": "Link Commons",
|
|
2113
|
+
"subtitle": "Keep your own key: link Commons and this account becomes yours alone. Its recovery email is deleted, and your recovery phrase in Commons is how you get back in.",
|
|
2114
|
+
"scan": "On your phone, open Commons, choose “I have an Oxy account on the web” and scan this code.",
|
|
2115
|
+
"waiting": "Waiting for Commons…",
|
|
2116
|
+
"compareTitle": "Check the code",
|
|
2117
|
+
"compare": "Commons shows the same code. If it doesn’t, cancel.",
|
|
2118
|
+
"confirm": "Yes, link Commons",
|
|
2119
|
+
"cancel": "Cancel",
|
|
2120
|
+
"doneTitle": "Commons is linked",
|
|
2121
|
+
"done": "This account is self-custodied now. Its recovery email was deleted: your recovery phrase in Commons is how you get back in.",
|
|
2122
|
+
"already": "This account already uses Commons.",
|
|
2123
|
+
"expired": "This code expired.",
|
|
2124
|
+
"renew": "Show a new code",
|
|
2125
|
+
"failed": "Commons couldn’t be linked. Try again."
|
|
2185
2126
|
}
|
|
2186
2127
|
}
|