@oxyhq/services 5.12.11 → 5.13.1

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 (208) hide show
  1. package/lib/commonjs/core/OxyServices.js +86 -8
  2. package/lib/commonjs/core/OxyServices.js.map +1 -1
  3. package/lib/commonjs/i18n/index.js +37 -1
  4. package/lib/commonjs/i18n/index.js.map +1 -1
  5. package/lib/commonjs/i18n/locales/ar-SA.json +128 -0
  6. package/lib/commonjs/i18n/locales/ca-ES.json +128 -0
  7. package/lib/commonjs/i18n/locales/de-DE.json +128 -0
  8. package/lib/commonjs/i18n/locales/en-US.json +85 -12
  9. package/lib/commonjs/i18n/locales/es-ES.json +58 -6
  10. package/lib/commonjs/i18n/locales/fr-FR.json +128 -0
  11. package/lib/commonjs/i18n/locales/it-IT.json +128 -0
  12. package/lib/commonjs/i18n/locales/ja-JP.json +127 -0
  13. package/lib/commonjs/i18n/locales/ko-KR.json +128 -0
  14. package/lib/commonjs/i18n/locales/pt-PT.json +128 -0
  15. package/lib/commonjs/i18n/locales/zh-CN.json +128 -0
  16. package/lib/commonjs/ui/components/FontLoader.js +22 -42
  17. package/lib/commonjs/ui/components/FontLoader.js.map +1 -1
  18. package/lib/commonjs/ui/components/OxyProvider.js +5 -8
  19. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  20. package/lib/commonjs/ui/components/StepBasedScreen.js +64 -44
  21. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
  22. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +14 -35
  23. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -1
  24. package/lib/commonjs/ui/components/internal/PinInput.js +2 -2
  25. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -1
  26. package/lib/commonjs/ui/context/OxyContext.js +434 -321
  27. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  28. package/lib/commonjs/ui/screens/FileManagementScreen.js +56 -5
  29. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  30. package/lib/commonjs/ui/screens/SignInScreen.js +43 -39
  31. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +139 -125
  33. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +2 -4
  35. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  36. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js +45 -25
  37. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js.map +1 -1
  38. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js +88 -53
  39. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -1
  40. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js +79 -58
  41. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
  42. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js +61 -52
  43. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
  44. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js +220 -31
  45. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js.map +1 -1
  46. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js +77 -50
  47. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js.map +1 -1
  48. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js +527 -66
  49. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js.map +1 -1
  50. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js +55 -30
  51. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
  52. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js +64 -46
  53. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
  54. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js +84 -146
  55. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
  56. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js +113 -34
  57. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
  58. package/lib/commonjs/ui/stores/authStore.js +16 -20
  59. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  60. package/lib/commonjs/ui/styles/authStyles.js +2 -1
  61. package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
  62. package/lib/commonjs/ui/styles/index.js +11 -0
  63. package/lib/commonjs/ui/styles/index.js.map +1 -1
  64. package/lib/commonjs/ui/styles/spacing.js +51 -0
  65. package/lib/commonjs/ui/styles/spacing.js.map +1 -0
  66. package/lib/commonjs/utils/validationUtils.js +1 -1
  67. package/lib/module/core/OxyServices.js +86 -8
  68. package/lib/module/core/OxyServices.js.map +1 -1
  69. package/lib/module/i18n/index.js +37 -1
  70. package/lib/module/i18n/index.js.map +1 -1
  71. package/lib/module/i18n/locales/ar-SA.json +128 -0
  72. package/lib/module/i18n/locales/ca-ES.json +128 -0
  73. package/lib/module/i18n/locales/de-DE.json +128 -0
  74. package/lib/module/i18n/locales/en-US.json +85 -12
  75. package/lib/module/i18n/locales/es-ES.json +58 -6
  76. package/lib/module/i18n/locales/fr-FR.json +128 -0
  77. package/lib/module/i18n/locales/it-IT.json +128 -0
  78. package/lib/module/i18n/locales/ja-JP.json +127 -0
  79. package/lib/module/i18n/locales/ko-KR.json +128 -0
  80. package/lib/module/i18n/locales/pt-PT.json +128 -0
  81. package/lib/module/i18n/locales/zh-CN.json +128 -0
  82. package/lib/module/ui/components/FontLoader.js +23 -43
  83. package/lib/module/ui/components/FontLoader.js.map +1 -1
  84. package/lib/module/ui/components/OxyProvider.js +6 -8
  85. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  86. package/lib/module/ui/components/StepBasedScreen.js +65 -45
  87. package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
  88. package/lib/module/ui/components/internal/GroupedPillButtons.js +14 -35
  89. package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -1
  90. package/lib/module/ui/components/internal/PinInput.js +2 -2
  91. package/lib/module/ui/components/internal/PinInput.js.map +1 -1
  92. package/lib/module/ui/context/OxyContext.js +434 -321
  93. package/lib/module/ui/context/OxyContext.js.map +1 -1
  94. package/lib/module/ui/screens/FileManagementScreen.js +56 -5
  95. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  96. package/lib/module/ui/screens/SignInScreen.js +44 -40
  97. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  98. package/lib/module/ui/screens/WelcomeNewUserScreen.js +138 -126
  99. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  100. package/lib/module/ui/screens/internal/SignInUsernameStep.js +2 -4
  101. package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  102. package/lib/module/ui/screens/steps/RecoverRequestStep.js +45 -25
  103. package/lib/module/ui/screens/steps/RecoverRequestStep.js.map +1 -1
  104. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js +89 -54
  105. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -1
  106. package/lib/module/ui/screens/steps/RecoverSuccessStep.js +80 -59
  107. package/lib/module/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
  108. package/lib/module/ui/screens/steps/RecoverVerifyStep.js +62 -53
  109. package/lib/module/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
  110. package/lib/module/ui/screens/steps/SignInPasswordStep.js +221 -32
  111. package/lib/module/ui/screens/steps/SignInPasswordStep.js.map +1 -1
  112. package/lib/module/ui/screens/steps/SignInTotpStep.js +78 -51
  113. package/lib/module/ui/screens/steps/SignInTotpStep.js.map +1 -1
  114. package/lib/module/ui/screens/steps/SignInUsernameStep.js +530 -68
  115. package/lib/module/ui/screens/steps/SignInUsernameStep.js.map +1 -1
  116. package/lib/module/ui/screens/steps/SignUpIdentityStep.js +55 -30
  117. package/lib/module/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
  118. package/lib/module/ui/screens/steps/SignUpSecurityStep.js +65 -47
  119. package/lib/module/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
  120. package/lib/module/ui/screens/steps/SignUpSummaryStep.js +84 -146
  121. package/lib/module/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
  122. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js +114 -35
  123. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
  124. package/lib/module/ui/stores/authStore.js +16 -20
  125. package/lib/module/ui/stores/authStore.js.map +1 -1
  126. package/lib/module/ui/styles/authStyles.js +2 -1
  127. package/lib/module/ui/styles/authStyles.js.map +1 -1
  128. package/lib/module/ui/styles/index.js +1 -0
  129. package/lib/module/ui/styles/index.js.map +1 -1
  130. package/lib/module/ui/styles/spacing.js +48 -0
  131. package/lib/module/ui/styles/spacing.js.map +1 -0
  132. package/lib/module/utils/validationUtils.js +1 -1
  133. package/lib/typescript/core/OxyServices.d.ts +38 -2
  134. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  135. package/lib/typescript/i18n/index.d.ts.map +1 -1
  136. package/lib/typescript/ui/components/FontLoader.d.ts +3 -3
  137. package/lib/typescript/ui/components/FontLoader.d.ts.map +1 -1
  138. package/lib/typescript/ui/components/OxyProvider.d.ts +2 -2
  139. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  140. package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -1
  141. package/lib/typescript/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
  142. package/lib/typescript/ui/context/OxyContext.d.ts +1 -0
  143. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  144. package/lib/typescript/ui/screens/FileManagementScreen.d.ts +10 -0
  145. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
  146. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
  147. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  148. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts.map +1 -1
  149. package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts.map +1 -1
  150. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts.map +1 -1
  151. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts.map +1 -1
  152. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts +2 -0
  153. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts.map +1 -1
  154. package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts.map +1 -1
  155. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts.map +1 -1
  156. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts.map +1 -1
  157. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts.map +1 -1
  158. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts.map +1 -1
  159. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts.map +1 -1
  160. package/lib/typescript/ui/stores/authStore.d.ts +7 -3
  161. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  162. package/lib/typescript/ui/styles/authStyles.d.ts +1 -0
  163. package/lib/typescript/ui/styles/authStyles.d.ts.map +1 -1
  164. package/lib/typescript/ui/styles/index.d.ts +1 -0
  165. package/lib/typescript/ui/styles/index.d.ts.map +1 -1
  166. package/lib/typescript/ui/styles/spacing.d.ts +43 -0
  167. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -0
  168. package/lib/typescript/utils/validationUtils.d.ts +1 -1
  169. package/package.json +1 -1
  170. package/src/core/OxyServices.ts +96 -10
  171. package/src/i18n/index.ts +36 -0
  172. package/src/i18n/locales/ar-SA.json +128 -0
  173. package/src/i18n/locales/ca-ES.json +128 -0
  174. package/src/i18n/locales/de-DE.json +128 -0
  175. package/src/i18n/locales/en-US.json +85 -12
  176. package/src/i18n/locales/es-ES.json +58 -6
  177. package/src/i18n/locales/fr-FR.json +128 -0
  178. package/src/i18n/locales/it-IT.json +128 -0
  179. package/src/i18n/locales/ja-JP.json +127 -0
  180. package/src/i18n/locales/ko-KR.json +128 -0
  181. package/src/i18n/locales/pt-PT.json +128 -0
  182. package/src/i18n/locales/zh-CN.json +128 -0
  183. package/src/ui/components/FontLoader.tsx +17 -37
  184. package/src/ui/components/OxyProvider.tsx +14 -13
  185. package/src/ui/components/StepBasedScreen.tsx +66 -43
  186. package/src/ui/components/internal/GroupedPillButtons.tsx +15 -31
  187. package/src/ui/components/internal/PinInput.tsx +2 -2
  188. package/src/ui/context/OxyContext.tsx +404 -285
  189. package/src/ui/screens/FileManagementScreen.tsx +81 -4
  190. package/src/ui/screens/SignInScreen.tsx +59 -36
  191. package/src/ui/screens/WelcomeNewUserScreen.tsx +102 -91
  192. package/src/ui/screens/internal/SignInUsernameStep.tsx +1 -1
  193. package/src/ui/screens/steps/RecoverRequestStep.tsx +34 -24
  194. package/src/ui/screens/steps/RecoverResetPasswordStep.tsx +65 -36
  195. package/src/ui/screens/steps/RecoverSuccessStep.tsx +71 -47
  196. package/src/ui/screens/steps/RecoverVerifyStep.tsx +60 -50
  197. package/src/ui/screens/steps/SignInPasswordStep.tsx +191 -29
  198. package/src/ui/screens/steps/SignInTotpStep.tsx +68 -34
  199. package/src/ui/screens/steps/SignInUsernameStep.tsx +586 -57
  200. package/src/ui/screens/steps/SignUpIdentityStep.tsx +49 -35
  201. package/src/ui/screens/steps/SignUpSecurityStep.tsx +56 -39
  202. package/src/ui/screens/steps/SignUpSummaryStep.tsx +99 -89
  203. package/src/ui/screens/steps/SignUpWelcomeStep.tsx +88 -20
  204. package/src/ui/stores/authStore.ts +15 -19
  205. package/src/ui/styles/authStyles.ts +2 -1
  206. package/src/ui/styles/index.ts +1 -0
  207. package/src/ui/styles/spacing.ts +46 -0
  208. package/src/utils/validationUtils.ts +1 -1
@@ -1349,14 +1349,12 @@ export class OxyServices {
1349
1349
  /**
1350
1350
  * Link asset to an entity
1351
1351
  */
1352
- async assetLink(fileId: string, app: string, entityType: string, entityId: string, visibility?: 'private' | 'public' | 'unlisted'): Promise<any> {
1352
+ async assetLink(fileId: string, app: string, entityType: string, entityId: string, visibility?: 'private' | 'public' | 'unlisted', webhookUrl?: string): Promise<any> {
1353
1353
  try {
1354
- const res = await this.client.post(`/api/assets/${fileId}/links`, {
1355
- app,
1356
- entityType,
1357
- entityId,
1358
- visibility
1359
- });
1354
+ const body: any = { app, entityType, entityId };
1355
+ if (visibility) body.visibility = visibility;
1356
+ if (webhookUrl) body.webhookUrl = webhookUrl;
1357
+ const res = await this.client.post(`/api/assets/${fileId}/links`, body);
1360
1358
  return res.data;
1361
1359
  } catch (error) {
1362
1360
  throw this.handleError(error);
@@ -1508,6 +1506,94 @@ export class OxyServices {
1508
1506
  }
1509
1507
  }
1510
1508
 
1509
+ // ============================================================================
1510
+ // DEVELOPER API METHODS
1511
+ // ============================================================================
1512
+
1513
+ /**
1514
+ * Get developer apps for the current user
1515
+ */
1516
+ async getDeveloperApps(): Promise<any[]> {
1517
+ try {
1518
+ const res = await this.client.get('/api/developer/apps');
1519
+ return res.data.apps || [];
1520
+ } catch (error) {
1521
+ throw this.handleError(error);
1522
+ }
1523
+ }
1524
+
1525
+ /**
1526
+ * Create a new developer app
1527
+ */
1528
+ async createDeveloperApp(data: {
1529
+ name: string;
1530
+ description?: string;
1531
+ webhookUrl: string;
1532
+ devWebhookUrl?: string;
1533
+ scopes?: string[];
1534
+ }): Promise<any> {
1535
+ try {
1536
+ const res = await this.client.post('/api/developer/apps', data);
1537
+ return res.data.app;
1538
+ } catch (error) {
1539
+ throw this.handleError(error);
1540
+ }
1541
+ }
1542
+
1543
+ /**
1544
+ * Get a specific developer app
1545
+ */
1546
+ async getDeveloperApp(appId: string): Promise<any> {
1547
+ try {
1548
+ const res = await this.client.get(`/api/developer/apps/${appId}`);
1549
+ return res.data.app;
1550
+ } catch (error) {
1551
+ throw this.handleError(error);
1552
+ }
1553
+ }
1554
+
1555
+ /**
1556
+ * Update a developer app
1557
+ */
1558
+ async updateDeveloperApp(appId: string, data: {
1559
+ name?: string;
1560
+ description?: string;
1561
+ webhookUrl?: string;
1562
+ devWebhookUrl?: string;
1563
+ scopes?: string[];
1564
+ }): Promise<any> {
1565
+ try {
1566
+ const res = await this.client.patch(`/api/developer/apps/${appId}`, data);
1567
+ return res.data.app;
1568
+ } catch (error) {
1569
+ throw this.handleError(error);
1570
+ }
1571
+ }
1572
+
1573
+ /**
1574
+ * Regenerate API secret for a developer app
1575
+ */
1576
+ async regenerateDeveloperAppSecret(appId: string): Promise<any> {
1577
+ try {
1578
+ const res = await this.client.post(`/api/developer/apps/${appId}/regenerate-secret`);
1579
+ return res.data;
1580
+ } catch (error) {
1581
+ throw this.handleError(error);
1582
+ }
1583
+ }
1584
+
1585
+ /**
1586
+ * Delete a developer app
1587
+ */
1588
+ async deleteDeveloperApp(appId: string): Promise<any> {
1589
+ try {
1590
+ const res = await this.client.delete(`/api/developer/apps/${appId}`);
1591
+ return res.data;
1592
+ } catch (error) {
1593
+ throw this.handleError(error);
1594
+ }
1595
+ }
1596
+
1511
1597
  // ============================================================================
1512
1598
  // LOCATION METHODS
1513
1599
  // ============================================================================
@@ -1618,7 +1704,7 @@ export class OxyServices {
1618
1704
  */
1619
1705
  async getDeviceSessions(sessionId: string): Promise<any[]> {
1620
1706
  try {
1621
- const res = await this.client.get(`/api/devices/sessions/${sessionId}`);
1707
+ const res = await this.client.get(`/api/session/device/sessions/${sessionId}`);
1622
1708
  return res.data;
1623
1709
  } catch (error) {
1624
1710
  throw this.handleError(error);
@@ -1634,7 +1720,7 @@ export class OxyServices {
1634
1720
  if (deviceId) params.append('deviceId', deviceId);
1635
1721
  if (excludeCurrent) params.append('excludeCurrent', 'true');
1636
1722
 
1637
- const res = await this.client.post(`/api/devices/logout-all/${sessionId}?${params.toString()}`);
1723
+ const res = await this.client.post(`/api/session/device/logout-all/${sessionId}?${params.toString()}`);
1638
1724
  return res.data;
1639
1725
  } catch (error) {
1640
1726
  throw this.handleError(error);
@@ -1646,7 +1732,7 @@ export class OxyServices {
1646
1732
  */
1647
1733
  async updateDeviceName(sessionId: string, deviceName: string): Promise<any> {
1648
1734
  try {
1649
- const res = await this.client.put(`/api/devices/name/${sessionId}`, { deviceName });
1735
+ const res = await this.client.put(`/api/session/device/name/${sessionId}`, { deviceName });
1650
1736
  return res.data;
1651
1737
  } catch (error) {
1652
1738
  throw this.handleError(error);
package/src/i18n/index.ts CHANGED
@@ -3,6 +3,24 @@
3
3
  const enUS = require('./locales/en-US.json') as Record<string, any>;
4
4
  // eslint-disable-next-line @typescript-eslint/no-var-requires
5
5
  const esES = require('./locales/es-ES.json') as Record<string, any>;
6
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
7
+ const caES = require('./locales/ca-ES.json') as Record<string, any>;
8
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
9
+ const frFR = require('./locales/fr-FR.json') as Record<string, any>;
10
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
11
+ const deDE = require('./locales/de-DE.json') as Record<string, any>;
12
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
13
+ const itIT = require('./locales/it-IT.json') as Record<string, any>;
14
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
15
+ const ptPT = require('./locales/pt-PT.json') as Record<string, any>;
16
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
17
+ const jaJP = require('./locales/ja-JP.json') as Record<string, any>;
18
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
19
+ const koKR = require('./locales/ko-KR.json') as Record<string, any>;
20
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
21
+ const zhCN = require('./locales/zh-CN.json') as Record<string, any>;
22
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
23
+ const arSA = require('./locales/ar-SA.json') as Record<string, any>;
6
24
 
7
25
  export type LocaleDict = Record<string, any>;
8
26
 
@@ -11,6 +29,24 @@ const DICTS: Record<string, LocaleDict> = {
11
29
  'en-US': enUS as LocaleDict,
12
30
  'es': esES as LocaleDict,
13
31
  'es-ES': esES as LocaleDict,
32
+ 'ca': caES as LocaleDict,
33
+ 'ca-ES': caES as LocaleDict,
34
+ 'fr': frFR as LocaleDict,
35
+ 'fr-FR': frFR as LocaleDict,
36
+ 'de': deDE as LocaleDict,
37
+ 'de-DE': deDE as LocaleDict,
38
+ 'it': itIT as LocaleDict,
39
+ 'it-IT': itIT as LocaleDict,
40
+ 'pt': ptPT as LocaleDict,
41
+ 'pt-PT': ptPT as LocaleDict,
42
+ 'ja': jaJP as LocaleDict,
43
+ 'ja-JP': jaJP as LocaleDict,
44
+ 'ko': koKR as LocaleDict,
45
+ 'ko-KR': koKR as LocaleDict,
46
+ 'zh': zhCN as LocaleDict,
47
+ 'zh-CN': zhCN as LocaleDict,
48
+ 'ar': arSA as LocaleDict,
49
+ 'ar-SA': arSA as LocaleDict,
14
50
  };
15
51
 
16
52
  const FALLBACK = 'en-US';
@@ -0,0 +1,128 @@
1
+ {
2
+ "signin": {
3
+ "title": "تسجيل الدخول",
4
+ "subtitle": "سجل الدخول للمتابعة",
5
+ "addAccountTitle": "إضافة حساب آخر",
6
+ "addAccountSubtitle": "تسجيل الدخول بحساب آخر",
7
+ "username": {
8
+ "label": "اسم المستخدم",
9
+ "placeholder": "أدخل اسم المستخدم",
10
+ "helper": "3-30 حرفًا، أحرف وأرقام فقط",
11
+ "required": "يرجى إدخال اسم المستخدم.",
12
+ "minLength": "يجب أن يكون اسم المستخدم 3 أحرف على الأقل."
13
+ },
14
+ "password": {
15
+ "label": "كلمة المرور",
16
+ "placeholder": "أدخل كلمة المرور",
17
+ "required": "يرجى إدخال كلمة المرور.",
18
+ "hint": "أدخل كلمة المرور لتسجيل الدخول"
19
+ },
20
+ "actions": {
21
+ "continue": "متابعة",
22
+ "back": "رجوع",
23
+ "signIn": "تسجيل الدخول",
24
+ "verify": "التحقق",
25
+ "openAccountSwitcher": "التبديل إلى حساب آخر",
26
+ "openAccountSwitcherSubtitle": "{{count}} حسابات أخرى متاحة",
27
+ "openAccountSwitcherSubtitle_singular": "حساب آخر واحد متاح",
28
+ "openAccountSwitcherSubtitle_zero": "راجع حساباتك المحفوظة",
29
+ "manageAccounts": "إدارة الحسابات المحفوظة",
30
+ "manageAccountsSubtitle": "مراجعة الجلسات أو إزالتها أو تسجيل الخروج",
31
+ "loadingOtherAccounts": "جاري تحميل الحسابات الأخرى…",
32
+ "switchAccountFailed": "لم نتمكن من التبديل بين الحسابات. يرجى المحاولة مرة أخرى."
33
+ },
34
+ "forgotPrompt": "نسيت كلمة المرور؟",
35
+ "security": {
36
+ "dataSecure": "بياناتك مشفرة وآمنة"
37
+ },
38
+ "currentlySignedInAs": "مسجل الدخول حاليًا كـ",
39
+ "alreadySignedInWith": "مسجل الدخول بالفعل بـ",
40
+ "alreadySignedIn": "مسجل الدخول بالفعل",
41
+ "alreadySignedInMessage": "هذا الحساب مسجل الدخول بالفعل. المتابعة بهذا الحساب؟",
42
+ "continueWithAccount": "متابعة",
43
+ "currentAccount": "الحالي",
44
+ "or": "أو",
45
+ "viewAllAccounts": "عرض {{count}} المزيد",
46
+ "status": {
47
+ "accountSwitched": "استخدام {{name}} الآن"
48
+ },
49
+ "totp": {
50
+ "title": "رمز المصادقة الثنائية",
51
+ "subtitle": "أدخل الرمز المكون من 6 أرقام من تطبيق المصادقة الخاص بك لـ @{{username}}",
52
+ "invalidCode": "رمز غير صالح. يرجى المحاولة مرة أخرى.",
53
+ "noAccess": "لا يمكن الوصول إلى تطبيق المصادقة؟",
54
+ "useBackupCode": "استخدام رمز النسخ الاحتياطي",
55
+ "useRecoveryKey": "استخدام مفتاح الاسترداد"
56
+ }
57
+ },
58
+ "signup": {
59
+ "welcome": {
60
+ "title": "مرحبًا بك في Oxy!",
61
+ "subtitle": "أنشئ حسابك في خطوات قليلة",
62
+ "haveAccount": "لديك حساب بالفعل؟",
63
+ "signInCta": "تسجيل الدخول"
64
+ },
65
+ "identity": {
66
+ "title": "من أنت؟",
67
+ "subtitle": "اختر اسم المستخدم وأدخل بريدك الإلكتروني"
68
+ },
69
+ "username": {
70
+ "helper": "3-30 حرفًا، أحرف وأرقام فقط",
71
+ "required": "يرجى إدخال اسم مستخدم",
72
+ "minLength": "يجب أن يكون اسم المستخدم 3 أحرف على الأقل"
73
+ },
74
+ "email": {
75
+ "required": "يرجى إدخال عنوان بريد إلكتروني",
76
+ "invalid": "يرجى إدخال عنوان بريد إلكتروني صالح",
77
+ "helper": "لن نشارك بريدك الإلكتروني أبدًا"
78
+ },
79
+ "security": {
80
+ "title": "أمّن حسابك",
81
+ "subtitle": "أنشئ كلمة مرور قوية لحماية حسابك"
82
+ },
83
+ "password": {
84
+ "helper": "8 أحرف على الأقل",
85
+ "required": "يرجى إدخال كلمة مرور",
86
+ "minLength": "يجب أن تكون كلمة المرور 8 أحرف على الأقل",
87
+ "confirmRequired": "يرجى تأكيد كلمة المرور",
88
+ "mismatch": "كلمات المرور غير متطابقة",
89
+ "confirmHint": "أعد إدخال كلمة المرور للتأكيد"
90
+ },
91
+ "summary": {
92
+ "title": "أوشكت على الانتهاء!",
93
+ "subtitle": "راجع معلوماتك وأنشئ حسابك",
94
+ "sectionTitle": "معلومات الحساب",
95
+ "fields": {
96
+ "username": "اسم المستخدم",
97
+ "email": "البريد الإلكتروني",
98
+ "password": "كلمة المرور"
99
+ },
100
+ "notSet": "غير محدد",
101
+ "securityTip": "لمزيد من الأمان، قم بتمكين المصادقة الثنائية (TOTP) من إعدادات الحساب بعد إنشاء حسابك.",
102
+ "legalReminder": "بإنشاء حساب، فإنك توافق على شروط الخدمة وسياسة الخصوصية الخاصة بنا."
103
+ }
104
+ },
105
+ "common": {
106
+ "actions": {
107
+ "back": "رجوع",
108
+ "continue": "متابعة",
109
+ "next": "التالي",
110
+ "getStarted": "ابدأ",
111
+ "createAccount": "إنشاء حساب",
112
+ "signIn": "تسجيل الدخول",
113
+ "verify": "التحقق",
114
+ "resetPassword": "إعادة تعيين كلمة المرور"
115
+ },
116
+ "links": {
117
+ "recoverAccount": "استعادة حسابك",
118
+ "signUp": "التسجيل"
119
+ },
120
+ "labels": {
121
+ "username": "اسم المستخدم",
122
+ "email": "البريد الإلكتروني",
123
+ "password": "كلمة المرور",
124
+ "confirmPassword": "تأكيد كلمة المرور"
125
+ }
126
+ }
127
+ }
128
+
@@ -0,0 +1,128 @@
1
+ {
2
+ "signin": {
3
+ "title": "Iniciar sessió",
4
+ "subtitle": "Inicia sessió per continuar",
5
+ "addAccountTitle": "Afegir un altre compte",
6
+ "addAccountSubtitle": "Inicia sessió amb un altre compte",
7
+ "username": {
8
+ "label": "Nom d'usuari",
9
+ "placeholder": "Introdueix el teu nom d'usuari",
10
+ "helper": "3-30 caràcters, només lletres i números",
11
+ "required": "Si us plau, introdueix el teu nom d'usuari.",
12
+ "minLength": "El nom d'usuari ha de tenir almenys 3 caràcters."
13
+ },
14
+ "password": {
15
+ "label": "Contrasenya",
16
+ "placeholder": "Introdueix la teva contrasenya",
17
+ "required": "Si us plau, introdueix la teva contrasenya.",
18
+ "hint": "Introdueix la teva contrasenya per iniciar sessió"
19
+ },
20
+ "actions": {
21
+ "continue": "Continuar",
22
+ "back": "Enrere",
23
+ "signIn": "Iniciar sessió",
24
+ "verify": "Verificar",
25
+ "openAccountSwitcher": "Canviar a un altre compte",
26
+ "openAccountSwitcherSubtitle": "{{count}} altres comptes disponibles",
27
+ "openAccountSwitcherSubtitle_singular": "1 altre compte disponible",
28
+ "openAccountSwitcherSubtitle_zero": "Revisa els teus comptes guardats",
29
+ "manageAccounts": "Gestionar comptes guardats",
30
+ "manageAccountsSubtitle": "Revisar sessions, eliminar o tancar sessió",
31
+ "loadingOtherAccounts": "Carregant altres comptes…",
32
+ "switchAccountFailed": "No hem pogut canviar de compte. Torna-ho a intentar."
33
+ },
34
+ "forgotPrompt": "Has oblidat la teva contrasenya?",
35
+ "security": {
36
+ "dataSecure": "Les teves dades estan xifrades i segures"
37
+ },
38
+ "currentlySignedInAs": "Actualment has iniciat sessió com",
39
+ "alreadySignedInWith": "Ja has iniciat sessió amb",
40
+ "alreadySignedIn": "Ja has iniciat sessió",
41
+ "alreadySignedInMessage": "Aquest compte ja ha iniciat sessió. Continuar amb aquest compte?",
42
+ "continueWithAccount": "Continuar",
43
+ "currentAccount": "Actual",
44
+ "or": "o",
45
+ "viewAllAccounts": "Veure {{count}} més",
46
+ "status": {
47
+ "accountSwitched": "Ara utilitzant {{name}}"
48
+ },
49
+ "totp": {
50
+ "title": "Codi de dos factors",
51
+ "subtitle": "Introdueix el codi de 6 dígits de la teva app autenticadora per @{{username}}",
52
+ "invalidCode": "Codi invàlid. Torna-ho a intentar.",
53
+ "noAccess": "Sense accés al teu autenticador?",
54
+ "useBackupCode": "Utilitzar codi de còpia de seguretat",
55
+ "useRecoveryKey": "Utilitzar clau de recuperació"
56
+ }
57
+ },
58
+ "signup": {
59
+ "welcome": {
60
+ "title": "Benvingut a Oxy!",
61
+ "subtitle": "Crea el teu compte en pocs passos",
62
+ "haveAccount": "Ja tens un compte?",
63
+ "signInCta": "Inicia sessió"
64
+ },
65
+ "identity": {
66
+ "title": "Qui ets?",
67
+ "subtitle": "Tria el teu nom d'usuari i introdueix el teu correu"
68
+ },
69
+ "username": {
70
+ "helper": "3-30 caràcters, només lletres i números",
71
+ "required": "Si us plau, introdueix un nom d'usuari",
72
+ "minLength": "El nom d'usuari ha de tenir almenys 3 caràcters"
73
+ },
74
+ "email": {
75
+ "required": "Si us plau, introdueix una adreça de correu electrònic",
76
+ "invalid": "Si us plau, introdueix una adreça de correu electrònic vàlida",
77
+ "helper": "Mai compartirem el teu correu"
78
+ },
79
+ "security": {
80
+ "title": "Protegeix el teu compte",
81
+ "subtitle": "Crea una contrasenya forta per protegir el teu compte"
82
+ },
83
+ "password": {
84
+ "helper": "Almenys 8 caràcters",
85
+ "required": "Si us plau, introdueix una contrasenya",
86
+ "minLength": "La contrasenya ha de tenir almenys 8 caràcters",
87
+ "confirmRequired": "Si us plau, confirma la teva contrasenya",
88
+ "mismatch": "Les contrasenyes no coincideixen",
89
+ "confirmHint": "Torna a introduir la teva contrasenya per confirmar"
90
+ },
91
+ "summary": {
92
+ "title": "Gairebé allà!",
93
+ "subtitle": "Revisa la teva informació i crea el teu compte",
94
+ "sectionTitle": "Informació del compte",
95
+ "fields": {
96
+ "username": "Nom d'usuari",
97
+ "email": "Correu electrònic",
98
+ "password": "Contrasenya"
99
+ },
100
+ "notSet": "No definit",
101
+ "securityTip": "Per a una major seguretat, habilita l'Autenticació de Dos Factors (TOTP) des de Configuració del compte després de crear el teu compte.",
102
+ "legalReminder": "En crear un compte, acceptes els nostres Termes de servei i Política de privacitat."
103
+ }
104
+ },
105
+ "common": {
106
+ "actions": {
107
+ "back": "Enrere",
108
+ "continue": "Continuar",
109
+ "next": "Següent",
110
+ "getStarted": "Començar",
111
+ "createAccount": "Crear compte",
112
+ "signIn": "Iniciar sessió",
113
+ "verify": "Verificar",
114
+ "resetPassword": "Restablir contrasenya"
115
+ },
116
+ "links": {
117
+ "recoverAccount": "Recuperar el teu compte",
118
+ "signUp": "Registrar-se"
119
+ },
120
+ "labels": {
121
+ "username": "Nom d'usuari",
122
+ "email": "Correu electrònic",
123
+ "password": "Contrasenya",
124
+ "confirmPassword": "Confirmar contrasenya"
125
+ }
126
+ }
127
+ }
128
+
@@ -0,0 +1,128 @@
1
+ {
2
+ "signin": {
3
+ "title": "Anmelden",
4
+ "subtitle": "Melden Sie sich an, um fortzufahren",
5
+ "addAccountTitle": "Weiteres Konto hinzufügen",
6
+ "addAccountSubtitle": "Mit einem anderen Konto anmelden",
7
+ "username": {
8
+ "label": "Benutzername",
9
+ "placeholder": "Geben Sie Ihren Benutzernamen ein",
10
+ "helper": "3-30 Zeichen, nur Buchstaben und Zahlen",
11
+ "required": "Bitte geben Sie Ihren Benutzernamen ein.",
12
+ "minLength": "Der Benutzername muss mindestens 3 Zeichen lang sein."
13
+ },
14
+ "password": {
15
+ "label": "Passwort",
16
+ "placeholder": "Geben Sie Ihr Passwort ein",
17
+ "required": "Bitte geben Sie Ihr Passwort ein.",
18
+ "hint": "Geben Sie Ihr Passwort ein, um sich anzumelden"
19
+ },
20
+ "actions": {
21
+ "continue": "Fortfahren",
22
+ "back": "Zurück",
23
+ "signIn": "Anmelden",
24
+ "verify": "Überprüfen",
25
+ "openAccountSwitcher": "Zu einem anderen Konto wechseln",
26
+ "openAccountSwitcherSubtitle": "{{count}} weitere Konten verfügbar",
27
+ "openAccountSwitcherSubtitle_singular": "1 weiteres Konto verfügbar",
28
+ "openAccountSwitcherSubtitle_zero": "Überprüfen Sie Ihre gespeicherten Konten",
29
+ "manageAccounts": "Gespeicherte Konten verwalten",
30
+ "manageAccountsSubtitle": "Sitzungen überprüfen, entfernen oder abmelden",
31
+ "loadingOtherAccounts": "Lade weitere Konten…",
32
+ "switchAccountFailed": "Wir konnten nicht zu einem anderen Konto wechseln. Bitte versuchen Sie es erneut."
33
+ },
34
+ "forgotPrompt": "Passwort vergessen?",
35
+ "security": {
36
+ "dataSecure": "Ihre Daten sind verschlüsselt und sicher"
37
+ },
38
+ "currentlySignedInAs": "Aktuell angemeldet als",
39
+ "alreadySignedInWith": "Bereits angemeldet mit",
40
+ "alreadySignedIn": "Bereits angemeldet",
41
+ "alreadySignedInMessage": "Dieses Konto ist bereits angemeldet. Mit diesem Konto fortfahren?",
42
+ "continueWithAccount": "Fortfahren",
43
+ "currentAccount": "Aktuell",
44
+ "or": "oder",
45
+ "viewAllAccounts": "{{count}} weitere anzeigen",
46
+ "status": {
47
+ "accountSwitched": "Verwende jetzt {{name}}"
48
+ },
49
+ "totp": {
50
+ "title": "Zwei-Faktor-Code",
51
+ "subtitle": "Geben Sie den 6-stelligen Code von Ihrer Authenticator-App für @{{username}} ein",
52
+ "invalidCode": "Ungültiger Code. Bitte versuchen Sie es erneut.",
53
+ "noAccess": "Kein Zugriff auf Ihren Authenticator?",
54
+ "useBackupCode": "Backup-Code verwenden",
55
+ "useRecoveryKey": "Wiederherstellungsschlüssel verwenden"
56
+ }
57
+ },
58
+ "signup": {
59
+ "welcome": {
60
+ "title": "Willkommen bei Oxy!",
61
+ "subtitle": "Erstellen Sie Ihr Konto in nur wenigen Schritten",
62
+ "haveAccount": "Haben Sie bereits ein Konto?",
63
+ "signInCta": "Anmelden"
64
+ },
65
+ "identity": {
66
+ "title": "Wer sind Sie?",
67
+ "subtitle": "Wählen Sie Ihren Benutzernamen und geben Sie Ihre E-Mail ein"
68
+ },
69
+ "username": {
70
+ "helper": "3-30 Zeichen, nur Buchstaben und Zahlen",
71
+ "required": "Bitte geben Sie einen Benutzernamen ein",
72
+ "minLength": "Der Benutzername muss mindestens 3 Zeichen lang sein"
73
+ },
74
+ "email": {
75
+ "required": "Bitte geben Sie eine E-Mail-Adresse ein",
76
+ "invalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
77
+ "helper": "Wir werden Ihre E-Mail niemals teilen"
78
+ },
79
+ "security": {
80
+ "title": "Sichern Sie Ihr Konto",
81
+ "subtitle": "Erstellen Sie ein starkes Passwort, um Ihr Konto zu schützen"
82
+ },
83
+ "password": {
84
+ "helper": "Mindestens 8 Zeichen",
85
+ "required": "Bitte geben Sie ein Passwort ein",
86
+ "minLength": "Das Passwort muss mindestens 8 Zeichen lang sein",
87
+ "confirmRequired": "Bitte bestätigen Sie Ihr Passwort",
88
+ "mismatch": "Die Passwörter stimmen nicht überein",
89
+ "confirmHint": "Geben Sie Ihr Passwort erneut ein, um zu bestätigen"
90
+ },
91
+ "summary": {
92
+ "title": "Fast geschafft!",
93
+ "subtitle": "Überprüfen Sie Ihre Informationen und erstellen Sie Ihr Konto",
94
+ "sectionTitle": "Kontoinformationen",
95
+ "fields": {
96
+ "username": "Benutzername",
97
+ "email": "E-Mail",
98
+ "password": "Passwort"
99
+ },
100
+ "notSet": "Nicht festgelegt",
101
+ "securityTip": "Für mehr Sicherheit aktivieren Sie die Zwei-Faktor-Authentifizierung (TOTP) in den Kontoeinstellungen, nachdem Sie Ihr Konto erstellt haben.",
102
+ "legalReminder": "Durch die Erstellung eines Kontos stimmen Sie unseren Nutzungsbedingungen und der Datenschutzrichtlinie zu."
103
+ }
104
+ },
105
+ "common": {
106
+ "actions": {
107
+ "back": "Zurück",
108
+ "continue": "Fortfahren",
109
+ "next": "Weiter",
110
+ "getStarted": "Loslegen",
111
+ "createAccount": "Konto erstellen",
112
+ "signIn": "Anmelden",
113
+ "verify": "Überprüfen",
114
+ "resetPassword": "Passwort zurücksetzen"
115
+ },
116
+ "links": {
117
+ "recoverAccount": "Ihr Konto wiederherstellen",
118
+ "signUp": "Registrieren"
119
+ },
120
+ "labels": {
121
+ "username": "Benutzername",
122
+ "email": "E-Mail",
123
+ "password": "Passwort",
124
+ "confirmPassword": "Passwort bestätigen"
125
+ }
126
+ }
127
+ }
128
+