@oxy.so/core 1.18.0 → 3.0.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.
Files changed (662) hide show
  1. package/README.md +13 -7
  2. package/dist/cjs/HttpService.js +189 -112
  3. package/dist/cjs/OxyServices.errors.js +48 -1
  4. package/dist/cjs/OxyServices.js +263 -60
  5. package/dist/cjs/api/accounts.js +231 -0
  6. package/dist/cjs/api/agency.js +102 -0
  7. package/dist/cjs/api/appData.js +45 -0
  8. package/dist/cjs/api/apps.js +197 -0
  9. package/dist/cjs/api/assets.js +329 -0
  10. package/dist/cjs/api/auth.js +900 -0
  11. package/dist/cjs/api/billing.js +44 -0
  12. package/dist/cjs/api/civic.js +289 -0
  13. package/dist/cjs/api/contacts.js +16 -0
  14. package/dist/cjs/api/devices.js +351 -0
  15. package/dist/cjs/api/follows.js +240 -0
  16. package/dist/cjs/api/identity.js +569 -0
  17. package/dist/cjs/api/linkedAccounts.js +48 -0
  18. package/dist/cjs/api/nodes.js +75 -0
  19. package/dist/cjs/api/notifications.js +75 -0
  20. package/dist/cjs/api/privacy.js +105 -0
  21. package/dist/cjs/api/reputation.js +74 -0
  22. package/dist/cjs/api/session.js +177 -0
  23. package/dist/cjs/api/store.js +199 -0
  24. package/dist/cjs/api/topics.js +66 -0
  25. package/dist/cjs/api/users.js +309 -0
  26. package/dist/cjs/boot/sessionColdBoot.js +4 -4
  27. package/dist/cjs/civic/index.js +16 -0
  28. package/dist/cjs/civic/payloads.js +156 -0
  29. package/dist/cjs/client/context.js +2 -0
  30. package/dist/cjs/crypto/identityLink.js +5 -5
  31. package/dist/cjs/crypto/index.js +44 -0
  32. package/dist/cjs/crypto/internal.js +37 -0
  33. package/dist/cjs/crypto/keyManager.js +2 -2
  34. package/dist/cjs/crypto/polyfill.js +9 -80
  35. package/dist/cjs/crypto/recoveryPhrase.js +1 -0
  36. package/dist/cjs/crypto/registrationPow.js +1 -1
  37. package/dist/cjs/crypto/signatureService.js +1 -0
  38. package/dist/cjs/i18n/accountCategoryLabels.js +3 -3
  39. package/dist/cjs/i18n/accountRoleLabels.js +7 -7
  40. package/dist/cjs/i18n/index.js +130 -52
  41. package/dist/cjs/i18n/locales/{ar-SA.json → ar-SA.js} +134 -52
  42. package/dist/cjs/i18n/locales/{ca-ES.json → ca-ES.js} +134 -52
  43. package/dist/{esm/i18n/locales/de-DE.json → cjs/i18n/locales/de-DE.js} +136 -54
  44. package/dist/{esm/i18n/locales/en-US.json → cjs/i18n/locales/en-US.js} +163 -245
  45. package/dist/{esm/i18n/locales/es-ES.json → cjs/i18n/locales/es-ES.js} +163 -245
  46. package/dist/cjs/i18n/locales/{fr-FR.json → fr-FR.js} +134 -52
  47. package/dist/cjs/i18n/locales/{it-IT.json → it-IT.js} +134 -52
  48. package/dist/{esm/i18n/locales/ja-JP.json → cjs/i18n/locales/ja-JP.js} +134 -52
  49. package/dist/cjs/i18n/locales/{ko-KR.json → ko-KR.js} +134 -52
  50. package/dist/{esm/i18n/locales/pt-PT.json → cjs/i18n/locales/pt-PT.js} +136 -54
  51. package/dist/{esm/i18n/locales/zh-CN.json → cjs/i18n/locales/zh-CN.js} +135 -53
  52. package/dist/cjs/i18n/reputationCategoryLabels.js +2 -2
  53. package/dist/cjs/i18n/trustTierLabels.js +2 -2
  54. package/dist/cjs/index.js +55 -263
  55. package/dist/cjs/inference/index.js +21 -0
  56. package/dist/cjs/server/OxyServer.js +521 -0
  57. package/dist/cjs/server/auth.js +2 -2
  58. package/dist/cjs/server/index.js +23 -6
  59. package/dist/cjs/server/middleware.js +1154 -0
  60. package/dist/cjs/server/namespaces.js +214 -0
  61. package/dist/cjs/server/rateLimit.js +2 -2
  62. package/dist/cjs/server/requesterAssertion.js +5 -5
  63. package/dist/cjs/server/securityHeaders.js +3 -3
  64. package/dist/cjs/server/traffic.js +7 -6
  65. package/dist/cjs/server/trafficNodeHttp.js +9 -3
  66. package/dist/cjs/server/userInvalidation.js +5 -5
  67. package/dist/cjs/session/accountDialogController.js +23 -23
  68. package/dist/cjs/session/authStateStore.js +2 -2
  69. package/dist/cjs/session/identitySession.js +3 -3
  70. package/dist/cjs/session/index.js +131 -0
  71. package/dist/cjs/session/refresh.js +37 -30
  72. package/dist/cjs/session/sessionClientHost.js +5 -5
  73. package/dist/cjs/session/sharedDeviceCredential.js +3 -2
  74. package/dist/cjs/shared/utils/networkUtils.js +2 -2
  75. package/dist/cjs/utils/accountCacheSweep.js +11 -15
  76. package/dist/cjs/utils/asyncUtils.js +22 -163
  77. package/dist/cjs/utils/authHelpers.js +2 -2
  78. package/dist/cjs/utils/authWebUrl.js +3 -4
  79. package/dist/cjs/utils/avatarUtils.js +2 -2
  80. package/dist/cjs/utils/cache.js +32 -2
  81. package/dist/cjs/utils/cacheKey.js +5 -10
  82. package/dist/cjs/utils/deviceManager.js +17 -16
  83. package/dist/cjs/utils/edgeRegion.js +2 -3
  84. package/dist/cjs/utils/identityCacheSweep.js +6 -10
  85. package/dist/cjs/utils/oxyServiceEnvironment.js +3 -7
  86. package/dist/cjs/utils/requestUtils.js +40 -33
  87. package/dist/cjs/utils/sessionUtils.js +0 -2
  88. package/dist/cjs/utils/tokenClaims.js +34 -0
  89. package/dist/esm/HttpService.js +190 -113
  90. package/dist/esm/OxyServices.errors.js +45 -0
  91. package/dist/esm/OxyServices.js +262 -57
  92. package/dist/esm/api/accounts.js +218 -0
  93. package/dist/esm/api/agency.js +95 -0
  94. package/dist/esm/api/appData.js +40 -0
  95. package/dist/esm/api/apps.js +191 -0
  96. package/dist/esm/api/assets.js +324 -0
  97. package/dist/esm/api/auth.js +858 -0
  98. package/dist/esm/api/billing.js +40 -0
  99. package/dist/esm/api/civic.js +250 -0
  100. package/dist/esm/api/contacts.js +12 -0
  101. package/dist/esm/api/devices.js +346 -0
  102. package/dist/esm/api/follows.js +236 -0
  103. package/dist/esm/api/identity.js +527 -0
  104. package/dist/esm/api/linkedAccounts.js +44 -0
  105. package/dist/esm/api/nodes.js +71 -0
  106. package/dist/esm/api/notifications.js +71 -0
  107. package/dist/esm/api/privacy.js +101 -0
  108. package/dist/esm/api/reputation.js +70 -0
  109. package/dist/esm/api/session.js +173 -0
  110. package/dist/esm/api/store.js +192 -0
  111. package/dist/esm/api/topics.js +62 -0
  112. package/dist/esm/api/users.js +272 -0
  113. package/dist/esm/boot/sessionColdBoot.js +4 -4
  114. package/dist/esm/civic/index.js +10 -0
  115. package/dist/esm/civic/payloads.js +118 -0
  116. package/dist/esm/client/context.js +1 -0
  117. package/dist/esm/crypto/identityLink.js +5 -5
  118. package/dist/esm/crypto/index.js +24 -0
  119. package/dist/esm/crypto/internal.js +19 -0
  120. package/dist/esm/crypto/keyManager.js +2 -2
  121. package/dist/esm/crypto/polyfill.js +10 -81
  122. package/dist/esm/crypto/recoveryPhrase.js +1 -0
  123. package/dist/esm/crypto/registrationPow.js +1 -1
  124. package/dist/esm/crypto/signatureService.js +1 -0
  125. package/dist/esm/i18n/accountCategoryLabels.js +2 -2
  126. package/dist/esm/i18n/accountRoleLabels.js +1 -1
  127. package/dist/esm/i18n/index.js +93 -52
  128. package/dist/esm/i18n/locales/{ar-SA.json → ar-SA.js} +132 -52
  129. package/dist/esm/i18n/locales/{ca-ES.json → ca-ES.js} +132 -52
  130. package/dist/{cjs/i18n/locales/de-DE.json → esm/i18n/locales/de-DE.js} +134 -54
  131. package/dist/{cjs/i18n/locales/en-US.json → esm/i18n/locales/en-US.js} +161 -245
  132. package/dist/{cjs/i18n/locales/es-ES.json → esm/i18n/locales/es-ES.js} +161 -245
  133. package/dist/esm/i18n/locales/{fr-FR.json → fr-FR.js} +132 -52
  134. package/dist/esm/i18n/locales/{it-IT.json → it-IT.js} +132 -52
  135. package/dist/{cjs/i18n/locales/ja-JP.json → esm/i18n/locales/ja-JP.js} +132 -52
  136. package/dist/esm/i18n/locales/{ko-KR.json → ko-KR.js} +132 -52
  137. package/dist/{cjs/i18n/locales/pt-PT.json → esm/i18n/locales/pt-PT.js} +134 -54
  138. package/dist/{cjs/i18n/locales/zh-CN.json → esm/i18n/locales/zh-CN.js} +133 -53
  139. package/dist/esm/i18n/reputationCategoryLabels.js +1 -1
  140. package/dist/esm/i18n/trustTierLabels.js +1 -1
  141. package/dist/esm/index.js +30 -166
  142. package/dist/esm/inference/index.js +13 -0
  143. package/dist/esm/server/OxyServer.js +516 -0
  144. package/dist/esm/server/auth.js +2 -2
  145. package/dist/esm/server/index.js +10 -5
  146. package/dist/esm/server/middleware.js +1147 -0
  147. package/dist/esm/server/namespaces.js +206 -0
  148. package/dist/esm/server/rateLimit.js +2 -2
  149. package/dist/esm/server/requesterAssertion.js +5 -5
  150. package/dist/esm/server/securityHeaders.js +3 -3
  151. package/dist/esm/server/traffic.js +7 -6
  152. package/dist/esm/server/trafficNodeHttp.js +9 -3
  153. package/dist/esm/server/userInvalidation.js +5 -5
  154. package/dist/esm/session/accountDialogController.js +23 -23
  155. package/dist/esm/session/authStateStore.js +2 -2
  156. package/dist/esm/session/identitySession.js +3 -3
  157. package/dist/esm/session/index.js +82 -0
  158. package/dist/esm/session/refresh.js +37 -30
  159. package/dist/esm/session/sessionClientHost.js +5 -5
  160. package/dist/esm/session/sharedDeviceCredential.js +3 -2
  161. package/dist/esm/shared/utils/networkUtils.js +2 -2
  162. package/dist/esm/utils/accountCacheSweep.js +11 -15
  163. package/dist/esm/utils/asyncUtils.js +22 -151
  164. package/dist/esm/utils/authHelpers.js +2 -2
  165. package/dist/esm/utils/authWebUrl.js +3 -4
  166. package/dist/esm/utils/avatarUtils.js +2 -2
  167. package/dist/esm/utils/cache.js +32 -2
  168. package/dist/esm/utils/cacheKey.js +5 -10
  169. package/dist/esm/utils/deviceManager.js +17 -16
  170. package/dist/esm/utils/edgeRegion.js +1 -2
  171. package/dist/esm/utils/identityCacheSweep.js +6 -10
  172. package/dist/esm/utils/oxyServiceEnvironment.js +3 -7
  173. package/dist/esm/utils/requestUtils.js +40 -33
  174. package/dist/esm/utils/sessionUtils.js +0 -2
  175. package/dist/esm/utils/tokenClaims.js +31 -0
  176. package/dist/types/HttpService.d.ts +47 -9
  177. package/dist/types/OxyServices.d.ts +160 -131
  178. package/dist/types/OxyServices.errors.d.ts +42 -0
  179. package/dist/types/api/accounts.d.ts +415 -0
  180. package/dist/types/api/agency.d.ts +135 -0
  181. package/dist/types/api/appData.d.ts +27 -0
  182. package/dist/types/api/apps.d.ts +433 -0
  183. package/dist/types/api/assets.d.ts +174 -0
  184. package/dist/types/api/auth.d.ts +766 -0
  185. package/dist/types/api/billing.d.ts +113 -0
  186. package/dist/types/api/civic.d.ts +203 -0
  187. package/dist/types/api/contacts.d.ts +31 -0
  188. package/{src/mixins/OxyServices.deviceBoot.ts → dist/types/api/devices.d.ts} +130 -110
  189. package/dist/types/api/follows.d.ts +236 -0
  190. package/dist/types/api/identity.d.ts +275 -0
  191. package/dist/types/api/linkedAccounts.d.ts +48 -0
  192. package/dist/types/api/nodes.d.ts +102 -0
  193. package/dist/types/api/notifications.d.ts +77 -0
  194. package/dist/types/api/privacy.d.ts +43 -0
  195. package/dist/types/api/reputation.d.ts +50 -0
  196. package/dist/types/api/session.d.ts +85 -0
  197. package/dist/types/api/store.d.ts +278 -0
  198. package/dist/types/api/topics.d.ts +34 -0
  199. package/dist/types/api/users.d.ts +134 -0
  200. package/dist/types/boot/sessionColdBoot.d.ts +1 -1
  201. package/dist/types/civic/index.d.ts +10 -0
  202. package/dist/types/civic/payloads.d.ts +83 -0
  203. package/dist/types/client/context.d.ts +33 -0
  204. package/dist/types/crypto/identityLink.d.ts +5 -5
  205. package/dist/types/crypto/index.d.ts +24 -0
  206. package/dist/types/crypto/internal.d.ts +19 -0
  207. package/dist/types/crypto/polyfill.d.ts +6 -9
  208. package/dist/types/crypto/registrationPow.d.ts +1 -1
  209. package/dist/types/i18n/accountCategoryLabels.d.ts +1 -1
  210. package/dist/types/i18n/accountRoleLabels.d.ts +1 -1
  211. package/dist/types/i18n/index.d.ts +20 -1
  212. package/dist/types/i18n/locales/ar-SA.d.ts +386 -0
  213. package/dist/types/i18n/locales/ca-ES.d.ts +386 -0
  214. package/dist/types/i18n/locales/de-DE.d.ts +386 -0
  215. package/dist/types/i18n/locales/en-US.d.ts +2034 -0
  216. package/dist/types/i18n/locales/es-ES.d.ts +2034 -0
  217. package/dist/types/i18n/locales/fr-FR.d.ts +386 -0
  218. package/dist/types/i18n/locales/it-IT.d.ts +386 -0
  219. package/dist/types/i18n/locales/ja-JP.d.ts +386 -0
  220. package/dist/types/i18n/locales/ko-KR.d.ts +386 -0
  221. package/dist/types/i18n/locales/pt-PT.d.ts +386 -0
  222. package/dist/types/i18n/locales/zh-CN.d.ts +386 -0
  223. package/dist/types/index.d.ts +46 -95
  224. package/dist/types/inference/index.d.ts +22 -0
  225. package/dist/types/models/interfaces.d.ts +1 -1
  226. package/dist/types/server/OxyServer.d.ts +183 -0
  227. package/dist/types/server/auth.d.ts +10 -7
  228. package/dist/types/server/index.d.ts +10 -4
  229. package/dist/types/server/middleware.d.ts +291 -0
  230. package/dist/types/server/namespaces.d.ts +98 -0
  231. package/dist/types/server/rateLimit.d.ts +7 -5
  232. package/dist/types/server/requesterAssertion.d.ts +14 -11
  233. package/dist/types/server/securityHeaders.d.ts +4 -5
  234. package/dist/types/server/userInvalidation.d.ts +10 -8
  235. package/dist/types/session/accountDelegationAccess.d.ts +1 -1
  236. package/dist/types/session/accountDialogController.d.ts +8 -8
  237. package/dist/types/session/accountSwitchTargets.d.ts +1 -1
  238. package/dist/types/session/authStateStore.d.ts +7 -6
  239. package/dist/types/session/index.d.ts +40 -0
  240. package/dist/types/utils/accountCacheSweep.d.ts +7 -10
  241. package/dist/types/utils/apiUtils.d.ts +3 -3
  242. package/dist/types/utils/asyncUtils.d.ts +11 -58
  243. package/dist/types/utils/authWebUrl.d.ts +3 -4
  244. package/dist/types/utils/avatarUtils.d.ts +5 -6
  245. package/dist/types/utils/cache.d.ts +11 -3
  246. package/dist/types/utils/commonsApproval.d.ts +1 -1
  247. package/dist/types/utils/edgeRegion.d.ts +1 -2
  248. package/dist/types/utils/identityCacheSweep.d.ts +6 -4
  249. package/dist/types/utils/oauthPkce.d.ts +2 -2
  250. package/dist/types/utils/oxyServiceEnvironment.d.ts +3 -7
  251. package/dist/types/utils/requestUtils.d.ts +18 -14
  252. package/dist/types/utils/tokenClaims.d.ts +9 -0
  253. package/package.json +68 -7
  254. package/src/HttpService.ts +201 -132
  255. package/src/OxyServices.errors.ts +73 -0
  256. package/src/OxyServices.ts +289 -164
  257. package/src/api/accounts.ts +579 -0
  258. package/src/api/agency.ts +277 -0
  259. package/src/api/appData.ts +63 -0
  260. package/src/api/apps.ts +596 -0
  261. package/src/api/assets.ts +416 -0
  262. package/src/api/auth.ts +1457 -0
  263. package/src/api/billing.ts +144 -0
  264. package/src/api/civic.ts +428 -0
  265. package/src/api/contacts.ts +41 -0
  266. package/src/api/devices.ts +438 -0
  267. package/src/api/follows.ts +414 -0
  268. package/src/api/identity.ts +727 -0
  269. package/src/api/linkedAccounts.ts +78 -0
  270. package/src/api/nodes.ts +169 -0
  271. package/src/api/notifications.ts +135 -0
  272. package/src/api/privacy.ts +120 -0
  273. package/src/api/reputation.ts +134 -0
  274. package/src/api/session.ts +210 -0
  275. package/src/api/store.ts +435 -0
  276. package/src/api/topics.ts +83 -0
  277. package/src/api/users.ts +357 -0
  278. package/src/boot/sessionColdBoot.ts +4 -4
  279. package/src/civic/index.ts +12 -0
  280. package/src/civic/payloads.ts +175 -0
  281. package/src/client/context.ts +34 -0
  282. package/src/crypto/identityLink.ts +5 -5
  283. package/src/crypto/index.ts +39 -0
  284. package/src/crypto/internal.ts +20 -0
  285. package/src/crypto/keyManager.ts +2 -2
  286. package/src/crypto/polyfill.ts +9 -89
  287. package/src/crypto/recoveryPhrase.ts +1 -0
  288. package/src/crypto/registrationPow.ts +1 -1
  289. package/src/crypto/signatureService.ts +1 -0
  290. package/src/i18n/accountCategoryLabels.ts +2 -2
  291. package/src/i18n/accountRoleLabels.ts +2 -2
  292. package/src/i18n/index.ts +105 -54
  293. package/src/i18n/locales/{ar-SA.json → ar-SA.ts} +132 -52
  294. package/src/i18n/locales/{ca-ES.json → ca-ES.ts} +132 -52
  295. package/{dist/cjs/i18n/locales/locales/de-DE.json → src/i18n/locales/de-DE.ts} +134 -54
  296. package/src/i18n/locales/{en-US.json → en-US.ts} +161 -245
  297. package/{dist/cjs/i18n/locales/locales/es-ES.json → src/i18n/locales/es-ES.ts} +161 -245
  298. package/src/i18n/locales/{fr-FR.json → fr-FR.ts} +132 -52
  299. package/src/i18n/locales/{it-IT.json → it-IT.ts} +132 -52
  300. package/{dist/cjs/i18n/locales/locales/ja-JP.json → src/i18n/locales/ja-JP.ts} +132 -52
  301. package/src/i18n/locales/{ko-KR.json → ko-KR.ts} +132 -52
  302. package/src/i18n/locales/{pt-PT.json → pt-PT.ts} +134 -54
  303. package/src/i18n/locales/{zh-CN.json → zh-CN.ts} +133 -53
  304. package/src/i18n/reputationCategoryLabels.ts +1 -1
  305. package/src/i18n/trustTierLabels.ts +1 -1
  306. package/src/index.ts +170 -501
  307. package/src/inference/index.ts +48 -0
  308. package/src/models/interfaces.ts +1 -1
  309. package/src/server/OxyServer.ts +637 -0
  310. package/src/server/auth.ts +12 -8
  311. package/src/server/index.ts +28 -5
  312. package/src/server/middleware.ts +1520 -0
  313. package/src/server/namespaces.ts +257 -0
  314. package/src/server/rateLimit.ts +10 -9
  315. package/src/server/requesterAssertion.ts +13 -10
  316. package/src/server/securityHeaders.ts +7 -8
  317. package/src/server/traffic.ts +6 -6
  318. package/src/server/trafficNodeHttp.ts +7 -3
  319. package/src/server/userInvalidation.ts +9 -9
  320. package/src/session/accountDelegationAccess.ts +1 -1
  321. package/src/session/accountDialogController.ts +24 -24
  322. package/src/session/accountSwitchTargets.ts +1 -1
  323. package/src/session/authStateStore.ts +9 -8
  324. package/src/session/identitySession.ts +3 -3
  325. package/src/session/index.ts +210 -0
  326. package/src/session/refresh.ts +36 -30
  327. package/src/session/sessionClientHost.ts +5 -5
  328. package/src/session/sharedDeviceCredential.ts +3 -2
  329. package/src/shared/utils/networkUtils.ts +2 -2
  330. package/src/utils/accountCacheSweep.ts +11 -15
  331. package/src/utils/apiUtils.ts +3 -3
  332. package/src/utils/asyncUtils.ts +38 -235
  333. package/src/utils/authHelpers.ts +2 -2
  334. package/src/utils/authWebUrl.ts +3 -4
  335. package/src/utils/avatarUtils.ts +4 -7
  336. package/src/utils/cache.ts +36 -5
  337. package/src/utils/cacheKey.ts +5 -9
  338. package/src/utils/commonsApproval.ts +1 -1
  339. package/src/utils/deviceManager.ts +17 -16
  340. package/src/utils/edgeRegion.ts +1 -2
  341. package/src/utils/identityCacheSweep.ts +7 -12
  342. package/src/utils/oauthPkce.ts +2 -2
  343. package/src/utils/oxyServiceEnvironment.ts +3 -7
  344. package/src/utils/requestUtils.ts +48 -44
  345. package/src/utils/sessionUtils.ts +0 -2
  346. package/src/utils/tokenClaims.ts +38 -0
  347. package/dist/cjs/.tsbuildinfo +0 -1
  348. package/dist/cjs/OxyServices.base.js +0 -392
  349. package/dist/cjs/i18n/locales/locales/ar-SA.json +0 -306
  350. package/dist/cjs/i18n/locales/locales/ca-ES.json +0 -306
  351. package/dist/cjs/i18n/locales/locales/en-US.json +0 -2127
  352. package/dist/cjs/i18n/locales/locales/fr-FR.json +0 -306
  353. package/dist/cjs/i18n/locales/locales/it-IT.json +0 -306
  354. package/dist/cjs/i18n/locales/locales/ko-KR.json +0 -306
  355. package/dist/cjs/i18n/locales/locales/pt-PT.json +0 -306
  356. package/dist/cjs/i18n/locales/locales/zh-CN.json +0 -306
  357. package/dist/cjs/mixins/OxyServices.accounts.js +0 -555
  358. package/dist/cjs/mixins/OxyServices.agency.js +0 -154
  359. package/dist/cjs/mixins/OxyServices.analytics.js +0 -49
  360. package/dist/cjs/mixins/OxyServices.appData.js +0 -108
  361. package/dist/cjs/mixins/OxyServices.assets.js +0 -854
  362. package/dist/cjs/mixins/OxyServices.auth.js +0 -1440
  363. package/dist/cjs/mixins/OxyServices.chains.js +0 -73
  364. package/dist/cjs/mixins/OxyServices.civic.js +0 -611
  365. package/dist/cjs/mixins/OxyServices.connectedApps.js +0 -95
  366. package/dist/cjs/mixins/OxyServices.contacts.js +0 -50
  367. package/dist/cjs/mixins/OxyServices.deviceBoot.js +0 -191
  368. package/dist/cjs/mixins/OxyServices.devices.js +0 -116
  369. package/dist/cjs/mixins/OxyServices.features.js +0 -335
  370. package/dist/cjs/mixins/OxyServices.followGraph.js +0 -221
  371. package/dist/cjs/mixins/OxyServices.identity.js +0 -562
  372. package/dist/cjs/mixins/OxyServices.identityBackup.js +0 -172
  373. package/dist/cjs/mixins/OxyServices.inference.js +0 -59
  374. package/dist/cjs/mixins/OxyServices.language.js +0 -125
  375. package/dist/cjs/mixins/OxyServices.linkedAccounts.js +0 -79
  376. package/dist/cjs/mixins/OxyServices.location.js +0 -43
  377. package/dist/cjs/mixins/OxyServices.nodes.js +0 -175
  378. package/dist/cjs/mixins/OxyServices.notifications.js +0 -63
  379. package/dist/cjs/mixins/OxyServices.payment.js +0 -158
  380. package/dist/cjs/mixins/OxyServices.privacy.js +0 -199
  381. package/dist/cjs/mixins/OxyServices.reputation.js +0 -289
  382. package/dist/cjs/mixins/OxyServices.security.js +0 -89
  383. package/dist/cjs/mixins/OxyServices.store.js +0 -266
  384. package/dist/cjs/mixins/OxyServices.topics.js +0 -137
  385. package/dist/cjs/mixins/OxyServices.user.js +0 -954
  386. package/dist/cjs/mixins/OxyServices.utility.js +0 -1402
  387. package/dist/cjs/mixins/index.js +0 -136
  388. package/dist/cjs/mixins/mixinHelpers.js +0 -53
  389. package/dist/cjs/utils/webauthnOrigin.js +0 -51
  390. package/dist/esm/.tsbuildinfo +0 -1
  391. package/dist/esm/OxyServices.base.js +0 -388
  392. package/dist/esm/i18n/locales/locales/ar-SA.json +0 -306
  393. package/dist/esm/i18n/locales/locales/ca-ES.json +0 -306
  394. package/dist/esm/i18n/locales/locales/de-DE.json +0 -306
  395. package/dist/esm/i18n/locales/locales/en-US.json +0 -2127
  396. package/dist/esm/i18n/locales/locales/es-ES.json +0 -2127
  397. package/dist/esm/i18n/locales/locales/fr-FR.json +0 -306
  398. package/dist/esm/i18n/locales/locales/it-IT.json +0 -306
  399. package/dist/esm/i18n/locales/locales/ja-JP.json +0 -306
  400. package/dist/esm/i18n/locales/locales/ko-KR.json +0 -306
  401. package/dist/esm/i18n/locales/locales/pt-PT.json +0 -306
  402. package/dist/esm/i18n/locales/locales/zh-CN.json +0 -306
  403. package/dist/esm/mixins/OxyServices.accounts.js +0 -543
  404. package/dist/esm/mixins/OxyServices.agency.js +0 -151
  405. package/dist/esm/mixins/OxyServices.analytics.js +0 -46
  406. package/dist/esm/mixins/OxyServices.appData.js +0 -103
  407. package/dist/esm/mixins/OxyServices.assets.js +0 -851
  408. package/dist/esm/mixins/OxyServices.auth.js +0 -1400
  409. package/dist/esm/mixins/OxyServices.chains.js +0 -70
  410. package/dist/esm/mixins/OxyServices.civic.js +0 -605
  411. package/dist/esm/mixins/OxyServices.connectedApps.js +0 -92
  412. package/dist/esm/mixins/OxyServices.contacts.js +0 -47
  413. package/dist/esm/mixins/OxyServices.deviceBoot.js +0 -186
  414. package/dist/esm/mixins/OxyServices.devices.js +0 -113
  415. package/dist/esm/mixins/OxyServices.features.js +0 -332
  416. package/dist/esm/mixins/OxyServices.followGraph.js +0 -218
  417. package/dist/esm/mixins/OxyServices.identity.js +0 -558
  418. package/dist/esm/mixins/OxyServices.identityBackup.js +0 -169
  419. package/dist/esm/mixins/OxyServices.inference.js +0 -56
  420. package/dist/esm/mixins/OxyServices.language.js +0 -122
  421. package/dist/esm/mixins/OxyServices.linkedAccounts.js +0 -76
  422. package/dist/esm/mixins/OxyServices.location.js +0 -40
  423. package/dist/esm/mixins/OxyServices.nodes.js +0 -172
  424. package/dist/esm/mixins/OxyServices.notifications.js +0 -60
  425. package/dist/esm/mixins/OxyServices.payment.js +0 -155
  426. package/dist/esm/mixins/OxyServices.privacy.js +0 -196
  427. package/dist/esm/mixins/OxyServices.reputation.js +0 -286
  428. package/dist/esm/mixins/OxyServices.security.js +0 -86
  429. package/dist/esm/mixins/OxyServices.store.js +0 -263
  430. package/dist/esm/mixins/OxyServices.topics.js +0 -134
  431. package/dist/esm/mixins/OxyServices.user.js +0 -951
  432. package/dist/esm/mixins/OxyServices.utility.js +0 -1397
  433. package/dist/esm/mixins/index.js +0 -133
  434. package/dist/esm/mixins/mixinHelpers.js +0 -48
  435. package/dist/esm/utils/webauthnOrigin.js +0 -48
  436. package/dist/types/.tsbuildinfo +0 -1
  437. package/dist/types/OxyServices.base.d.ts +0 -189
  438. package/dist/types/mixins/OxyServices.accounts.d.ts +0 -868
  439. package/dist/types/mixins/OxyServices.agency.d.ts +0 -176
  440. package/dist/types/mixins/OxyServices.analytics.d.ts +0 -72
  441. package/dist/types/mixins/OxyServices.appData.d.ts +0 -108
  442. package/dist/types/mixins/OxyServices.assets.d.ts +0 -371
  443. package/dist/types/mixins/OxyServices.auth.d.ts +0 -965
  444. package/dist/types/mixins/OxyServices.chains.d.ts +0 -156
  445. package/dist/types/mixins/OxyServices.civic.d.ts +0 -520
  446. package/dist/types/mixins/OxyServices.connectedApps.d.ts +0 -184
  447. package/dist/types/mixins/OxyServices.contacts.d.ts +0 -100
  448. package/dist/types/mixins/OxyServices.deviceBoot.d.ts +0 -185
  449. package/dist/types/mixins/OxyServices.devices.d.ts +0 -103
  450. package/dist/types/mixins/OxyServices.features.d.ts +0 -250
  451. package/dist/types/mixins/OxyServices.followGraph.d.ts +0 -223
  452. package/dist/types/mixins/OxyServices.identity.d.ts +0 -337
  453. package/dist/types/mixins/OxyServices.identityBackup.d.ts +0 -129
  454. package/dist/types/mixins/OxyServices.inference.d.ts +0 -95
  455. package/dist/types/mixins/OxyServices.language.d.ts +0 -87
  456. package/dist/types/mixins/OxyServices.linkedAccounts.d.ts +0 -107
  457. package/dist/types/mixins/OxyServices.location.d.ts +0 -70
  458. package/dist/types/mixins/OxyServices.nodes.d.ts +0 -198
  459. package/dist/types/mixins/OxyServices.notifications.d.ts +0 -143
  460. package/dist/types/mixins/OxyServices.payment.d.ts +0 -117
  461. package/dist/types/mixins/OxyServices.privacy.d.ts +0 -146
  462. package/dist/types/mixins/OxyServices.reputation.d.ts +0 -202
  463. package/dist/types/mixins/OxyServices.security.d.ts +0 -84
  464. package/dist/types/mixins/OxyServices.store.d.ts +0 -334
  465. package/dist/types/mixins/OxyServices.topics.d.ts +0 -110
  466. package/dist/types/mixins/OxyServices.user.d.ts +0 -600
  467. package/dist/types/mixins/OxyServices.utility.d.ts +0 -526
  468. package/dist/types/mixins/index.d.ts +0 -87
  469. package/dist/types/mixins/mixinHelpers.d.ts +0 -31
  470. package/dist/types/utils/webauthnOrigin.d.ts +0 -32
  471. package/src/OxyServices.base.ts +0 -480
  472. package/src/__tests__/authSocket.test.ts +0 -96
  473. package/src/__tests__/fixEsmImports.test.ts +0 -132
  474. package/src/__tests__/httpServiceAbort.test.ts +0 -308
  475. package/src/__tests__/httpServiceActivityId.test.ts +0 -49
  476. package/src/__tests__/httpServiceAuthSelfAwait.test.ts +0 -108
  477. package/src/__tests__/httpServiceCache.test.ts +0 -318
  478. package/src/__tests__/httpServiceFormEncoded.test.ts +0 -139
  479. package/src/__tests__/httpServiceQueueDeadlock.test.ts +0 -128
  480. package/src/__tests__/httpServiceRateLimitedRefresh.test.ts +0 -160
  481. package/src/__tests__/httpServiceUnwrapEnvelope.test.ts +0 -115
  482. package/src/__tests__/httpServiceWrites.test.ts +0 -175
  483. package/src/__tests__/inSessionRefresh.test.ts +0 -313
  484. package/src/__tests__/linkedClient.test.ts +0 -363
  485. package/src/__tests__/nearExpiryMintStorm.test.ts +0 -165
  486. package/src/__tests__/parseHttpErrorBody.test.ts +0 -116
  487. package/src/__tests__/publicInterfaceParity.test.ts +0 -75
  488. package/src/__tests__/serverValueImportsDeclared.test.ts +0 -120
  489. package/src/__tests__/serviceTokenWorkloadFallback.test.ts +0 -85
  490. package/src/__tests__/userIdentity.test.ts +0 -143
  491. package/src/boot/__tests__/sessionColdBoot.identity.test.ts +0 -393
  492. package/src/boot/__tests__/sessionColdBoot.sharedDevice.test.ts +0 -325
  493. package/src/boot/__tests__/sessionColdBoot.test.ts +0 -570
  494. package/src/crypto/__tests__/backupMaterial.test.ts +0 -86
  495. package/src/crypto/__tests__/cryptoPrimitives.test.ts +0 -226
  496. package/src/crypto/__tests__/identityLink.test.ts +0 -18
  497. package/src/crypto/__tests__/identityMocks.ts +0 -125
  498. package/src/crypto/__tests__/identityProof.test.ts +0 -81
  499. package/src/crypto/__tests__/keyManager.atomicity.test.ts +0 -272
  500. package/src/crypto/__tests__/keyManager.cacheSafety.test.ts +0 -175
  501. package/src/crypto/__tests__/keyManager.deviceBackup.test.ts +0 -310
  502. package/src/crypto/__tests__/keyManager.identityStatus.test.ts +0 -217
  503. package/src/crypto/__tests__/keyManager.recoveryLadder.test.ts +0 -179
  504. package/src/crypto/__tests__/keyManager.recoveryMnemonic.test.ts +0 -138
  505. package/src/crypto/__tests__/keyManager.sharedSlotSync.test.ts +0 -150
  506. package/src/crypto/__tests__/keyManager.storageMigration.test.ts +0 -227
  507. package/src/crypto/__tests__/keyManager.test.ts +0 -329
  508. package/src/crypto/__tests__/polyfill.test.ts +0 -109
  509. package/src/crypto/__tests__/polyfillOrder.test.ts +0 -114
  510. package/src/crypto/__tests__/recoveryPhrase.test.ts +0 -61
  511. package/src/crypto/__tests__/registrationPow.test.ts +0 -61
  512. package/src/crypto/__tests__/scopedSeed.test.ts +0 -126
  513. package/src/crypto/__tests__/signChallengeShared.test.ts +0 -63
  514. package/src/crypto/__tests__/signedRecord.test.ts +0 -230
  515. package/src/i18n/__tests__/accountCategoryLabels.test.ts +0 -62
  516. package/src/i18n/__tests__/accountRoleLabels.test.ts +0 -54
  517. package/src/i18n/__tests__/reputationCategoryLabels.test.ts +0 -56
  518. package/src/i18n/__tests__/trustTierLabels.test.ts +0 -47
  519. package/src/i18n/locales/de-DE.json +0 -306
  520. package/src/i18n/locales/es-ES.json +0 -2127
  521. package/src/i18n/locales/ja-JP.json +0 -306
  522. package/src/inference/__tests__/OxyInferenceClient.test.ts +0 -899
  523. package/src/logger/__tests__/logger.test.ts +0 -207
  524. package/src/mixins/OxyServices.accounts.ts +0 -1330
  525. package/src/mixins/OxyServices.agency.ts +0 -353
  526. package/src/mixins/OxyServices.analytics.ts +0 -53
  527. package/src/mixins/OxyServices.appData.ts +0 -158
  528. package/src/mixins/OxyServices.assets.ts +0 -964
  529. package/src/mixins/OxyServices.auth.ts +0 -2028
  530. package/src/mixins/OxyServices.chains.ts +0 -134
  531. package/src/mixins/OxyServices.civic.ts +0 -945
  532. package/src/mixins/OxyServices.connectedApps.ts +0 -212
  533. package/src/mixins/OxyServices.contacts.ts +0 -73
  534. package/src/mixins/OxyServices.devices.ts +0 -120
  535. package/src/mixins/OxyServices.features.ts +0 -454
  536. package/src/mixins/OxyServices.followGraph.ts +0 -293
  537. package/src/mixins/OxyServices.identity.ts +0 -787
  538. package/src/mixins/OxyServices.identityBackup.ts +0 -250
  539. package/src/mixins/OxyServices.inference.ts +0 -57
  540. package/src/mixins/OxyServices.language.ts +0 -144
  541. package/src/mixins/OxyServices.linkedAccounts.ts +0 -129
  542. package/src/mixins/OxyServices.location.ts +0 -46
  543. package/src/mixins/OxyServices.nodes.ts +0 -337
  544. package/src/mixins/OxyServices.notifications.ts +0 -142
  545. package/src/mixins/OxyServices.payment.ts +0 -163
  546. package/src/mixins/OxyServices.privacy.ts +0 -219
  547. package/src/mixins/OxyServices.reputation.ts +0 -436
  548. package/src/mixins/OxyServices.security.ts +0 -110
  549. package/src/mixins/OxyServices.store.ts +0 -585
  550. package/src/mixins/OxyServices.topics.ts +0 -169
  551. package/src/mixins/OxyServices.user.ts +0 -1208
  552. package/src/mixins/OxyServices.utility.ts +0 -1803
  553. package/src/mixins/__tests__/OxyServices.civic.test.ts +0 -1095
  554. package/src/mixins/__tests__/OxyServices.deviceBoot.test.ts +0 -124
  555. package/src/mixins/__tests__/OxyServices.identity.test.ts +0 -301
  556. package/src/mixins/__tests__/OxyServices.nodes.test.ts +0 -341
  557. package/src/mixins/__tests__/OxyServices.rotateKey.test.ts +0 -323
  558. package/src/mixins/__tests__/OxyServices.serviceAssetMetadata.test.ts +0 -192
  559. package/src/mixins/__tests__/OxyServices.serviceAssetMetadataBySha.test.ts +0 -135
  560. package/src/mixins/__tests__/OxyServices.serviceLinkedDownloadUrl.test.ts +0 -139
  561. package/src/mixins/__tests__/accountEvents.test.ts +0 -158
  562. package/src/mixins/__tests__/accounts.test.ts +0 -727
  563. package/src/mixins/__tests__/agency.test.ts +0 -120
  564. package/src/mixins/__tests__/appData.test.ts +0 -203
  565. package/src/mixins/__tests__/assetCredentials.test.ts +0 -47
  566. package/src/mixins/__tests__/assetUpload.test.ts +0 -191
  567. package/src/mixins/__tests__/authRefusalObservability.test.ts +0 -396
  568. package/src/mixins/__tests__/backgroundCredential.httpIntegration.test.ts +0 -130
  569. package/src/mixins/__tests__/chains.test.ts +0 -113
  570. package/src/mixins/__tests__/commonsSignIn.test.ts +0 -1147
  571. package/src/mixins/__tests__/connectedApps.test.ts +0 -146
  572. package/src/mixins/__tests__/deviceTokenMintPinned.test.ts +0 -113
  573. package/src/mixins/__tests__/discoveryErrorHandling.test.ts +0 -265
  574. package/src/mixins/__tests__/followCacheInvalidation.test.ts +0 -173
  575. package/src/mixins/__tests__/followGraph.test.ts +0 -147
  576. package/src/mixins/__tests__/followGraphPagination.test.ts +0 -271
  577. package/src/mixins/__tests__/getFileDownloadUrl.test.ts +0 -346
  578. package/src/mixins/__tests__/getFollowStatuses.test.ts +0 -95
  579. package/src/mixins/__tests__/getUsersByIds.test.ts +0 -176
  580. package/src/mixins/__tests__/identityBackup.test.ts +0 -315
  581. package/src/mixins/__tests__/identityLink.test.ts +0 -89
  582. package/src/mixins/__tests__/identityWriteCacheInvalidation.test.ts +0 -407
  583. package/src/mixins/__tests__/inferenceFactory.test.ts +0 -58
  584. package/src/mixins/__tests__/linkedAccounts.test.ts +0 -109
  585. package/src/mixins/__tests__/notifications.read.test.ts +0 -82
  586. package/src/mixins/__tests__/onTokensChanged.test.ts +0 -129
  587. package/src/mixins/__tests__/preSessionSkipAuth.test.ts +0 -284
  588. package/src/mixins/__tests__/privacyCacheInvalidation.test.ts +0 -155
  589. package/src/mixins/__tests__/reputation.test.ts +0 -522
  590. package/src/mixins/__tests__/serviceAuth.test.ts +0 -889
  591. package/src/mixins/__tests__/serviceTokenJwks.test.ts +0 -208
  592. package/src/mixins/__tests__/store.test.ts +0 -304
  593. package/src/mixins/__tests__/topics.test.ts +0 -155
  594. package/src/mixins/__tests__/userReadCacheBypass.test.ts +0 -129
  595. package/src/mixins/__tests__/userTokenAuth.test.ts +0 -746
  596. package/src/mixins/__tests__/verifyChallenge.test.ts +0 -161
  597. package/src/mixins/__tests__/verifyServiceActingAs.test.ts +0 -167
  598. package/src/mixins/__tests__/webauthnAuth.test.ts +0 -279
  599. package/src/mixins/index.ts +0 -203
  600. package/src/mixins/mixinHelpers.ts +0 -69
  601. package/src/server/__tests__/auth.test.ts +0 -78
  602. package/src/server/__tests__/capabilityTicket.test.ts +0 -111
  603. package/src/server/__tests__/cors.socket.test.ts +0 -225
  604. package/src/server/__tests__/cors.test.ts +0 -158
  605. package/src/server/__tests__/rateLimit.test.ts +0 -257
  606. package/src/server/__tests__/requesterAssertion.test.ts +0 -359
  607. package/src/server/__tests__/safeFetch.test.ts +0 -232
  608. package/src/server/__tests__/securityHeaders.test.ts +0 -387
  609. package/src/server/__tests__/serviceTokenAttribution.test.ts +0 -396
  610. package/src/server/__tests__/traffic.test.ts +0 -180
  611. package/src/server/__tests__/trafficNodeHttp.test.ts +0 -38
  612. package/src/server/__tests__/userInvalidation.test.ts +0 -203
  613. package/src/server/__tests__/verifySecret.test.ts +0 -40
  614. package/src/server/__tests__/workloadIdentity.client.test.ts +0 -16
  615. package/src/server/__tests__/workloadIdentity.test.ts +0 -128
  616. package/src/session/__tests__/SessionClient.additive.test.ts +0 -153
  617. package/src/session/__tests__/SessionClient.broadcastChannel.test.ts +0 -114
  618. package/src/session/__tests__/SessionClient.diagnostics.test.ts +0 -91
  619. package/src/session/__tests__/SessionClient.directory.test.ts +0 -688
  620. package/src/session/__tests__/SessionClient.httpIntegration.test.ts +0 -65
  621. package/src/session/__tests__/SessionClient.identityPin.test.ts +0 -175
  622. package/src/session/__tests__/SessionClient.rest.test.ts +0 -119
  623. package/src/session/__tests__/SessionClient.serverEvents.test.ts +0 -72
  624. package/src/session/__tests__/SessionClient.socket.test.ts +0 -202
  625. package/src/session/__tests__/SessionClient.socketFactory.test.ts +0 -81
  626. package/src/session/__tests__/SessionClient.state.test.ts +0 -78
  627. package/src/session/__tests__/SessionClient.switchTokenOrder.test.ts +0 -170
  628. package/src/session/__tests__/accountDelegationAccess.test.ts +0 -104
  629. package/src/session/__tests__/accountDialogController.test.ts +0 -2502
  630. package/src/session/__tests__/accountDialogShape.test.ts +0 -120
  631. package/src/session/__tests__/accountSwitchTargets.test.ts +0 -137
  632. package/src/session/__tests__/authStateStore.test.ts +0 -451
  633. package/src/session/__tests__/deviceDirectory.test.ts +0 -422
  634. package/src/session/__tests__/deviceSwitcherRows.test.ts +0 -223
  635. package/src/session/__tests__/identityPin.test.ts +0 -131
  636. package/src/session/__tests__/identitySession.test.ts +0 -194
  637. package/src/session/__tests__/projectSessionState.test.ts +0 -105
  638. package/src/session/__tests__/refresh.identityPin.test.ts +0 -307
  639. package/src/session/__tests__/refresh.test.ts +0 -606
  640. package/src/session/__tests__/sessionIntegration.test.ts +0 -209
  641. package/src/session/__tests__/sharedDeviceCredential.test.ts +0 -300
  642. package/src/utils/__tests__/accountUtils.test.ts +0 -151
  643. package/src/utils/__tests__/activityId.test.ts +0 -45
  644. package/src/utils/__tests__/asyncUtils.test.ts +0 -279
  645. package/src/utils/__tests__/authWebUrl.test.ts +0 -15
  646. package/src/utils/__tests__/cacheKey.test.ts +0 -0
  647. package/src/utils/__tests__/cacheLifecycle.test.ts +0 -65
  648. package/src/utils/__tests__/coldBoot.test.ts +0 -496
  649. package/src/utils/__tests__/commonsApproval.test.ts +0 -60
  650. package/src/utils/__tests__/identityCacheSweep.test.ts +0 -151
  651. package/src/utils/__tests__/languageUtils.test.ts +0 -244
  652. package/src/utils/__tests__/oauthPkce.test.ts +0 -303
  653. package/src/utils/__tests__/officialOrigins.test.ts +0 -31
  654. package/src/utils/__tests__/oxyServiceEnvironment.test.ts +0 -7
  655. package/src/utils/__tests__/profileLinks.test.ts +0 -180
  656. package/src/utils/__tests__/redactUrl.test.ts +0 -33
  657. package/src/utils/__tests__/registrableApex.test.ts +0 -62
  658. package/src/utils/__tests__/requestUtilsAbort.test.ts +0 -155
  659. package/src/utils/__tests__/textNormalization.test.ts +0 -205
  660. package/src/utils/__tests__/validationUtils.test.ts +0 -703
  661. package/src/utils/__tests__/webauthnOrigin.test.ts +0 -83
  662. package/src/utils/webauthnOrigin.ts +0 -52
@@ -1,2127 +0,0 @@
1
- {
2
- "signin": {
3
- "title": "Sign in",
4
- "subtitle": "Use your Oxy account",
5
- "chooser": {
6
- "title": "Choose an account",
7
- "subtitle": "Continue as an account below, or use another.",
8
- "useAnother": "Use another account",
9
- "continueAs": "Continue as {{name}}",
10
- "subtitleToApp": "to continue to {{app}}"
11
- },
12
- "addAccountTitle": "Add another account",
13
- "addAccountSubtitle": "Sign in with another account",
14
- "username": {
15
- "label": "Username",
16
- "placeholder": "yourname",
17
- "required": "Please enter your username."
18
- },
19
- "actions": {
20
- "continue": "Continue",
21
- "back": "Back"
22
- },
23
- "createAccountLink": "New to Oxy? Create one",
24
- "status": {
25
- "signingIn": "Signing in…"
26
- },
27
- "errors": {
28
- "notConfigured": "Sign-in isn't available",
29
- "notConfiguredDescription": "{{app}} isn't set up for sign-in yet. Contact the app's developer.",
30
- "failed": "Couldn't start sign-in",
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"
54
- },
55
- "signup": {
56
- "title": "Create your account",
57
- "subtitle": "One identity for the whole ecosystem.",
58
- "createInCommons": "Create your identity in Commons",
59
- "createAccount": "Create account",
60
- "backToSignInLink": "Already have an account? Sign in",
61
- "webSubtitle": "No password: your device makes a passkey, and a recovery email gets you back in if you lose it.",
62
- "username": {
63
- "label": "Username",
64
- "placeholder": "yourname",
65
- "required": "Choose a username.",
66
- "taken": "That username is taken."
67
- },
68
- "email": {
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"
81
- },
82
- "welcomeNew": {
83
- "navTitle": "Welcome",
84
- "welcome": {
85
- "titleWithName": "Welcome, {{username}} 👋",
86
- "title": "Welcome 👋",
87
- "body": "You just created an account in a calm, ethical space. A few quick things — then you're in."
88
- },
89
- "account": {
90
- "title": "One Account. Simple.",
91
- "bullets": [
92
- "One identity across everything",
93
- "No re-signing in all the time",
94
- "Your preferences stay with you"
95
- ]
96
- },
97
- "principles": {
98
- "title": "What We Stand For",
99
- "bullets": [
100
- "Privacy by default",
101
- "No manipulative feeds",
102
- "You decide what to share",
103
- "No selling your data"
104
- ]
105
- },
106
- "reputation": {
107
- "title": "Reputation = Trust & Growth",
108
- "body": "Oxy Trust is a reputation system that reacts to what you do. Helpful, respectful, constructive actions earn it. Harmful or low‑effort stuff chips it away. More reputation can unlock benefits; low reputation can limit features. It keeps things fair and rewards real contribution."
109
- },
110
- "name": {
111
- "title": "What's your name?",
112
- "body": "Add your name so people know who you are.",
113
- "firstLabel": "First name",
114
- "firstPlaceholder": "Your first name",
115
- "lastLabel": "Last name",
116
- "lastPlaceholder": "Your last name",
117
- "saveFailed": "Could not save your name"
118
- },
119
- "avatar": {
120
- "title": "Make It Yours",
121
- "body": "Add an avatar so people recognize you. It will show anywhere you show up here. Skip if you want — you can add it later.",
122
- "add": "Add Avatar",
123
- "change": "Change Avatar"
124
- },
125
- "ready": {
126
- "title": "You're Ready",
127
- "body": "Explore. Contribute. Earn reputation. Stay in control."
128
- },
129
- "actions": {
130
- "back": "Back",
131
- "next": "Next",
132
- "skip": "Skip",
133
- "enter": "Enter",
134
- "continue": "Continue"
135
- },
136
- "trust": {
137
- "title": "Oxy Trust = Trust & Growth",
138
- "body": "Oxy Trust is a reputation system that reacts to what you do. Helpful, respectful, constructive actions earn reputation. Harmful or low‑effort stuff chips it away. More reputation raises your trust tier and can unlock benefits; low reputation can limit features. It keeps things fair and rewards real contribution."
139
- }
140
- },
141
- "language": {
142
- "title": "Language",
143
- "subtitle": "Choose the languages you use. The first is your primary interface language.",
144
- "current": "Current Language",
145
- "selected": "Your languages",
146
- "available": "Available Languages",
147
- "primary": "Primary",
148
- "remove": "Remove",
149
- "changed": "Language changed to {{lang}}",
150
- "saveFailed": "Failed to save language preference",
151
- "search": "Search languages"
152
- },
153
- "profile": {
154
- "title": "Profile",
155
- "edit": "Edit Profile",
156
- "noBio": "This user has no bio yet.",
157
- "joinedOn": "Joined {{date}}",
158
- "bornOn": "Born {{date}}",
159
- "reputation": "Reputation",
160
- "followers": "Followers",
161
- "following": "Following",
162
- "more": "+ {{count}} more",
163
- "errorTitle": "Profile Error",
164
- "errorSubtext": "This could happen if the user doesn't exist or the profile service is unavailable."
165
- },
166
- "feedback": {
167
- "type": {
168
- "title": "What type of feedback?",
169
- "subtitle": "Choose the category that best describes your feedback"
170
- },
171
- "category": {
172
- "label": "Category"
173
- },
174
- "details": {
175
- "title": "Tell us more",
176
- "subtitle": "Provide details about your feedback"
177
- },
178
- "fields": {
179
- "title": {
180
- "label": "Title",
181
- "placeholder": "Brief summary of your feedback"
182
- },
183
- "description": {
184
- "label": "Description",
185
- "placeholder": "Please provide detailed information..."
186
- },
187
- "email": {
188
- "label": "Email Address",
189
- "placeholder": "Enter your email address"
190
- }
191
- },
192
- "priority": {
193
- "label": "Priority Level"
194
- },
195
- "contact": {
196
- "title": "Contact Information",
197
- "subtitle": "Help us get back to you",
198
- "includeSystemInfo": "Include system information to help us better understand your issue"
199
- },
200
- "summary": {
201
- "title": "Summary",
202
- "subtitle": "Please review your feedback before submitting",
203
- "type": "Type:",
204
- "priority": "Priority:",
205
- "category": "Category:",
206
- "titleLabel": "Title:",
207
- "contact": "Contact:",
208
- "titleField": "Title:"
209
- },
210
- "actions": {
211
- "submit": "Submit Feedback",
212
- "submitAnother": "Submit Another"
213
- },
214
- "success": {
215
- "thanks": "Thank You!",
216
- "message": "Your feedback has been submitted successfully. We'll review it and get back to you soon."
217
- },
218
- "toasts": {
219
- "fillRequired": "Please fill in all required fields",
220
- "thanks": "Thank you for your feedback!",
221
- "submitFailed": "Failed to submit feedback",
222
- "submitSuccess": "Feedback submitted successfully!"
223
- },
224
- "title": "Feedback",
225
- "subtitle": "Tell us what you think"
226
- },
227
- "recover": {
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"
242
- },
243
- "accountCenter": {
244
- "sections": {
245
- "quickActions": "Quick Actions",
246
- "accountManagement": "Account Management",
247
- "multiAccount": "Multi-Account",
248
- "addAccount": "Add Account",
249
- "moreOptions": "More Options",
250
- "accounts": "Accounts"
251
- },
252
- "quickActions": {
253
- "overview": "Overview",
254
- "editProfile": "Edit Profile",
255
- "sessions": "Sessions",
256
- "premium": "Premium",
257
- "billing": "Billing",
258
- "switch": "Switch"
259
- },
260
- "items": {
261
- "accountOverview": {
262
- "title": "Account Overview",
263
- "subtitle": "Complete account information"
264
- },
265
- "editProfile": {
266
- "title": "Edit Profile",
267
- "subtitle": "Manage your profile and preferences"
268
- },
269
- "manageSessions": {
270
- "title": "Manage Sessions",
271
- "subtitle": "Security and active devices"
272
- },
273
- "fileManagement": {
274
- "title": "File Management",
275
- "subtitle": "Upload, download, and manage your files"
276
- },
277
- "premium": {
278
- "title": "Oxy+ Subscriptions",
279
- "manage": "Manage your premium plan",
280
- "upgrade": "Upgrade to premium features"
281
- },
282
- "billing": {
283
- "title": "Billing Management",
284
- "subtitle": "Payment methods and invoices"
285
- },
286
- "switchAccount": {
287
- "title": "Switch Account",
288
- "subtitle": "{{count}} accounts available"
289
- },
290
- "addAccount": {
291
- "title": "Add Another Account",
292
- "subtitle": "Sign in with a different account"
293
- },
294
- "notifications": {
295
- "title": "Notifications",
296
- "subtitle": "Manage notification settings",
297
- "coming": "Notifications feature coming soon!"
298
- },
299
- "appInfo": {
300
- "title": "App Information",
301
- "subtitle": "Version and system details"
302
- }
303
- },
304
- "signingOut": "Signing out...",
305
- "version": "Version {{version}}"
306
- },
307
- "accountSwitcher": {
308
- "loading": "Loading accounts...",
309
- "toasts": {
310
- "contextRemoved": "Removed {{account}}",
311
- "contextRemoveFailed": "There was a problem removing that account. Please try again.",
312
- "principalRemoved": "Signed {{name}} out of this device",
313
- "principalRemoveFailed": "There was a problem signing that person out. Please try again.",
314
- "activateFailed": "There was a problem switching accounts. Please try again."
315
- },
316
- "confirms": {
317
- "removeContextTitle": "Remove this account?",
318
- "removeContext": "Stop {{person}} acting as {{account}} on this device? Anyone else who reaches {{account}} here keeps their access.",
319
- "removePrincipalTitle": "Sign out of this device?",
320
- "removePrincipal": "Sign {{name}} out of this device? Every account they reach here is removed. Nobody else is affected."
321
- },
322
- "scanQr": "Scan QR code",
323
- "qrHeadline": "Sign in with your Oxy identity",
324
- "signInWithOxy": "Sign in with Oxy",
325
- "signUpWithOxy": "Sign up with Oxy",
326
- "useIdentityOnDevice": "No Commons? Use a passkey on this device instead",
327
- "getCommons": "Get Commons",
328
- "commonsNotInstalled": "Don't have Commons? Get the app to sign in with your Oxy ID.",
329
- "showQrAnyway": "I have Commons on another device",
330
- "switchWhileSignedInAs": "Switch account, signed in as {{name}}",
331
- "manageOnDevice": "Manage accounts on this device",
332
- "continueWithOxy": "Continue with Oxy",
333
- "havingTrouble": "Having trouble?",
334
- "progress": {
335
- "preparing": "Preparing request",
336
- "awaitingApproval": "Waiting for approval",
337
- "scanWithCommons": "Scan with Commons on your phone",
338
- "continueInCommons": "Continue in Commons",
339
- "checkCommons": "Check Commons on your phone",
340
- "openedInCommons": "Opened in Commons",
341
- "confirming": "Confirming identity",
342
- "confirmed": "Identity confirmed"
343
- },
344
- "context": {
345
- "unavailable": "Unavailable right now",
346
- "operatedBy": "Operated by {{name}}",
347
- "remove": "Remove {{account}} from {{person}}"
348
- },
349
- "principal": {
350
- "signOut": "Sign {{name}} out of this device"
351
- },
352
- "signInFailures": {
353
- "denied": "Sign-in was declined in Commons.",
354
- "expired": "This sign-in request expired. Please try again.",
355
- "network": "Couldn't reach Oxy. Check your connection and try again.",
356
- "notConfigured": "This app isn't set up for sign-in yet.",
357
- "unsupportedFlow": "This sign-in can't be completed here.",
358
- "claimFailed": "Sign-in was approved, but we couldn't finish it. Please try again.",
359
- "generic": "Sign-in failed. Please try again."
360
- },
361
- "linkOpenFailed": "Couldn't open that link. Please try again."
362
- },
363
- "reputation": {
364
- "faq": {
365
- "title": "Reputation FAQ",
366
- "subtitle": "Frequently asked questions about reputation",
367
- "search": "Search FAQ...",
368
- "noResults": "No FAQ items found matching \"{{query}}\"",
369
- "items": {
370
- "what": {
371
- "q": "What is reputation?",
372
- "a": "Reputation is a recognition of your positive actions in the Oxy Ecosystem. It cannot be sent or received directly."
373
- },
374
- "earn": {
375
- "q": "How do I earn reputation?",
376
- "a": "By helping others, reporting bugs, contributing content, and participating in community events."
377
- },
378
- "lose": {
379
- "q": "Can I lose reputation?",
380
- "a": "Reputation may be reduced for negative actions or breaking community rules."
381
- },
382
- "use": {
383
- "q": "What can I do with reputation?",
384
- "a": "Unlock rewards, badges, and special features as you earn more reputation."
385
- },
386
- "transfer": {
387
- "q": "Can I transfer reputation to others?",
388
- "a": "No, reputation cannot be sent or received. It is only earned by your actions."
389
- },
390
- "support": {
391
- "q": "How do I get support?",
392
- "a": "Contact Oxy support via the app or website for any reputation-related questions."
393
- }
394
- }
395
- },
396
- "rules": {
397
- "title": "Reputation Rules",
398
- "subtitle": "How to earn reputation points",
399
- "empty": "No rules found."
400
- },
401
- "leaderboard": {
402
- "title": "Reputation Leaderboard",
403
- "subtitle": "Top contributors in the community",
404
- "empty": "No leaderboard data."
405
- },
406
- "rewards": {
407
- "title": "Reputation Rewards",
408
- "subtitle": "Unlock special features and recognition",
409
- "intro": "Unlock special features and recognition by earning reputation!",
410
- "earlyAccess": {
411
- "title": "🎉 Early Access",
412
- "desc": "Get early access to new features with 100+ reputation."
413
- },
414
- "badge": {
415
- "title": "🏅 Community Badge",
416
- "desc": "Earn a special badge for 500+ reputation."
417
- },
418
- "featured": {
419
- "title": "🌟 Featured Member",
420
- "desc": "Be featured in the community for 1000+ reputation."
421
- },
422
- "moreComing": "More rewards coming soon!"
423
- },
424
- "center": {
425
- "balance": "Reputation Balance",
426
- "actions": {
427
- "leaderboard": "Leaderboard",
428
- "rules": "Rules",
429
- "about": "About",
430
- "rewards": "Rewards",
431
- "faq": "FAQ"
432
- },
433
- "info": "Reputation can only be earned by positive actions in the Oxy Ecosystem. It cannot be sent or received directly.",
434
- "history": "Reputation History",
435
- "noHistory": "No reputation history yet.",
436
- "noDescription": "No description"
437
- },
438
- "about": {
439
- "title": "About Reputation",
440
- "subtitle": "Learn about the reputation system (Oxy Trust)",
441
- "intro": "Reputation is a recognition of your positive actions in the Oxy Ecosystem. It cannot be sent or received directly, only earned by contributing to the community.",
442
- "how": {
443
- "title": "How to Earn Reputation",
444
- "help": "Helping other users",
445
- "report": "Reporting bugs",
446
- "contribute": "Contributing content",
447
- "participate": "Participating in events",
448
- "other": "Other positive actions"
449
- },
450
- "why": {
451
- "title": "Why Reputation?",
452
- "text": "Reputation unlocks special features and recognition in the Oxy Ecosystem. The more you contribute, the more you earn!"
453
- }
454
- },
455
- "achievements": {
456
- "unlocked": "Unlocked Achievements",
457
- "locked": "Locked Achievements",
458
- "firstStep": "First Step",
459
- "firstStepDesc": "Earned your first reputation point",
460
- "novice": "Novice",
461
- "noviceDesc": "Reached 10 reputation points",
462
- "contributor": "Contributor",
463
- "contributorDesc": "Reached 50 reputation points",
464
- "risingStar": "Rising Star",
465
- "risingStarDesc": "Reached 100 reputation points",
466
- "earlyAdopter": "Early Adopter",
467
- "earlyAdopterDesc": "Been part of the community from the start",
468
- "communityHero": "Community Hero",
469
- "communityHeroDesc": "Reached 500 reputation points",
470
- "legend": "Legend",
471
- "legendDesc": "Reached 1000 reputation points",
472
- "phoenix": "Phoenix",
473
- "phoenixDesc": "Reached 2500 reputation points",
474
- "unstoppable": "Unstoppable",
475
- "unstoppableDesc": "Reached 5000 reputation points",
476
- "bugHunter": "Bug Hunter",
477
- "bugHunterDesc": "Reported helpful bugs",
478
- "helper": "Helper",
479
- "helperDesc": "Helped 10 users",
480
- "streakMaster": "Streak Master",
481
- "streakMasterDesc": "7 day activity streak"
482
- }
483
- },
484
- "premium": {
485
- "title": "Oxy+ Subscriptions",
486
- "forApp": "for {{app}}",
487
- "loading": "Loading subscription plans...",
488
- "choosePlan": "Choose Your Plan",
489
- "choosePlanSubtitle": "Unlock premium features and take your experience to the next level",
490
- "availablePlans": "Available Plans",
491
- "why": "Why Go Premium?",
492
- "benefits": {
493
- "performance": {
494
- "title": "Enhanced Performance",
495
- "desc": "Faster processing and priority access to our servers"
496
- },
497
- "security": {
498
- "title": "Advanced Security",
499
- "desc": "Enhanced encryption and security features"
500
- },
501
- "support": {
502
- "title": "Priority Support",
503
- "desc": "Get help faster with our premium support team"
504
- }
505
- },
506
- "toasts": {
507
- "planUnavailable": "This plan is not available for the current app ({{app}})",
508
- "mentionOnly": "Mention+ is only available in the Mention app",
509
- "activated": "Subscription activated successfully!",
510
- "paymentFailed": "Payment failed. Please try again.",
511
- "willCancel": "Subscription will be canceled at the end of the billing period",
512
- "cancelFailed": "Failed to cancel subscription",
513
- "reactivated": "Subscription reactivated successfully",
514
- "reactivateFailed": "Failed to reactivate subscription",
515
- "featureSubscribed": "Subscribed to {{name}} successfully!",
516
- "featureSubscribeFailed": "Feature subscription failed. Please try again.",
517
- "featureUnsubscribed": "Unsubscribed from {{name}}",
518
- "featureUnsubscribeFailed": "Failed to unsubscribe from feature"
519
- },
520
- "confirms": {
521
- "cancelSub": "Are you sure you want to cancel your subscription? You will lose access to premium features at the end of your current billing period.",
522
- "unsubscribeFeature": "Are you sure you want to unsubscribe from {{name}}?",
523
- "cancelSubTitle": "Cancel Subscription",
524
- "unsubscribeFeatureTitle": "Unsubscribe from Feature"
525
- },
526
- "current": {
527
- "title": "Current Subscription",
528
- "renewsOn": "Renews on {{date}}",
529
- "willCancelOn": "Subscription will cancel on {{date}}"
530
- },
531
- "actions": {
532
- "reactivate": "Reactivate",
533
- "cancelSubBtn": "Cancel Subscription",
534
- "manageBilling": "Manage Billing",
535
- "subscribeTo": "Subscribe to {{name}}",
536
- "subscribe": "Subscribe",
537
- "unsubscribe": "Unsubscribe"
538
- },
539
- "billing": {
540
- "monthly": "Monthly",
541
- "yearly": "Yearly",
542
- "saveYearly": "💰 Save 20% with yearly billing",
543
- "label": "Billing period"
544
- },
545
- "tabs": {
546
- "plans": "Full Plans",
547
- "features": "Individual Features",
548
- "label": "Subscription type"
549
- },
550
- "plan": {
551
- "scope": {
552
- "allApps": "Works across all Oxy apps",
553
- "exclusive": "Exclusive to {{app}} app",
554
- "availableIn": "Available in: {{apps}}"
555
- },
556
- "badge": {
557
- "appExclusive": "App Exclusive",
558
- "notAvailable": "Not Available",
559
- "mostPopular": "Most Popular"
560
- },
561
- "perInterval": "per {{interval}}",
562
- "current": "Current Plan",
563
- "notAvailableInApp": "Not Available in Current App"
564
- },
565
- "feature": {
566
- "scope": {
567
- "allApps": "Available across all Oxy apps",
568
- "availableIn": "Available in: {{apps}}"
569
- },
570
- "includedInPlan": "Included in your plan",
571
- "subscribed": "Subscribed",
572
- "included": "Included",
573
- "plansOnly": "Only available in subscription plans"
574
- },
575
- "features": {
576
- "title": "Individual Features",
577
- "subtitle": "Subscribe to specific features you need. Some features are included in subscription plans."
578
- },
579
- "dev": {
580
- "appContext": "Test App Context (Dev Only)"
581
- }
582
- },
583
- "editProfile": {
584
- "title": "Edit Profile",
585
- "subtitle": "Manage your profile and preferences",
586
- "notSet": "Not set",
587
- "sections": {
588
- "profilePicture": "Profile Picture",
589
- "basicInfo": "Basic Information",
590
- "about": "About You",
591
- "quickActions": "Quick Actions",
592
- "security": "Security"
593
- },
594
- "items": {
595
- "avatar": {
596
- "subtitle": "Update your profile photo"
597
- },
598
- "displayName": {
599
- "title": "Display Name",
600
- "subtitle": "This is how your name will appear to others",
601
- "add": "Add your display name",
602
- "firstName": "First Name",
603
- "firstNamePlaceholder": "Enter first name",
604
- "lastName": "Last Name",
605
- "lastNamePlaceholder": "Enter last name (optional)",
606
- "invalidChars": "Use letters, spaces, apostrophes, and name separators only"
607
- },
608
- "username": {
609
- "title": "Username",
610
- "subtitle": "Your unique identifier on the platform",
611
- "label": "Username",
612
- "placeholder": "Choose a username",
613
- "choose": "Choose a username",
614
- "required": "Username is required",
615
- "tooShort": "Username must be at least 3 characters"
616
- },
617
- "email": {
618
- "title": "Email",
619
- "subtitle": "Your primary email address",
620
- "label": "Email Address",
621
- "placeholder": "Enter your email address",
622
- "add": "Add your email address",
623
- "invalid": "Please enter a valid email address"
624
- },
625
- "bio": {
626
- "title": "Bio",
627
- "subtitle": "Tell people a bit about yourself",
628
- "label": "Bio",
629
- "placeholder": "Tell people about yourself"
630
- },
631
- "phone": {
632
- "title": "Phone Number",
633
- "subtitle": "Your contact phone number",
634
- "label": "Phone Number",
635
- "placeholder": "Enter your phone number"
636
- },
637
- "address": {
638
- "title": "Address",
639
- "subtitle": "Your physical address",
640
- "label": "Address",
641
- "placeholder": "Enter your address"
642
- },
643
- "birthday": {
644
- "title": "Birthday",
645
- "subtitle": "Your date of birth",
646
- "label": "Birthday",
647
- "placeholder": "YYYY-MM-DD"
648
- },
649
- "locations": {
650
- "title": "Locations",
651
- "subtitle": "Places you've been or live",
652
- "add": "Add your locations",
653
- "placeholder": "Enter location name",
654
- "yourLocations": "Your Locations",
655
- "count": "{{count}} location added",
656
- "count_plural": "{{count}} locations added"
657
- },
658
- "links": {
659
- "title": "Links",
660
- "subtitle": "Share your website, social profiles, etc.",
661
- "add": "Add your links",
662
- "placeholder": "Enter URL",
663
- "yourLinks": "Your Links",
664
- "count": "{{count}} link added",
665
- "count_plural": "{{count}} links added"
666
- },
667
- "previewProfile": {
668
- "title": "Preview Profile",
669
- "subtitle": "See how your profile looks to others"
670
- },
671
- "privacySettings": {
672
- "title": "Privacy Settings",
673
- "subtitle": "Control who can see your profile"
674
- },
675
- "verifyAccount": {
676
- "title": "Verify Account",
677
- "subtitle": "Get a verified badge"
678
- }
679
- },
680
- "confirms": {
681
- "removeAvatar": "Remove your profile picture?"
682
- },
683
- "crop": {
684
- "title": "Crop avatar",
685
- "subtitle": "Pinch to zoom, drag to position",
686
- "noImage": "No image to crop",
687
- "reset": "Reset",
688
- "resetToCenter": "Reset to center",
689
- "confirm": "Use photo",
690
- "cancel": "Cancel",
691
- "saving": "Saving…",
692
- "helper": "The cropped circle is what will appear on your profile. Pinch to zoom, drag to position.",
693
- "zoom": "{{value}}×",
694
- "zoomIn": "Zoom in",
695
- "zoomOut": "Zoom out",
696
- "a11yImage": "Crop preview. Pinch to zoom and drag to reposition the image.",
697
- "a11yReset": "Reset crop to default position",
698
- "a11yResetAnnouncement": "Crop reset"
699
- },
700
- "toasts": {
701
- "profileUpdated": "Profile updated successfully",
702
- "updateFailed": "Failed to update profile",
703
- "avatarRemoved": "Avatar removed",
704
- "selectImage": "Please select an image file",
705
- "avatarUnchanged": "Avatar unchanged",
706
- "avatarSelected": "Avatar selected",
707
- "avatarUpdated": "Avatar updated",
708
- "updateAvatarFailed": "Failed to update avatar",
709
- "noActiveSession": "No active session",
710
- "cropMeasureFailed": "Could not measure the image",
711
- "cropNotReady": "Image not ready yet",
712
- "cropFailed": "Failed to crop image"
713
- },
714
- "changeAvatar": "Change avatar"
715
- },
716
- "changeAvatar": {
717
- "title": "Change profile picture",
718
- "sources": {
719
- "upload": {
720
- "title": "Upload from device",
721
- "description": "Choose a photo from your gallery"
722
- },
723
- "camera": {
724
- "title": "Take a picture",
725
- "description": "Use your camera"
726
- },
727
- "files": {
728
- "title": "My Oxy files",
729
- "description": "Pick an image you already uploaded"
730
- },
731
- "remove": {
732
- "title": "Remove current photo",
733
- "description": "Go back to your initials"
734
- }
735
- },
736
- "remove": {
737
- "confirmTitle": "Remove profile picture?",
738
- "confirmMessage": "Your profile will show your initials instead. You can add a new photo at any time.",
739
- "confirmLabel": "Remove"
740
- },
741
- "permission": {
742
- "libraryDenied": "Oxy needs access to your photos to upload a picture.",
743
- "cameraDenied": "Oxy needs access to your camera to take a picture.",
744
- "openSettings": "Open settings"
745
- },
746
- "errors": {
747
- "pickerUnavailable": "Photo picking is not available on this device.",
748
- "cameraUnavailable": "The camera is not available on this device.",
749
- "pickFailed": "Could not open the photo picker.",
750
- "cameraFailed": "Could not open the camera.",
751
- "loadImageFailed": "Could not load the selected image."
752
- },
753
- "a11y": {
754
- "currentPhoto": "Your current profile picture"
755
- }
756
- },
757
- "accountOverview": {
758
- "title": "Account",
759
- "sections": {
760
- "profile": "Profile",
761
- "accountSettings": "Account Settings",
762
- "accountManagement": "Account Management",
763
- "additionalAccounts": "Additional Accounts",
764
- "quickActions": "Quick Actions",
765
- "support": "Support & Settings",
766
- "actions": "Account Actions"
767
- },
768
- "actions": {
769
- "manage": "Manage"
770
- },
771
- "loadingAdditional": {
772
- "title": "Loading accounts...",
773
- "subtitle": "Please wait while we load your additional accounts"
774
- },
775
- "additional": {
776
- "noAccounts": {
777
- "title": "No other accounts",
778
- "subtitle": "Add another account to switch between them"
779
- }
780
- },
781
- "items": {
782
- "addAccount": {
783
- "title": "Add Another Account",
784
- "subtitle": "Sign in with a different account"
785
- },
786
- "signOutAll": {
787
- "title": "Sign out of all accounts",
788
- "subtitle": "Remove all accounts from this device"
789
- },
790
- "accountSwitcher": {
791
- "switchPrompt": "Switch to {{username}}?",
792
- "titleShow": "Show Account Switcher",
793
- "titleHide": "Hide Account Switcher",
794
- "subtitleHide": "Hide account switcher",
795
- "subtitleSwitchBetween": "Switch between {{count}} accounts",
796
- "subtitleLoading": "Loading additional accounts...",
797
- "subtitleManageMultiple": "Manage multiple accounts"
798
- },
799
- "editProfile": {
800
- "title": "Edit Profile",
801
- "subtitle": "Update your personal information"
802
- },
803
- "security": {
804
- "title": "Security & Privacy",
805
- "subtitle": "Security and privacy settings"
806
- },
807
- "notifications": {
808
- "title": "Notifications",
809
- "subtitle": "Manage your notification preferences"
810
- },
811
- "premium": {
812
- "title": "Oxy+ Subscriptions",
813
- "manage": "Manage your premium plan",
814
- "upgrade": "Upgrade to premium features"
815
- },
816
- "billing": {
817
- "title": "Billing Management",
818
- "subtitle": "Payment methods and invoices",
819
- "coming": "Billing management feature coming soon!"
820
- },
821
- "downloadData": {
822
- "title": "Download My Data",
823
- "subtitle": "Export your account information",
824
- "confirmTitle": "Download Account Data",
825
- "confirmMessage": "Choose the format for your account data export:",
826
- "downloading": "Preparing download...",
827
- "success": "Data downloaded successfully",
828
- "error": "Failed to download data"
829
- },
830
- "deleteAccount": {
831
- "title": "Delete Account",
832
- "subtitle": "Permanently delete your account",
833
- "confirmTitle": "Delete Account",
834
- "confirmMessage": "This action cannot be undone. This will permanently delete your account and all associated data.\n\nAre you sure you want to delete your account?",
835
- "finalConfirm": "This is your final warning. Your account will be permanently deleted and cannot be recovered. Type \"{{username}}\" to confirm.",
836
- "confirm": "Delete Forever",
837
- "passwordRequired": "Password confirmation required. Please use a modal with password input to complete account deletion.",
838
- "missingFields": "Password and confirmation required",
839
- "confirmMismatch": "Confirmation text does not match username",
840
- "success": "Account deleted successfully",
841
- "error": "Failed to delete account"
842
- },
843
- "preferences": {
844
- "title": "Account Preferences",
845
- "subtitle": "Customize your account experience",
846
- "coming": "Account preferences coming soon!"
847
- },
848
- "help": {
849
- "title": "Help & Support",
850
- "subtitle": "Get help with your account",
851
- "coming": "Help & support feature coming soon!"
852
- },
853
- "connectedApps": {
854
- "title": "Connected Apps",
855
- "subtitle": "Manage third-party app access",
856
- "coming": "Connected apps feature coming soon!"
857
- },
858
- "about": {
859
- "title": "About",
860
- "subtitle": "App version and information"
861
- },
862
- "signOut": {
863
- "title": "Sign Out",
864
- "subtitle": "Sign out of your current account"
865
- },
866
- "history": {
867
- "title": "History",
868
- "subtitle": "View and manage your search history"
869
- },
870
- "saves": {
871
- "title": "Saves & Collections",
872
- "subtitle": "View your saved items and collections"
873
- },
874
- "searchSettings": {
875
- "title": "Search Settings",
876
- "subtitle": "SafeSearch and personalization"
877
- },
878
- "language": {
879
- "title": "Language",
880
- "subtitle": "Choose your preferred language"
881
- },
882
- "privacyPolicy": {
883
- "title": "Privacy Policy",
884
- "subtitle": "How we handle your data"
885
- },
886
- "termsOfService": {
887
- "title": "Terms of Service",
888
- "subtitle": "Terms and conditions of use"
889
- }
890
- },
891
- "manageComing": "Manage your Oxy Account feature coming soon!",
892
- "addAccountComing": "Add another account feature coming soon!"
893
- },
894
- "history": {
895
- "title": "History",
896
- "actions": "Actions",
897
- "recent": "Recent History",
898
- "loading": "Loading history...",
899
- "empty": "No history yet",
900
- "justNow": "Just now",
901
- "minutesAgo": "minutes ago",
902
- "hoursAgo": "hours ago",
903
- "daysAgo": "days ago",
904
- "deleteLast15Minutes": {
905
- "title": "Delete Last 15 Minutes",
906
- "subtitle": "Remove recent history entries",
907
- "confirm": "Delete last 15 minutes of history?",
908
- "success": "Last 15 minutes deleted",
909
- "error": "Failed to delete history"
910
- },
911
- "clearAll": {
912
- "title": "Clear All History",
913
- "subtitle": "Remove all history entries",
914
- "confirm": "Clear all history? This cannot be undone.",
915
- "success": "History cleared",
916
- "error": "Failed to clear history"
917
- }
918
- },
919
- "saves": {
920
- "title": "Saves & Collections",
921
- "tabs": {
922
- "saves": "Saves",
923
- "collections": "Collections"
924
- },
925
- "loading": "Loading...",
926
- "empty": "No saved items yet",
927
- "noCollections": "No collections yet",
928
- "savedItems": "Saved Items",
929
- "collections": "Collections",
930
- "loadError": "Failed to load saved items"
931
- },
932
- "searchSettings": {
933
- "title": "Search Settings",
934
- "safeSearch": {
935
- "title": "SafeSearch",
936
- "label": "Enable SafeSearch",
937
- "description": "Filter out explicit content from search results",
938
- "updated": "SafeSearch setting updated",
939
- "error": "Failed to update SafeSearch"
940
- },
941
- "personalization": {
942
- "title": "Search Personalization",
943
- "label": "Personalized Search",
944
- "description": "Use your activity to improve search results",
945
- "updated": "Search personalization updated",
946
- "error": "Failed to update personalization"
947
- },
948
- "searchPersonalization": {
949
- "error": "Failed to update personalization"
950
- }
951
- },
952
- "privacySettings": {
953
- "title": "Privacy Settings",
954
- "loadError": "Failed to load privacy settings",
955
- "updated": "Privacy settings updated",
956
- "updateError": "Failed to update privacy setting",
957
- "sections": {
958
- "account": "ACCOUNT PRIVACY",
959
- "interactions": "INTERACTIONS",
960
- "activity": "ACTIVITY & DATA",
961
- "content": "CONTENT & SAFETY",
962
- "blockedUsers": "BLOCKED USERS",
963
- "restrictedUsers": "RESTRICTED USERS"
964
- },
965
- "noBlockedUsers": "No blocked users",
966
- "noRestrictedUsers": "No restricted users",
967
- "unblock": "Unblock",
968
- "unblockError": "Failed to unblock user",
969
- "unrestrict": "Unrestrict",
970
- "unrestrictError": "Failed to unrestrict user",
971
- "restrictedDescription": "Limited interactions",
972
- "userUnblocked": "User unblocked",
973
- "userUnrestricted": "User unrestricted",
974
- "isPrivateAccount": "Private Account",
975
- "isPrivateAccountDesc": "Only approved followers can see your posts",
976
- "profileVisibility": "Profile Visibility",
977
- "profileVisibilityDesc": "Control who can view your profile",
978
- "hideOnlineStatus": "Hide Online Status",
979
- "hideOnlineStatusDesc": "Don't show when you're online",
980
- "hideLastSeen": "Hide Last Seen",
981
- "hideLastSeenDesc": "Don't show when you were last active",
982
- "allowTagging": "Allow Tagging",
983
- "allowTaggingDesc": "Let others tag you in posts",
984
- "allowMentions": "Allow Mentions",
985
- "allowMentionsDesc": "Let others mention you",
986
- "allowDirectMessages": "Allow Direct Messages",
987
- "allowDirectMessagesDesc": "Let others send you direct messages",
988
- "hideReadReceipts": "Hide Read Receipts",
989
- "hideReadReceiptsDesc": "Don't show read receipts in messages",
990
- "showActivity": "Show Activity Status",
991
- "showActivityDesc": "Display your activity on your profile",
992
- "dataSharing": "Data Sharing",
993
- "dataSharingDesc": "Allow sharing data for personalization",
994
- "locationSharing": "Location Sharing",
995
- "locationSharingDesc": "Share your location",
996
- "analyticsSharing": "Analytics Sharing",
997
- "analyticsSharingDesc": "Allow analytics data collection",
998
- "sensitiveContent": "Show Sensitive Content",
999
- "sensitiveContentDesc": "Allow sensitive or explicit content",
1000
- "autoFilter": "Auto Filter",
1001
- "autoFilterDesc": "Automatically filter inappropriate content",
1002
- "muteKeywords": "Mute Keywords",
1003
- "muteKeywordsDesc": "Hide posts containing muted keywords",
1004
- "blockScreenshots": "Block Screenshots",
1005
- "blockScreenshotsDesc": "Prevent screenshots of your content"
1006
- },
1007
- "accountVerification": {
1008
- "title": "Account Verification",
1009
- "description": "Request a verified badge for your account. Verified accounts help establish authenticity and credibility.",
1010
- "sections": {
1011
- "request": "VERIFICATION REQUEST",
1012
- "benefits": "What verification gives you"
1013
- },
1014
- "reasonLabel": "Reason for Verification *",
1015
- "reasonPlaceholder": "Explain why you need a verified badge (e.g., public figure, brand, organization)",
1016
- "reasonRequired": "Please provide a reason for verification",
1017
- "evidenceLabel": "Evidence (Optional)",
1018
- "evidencePlaceholder": "Provide any supporting documentation or links (e.g., official website, social media profiles)",
1019
- "submit": "Submit Request",
1020
- "submitError": "Failed to submit verification request",
1021
- "successTitle": "Request Submitted",
1022
- "successMessage": "Your verification request has been submitted. Request ID: {{requestId}}",
1023
- "ok": "OK",
1024
- "error": "Service not available",
1025
- "note": "Note: Verification requests are reviewed manually and may take several days. We will notify you once your request has been reviewed.",
1026
- "heroTitle": "Get a verified badge",
1027
- "benefits": {
1028
- "authenticity": "Confirms your identity is authentic and trusted",
1029
- "badge": "Displays a verified badge across the platform",
1030
- "credibility": "Builds credibility with people who follow you"
1031
- }
1032
- },
1033
- "help": {
1034
- "title": "Help & Support",
1035
- "options": "Get Help",
1036
- "resources": "Resources",
1037
- "contactError": "Failed to open email client",
1038
- "reportError": "Failed to open email client",
1039
- "linkError": "Failed to open link",
1040
- "faqComing": "FAQ coming soon",
1041
- "faq": {
1042
- "title": "Frequently Asked Questions",
1043
- "subtitle": "Find answers to common questions"
1044
- },
1045
- "contact": {
1046
- "title": "Contact Support",
1047
- "subtitle": "Get help from our support team"
1048
- },
1049
- "reportBug": {
1050
- "title": "Report a Bug",
1051
- "subtitle": "Help us improve by reporting issues"
1052
- },
1053
- "documentation": {
1054
- "title": "Documentation",
1055
- "subtitle": "User guides and tutorials"
1056
- },
1057
- "community": {
1058
- "title": "Community",
1059
- "subtitle": "Join our community"
1060
- },
1061
- "developersPortal": {
1062
- "title": "Developers Portal",
1063
- "subtitle": "API documentation and developer resources"
1064
- }
1065
- },
1066
- "legal": {
1067
- "title": "Legal Documents",
1068
- "documents": "Documents",
1069
- "policies": "Policies & Guidelines",
1070
- "opening": "Opening document...",
1071
- "openError": "Failed to open document",
1072
- "privacyPolicy": {
1073
- "title": "Privacy Policy",
1074
- "subtitle": "How we handle your data"
1075
- },
1076
- "termsOfService": {
1077
- "title": "Terms of Service",
1078
- "subtitle": "Terms and conditions of use"
1079
- },
1080
- "communityGuidelines": {
1081
- "title": "Community Guidelines",
1082
- "subtitle": "Rules and expectations for our community"
1083
- },
1084
- "dataRetention": {
1085
- "title": "Data Retention Policy",
1086
- "subtitle": "How long we keep your data"
1087
- },
1088
- "contentModeration": {
1089
- "title": "Content Moderation Policy",
1090
- "subtitle": "How we moderate content"
1091
- },
1092
- "childSafety": {
1093
- "title": "Child Safety Policy",
1094
- "subtitle": "Protecting minors on our platform"
1095
- },
1096
- "cookiePolicy": {
1097
- "title": "Cookie Policy",
1098
- "subtitle": "How we use cookies and similar technologies"
1099
- }
1100
- },
1101
- "faq": {
1102
- "title": "FAQ",
1103
- "searchPlaceholder": "Search FAQs...",
1104
- "allCategories": "All",
1105
- "loading": "Loading FAQs...",
1106
- "noResults": "No FAQs match your search",
1107
- "empty": "No FAQs available",
1108
- "loadError": "Failed to load FAQs"
1109
- },
1110
- "userList": {
1111
- "followers": "Followers",
1112
- "following": "Following",
1113
- "noFollowers": "No followers yet",
1114
- "noFollowersDesc": "When people follow this user, they will appear here.",
1115
- "noFollowing": "Not following anyone",
1116
- "noFollowingDesc": "When this user follows people, they will appear here."
1117
- },
1118
- "common": {
1119
- "errors": {
1120
- "signOutFailed": "There was a problem signing you out. Please try again.",
1121
- "signOutAllFailed": "There was a problem signing out of all accounts. Please try again."
1122
- },
1123
- "confirms": {
1124
- "signOut": "Are you sure you want to sign out?",
1125
- "signOutAll": "Are you sure you want to sign out of all accounts?"
1126
- },
1127
- "status": {
1128
- "notSignedIn": "Not signed in",
1129
- "loading": "Loading..."
1130
- },
1131
- "actions": {
1132
- "back": "Back",
1133
- "continue": "Continue",
1134
- "next": "Next",
1135
- "getStarted": "Get Started",
1136
- "createAccount": "Create Account",
1137
- "signIn": "Sign In",
1138
- "signOut": "Sign Out",
1139
- "verify": "Verify",
1140
- "resetPassword": "Reset Password",
1141
- "signedOut": "Signed out",
1142
- "close": "Close",
1143
- "delete": "Delete",
1144
- "tryAgain": "Try again"
1145
- },
1146
- "cancel": "Cancel",
1147
- "revoke": "Revoke",
1148
- "retry": "Retry",
1149
- "save": "Save",
1150
- "saved": "Saved successfully",
1151
- "saving": "Saving...",
1152
- "unnamed": "Unnamed",
1153
- "accountFallback": "Account {{handle}}",
1154
- "links": {
1155
- "recoverAccount": "Recover your account",
1156
- "signUp": "Sign Up"
1157
- },
1158
- "labels": {
1159
- "username": "Username",
1160
- "email": "Email",
1161
- "password": "Password",
1162
- "confirmPassword": "Confirm Password"
1163
- },
1164
- "back": "Back",
1165
- "remove": "Remove"
1166
- },
1167
- "sessionManagement": {
1168
- "title": "Active Sessions",
1169
- "subtitle": "Manage your active sessions across all devices",
1170
- "loading": "Loading sessions...",
1171
- "lastRefreshed": "Last refreshed {{time}}",
1172
- "currentSession": "Current Session",
1173
- "sessionLabel": "Session {{id}}...",
1174
- "switch": "Switch",
1175
- "logout": "Logout",
1176
- "active": "Active",
1177
- "logoutOthers": {
1178
- "title": "Logout Other Sessions",
1179
- "noOtherSessions": "No other sessions",
1180
- "subtitle": "End all sessions except this one"
1181
- },
1182
- "logoutAll": {
1183
- "title": "Logout All Sessions",
1184
- "subtitle": "End all sessions including this one"
1185
- },
1186
- "empty": "No active sessions found",
1187
- "close": "Close",
1188
- "toasts": {
1189
- "loadFailed": "Failed to load sessions. Please try again.",
1190
- "logoutSuccess": "Session logged out successfully",
1191
- "logoutFailed": "Failed to logout session. Please try again.",
1192
- "noOtherSessions": "No other sessions to logout.",
1193
- "logoutOthersSuccess": "Other sessions logged out successfully",
1194
- "logoutOthersFailed": "Failed to logout other sessions. Please try again.",
1195
- "logoutAllFailed": "Failed to logout all sessions. Please try again.",
1196
- "switchSuccess": "Switched session",
1197
- "switchFailed": "Failed to switch session"
1198
- },
1199
- "confirms": {
1200
- "logoutSession": "Are you sure you want to logout this session?",
1201
- "logoutOthers": "This will logout {{count}} other session(s). Continue?",
1202
- "logoutAll": "This will logout all sessions including this one and you will need to sign in again. Continue?"
1203
- }
1204
- },
1205
- "appInfo": {
1206
- "title": "App Information",
1207
- "sections": {
1208
- "package": "Package Information",
1209
- "system": "System Information",
1210
- "user": "User Information",
1211
- "api": "API Configuration",
1212
- "build": "Build Information",
1213
- "quickActions": "Quick Actions"
1214
- },
1215
- "items": {
1216
- "name": "Name",
1217
- "version": "Version",
1218
- "description": "Description",
1219
- "noDescription": "No description",
1220
- "mainEntry": "Main Entry",
1221
- "moduleEntry": "Module Entry",
1222
- "typesEntry": "Types Entry",
1223
- "platform": "Platform",
1224
- "platformVersion": "Platform Version",
1225
- "screenWidth": "Screen Width",
1226
- "screenHeight": "Screen Height",
1227
- "environment": "Environment",
1228
- "development": "Development",
1229
- "production": "Production",
1230
- "authStatus": "Authentication Status",
1231
- "authenticated": "Authenticated",
1232
- "notAuthenticated": "Not Authenticated",
1233
- "userId": "User ID",
1234
- "username": "Username",
1235
- "email": "Email",
1236
- "premiumStatus": "Premium Status",
1237
- "premium": "Premium",
1238
- "standard": "Standard",
1239
- "totalActiveSessions": "Total Active Sessions",
1240
- "apiBaseUrl": "API Base URL",
1241
- "notConfigured": "Not configured",
1242
- "connectionStatus": "Connection Status",
1243
- "checking": "Checking...",
1244
- "connected": "Connected",
1245
- "disconnected": "Disconnected",
1246
- "unknown": "Unknown",
1247
- "buildTimestamp": "Build Timestamp",
1248
- "reactNative": "React Native",
1249
- "reactNativeValue": "Expo/React Native",
1250
- "jsEngine": "JavaScript Engine",
1251
- "jsEngineValue": "Hermes",
1252
- "copyFullReport": "Copy Full Report",
1253
- "copyFullReportSubtitle": "Copy complete application information to clipboard",
1254
- "runSystemCheck": "Run System Check",
1255
- "runningSystemCheck": "Running System Check...",
1256
- "systemCheckSubtitle": "Verify application health and status",
1257
- "systemCheckRunning": "Checking API, authentication, and platform status..."
1258
- },
1259
- "toasts": {
1260
- "copiedToClipboard": "{{label}} copied to clipboard",
1261
- "copyFailed": "Failed to copy to clipboard",
1262
- "systemCheckSuccess": "System check completed successfully",
1263
- "systemCheckFailed": "System check failed",
1264
- "apiConnectionSuccess": "API connection successful",
1265
- "apiConnectionFailed": "Failed to connect to API server",
1266
- "oxyServicesNotInitialized": "OxyServices not initialized",
1267
- "noUsernameOrNav": "No username available or navigation not supported"
1268
- }
1269
- },
1270
- "learnMoreUsernames": {
1271
- "introTitle": "Your unique identity",
1272
- "introText": "Your username is how people find and recognize you across all Oxy apps.",
1273
- "sections": {
1274
- "what": {
1275
- "title": "What is a username?",
1276
- "content": "Your username is your unique identifier on Oxy. It's how other people find and mention you. Think of it like your handle on social media - it's public and represents your identity across all Oxy apps."
1277
- },
1278
- "rules": {
1279
- "title": "Username rules",
1280
- "content": "Usernames can only contain lowercase letters (a-z) and numbers (0-9). They must be at least 4 characters long. Special characters, spaces, and uppercase letters are not allowed to keep usernames simple and easy to remember."
1281
- },
1282
- "unique": {
1283
- "title": "Why must it be unique?",
1284
- "content": "Each username can only belong to one person. This ensures that when someone searches for you or mentions you, they find the right person. It also prevents confusion and impersonation."
1285
- },
1286
- "change": {
1287
- "title": "Can I change it later?",
1288
- "content": "Yes! You can change your username anytime in your account settings. Keep in mind that your old username will become available for others to use, and people who knew your old username will need to find you with the new one."
1289
- },
1290
- "tips": {
1291
- "title": "Tips for choosing a username",
1292
- "content": "Choose something memorable and easy to spell. Avoid using personal information like your birth year or phone number. Consider using a name that represents you across all contexts - professional and personal."
1293
- }
1294
- },
1295
- "collapseHint": "Collapse section",
1296
- "expandHint": "Expand section",
1297
- "footer": "Need more help? Visit our Help Center for additional information."
1298
- },
1299
- "payment": {
1300
- "title": "Payment",
1301
- "summary": {
1302
- "title": "Payment Summary",
1303
- "orderSummary": "Order Summary",
1304
- "payment": "Payment",
1305
- "reviewDetails": "Review your payment details",
1306
- "completePayment": "Complete your payment",
1307
- "subtotal": "Subtotal",
1308
- "tax": "Tax",
1309
- "total": "Total",
1310
- "amountToPay": "Amount to Pay"
1311
- },
1312
- "method": {
1313
- "title": "Choose Payment Method"
1314
- },
1315
- "details": {
1316
- "cardDetails": "Card Details",
1317
- "peable": "Peable",
1318
- "faircoinPayment": "FairCoin Payment",
1319
- "paymentDetails": "Payment Details",
1320
- "creditCard": "Credit Card",
1321
- "enterCardSecurely": "Enter your card details securely",
1322
- "acceptedCards": "We accept Visa, Mastercard, and more",
1323
- "cardNumber": "Card number",
1324
- "expiry": "Expiry",
1325
- "readyToProcess": "Ready to process payment...",
1326
- "payWithWallet": "Pay with your in-app wallet",
1327
- "balance": "Balance: {{balance}}",
1328
- "payWithFairCoin": "Pay with FairCoin",
1329
- "scanToPay": "Scan to Pay",
1330
- "fairWalletInstructions": "Use the options below to pay with FAIRWallet",
1331
- "openInFairWallet": "Open in FAIRWallet",
1332
- "copyAddress": "Copy Address",
1333
- "addressCopied": "Address copied to clipboard!",
1334
- "waitingForPayment": "Waiting for payment..."
1335
- },
1336
- "review": {
1337
- "title": "Review Payment",
1338
- "securePayment": "Secure payment",
1339
- "securePaymentDesc": "Your payment is protected by industry-standard encryption",
1340
- "amount": "Amount",
1341
- "paymentMethod": "Payment Method",
1342
- "card": "Card",
1343
- "peableAccount": "Peable Account",
1344
- "faircoinWallet": "FairCoin Wallet",
1345
- "paidViaQR": "Paid via QR",
1346
- "processing": "Processing...",
1347
- "payNow": "Pay Now"
1348
- },
1349
- "success": {
1350
- "title": "Payment Complete",
1351
- "heading": "Payment Successful!",
1352
- "thanks": "Thank you for your payment.",
1353
- "processed": "Your transaction has been processed successfully."
1354
- },
1355
- "actions": {
1356
- "close": "Close",
1357
- "continue": "Continue",
1358
- "back": "Back",
1359
- "done": "Done"
1360
- },
1361
- "errors": {
1362
- "invalidAmount": "Invalid or missing payment amount."
1363
- },
1364
- "methods": {
1365
- "card": {
1366
- "label": "Credit/Debit Card",
1367
- "description": "Pay securely with your credit or debit card."
1368
- },
1369
- "oxy": {
1370
- "label": "Peable",
1371
- "description": "Use your Peable in-app balance."
1372
- },
1373
- "faircoin": {
1374
- "label": "FAIRWallet",
1375
- "description": "Pay with FairCoin by scanning a QR code."
1376
- }
1377
- }
1378
- },
1379
- "userLinks": {
1380
- "title": "Links",
1381
- "linkCount": "{{count}} link",
1382
- "linkCount_plural": "{{count}} links"
1383
- },
1384
- "fileManagement": {
1385
- "title": "File Management",
1386
- "photos": "Photos",
1387
- "selectFile": "Select a File",
1388
- "selected": "{{count}} Selected",
1389
- "selectedWithMax": "{{count}}/{{max}} Selected",
1390
- "available": "{{count}} available",
1391
- "tapToSelect": "Tap to select",
1392
- "itemCount": "{{count}} item",
1393
- "itemCount_plural": "{{count}} items",
1394
- "reviewFiles": "Review Files",
1395
- "readyToUpload": "{{count}} file(s) ready to upload",
1396
- "clear": "Clear",
1397
- "confirm": "Confirm",
1398
- "delete": "Delete ({{count}})",
1399
- "visibility": "Visibility",
1400
- "changeVisibility": "Change Visibility",
1401
- "changeVisibilityConfirm": "Change visibility for {{count}} file(s)?",
1402
- "private": "Private",
1403
- "public": "Public",
1404
- "unlisted": "Unlisted",
1405
- "cancel": "Cancel",
1406
- "deleteFile": "Delete File",
1407
- "deleteFiles": "Delete Files",
1408
- "searchPhotos": "Search photos...",
1409
- "searchFiles": "Search files...",
1410
- "found": "Found",
1411
- "photo": "Photo",
1412
- "photos_stat": "Photos",
1413
- "file": "File",
1414
- "files": "Files",
1415
- "size": "Size",
1416
- "totalSize": "Total Size",
1417
- "total": "Total",
1418
- "loadingMore": "Loading more...",
1419
- "loadingPhotoLayout": "Loading photo layout...",
1420
- "uploading": "Uploading",
1421
- "upload": "Upload",
1422
- "uploadPhoto": "Upload Photo",
1423
- "uploadPhotos": "Upload Photos",
1424
- "uploadFiles": "Upload Files",
1425
- "clearSearch": "Clear Search",
1426
- "retry": "Try again",
1427
- "loadError": {
1428
- "title": "Couldn't load your files",
1429
- "description": "Something went wrong. Check your connection and try again."
1430
- },
1431
- "choosePhoto": "Choose Photo",
1432
- "done": "Done",
1433
- "doneWithCount": "Done ({{count}})",
1434
- "photoPicker": {
1435
- "emptyTitle": "No photos yet",
1436
- "emptySubtitle": "Upload from your device to get started"
1437
- },
1438
- "details": {
1439
- "title": "File Details",
1440
- "download": "Download",
1441
- "type": "Type",
1442
- "uploaded": "Uploaded",
1443
- "description": "Description"
1444
- },
1445
- "a11y": {
1446
- "viewAll": "Show all files",
1447
- "viewPhotos": "Show photos only",
1448
- "viewVideos": "Show videos only",
1449
- "viewDocuments": "Show documents only",
1450
- "viewAudio": "Show audio only",
1451
- "sortBy": "Sort by {{field}}, {{order}}",
1452
- "uploadFile": "Upload file from device",
1453
- "uploadFromDevice": "Upload photo from device",
1454
- "photoCellSelected": "Photo {{name}}, selected",
1455
- "photoCellUnselected": "Photo {{name}}, not selected",
1456
- "selectionCount": "{{count}} photo selected",
1457
- "selectionCount_plural": "{{count}} photos selected",
1458
- "cancelPicker": "Cancel photo selection",
1459
- "confirmSelection": "Confirm selection"
1460
- },
1461
- "emptyPhotos": {
1462
- "title": "No Photos Yet",
1463
- "ownDescription": "Upload photos to get started. You can select multiple photos at once.",
1464
- "otherDescription": "This user hasn't uploaded any photos yet"
1465
- },
1466
- "emptyFiles": {
1467
- "title": "No Files Yet",
1468
- "ownDescription": "Upload files to get started. You can select multiple files at once.",
1469
- "otherDescription": "This user hasn't uploaded any files yet"
1470
- },
1471
- "noResults": {
1472
- "title": "No Results Found",
1473
- "description": "No files match your search for \"{{query}}\""
1474
- },
1475
- "toasts": {
1476
- "fileTypeBlocked": "This file type cannot be selected",
1477
- "maxSelection": "You can select up to {{max}}",
1478
- "loadFailed": "Failed to load files",
1479
- "filesTooLarge": "The following files are too large (max 50MB): {{files}}",
1480
- "uploadSuccess": "{{count}} file(s) uploaded successfully",
1481
- "uploadFailed": "{{count}} file(s) failed to upload",
1482
- "uploadError": "Failed to upload files",
1483
- "invalidFileMissing": "Invalid file: file is missing",
1484
- "invalidFileName": "Invalid file: missing file name",
1485
- "invalidFileSize": "Invalid file \"{{name}}\": missing file size",
1486
- "fileEmpty": "File \"{{name}}\" is empty",
1487
- "fileTooLarge": "\"{{name}}\" is too large. Maximum file size is {{maxSize}}",
1488
- "noValidFiles": "No valid files to upload",
1489
- "imagesOnlyRequired": "Only image files can be selected",
1490
- "waitForSelection": "Please wait for the current file selection to complete",
1491
- "noFilesSelected": "No files were selected",
1492
- "loadSomeFailed": "Failed to load some files:\n{{errors}}",
1493
- "noFilesProcessed": "No files could be processed. Please try selecting files again.",
1494
- "filePickerNotAvailable": "File picker not available. Please install expo-document-picker",
1495
- "selectFilesFailed": "Failed to select files",
1496
- "deleteSuccess": "File deleted successfully",
1497
- "fileNotFound": "File not found. It may have already been deleted.",
1498
- "noPermission": "You do not have permission to delete this file.",
1499
- "deleteFailed": "Failed to delete file",
1500
- "bulkDeleteSuccess": "{{count}} file(s) deleted successfully",
1501
- "bulkDeleteFailed": "{{count}} file(s) failed to delete",
1502
- "bulkDeleteError": "Failed to delete files",
1503
- "visibilitySuccess": "{{count}} file(s) visibility updated to {{visibility}}",
1504
- "visibilityFailed": "{{count}} file(s) failed to update visibility",
1505
- "visibilityError": "Failed to update visibility",
1506
- "downloadStarted": "File download started",
1507
- "downloadSuccess": "File downloaded successfully",
1508
- "downloadMobile": "Please use your browser to download the file",
1509
- "downloadFailed": "Failed to download file",
1510
- "fileNotFoundContent": "File not found. It may have been deleted.",
1511
- "loadContentFailed": "Failed to load file content",
1512
- "openFailed": "Failed to open file"
1513
- },
1514
- "confirms": {
1515
- "deleteFile": "Are you sure you want to delete \"{{filename}}\"? This action cannot be undone.",
1516
- "deleteFiles": "Are you sure you want to delete {{count}} file(s)? This action cannot be undone."
1517
- }
1518
- },
1519
- "notifications": {
1520
- "title": "Notifications",
1521
- "subtitle": "Manage push, email, and security alerts",
1522
- "updateError": "Failed to update notification preferences",
1523
- "sections": {
1524
- "channels": "Channels",
1525
- "alerts": "Alerts",
1526
- "marketing": "Marketing"
1527
- },
1528
- "items": {
1529
- "push": {
1530
- "title": "Push notifications",
1531
- "subtitle": "Real-time alerts on your devices"
1532
- },
1533
- "emailDigest": {
1534
- "title": "Email digest",
1535
- "subtitle": "Periodic summary of your account activity"
1536
- },
1537
- "securityAlerts": {
1538
- "title": "Security alerts",
1539
- "subtitle": "Sign-ins, recovery codes, and key changes"
1540
- },
1541
- "marketingEmails": {
1542
- "title": "Marketing emails",
1543
- "subtitle": "Product news and occasional offers"
1544
- }
1545
- }
1546
- },
1547
- "preferences": {
1548
- "title": "Preferences",
1549
- "subtitle": "Theme, motion, and regional settings",
1550
- "sections": {
1551
- "appearance": "Appearance",
1552
- "language": "Language",
1553
- "region": "Region"
1554
- },
1555
- "theme": {
1556
- "light": "Light",
1557
- "dark": "Dark",
1558
- "system": "System default"
1559
- },
1560
- "items": {
1561
- "theme": {
1562
- "title": "Theme"
1563
- },
1564
- "reduceMotion": {
1565
- "title": "Reduce motion",
1566
- "subtitle": "Minimise animations across Oxy apps",
1567
- "systemOn": "Following system: reduce motion is on"
1568
- },
1569
- "language": {
1570
- "title": "Language"
1571
- },
1572
- "timezone": {
1573
- "title": "Timezone",
1574
- "unknown": "Unable to detect timezone"
1575
- },
1576
- "about": {
1577
- "title": "About preferences",
1578
- "subtitle": "Preferences sync across every Oxy app you sign into"
1579
- }
1580
- }
1581
- },
1582
- "connectedApps": {
1583
- "title": "Connected apps",
1584
- "subtitle": "Manage third-party app access",
1585
- "empty": {
1586
- "title": "No connected apps",
1587
- "subtitle": "Apps you authorize to sign in with your Oxy account will appear here"
1588
- },
1589
- "item": {
1590
- "granted": "Granted {{relative}}",
1591
- "lastUsed": "Last used {{relative}}"
1592
- },
1593
- "confirm": {
1594
- "title": "Revoke access",
1595
- "message": "Revoke {{name}}'s access to your Oxy account?"
1596
- },
1597
- "toasts": {
1598
- "revoked": "Revoked access for {{name}}",
1599
- "revokeFailed": "Failed to revoke access"
1600
- }
1601
- },
1602
- "accountMenu": {
1603
- "label": "Account menu",
1604
- "manage": "Manage your Oxy account",
1605
- "greeting": "Hi, {{name}}!",
1606
- "switchAccount": "Switch account",
1607
- "viewProfile": "View profile",
1608
- "addAnother": "Add another account",
1609
- "signOutAll": "Sign out of all accounts",
1610
- "open": "Account menu",
1611
- "openHint": "Opens the account menu",
1612
- "openWithUser": "Account menu for {{name}}",
1613
- "switching": "Switching account…",
1614
- "signOutAccount": "Sign out {{name}}",
1615
- "storage": {
1616
- "title": "Oxy storage",
1617
- "usage": "{{used}} of {{total}} used",
1618
- "used": "Used",
1619
- "free": "Free",
1620
- "unavailable": "Usage details unavailable",
1621
- "upgrade": "Upgrade plan",
1622
- "manage": "Manage storage"
1623
- },
1624
- "data": "Your data in Oxy",
1625
- "settings": "Oxy settings",
1626
- "help": "Help & feedback",
1627
- "signOut": "Sign out",
1628
- "privacy": "Privacy Policy",
1629
- "terms": "Terms of Service"
1630
- },
1631
- "accounts": {
1632
- "activeAccount": {
1633
- "a11y": "Active account: {{name}}. Tap to switch accounts.",
1634
- "label": "Active account"
1635
- },
1636
- "roles": {
1637
- "owner": {
1638
- "label": "Owner"
1639
- },
1640
- "admin": {
1641
- "label": "Admin"
1642
- },
1643
- "editor": {
1644
- "label": "Editor"
1645
- },
1646
- "developer": {
1647
- "label": "Developer"
1648
- },
1649
- "billing": {
1650
- "label": "Billing"
1651
- },
1652
- "viewer": {
1653
- "label": "Viewer"
1654
- }
1655
- },
1656
- "kinds": {
1657
- "organization": {
1658
- "label": "Organization",
1659
- "description": "A shared team account with members"
1660
- },
1661
- "project": {
1662
- "label": "Project",
1663
- "description": "A separate account you control"
1664
- },
1665
- "bot": {
1666
- "label": "Bot",
1667
- "description": "A programmatic account with service credentials"
1668
- }
1669
- },
1670
- "accountCategory": {
1671
- "news": "News",
1672
- "politics": "Politics & policy",
1673
- "business": "Business",
1674
- "startup": "Startups & entrepreneurship",
1675
- "finance": "Finance & investing",
1676
- "crypto": "Crypto & web3",
1677
- "marketplace": "Marketplace & classifieds",
1678
- "retail": "Retail & ecommerce",
1679
- "real_estate": "Real estate",
1680
- "agency": "Real estate agency",
1681
- "landlord": "Landlord & property management",
1682
- "cooperative": "Housing cooperative",
1683
- "architecture": "Architecture & construction",
1684
- "technology": "Technology",
1685
- "software": "Software & development",
1686
- "ai": "AI & machine learning",
1687
- "security": "Security & privacy",
1688
- "automation": "Automation & tools",
1689
- "science": "Science & research",
1690
- "education": "Education & training",
1691
- "books": "Books & writing",
1692
- "health": "Health & medicine",
1693
- "fitness": "Fitness & wellbeing",
1694
- "sports": "Sports",
1695
- "gaming": "Gaming & esports",
1696
- "music": "Music",
1697
- "film": "Film & TV",
1698
- "podcast": "Podcasts & audio",
1699
- "art": "Art & design",
1700
- "photography": "Photography",
1701
- "comedy": "Comedy",
1702
- "food": "Food & drink",
1703
- "travel": "Travel & places",
1704
- "fashion": "Fashion & beauty",
1705
- "home_garden": "Home & garden",
1706
- "diy": "DIY & making",
1707
- "automotive": "Cars & motoring",
1708
- "animals": "Animals & pets",
1709
- "family": "Family & parenting",
1710
- "nonprofit": "Non-profit & charity",
1711
- "government": "Government & public sector",
1712
- "community": "Local community",
1713
- "activism": "Activism & advocacy",
1714
- "environment": "Environment & sustainability",
1715
- "religion": "Religion & spirituality",
1716
- "other": "Other"
1717
- },
1718
- "create": {
1719
- "title": "Create account",
1720
- "subtitle": "Create an account you control. It will have its own profile, members, and apps.",
1721
- "displayName": {
1722
- "label": "Display name",
1723
- "invalidChars": "Use letters, spaces, apostrophes, and name separators only"
1724
- },
1725
- "bio": {
1726
- "label": "Bio (optional)"
1727
- },
1728
- "username": {
1729
- "label": "Username",
1730
- "available": "Username is available",
1731
- "taken": "Username is taken",
1732
- "tooShort": "Username must be at least 3 characters",
1733
- "invalidChars": "Only letters, numbers, hyphens, and underscores",
1734
- "mustEndInBot": "A bot account’s username must end in “bot”",
1735
- "checkFailed": "Could not check availability"
1736
- },
1737
- "accountCategory": {
1738
- "label": "Categories",
1739
- "hint": "Pick up to {{max}}. The first one is your main category."
1740
- },
1741
- "toasts": {
1742
- "success": "Account created",
1743
- "failed": "Failed to create account"
1744
- },
1745
- "typeSection": "Account type",
1746
- "detailsSection": "Details"
1747
- },
1748
- "manage": {
1749
- "create": {
1750
- "subtitle": "Add an organization, project, or bot"
1751
- },
1752
- "switch": {
1753
- "title": "Switch account",
1754
- "count": "{{count}} accounts",
1755
- "countOne": "{{count}} account",
1756
- "empty": "Accounts you own or share"
1757
- }
1758
- },
1759
- "members": {
1760
- "title": "Members",
1761
- "subtitle": "People with access to this account.",
1762
- "empty": "No members yet.",
1763
- "inherited": "Inherited",
1764
- "actions": {
1765
- "remove": "Remove member",
1766
- "transfer": "Transfer ownership"
1767
- },
1768
- "errors": {
1769
- "identifierRequired": "Enter a username or email to invite",
1770
- "missingAccount": "No account selected.",
1771
- "noPermission": "You do not have permission to view members.",
1772
- "userNotFound": "User not found"
1773
- },
1774
- "invite": {
1775
- "title": "Add a member",
1776
- "identifierLabel": "Username or email",
1777
- "roleLabel": "Role",
1778
- "submit": "Add member"
1779
- },
1780
- "removeConfirm": {
1781
- "title": "Remove member",
1782
- "description": "Remove this member from the account? They will lose all access."
1783
- },
1784
- "transferConfirm": {
1785
- "title": "Transfer ownership",
1786
- "description": "Transfer ownership of this account to this member? You will be demoted to admin. This cannot be undone."
1787
- },
1788
- "toasts": {
1789
- "added": "Member added",
1790
- "addFailed": "Failed to add member",
1791
- "removed": "Member removed",
1792
- "removeFailed": "Failed to remove member",
1793
- "roleUpdated": "Role updated",
1794
- "roleFailed": "Failed to update role",
1795
- "transferred": "Ownership transferred",
1796
- "transferFailed": "Failed to transfer ownership"
1797
- }
1798
- },
1799
- "settings": {
1800
- "title": "Account settings",
1801
- "subtitle": "Manage this account’s profile, members, and access.",
1802
- "save": "Save changes",
1803
- "displayName": {
1804
- "label": "Display name",
1805
- "invalidChars": "Use letters, spaces, apostrophes, and name separators only"
1806
- },
1807
- "bio": {
1808
- "label": "Bio (optional)"
1809
- },
1810
- "sections": {
1811
- "access": "Access",
1812
- "dangerZone": "Danger zone"
1813
- },
1814
- "members": {
1815
- "subtitle": "Invite people and manage roles"
1816
- },
1817
- "archive": {
1818
- "title": "Archive account",
1819
- "subtitle": "Deactivate this account",
1820
- "confirmTitle": "Archive account",
1821
- "confirmDescription": "Archive this account? It will be deactivated and its members will lose access."
1822
- },
1823
- "errors": {
1824
- "missingAccount": "No account selected."
1825
- },
1826
- "toasts": {
1827
- "saved": "Account updated",
1828
- "saveFailed": "Failed to update account",
1829
- "archived": "Account archived",
1830
- "archiveFailed": "Failed to archive account"
1831
- }
1832
- }
1833
- },
1834
- "deleteAccount": {
1835
- "title": "Delete Account",
1836
- "warning": "This action cannot be undone. Your account and all associated data will be permanently deleted.",
1837
- "confirmLabel": "Type \"{{username}}\" to confirm",
1838
- "confirm": "Delete Forever",
1839
- "error": "Failed to delete account",
1840
- "handoff": {
1841
- "commonsTitle": "Delete your account in Oxy Commons",
1842
- "commonsMessage": "Your identity key is kept by Oxy Commons on this device, and deleting your account needs it. Commons will open on Settings > Delete account to finish.",
1843
- "openCommons": "Open Oxy Commons",
1844
- "commonsOpenFailed": "Couldn't open Oxy Commons. Open it yourself and go to Settings > Delete account.",
1845
- "elsewhereTitle": "Delete your account where your identity is",
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}}.",
1847
- "gotIt": "Got it",
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."
1856
- }
1857
- },
1858
- "manageAccount": {
1859
- "title": "Manage your Oxy Account",
1860
- "signOutOfThisAccount": "Sign out of this account",
1861
- "sections": {
1862
- "profile": "Profile",
1863
- "preferences": "Preferences",
1864
- "security": "Security",
1865
- "sessions": "Sessions & devices",
1866
- "legal": "Legal",
1867
- "dangerZone": "Danger zone"
1868
- },
1869
- "items": {
1870
- "editProfile": {
1871
- "title": "Edit profile",
1872
- "subtitle": "Name, username, bio, links"
1873
- },
1874
- "theme": {
1875
- "title": "Theme color",
1876
- "subtitle": "Personalize your Bloom color"
1877
- },
1878
- "security": {
1879
- "title": "Security settings",
1880
- "subtitle": "Password, 2FA, recovery"
1881
- },
1882
- "billing": {
1883
- "title": "Billing",
1884
- "subtitle": "Manage subscription and payment methods"
1885
- }
1886
- },
1887
- "sessions": {
1888
- "thisDevice": "This device",
1889
- "lastActive": "Last active {{relative}}",
1890
- "loading": "Loading sessions…",
1891
- "empty": "No active sessions",
1892
- "signOutAllOnThisDevice": "Sign out of all other devices",
1893
- "signOutAllSubtitle": "End {{count}} other device session(s)",
1894
- "otherSession": "Another session"
1895
- },
1896
- "confirms": {
1897
- "removeDeviceTitle": "Remove device",
1898
- "removeDevice": "Sign out from \"{{name}}\"?",
1899
- "signOutAllDevicesTitle": "Sign out of all other devices",
1900
- "signOutAllDevices": "End {{count}} other device session(s)? This won't sign you out here."
1901
- },
1902
- "toasts": {
1903
- "deviceRemoved": "Signed out from {{name}}",
1904
- "deviceRemoveFailed": "Failed to remove device",
1905
- "allDevicesSignedOut": "Signed out from all other devices",
1906
- "allDevicesFailed": "Failed to sign out from other devices"
1907
- }
1908
- },
1909
- "trust": {
1910
- "tiers": {
1911
- "new": "New",
1912
- "trusted": "Trusted",
1913
- "high_trust": "High Trust",
1914
- "verified": "Verified",
1915
- "restricted": "Restricted"
1916
- },
1917
- "center": {
1918
- "title": "Trust Center",
1919
- "balance": "reputation points",
1920
- "history": "Reputation History",
1921
- "noHistory": "No reputation history yet.",
1922
- "noDescription": "No description",
1923
- "info": "Reputation can only be earned by positive actions in the Oxy Ecosystem. It cannot be sent or received directly.",
1924
- "loadError": "Failed to load reputation data",
1925
- "actions": {
1926
- "title": "Explore",
1927
- "about": "About",
1928
- "faq": "FAQ",
1929
- "leaderboard": "Leaderboard",
1930
- "rewards": "Rewards",
1931
- "rules": "Rules"
1932
- }
1933
- },
1934
- "about": {
1935
- "title": "About Oxy Trust",
1936
- "subtitle": "Learn about the reputation system",
1937
- "intro": "Oxy Trust is a recognition of your positive actions in the Oxy Ecosystem. Reputation cannot be sent or received directly, only earned by contributing to the community.",
1938
- "how": {
1939
- "title": "How to Earn Reputation",
1940
- "contribute": "Contributing content",
1941
- "help": "Helping other users",
1942
- "participate": "Participating in events",
1943
- "report": "Reporting bugs",
1944
- "other": "Other positive actions"
1945
- },
1946
- "why": {
1947
- "title": "Why Oxy Trust?",
1948
- "text": "Your reputation and trust tier unlock special features and recognition in the Oxy Ecosystem. The more you contribute, the more you earn!"
1949
- }
1950
- },
1951
- "faq": {
1952
- "title": "Trust FAQ",
1953
- "subtitle": "Frequently asked questions about Oxy Trust",
1954
- "search": "Search FAQ...",
1955
- "noResults": "No FAQ items found matching \"{{query}}\"",
1956
- "items": {
1957
- "what": {
1958
- "q": "What is Oxy Trust?",
1959
- "a": "Oxy Trust is a reputation system that recognizes your positive contributions across the Oxy Ecosystem. Your reputation reflects how helpful, respectful, and constructive your actions are."
1960
- },
1961
- "earn": {
1962
- "q": "How do I earn reputation?",
1963
- "a": "You earn reputation by contributing content, helping other users, participating in events, and reporting bugs. Constructive, positive actions raise your reputation over time."
1964
- },
1965
- "lose": {
1966
- "q": "Can I lose reputation?",
1967
- "a": "Yes. Harmful, abusive, or low-effort actions can reduce your reputation and lower your trust tier."
1968
- },
1969
- "use": {
1970
- "q": "What is reputation used for?",
1971
- "a": "Your reputation and trust tier unlock special features, recognition, and privileges across the Oxy Ecosystem."
1972
- },
1973
- "transfer": {
1974
- "q": "Can I send or receive reputation?",
1975
- "a": "No. Reputation cannot be transferred between accounts. It can only be earned through your own actions."
1976
- },
1977
- "support": {
1978
- "q": "Where can I get help?",
1979
- "a": "If you have questions about Oxy Trust, read the About section or contact support from the Help screen."
1980
- }
1981
- }
1982
- },
1983
- "leaderboard": {
1984
- "title": "Trust Leaderboard",
1985
- "subtitle": "Top contributors in the community",
1986
- "rankLabel": "rank {{rank}}",
1987
- "empty": "No leaderboard data",
1988
- "emptyDesc": "Top contributors will appear here as the community grows.",
1989
- "error": "Failed to load leaderboard"
1990
- },
1991
- "rewards": {
1992
- "title": "Trust Rewards",
1993
- "subtitle": "Unlock special features and recognition"
1994
- },
1995
- "rules": {
1996
- "title": "Trust Rules",
1997
- "subtitle": "How to earn reputation",
1998
- "empty": "No rules found.",
1999
- "categories": {
2000
- "content": "Content",
2001
- "social": "Social",
2002
- "trust": "Trust",
2003
- "moderation": "Moderation",
2004
- "physical": "Real Life",
2005
- "penalty": "Penalties",
2006
- "other": "Other"
2007
- }
2008
- },
2009
- "achievements": {
2010
- "unlocked": "Achievements",
2011
- "locked": "Locked Achievements",
2012
- "firstStep": "First Step",
2013
- "firstStepDesc": "Earned your first reputation point",
2014
- "novice": "Novice",
2015
- "noviceDesc": "Reached 10 reputation points",
2016
- "contributor": "Contributor",
2017
- "contributorDesc": "Reached 50 reputation points",
2018
- "risingStar": "Rising Star",
2019
- "risingStarDesc": "Reached 100 reputation points",
2020
- "communityHero": "Community Hero",
2021
- "communityHeroDesc": "Reached 500 reputation points",
2022
- "legend": "Legend",
2023
- "legendDesc": "Reached 1000 reputation points",
2024
- "phoenix": "Phoenix",
2025
- "phoenixDesc": "Reached 2500 reputation points",
2026
- "unstoppable": "Unstoppable",
2027
- "unstoppableDesc": "Reached 5000 reputation points",
2028
- "helper": "Helper",
2029
- "helperDesc": "Helped 10 users",
2030
- "bugHunter": "Bug Hunter",
2031
- "bugHunterDesc": "Reported helpful bugs",
2032
- "streakMaster": "Streak Master",
2033
- "streakMasterDesc": "7 day activity streak",
2034
- "earlyAdopter": "Early Adopter",
2035
- "earlyAdopterDesc": "Been part of the community from the start"
2036
- }
2037
- },
2038
- "consent": {
2039
- "title": "Continue to {{app}}",
2040
- "subtitle": "Use your Oxy account to sign in to {{app}}. Review what this connection means before you continue.",
2041
- "provenance": {
2042
- "title": "Who is requesting access",
2043
- "official": "Official Oxy application",
2044
- "developer": "Published by {{developer}}",
2045
- "thirdParty": "Third-party application"
2046
- },
2047
- "permissions": {
2048
- "title": "Permissions requested",
2049
- "basic": "Sign you in and read your basic profile"
2050
- },
2051
- "resource": {
2052
- "title": "Oxy app and protected resource"
2053
- },
2054
- "writeActions": {
2055
- "title": "Actions this connection can perform"
2056
- },
2057
- "effects": {
2058
- "write": "Write",
2059
- "external": "External",
2060
- "financial": "Financial",
2061
- "security": "Security"
2062
- },
2063
- "scopes": {
2064
- "openid": "Confirm your identity",
2065
- "profile": "Read your basic profile",
2066
- "email": "Read your email address",
2067
- "offlineAccess": "Keep you signed in when you're away",
2068
- "userRead": "Read your basic profile",
2069
- "filesRead": "Read your files",
2070
- "filesWrite": "Upload and modify your files",
2071
- "filesDelete": "Delete your files",
2072
- "webhooksReceive": "Receive webhooks",
2073
- "inferenceInvoke": "Run AI requests on your behalf",
2074
- "inferenceModelsRead": "List available AI models",
2075
- "inferenceUsageRead": "Read its AI usage and costs",
2076
- "inferenceRoutingRead": "Read how AI requests are routed",
2077
- "inferenceRoutingWrite": "Change how AI requests are routed",
2078
- "inferenceProvidersRead": "Read its connected AI providers",
2079
- "inferenceProvidersWrite": "Manage its connected AI providers",
2080
- "federationWrite": "Act across federated services"
2081
- },
2082
- "account": {
2083
- "title": "Signing in as",
2084
- "id": "Account ID: {{id}}"
2085
- },
2086
- "links": {
2087
- "website": "Website",
2088
- "privacy": "Privacy Policy",
2089
- "terms": "Terms of Service"
2090
- },
2091
- "allow": "Continue to {{app}}",
2092
- "deny": "Cancel",
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."
2126
- }
2127
- }