spck 0.3.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 (155) hide show
  1. package/.oxlintrc.json +49 -0
  2. package/LICENSE +21 -0
  3. package/README.md +631 -0
  4. package/bin/cli.js +20 -0
  5. package/bin/validate-cwd.js +41 -0
  6. package/dist/config/__tests__/config.test.d.ts +2 -0
  7. package/dist/config/__tests__/config.test.js +262 -0
  8. package/dist/config/__tests__/credentials.test.d.ts +2 -0
  9. package/dist/config/__tests__/credentials.test.js +360 -0
  10. package/dist/config/config.d.ts +33 -0
  11. package/dist/config/config.js +185 -0
  12. package/dist/config/credentials.d.ts +75 -0
  13. package/dist/config/credentials.js +259 -0
  14. package/dist/config/server-selection.d.ts +40 -0
  15. package/dist/config/server-selection.js +130 -0
  16. package/dist/connection/__tests__/firebase-auth.test.d.ts +2 -0
  17. package/dist/connection/__tests__/firebase-auth.test.js +96 -0
  18. package/dist/connection/__tests__/hmac.test.d.ts +2 -0
  19. package/dist/connection/__tests__/hmac.test.js +372 -0
  20. package/dist/connection/auth.d.ts +13 -0
  21. package/dist/connection/auth.js +91 -0
  22. package/dist/connection/firebase-auth.d.ts +40 -0
  23. package/dist/connection/firebase-auth.js +429 -0
  24. package/dist/connection/hmac.d.ts +24 -0
  25. package/dist/connection/hmac.js +109 -0
  26. package/dist/i18n/index.d.ts +25 -0
  27. package/dist/i18n/index.js +101 -0
  28. package/dist/i18n/locales/en.json +313 -0
  29. package/dist/i18n/locales/es.json +302 -0
  30. package/dist/i18n/locales/fr.json +302 -0
  31. package/dist/i18n/locales/id.json +302 -0
  32. package/dist/i18n/locales/ja.json +302 -0
  33. package/dist/i18n/locales/ko.json +302 -0
  34. package/dist/i18n/locales/locales/en.json +309 -0
  35. package/dist/i18n/locales/locales/es.json +302 -0
  36. package/dist/i18n/locales/locales/fr.json +302 -0
  37. package/dist/i18n/locales/locales/id.json +302 -0
  38. package/dist/i18n/locales/locales/ja.json +302 -0
  39. package/dist/i18n/locales/locales/ko.json +302 -0
  40. package/dist/i18n/locales/locales/pt.json +302 -0
  41. package/dist/i18n/locales/locales/zh-Hans.json +302 -0
  42. package/dist/i18n/locales/pt.json +302 -0
  43. package/dist/i18n/locales/zh-Hans.json +302 -0
  44. package/dist/index.d.ts +25 -0
  45. package/dist/index.js +493 -0
  46. package/dist/proxy/ProxyClient.d.ts +125 -0
  47. package/dist/proxy/ProxyClient.js +781 -0
  48. package/dist/proxy/ProxySocketWrapper.d.ts +43 -0
  49. package/dist/proxy/ProxySocketWrapper.js +98 -0
  50. package/dist/proxy/__tests__/ProxyClient.test.d.ts +2 -0
  51. package/dist/proxy/__tests__/ProxyClient.test.js +445 -0
  52. package/dist/proxy/__tests__/ProxySocketWrapper.test.d.ts +2 -0
  53. package/dist/proxy/__tests__/ProxySocketWrapper.test.js +190 -0
  54. package/dist/proxy/__tests__/handshake-validation.test.d.ts +2 -0
  55. package/dist/proxy/__tests__/handshake-validation.test.js +282 -0
  56. package/dist/proxy/__tests__/token-refresh-race.test.d.ts +14 -0
  57. package/dist/proxy/__tests__/token-refresh-race.test.js +173 -0
  58. package/dist/proxy/chunking.d.ts +53 -0
  59. package/dist/proxy/chunking.js +127 -0
  60. package/dist/proxy/handshake-validation.d.ts +21 -0
  61. package/dist/proxy/handshake-validation.js +49 -0
  62. package/dist/rpc/__tests__/router.test.d.ts +2 -0
  63. package/dist/rpc/__tests__/router.test.js +262 -0
  64. package/dist/rpc/router.d.ts +37 -0
  65. package/dist/rpc/router.js +132 -0
  66. package/dist/services/BrowserProxyService.d.ts +13 -0
  67. package/dist/services/BrowserProxyService.js +139 -0
  68. package/dist/services/FilesystemService.d.ts +99 -0
  69. package/dist/services/FilesystemService.js +742 -0
  70. package/dist/services/GitService.d.ts +243 -0
  71. package/dist/services/GitService.js +1439 -0
  72. package/dist/services/SearchService.d.ts +93 -0
  73. package/dist/services/SearchService.js +670 -0
  74. package/dist/services/TerminalService.d.ts +62 -0
  75. package/dist/services/TerminalService.js +337 -0
  76. package/dist/services/__tests__/BrowserProxyService.test.d.ts +2 -0
  77. package/dist/services/__tests__/BrowserProxyService.test.js +145 -0
  78. package/dist/services/__tests__/FilesystemService.test.d.ts +2 -0
  79. package/dist/services/__tests__/FilesystemService.test.js +609 -0
  80. package/dist/services/__tests__/GitService.test.d.ts +2 -0
  81. package/dist/services/__tests__/GitService.test.js +953 -0
  82. package/dist/services/__tests__/SearchService.test.d.ts +2 -0
  83. package/dist/services/__tests__/SearchService.test.js +384 -0
  84. package/dist/services/__tests__/TerminalService.test.d.ts +2 -0
  85. package/dist/services/__tests__/TerminalService.test.js +513 -0
  86. package/dist/setup/wizard.d.ts +10 -0
  87. package/dist/setup/wizard.js +172 -0
  88. package/dist/types.d.ts +196 -0
  89. package/dist/types.js +44 -0
  90. package/dist/utils/__tests__/gitignore.test.d.ts +2 -0
  91. package/dist/utils/__tests__/gitignore.test.js +127 -0
  92. package/dist/utils/gitignore.d.ts +24 -0
  93. package/dist/utils/gitignore.js +77 -0
  94. package/dist/utils/logger.d.ts +96 -0
  95. package/dist/utils/logger.js +456 -0
  96. package/dist/utils/project-dir.d.ts +51 -0
  97. package/dist/utils/project-dir.js +191 -0
  98. package/dist/utils/ripgrep.d.ts +34 -0
  99. package/dist/utils/ripgrep.js +148 -0
  100. package/dist/utils/tool-detection.d.ts +17 -0
  101. package/dist/utils/tool-detection.js +126 -0
  102. package/dist/watcher/FileWatcher.d.ts +10 -0
  103. package/dist/watcher/FileWatcher.js +42 -0
  104. package/package.json +70 -0
  105. package/src/config/__tests__/config.test.ts +318 -0
  106. package/src/config/__tests__/credentials.test.ts +494 -0
  107. package/src/config/config.ts +206 -0
  108. package/src/config/credentials.ts +302 -0
  109. package/src/config/server-selection.ts +150 -0
  110. package/src/connection/__tests__/firebase-auth.test.ts +121 -0
  111. package/src/connection/__tests__/hmac.test.ts +509 -0
  112. package/src/connection/auth.ts +140 -0
  113. package/src/connection/firebase-auth.ts +504 -0
  114. package/src/connection/hmac.ts +139 -0
  115. package/src/i18n/index.ts +119 -0
  116. package/src/i18n/locales/en.json +313 -0
  117. package/src/i18n/locales/es.json +302 -0
  118. package/src/i18n/locales/fr.json +302 -0
  119. package/src/i18n/locales/id.json +302 -0
  120. package/src/i18n/locales/ja.json +302 -0
  121. package/src/i18n/locales/ko.json +302 -0
  122. package/src/i18n/locales/pt.json +302 -0
  123. package/src/i18n/locales/zh-Hans.json +302 -0
  124. package/src/index.ts +542 -0
  125. package/src/proxy/ProxyClient.ts +968 -0
  126. package/src/proxy/ProxySocketWrapper.ts +113 -0
  127. package/src/proxy/__tests__/ProxyClient.test.ts +575 -0
  128. package/src/proxy/__tests__/ProxySocketWrapper.test.ts +251 -0
  129. package/src/proxy/__tests__/handshake-validation.test.ts +367 -0
  130. package/src/proxy/chunking.ts +162 -0
  131. package/src/proxy/handshake-validation.ts +64 -0
  132. package/src/rpc/__tests__/router.test.ts +400 -0
  133. package/src/rpc/router.ts +183 -0
  134. package/src/services/BrowserProxyService.ts +179 -0
  135. package/src/services/FilesystemService.ts +841 -0
  136. package/src/services/GitService.ts +1639 -0
  137. package/src/services/SearchService.ts +809 -0
  138. package/src/services/TerminalService.ts +413 -0
  139. package/src/services/__tests__/BrowserProxyService.test.ts +155 -0
  140. package/src/services/__tests__/FilesystemService.test.ts +1002 -0
  141. package/src/services/__tests__/GitService.test.ts +1552 -0
  142. package/src/services/__tests__/SearchService.test.ts +484 -0
  143. package/src/services/__tests__/TerminalService.test.ts +702 -0
  144. package/src/setup/wizard.ts +242 -0
  145. package/src/types/fossil-delta.d.ts +4 -0
  146. package/src/types.ts +287 -0
  147. package/src/utils/__tests__/gitignore.test.ts +174 -0
  148. package/src/utils/gitignore.ts +91 -0
  149. package/src/utils/logger.ts +578 -0
  150. package/src/utils/project-dir.ts +218 -0
  151. package/src/utils/ripgrep.ts +180 -0
  152. package/src/utils/tool-detection.ts +141 -0
  153. package/src/watcher/FileWatcher.ts +53 -0
  154. package/tsconfig.json +24 -0
  155. package/vitest.config.ts +19 -0
@@ -0,0 +1,302 @@
1
+ {
2
+ "app": {
3
+ "title": "Spck CLI",
4
+ "goodbye": "Au revoir !"
5
+ },
6
+ "config": {
7
+ "loaded": "Configuration chargée",
8
+ "notFound": "Aucune configuration trouvée. Lancement de l’assistant de configuration...",
9
+ "corrupted": "Le fichier de configuration est corrompu",
10
+ "corruptedRunSetup": "Lancement de l’assistant de configuration pour recréer...",
11
+ "fileNotFound": "Fichier de configuration introuvable : {{path}}",
12
+ "fileNotFoundHint": "Lancement de l’assistant de configuration pour créer la configuration initiale...",
13
+ "fileCorrupted": "Le fichier de configuration est corrompu : {{path}}",
14
+ "fileCorruptedHint": "L’assistant de configuration sera lancé pour recréer...",
15
+ "saved": "Configuration enregistrée avec succès !"
16
+ },
17
+ "auth": {
18
+ "title": "Authentification Firebase",
19
+ "startingCallback": "Démarrage du serveur de rappel local sur le port {{port}}...",
20
+ "openingBrowser": "Ouverture du navigateur pour l’authentification...",
21
+ "couldNotOpenBrowser": "Impossible d’ouvrir le navigateur automatiquement : {{message}}",
22
+ "manualAuthHint": "Si le navigateur ne s’ouvre pas, authentifiez-vous manuellement :",
23
+ "visitUrl": "Ou visitez : {{url}}",
24
+ "waiting": "En attente de l’authentification (délai : 10 minutes)...",
25
+ "success": "Authentification réussie !",
26
+ "userId": "ID utilisateur : {{userId}}",
27
+ "credentialsLoaded": "Identifiants Firebase chargés",
28
+ "generatingToken": "Génération d’un nouveau jeton d’ID Firebase...",
29
+ "noRefreshToken": "Aucun jeton de rafraîchissement disponible. Réauthentification requise.",
30
+ "refreshTokenExpired": "Le jeton de rafraîchissement a expiré ou est invalide. Réauthentification requise.",
31
+ "tokenRefreshError": "Erreur de rafraîchissement du jeton : {{message}}",
32
+ "tokenRefreshFailed": "Échec du rafraîchissement du jeton. Réauthentification requise."
33
+ },
34
+ "tools": {
35
+ "title": "Détection des outils",
36
+ "gitForceDisabled": "Git désactivé de force (mode développement)",
37
+ "gitDetected": "Git détecté : {{version}}",
38
+ "gitDetectedShort": "Git détecté",
39
+ "gitNotDetected": "Git non détecté",
40
+ "gitDisabledHint": "Les fonctionnalités Git seront désactivées pour cette session.",
41
+ "gitInstallHint": "Installez Git pour activer les fonctionnalités de contrôle de version :",
42
+ "ripgrepForceDisabled": "ripgrep désactivé de force (mode développement)",
43
+ "ripgrepDetected": "ripgrep détecté : {{version}}",
44
+ "ripgrepDetectedShort": "ripgrep détecté",
45
+ "ripgrepNotDetected": "ripgrep non détecté",
46
+ "ripgrepDisabledHint": "Les fonctionnalités de recherche rapide seront désactivées pour cette session.",
47
+ "ripgrepInstallHint": "Installez ripgrep pour la recherche de code haute performance :",
48
+ "gitInstallUrl": "https://git-scm.com/downloads",
49
+ "ripgrepInstallUrl": "https://github.com/BurntSushi/ripgrep#installation"
50
+ },
51
+ "features": {
52
+ "title": "Fonctionnalités disponibles",
53
+ "filesystem": "Opérations du système de fichiers",
54
+ "gitEnabled": "Contrôle de version Git",
55
+ "gitDisabled": "Contrôle de version Git (git non installé)",
56
+ "searchFast": "Recherche rapide (ripgrep)",
57
+ "searchBasic": "Recherche basique (ripgrep non installé)",
58
+ "terminalEnabled": "Service de terminal",
59
+ "terminalDisabled": "Service de terminal (désactivé dans la configuration)",
60
+ "securityTitle": "Mode de sécurité",
61
+ "userAuthEnabled": "Authentification utilisateur : ACTIVÉE",
62
+ "userAuthEnabledHint1": "Nécessite l’authentification Firebase pour toutes les connexions",
63
+ "userAuthEnabledHint2": "Ajoute une couche de vérification d’identité utilisateur",
64
+ "userAuthEnabledHint3": "Compatible avec Spck Editor (pas Lite)",
65
+ "userAuthDisabled": "Authentification utilisateur : DÉSACTIVÉE",
66
+ "userAuthDisabledHint1": "Connexions protégées uniquement par clé de signature secrète",
67
+ "userAuthDisabledHint2": "Latence réduite, pas d’authentification Firebase requise",
68
+ "userAuthDisabledHint3": "Compatible avec Spck Editor Lite",
69
+ "browserProxyEnabled": "Service proxy navigateur",
70
+ "browserProxyDisabled": "Service proxy navigateur (désactivé dans la configuration)"
71
+ },
72
+ "server": {
73
+ "selectingBest": "Sélection du meilleur serveur relais...",
74
+ "checkingLatency": "Vérification de la latence du serveur...",
75
+ "selected": "Serveur sélectionné : {{label}} ({{url}}) - {{ping}}ms",
76
+ "allUnreachable": "Tous les serveurs inaccessibles, utilisation du serveur par défaut : {{url}}",
77
+ "usingOverride": "Utilisation du serveur personnalisé : {{url}}",
78
+ "usingSaved": "Utilisation du serveur enregistré : {{url}}",
79
+ "failedSelect": "Échec de la sélection du serveur relais : {{message}}",
80
+ "usingDefault": "Utilisation du serveur par défaut : {{url}}",
81
+ "unreachable": "inaccessible"
82
+ },
83
+ "connection": {
84
+ "title": "Connexion au serveur relais",
85
+ "relayServer": "Serveur relais : {{server}}",
86
+ "scanQR": "Scannez ce code QR avec l’application mobile Spck Editor :",
87
+ "clientId": "ID client : {{id}}",
88
+ "secret": "Secret : {{secret}}",
89
+ "name": "Nom : {{name}}",
90
+ "relayServerLabel": "Serveur relais : {{server}}",
91
+ "relayServerMismatch": "IMPORTANT : Le client doit sélectionner le même serveur relais",
92
+ "relayServerMismatchHint": "({{server}}) dans Spck Editor pour se connecter.",
93
+ "existingFound": "Connexion existante trouvée",
94
+ "connectedAt": "Connecté le : {{date}}",
95
+ "noExisting": "Aucune connexion existante trouvée. Connexion au proxy...",
96
+ "tokenExpired": "Jeton du serveur expiré. Reconnexion...",
97
+ "settingsCorrupted": "Paramètres de connexion corrompus, reconnexion au proxy...",
98
+ "reusingSecret": "Réutilisation du secret existant pour clientId",
99
+ "generatedSecret": "Nouveau secret généré pour clientId",
100
+ "newDevice": "Nouvel appareil en cours de connexion : {{deviceId}}",
101
+ "newDeviceWarning": "C’est la première fois que cet appareil se connecte.",
102
+ "newDeviceCompromised": "Si vous n’avez pas initié cette connexion, vos identifiants sont peut-être compromis.",
103
+ "userVerifying": "Demande de vérification de l’utilisateur...",
104
+ "userVerified": "Utilisateur vérifié pour {{deviceId}} : {{userId}}",
105
+ "userVerifyFailed": "Échec de la vérification de l’utilisateur pour {{deviceId}} : {{message}}",
106
+ "userVerifyOptional": "Poursuite malgré tout (la vérification est facultative)",
107
+ "protocolNegotiated": "Protocole v{{version}} négocié avec {{deviceId}}",
108
+ "protocolUnsupported": "Version de protocole {{version}} non prise en charge de {{deviceId}}. Ce CLI ne prend en charge que le protocole v1. Une mise à jour est nécessaire : mettez à jour votre client/bibliothèque (et ce CLI, le cas échéant) vers la dernière version afin que les versions de protocole correspondent. Si vous avez installé le CLI globalement, exécutez : npm i -g spck@latest",
109
+ "chunkingMessage": "Fragmentation du gros message {{event}} : {{chunks}} fragments (~{{size}}Mo) pour {{deviceId}}",
110
+ "disconnectedFromProxy": "Déconnecté du proxy : {{reason}}",
111
+ "serverTerminated": "Le serveur a terminé la connexion. Fermeture...",
112
+ "attemptingReconnect": "Tentative de reconnexion...",
113
+ "reconnectAttempt": "Tentative de reconnexion {{attempt}}/5...",
114
+ "reconnected": "Reconnecté après {{attempts}} tentatives",
115
+ "reconnectFailed": "Échec de la reconnexion après 5 tentatives.",
116
+ "exiting": "Fermeture...",
117
+ "shuttingDown": "Arrêt en cours...",
118
+ "killTimeout": "Délai d’acquittement de fermeture dépassé, déconnexion forcée",
119
+ "gracefulDisconnect": "Déconnecté proprement du proxy",
120
+ "connectError": "Erreur de connexion : {{message}}",
121
+ "connectErrorNamespace": "Espace de noms : /listen",
122
+ "connectErrorType": "Type d’erreur : {{type}}",
123
+ "connectFailed": "Échec de la connexion au serveur relais",
124
+ "connectFailedUrl": "URL : {{url}}/listen",
125
+ "connectFailedError": "Erreur : {{message}}",
126
+ "connectFailedCauses": "Causes possibles :",
127
+ "connectFailedCause1": "- Le serveur n’est pas accessible (vérifiez votre connexion internet)",
128
+ "connectFailedCause2": "- Réseau/pare-feu bloquant la connexion",
129
+ "freeTierNotice": "Compte gratuit\u00a0: {{used}}\u00a0/ {{limit}} min utilisés aujourd\u2019hui ({{remaining}} min restants)",
130
+ "freeTierUpgrade": "Passez à la version premium pour un accès CLI illimité."
131
+ },
132
+ "multipleConnection": {
133
+ "detected": "TENTATIVE DE CONNEXION MULTIPLE DÉTECTÉE !",
134
+ "existingCount": "Connexions existantes : {{count}}",
135
+ "newConnectionId": "Nouvel ID de connexion : {{id}}",
136
+ "rejectedHint": "Pour des raisons de sécurité, les nouvelles connexions sont rejetées par défaut.",
137
+ "restartHint": "Si vous souhaitez autoriser les connexions multiples, redémarrez le CLI.",
138
+ "compromiseWarning": "Si vous n’avez pas initié cette connexion, votre ID client",
139
+ "compromiseHint": "est peut-être compromis. Envisagez de le regénérer."
140
+ },
141
+ "proxyError": {
142
+ "error": "Erreur proxy : {{message}}",
143
+ "tokenExpiredTimeout": "Votre jeton d’accès a expiré ou le délai a été dépassé.",
144
+ "tokenExpiredHint": "Réessayez ou réauthentifiez-vous avec : spck auth login",
145
+ "tokenRevoked": "Votre jeton de connexion a été révoqué.",
146
+ "tokenRevokedHint": "Réauthentifiez-vous : spck auth logout && spck auth login",
147
+ "privacyConsent": "Acceptation de la politique de confidentialité requise.",
148
+ "privacyConsentHint1": "Veuillez accepter la politique de confidentialité dans l’application Spck Editor",
149
+ "privacyConsentHint2": "sous Paramètres du compte pour utiliser cette fonctionnalité.",
150
+ "accountDeleting": "Votre compte est en cours de suppression.",
151
+ "accountDeletingHint": "Veuillez patienter 72 heures avant de réessayer.",
152
+ "accountBanned": "Ce compte a été banni.",
153
+ "accountBannedHint1": "Votre compte a été banni pour violation des",
154
+ "accountBannedHint2": "Conditions générales d’utilisation.",
155
+ "subscriptionCheckFailed": "Impossible de vérifier l’état de l’abonnement.",
156
+ "subscriptionCheckFailedHint": "Cela peut être un problème temporaire. Veuillez réessayer plus tard.",
157
+ "subscriptionRequired": "Cette fonctionnalité nécessite un abonnement payant.",
158
+ "subscriptionRequiredHint": "Visitez https://spck.io/subscription pour mettre à niveau.",
159
+ "maxConnections": "Maximum de {{max}} connexions CLI atteint.",
160
+ "maxConnectionsHint": "Fermez les autres instances du CLI et réessayez.",
161
+ "duplicateClientId": "Un CLI avec cet ID client est déjà connecté.",
162
+ "duplicateHint1": "Cela peut se produire si :",
163
+ "duplicateHint2": "- Une autre instance du CLI est encore en cours d’exécution avec la même connexion",
164
+ "duplicateHint3": "- Une connexion précédente ne s’est pas déconnectée correctement",
165
+ "duplicateHint4": "Veuillez :",
166
+ "duplicateHint5": "1. Fermer toute autre instance du CLI en cours d’exécution",
167
+ "duplicateHint6": "2. Attendre quelques secondes que la connexion précédente expire",
168
+ "duplicateHint7": "3. Réessayer de vous connecter",
169
+ "firebaseExpiredRefreshFailed": "Le jeton Firebase a expiré et le rafraîchissement a échoué.",
170
+ "firebaseExpiredRefreshFailedHint": "Réauthentifiez-vous : spck auth login",
171
+ "firebaseExpired": "Le jeton Firebase a expiré.",
172
+ "firebaseExpiredHint": "Réauthentifiez-vous : spck auth login",
173
+ "firebaseInvalid": "Le jeton Firebase est invalide (non expiré).",
174
+ "firebaseInvalidHint1": "Le jeton est peut-être corrompu ou provient d’un autre compte.",
175
+ "firebaseInvalidHint2": "Réauthentifiez-vous : spck auth login",
176
+ "firebaseTokenExpiring": "Le jeton Firebase a expiré. Tentative de rafraîchissement...",
177
+ "tokenRefreshFailed": "Échec du rafraîchissement du jeton : {{message}}",
178
+ "dailyLimitExceeded": "La limite quotidienne gratuite de 30 minutes a été atteinte.",
179
+ "dailyLimitReset": "La limite sera réinitialisée dans {{time}}.",
180
+ "dailyLimitExceededHint": "Passez à Supporter ou Gold pour un accès CLI illimité : https://spck.io/subscription",
181
+ "defaultError": "Un problème est survenu lors de la vérification de votre abonnement."
182
+ },
183
+ "errors": {
184
+ "permissionError": "Erreur de permissions : Impossible d’écrire dans le répertoire requis",
185
+ "permissionPath": "Chemin : {{path}}",
186
+ "permissionOperation": "Opération : {{operation}}",
187
+ "permissionFix": "Veuillez corriger les permissions :",
188
+ "permissionFixCmd1": "chmod 700 ~/.spck-editor",
189
+ "permissionFixCmd2": "chmod 600 ~/.spck-editor/.credentials.json",
190
+ "permissionFixHint": "Ou assurez-vous que votre utilisateur a un accès en écriture au répertoire personnel.",
191
+ "diskFull": "Disque plein : Plus d’espace disponible sur l’appareil",
192
+ "diskFullHint": "Veuillez libérer de l’espace disque et réessayer.",
193
+ "cannotConnect": "Impossible de se connecter au serveur proxy",
194
+ "cannotConnectError": "Erreur : {{message}}",
195
+ "cannotConnectCauses": "Causes possibles :",
196
+ "cannotConnectCause1": "- Le serveur proxy est hors service",
197
+ "cannotConnectCause2": "- Problème de connexion réseau",
198
+ "cannotConnectCause3": "- URL du proxy incorrecte dans la configuration",
199
+ "cannotConnectHint": "Veuillez vérifier l’URL du proxy et réessayer.",
200
+ "failedToStart": "Échec du démarrage du client proxy : {{message}}",
201
+ "rootNotFound": "Répertoire racine introuvable : {{path}}",
202
+ "rootNotFoundHint": "Assurez-vous que le répertoire existe et est accessible, ou lancez l’assistant de configuration :",
203
+ "rootNotFoundCmd": "spck --setup",
204
+ "uncaughtException": "Exception non interceptée : {{message}}",
205
+ "unhandledRejection": "Rejet non géré : {{message}}",
206
+ "shutdownError": "Erreur lors de l’arrêt : {{message}}",
207
+ "cliError": "Erreur : {{message}}",
208
+ "cliErrorHint": "Exécutez avec --help pour voir les commandes et options disponibles."
209
+ },
210
+ "logout": {
211
+ "title": "Déconnexion",
212
+ "clearedCredentials": "Identifiants utilisateur effacés",
213
+ "removed": "Supprimé : {{path}}",
214
+ "clearedSettings": "Paramètres de connexion effacés",
215
+ "noCredentials": "Aucun identifiant ni paramètre de connexion trouvé",
216
+ "notLoggedIn": "Vous n’êtes pas actuellement connecté.",
217
+ "success": "Déconnexion réussie !",
218
+ "runAgain": "Relancez le CLI pour vous réauthentifier."
219
+ },
220
+ "account": {
221
+ "title": "Informations du compte",
222
+ "credentialsCorrupted": "Le fichier d’identifiants est corrompu.",
223
+ "credentialsCorruptedHint1": "Déconnectez-vous et réauthentifiez-vous :",
224
+ "credentialsCorruptedHint2": "spck --logout",
225
+ "notLoggedIn": "Vous n’êtes pas actuellement connecté.",
226
+ "notLoggedInHint1": "Lancez le CLI pour vous authentifier :",
227
+ "notLoggedInHint2": "spck",
228
+ "fetching": "Récupération des informations du compte...",
229
+ "decodeFailed": "Échec du décodage du jeton d’authentification",
230
+ "loggedIn": "Connecté",
231
+ "userId": "ID utilisateur : {{userId}}",
232
+ "email": "E-mail : {{email}}",
233
+ "verified": "Vérifié : {{status}}",
234
+ "yes": "Oui",
235
+ "no": "Non",
236
+ "tokenExpires": "Le jeton expire : {{date}}",
237
+ "timeRemaining": "Temps restant : {{hours}}h {{minutes}}m",
238
+ "subscription": "Abonnement",
239
+ "status": "Statut : {{status}}",
240
+ "plan": "Forfait : {{plan}}",
241
+ "premium": "Premium : {{status}}",
242
+ "fetchFailed": "Échec de la récupération des informations du compte",
243
+ "fetchFailedError": "Erreur : {{message}}",
244
+ "permissionDenied": "Permission refusée pour accéder au fichier d’identifiants",
245
+ "permissionHint1": "Veuillez vérifier les permissions du fichier :",
246
+ "permissionHint2": "chmod 600 ~/.spck-editor/.credentials.json",
247
+ "networkError": "Erreur de connexion réseau",
248
+ "networkHint": "Veuillez vérifier votre connexion internet"
249
+ },
250
+ "credentials": {
251
+ "corrupted": "Le fichier d’identifiants est corrompu : {{path}}",
252
+ "corruptedHint": "La ré-authentification sera déclenchée...",
253
+ "settingsCorrupted": "Le fichier de paramètres de connexion est corrompu : {{path}}",
254
+ "settingsCorruptedHint": "Reconnexion au proxy..."
255
+ },
256
+ "projectDir": {
257
+ "configured": "Répertoire du projet configuré",
258
+ "directory": "Répertoire : {{path}}",
259
+ "configLink": "Config : {{symlink}} -> {{dataPath}}"
260
+ },
261
+ "setup": {
262
+ "title": "Spck Networking CLI - Configuration initiale",
263
+ "description1": "Cet assistant vous aidera à configurer le Spck Networking CLI.",
264
+ "description2": "Le CLI se connecte à un serveur proxy pour permettre l’accès distant",
265
+ "description3": "à votre système de fichiers local, git et terminal.",
266
+ "projectConfig": "Configuration du projet",
267
+ "rootDirPrompt": "Répertoire racine à servir [{{default}}] : ",
268
+ "terminalConfig": "Configuration du terminal",
269
+ "terminalDescription": "Le service de terminal permet l’accès distant au shell de votre machine.",
270
+ "terminalPrompt": "Activer le service de terminal ? [Y/n] : ",
271
+ "advancedTerminalPrompt": "Configurer les paramètres avancés du terminal ? [y/N] : ",
272
+ "maxBufferPrompt": "Lignes maximum du tampon (historique du terminal) [{{default}}] : ",
273
+ "maxBufferHint": "(Un tampon plus grand stocke plus d’historique mais peut ralentir la synchronisation)",
274
+ "maxTerminalsPrompt": "Nombre maximum de processus terminal [{{default}}] : ",
275
+ "securityConfig": "Configuration de la sécurité",
276
+ "securityDescription1": "L’authentification utilisateur supplémentaire ajoute une couche de sécurité en plus",
277
+ "securityDescription2": "en exigeant que le client vérifie son identité Firebase.",
278
+ "securityDescription3": "Cela augmente le temps de connexion initial de ~3-15 secondes.",
279
+ "securityDocsHint": "En savoir plus : {{url}}",
280
+ "securityPrompt": "Activer l’authentification utilisateur supplémentaire ? [y/N] : ",
281
+ "gitConfig": "Configuration Git",
282
+ "gitignoreDetected": "Un fichier .gitignore a été détecté dans le répertoire de votre projet.",
283
+ "gitignoreRecommend1": "Il est recommandé d’ajouter .spck-editor/ au .gitignore pour éviter",
284
+ "gitignoreRecommend2": "de valider accidentellement le répertoire dans le contrôle de version.",
285
+ "gitignorePrompt": "Ajouter .spck-editor/ au .gitignore ? [Y/n] : ",
286
+ "gitignoreAdded": ".spck-editor/ ajouté au .gitignore",
287
+ "gitignoreFailed": "Échec de la mise à jour du .gitignore : {{message}}",
288
+ "gitignoreManualHint": "Vous pouvez ajouter manuellement .spck-editor/ à votre fichier .gitignore.",
289
+ "setupFailed": "Échec de la configuration : {{message}}",
290
+ "configSummary": "Résumé de la configuration :",
291
+ "summaryName": "Nom du serveur : {{name}}",
292
+ "summaryNameNotSet": "Non défini",
293
+ "summaryRoot": "Répertoire racine : {{root}}",
294
+ "summaryTerminal": "Service de terminal : {{status}}",
295
+ "summaryEnabled": "Activé",
296
+ "summaryDisabled": "Désactivé",
297
+ "summaryMaxBuffer": "- Lignes maximum du tampon : {{value}}",
298
+ "summaryMaxProcesses": "- Processus maximum : {{value}}",
299
+ "summaryUserAuth": "Authentification utilisateur : {{status}}",
300
+ "received": "Reçu {{signal}}"
301
+ }
302
+ }
@@ -0,0 +1,302 @@
1
+ {
2
+ "app": {
3
+ "title": "Spck CLI",
4
+ "goodbye": "Sampai jumpa!"
5
+ },
6
+ "config": {
7
+ "loaded": "Konfigurasi dimuat",
8
+ "notFound": "Konfigurasi tidak ditemukan. Menjalankan wizard pengaturan...",
9
+ "corrupted": "Berkas konfigurasi rusak",
10
+ "corruptedRunSetup": "Menjalankan wizard pengaturan untuk membuat ulang...",
11
+ "fileNotFound": "Berkas konfigurasi tidak ditemukan: {{path}}",
12
+ "fileNotFoundHint": "Menjalankan wizard pengaturan untuk membuat konfigurasi awal...",
13
+ "fileCorrupted": "Berkas konfigurasi rusak: {{path}}",
14
+ "fileCorruptedHint": "Akan menjalankan wizard pengaturan untuk membuat ulang...",
15
+ "saved": "Konfigurasi berhasil disimpan!"
16
+ },
17
+ "auth": {
18
+ "title": "Autentikasi Firebase",
19
+ "startingCallback": "Memulai server callback lokal di port {{port}}...",
20
+ "openingBrowser": "Membuka peramban untuk autentikasi...",
21
+ "couldNotOpenBrowser": "Tidak dapat membuka peramban secara otomatis: {{message}}",
22
+ "manualAuthHint": "Jika peramban tidak terbuka, lakukan autentikasi secara manual:",
23
+ "visitUrl": "Atau kunjungi: {{url}}",
24
+ "waiting": "Menunggu autentikasi (batas waktu: 10 menit)...",
25
+ "success": "Autentikasi berhasil!",
26
+ "userId": "ID Pengguna: {{userId}}",
27
+ "credentialsLoaded": "Kredensial Firebase dimuat",
28
+ "generatingToken": "Membuat token ID Firebase baru...",
29
+ "noRefreshToken": "Tidak ada refresh token yang tersedia. Autentikasi ulang diperlukan.",
30
+ "refreshTokenExpired": "Refresh token kedaluwarsa atau tidak valid. Autentikasi ulang diperlukan.",
31
+ "tokenRefreshError": "Kesalahan pembaruan token: {{message}}",
32
+ "tokenRefreshFailed": "Pembaruan token gagal. Autentikasi ulang diperlukan."
33
+ },
34
+ "tools": {
35
+ "title": "Deteksi Alat",
36
+ "gitForceDisabled": "Git dinonaktifkan paksa (mode pengembangan)",
37
+ "gitDetected": "Git terdeteksi: {{version}}",
38
+ "gitDetectedShort": "Git terdeteksi",
39
+ "gitNotDetected": "Git tidak terdeteksi",
40
+ "gitDisabledHint": "Fitur Git akan dinonaktifkan dalam sesi ini.",
41
+ "gitInstallHint": "Instal Git untuk mengaktifkan fitur kontrol versi:",
42
+ "ripgrepForceDisabled": "ripgrep dinonaktifkan paksa (mode pengembangan)",
43
+ "ripgrepDetected": "ripgrep terdeteksi: {{version}}",
44
+ "ripgrepDetectedShort": "ripgrep terdeteksi",
45
+ "ripgrepNotDetected": "ripgrep tidak terdeteksi",
46
+ "ripgrepDisabledHint": "Fitur pencarian cepat akan dinonaktifkan dalam sesi ini.",
47
+ "ripgrepInstallHint": "Instal ripgrep untuk pencarian kode berkinerja tinggi:",
48
+ "gitInstallUrl": "https://git-scm.com/downloads",
49
+ "ripgrepInstallUrl": "https://github.com/BurntSushi/ripgrep#installation"
50
+ },
51
+ "features": {
52
+ "title": "Fitur yang Tersedia",
53
+ "filesystem": "Operasi sistem berkas",
54
+ "gitEnabled": "Kontrol versi Git",
55
+ "gitDisabled": "Kontrol versi Git (git tidak terinstal)",
56
+ "searchFast": "Pencarian cepat (ripgrep)",
57
+ "searchBasic": "Pencarian dasar (ripgrep tidak terinstal)",
58
+ "terminalEnabled": "Layanan terminal",
59
+ "terminalDisabled": "Layanan terminal (dinonaktifkan di konfigurasi)",
60
+ "securityTitle": "Mode Keamanan",
61
+ "userAuthEnabled": "Autentikasi Pengguna: DIAKTIFKAN",
62
+ "userAuthEnabledHint1": "Memerlukan autentikasi Firebase untuk semua koneksi",
63
+ "userAuthEnabledHint2": "Menambahkan lapisan verifikasi identitas pengguna",
64
+ "userAuthEnabledHint3": "Kompatibel dengan Spck Editor (bukan Lite)",
65
+ "userAuthDisabled": "Autentikasi Pengguna: DINONAKTIFKAN",
66
+ "userAuthDisabledHint1": "Koneksi dilindungi hanya dengan kunci penandatanganan rahasia",
67
+ "userAuthDisabledHint2": "Latensi lebih rendah, tidak memerlukan autentikasi Firebase",
68
+ "userAuthDisabledHint3": "Kompatibel dengan Spck Editor Lite",
69
+ "browserProxyEnabled": "Layanan proxy browser",
70
+ "browserProxyDisabled": "Layanan proxy browser (dinonaktifkan di konfigurasi)"
71
+ },
72
+ "server": {
73
+ "selectingBest": "Memilih server relay terbaik...",
74
+ "checkingLatency": "Memeriksa latensi server...",
75
+ "selected": "Server terpilih: {{label}} ({{url}}) - {{ping}}ms",
76
+ "allUnreachable": "Semua server tidak dapat dijangkau, menggunakan bawaan: {{url}}",
77
+ "usingOverride": "Menggunakan penggantian server: {{url}}",
78
+ "usingSaved": "Menggunakan server tersimpan: {{url}}",
79
+ "failedSelect": "Gagal memilih server relay: {{message}}",
80
+ "usingDefault": "Menggunakan bawaan: {{url}}",
81
+ "unreachable": "tidak dapat dijangkau"
82
+ },
83
+ "connection": {
84
+ "title": "Menghubungkan ke Server Relay",
85
+ "relayServer": "Server relay: {{server}}",
86
+ "scanQR": "Pindai kode QR ini dengan aplikasi seluler Spck Editor:",
87
+ "clientId": "ID Klien: {{id}}",
88
+ "secret": "Rahasia: {{secret}}",
89
+ "name": "Nama: {{name}}",
90
+ "relayServerLabel": "Server relay: {{server}}",
91
+ "relayServerMismatch": "PENTING: Klien harus memilih server relay yang sama",
92
+ "relayServerMismatchHint": "({{server}}) di Spck Editor untuk terhubung.",
93
+ "existingFound": "Koneksi yang ada ditemukan",
94
+ "connectedAt": "Terhubung pada: {{date}}",
95
+ "noExisting": "Tidak ada koneksi yang ditemukan. Menghubungkan ke proxy...",
96
+ "tokenExpired": "Token server kedaluwarsa. Menghubungkan ulang...",
97
+ "settingsCorrupted": "Pengaturan koneksi rusak, akan menghubungkan ulang ke proxy...",
98
+ "reusingSecret": "Menggunakan kembali rahasia yang ada untuk clientId",
99
+ "generatedSecret": "Membuat rahasia baru untuk clientId",
100
+ "newDevice": "Perangkat baru terhubung: {{deviceId}}",
101
+ "newDeviceWarning": "Ini adalah pertama kalinya perangkat ini terhubung.",
102
+ "newDeviceCompromised": "Jika Anda tidak memulai koneksi ini, kredensial Anda mungkin telah disusupi.",
103
+ "userVerifying": "Meminta verifikasi pengguna...",
104
+ "userVerified": "Pengguna terverifikasi untuk {{deviceId}}: {{userId}}",
105
+ "userVerifyFailed": "Verifikasi pengguna gagal untuk {{deviceId}}: {{message}}",
106
+ "userVerifyOptional": "Tetap melanjutkan (verifikasi bersifat opsional)",
107
+ "protocolNegotiated": "Protokol v{{version}} dinegosiasikan dengan {{deviceId}}",
108
+ "protocolUnsupported": "Versi protokol {{version}} tidak didukung dari {{deviceId}}. CLI ini hanya mendukung protokol v1. Pembaruan diperlukan: perbarui klien/pustaka Anda (dan CLI ini, jika perlu) ke versi terbaru agar versi protokol cocok. Jika Anda menginstal CLI secara global, jalankan: npm i -g spck@latest",
109
+ "chunkingMessage": "Memecah pesan {{event}} besar: {{chunks}} bagian (~{{size}}MB) untuk {{deviceId}}",
110
+ "disconnectedFromProxy": "Terputus dari proxy: {{reason}}",
111
+ "serverTerminated": "Server memutuskan koneksi. Keluar...",
112
+ "attemptingReconnect": "Mencoba menghubungkan ulang...",
113
+ "reconnectAttempt": "Percobaan koneksi ulang {{attempt}}/5...",
114
+ "reconnected": "Terhubung kembali setelah {{attempts}} percobaan",
115
+ "reconnectFailed": "Gagal menghubungkan ulang setelah 5 percobaan.",
116
+ "exiting": "Keluar...",
117
+ "shuttingDown": "Mematikan dengan aman...",
118
+ "killTimeout": "Batas waktu konfirmasi penghentian, memaksa pemutusan",
119
+ "gracefulDisconnect": "Terputus dengan aman dari proxy",
120
+ "connectError": "Kesalahan koneksi: {{message}}",
121
+ "connectErrorNamespace": "Namespace: /listen",
122
+ "connectErrorType": "Tipe kesalahan: {{type}}",
123
+ "connectFailed": "Gagal terhubung ke server relay",
124
+ "connectFailedUrl": "URL: {{url}}/listen",
125
+ "connectFailedError": "Kesalahan: {{message}}",
126
+ "connectFailedCauses": "Kemungkinan penyebab:",
127
+ "connectFailedCause1": "- Server tidak dapat dijangkau (periksa koneksi internet Anda)",
128
+ "connectFailedCause2": "- Jaringan/firewall memblokir koneksi",
129
+ "freeTierNotice": "Akun gratis: {{used}} / {{limit}} menit digunakan hari ini (sisa {{remaining}} menit)",
130
+ "freeTierUpgrade": "Upgrade untuk akses CLI tanpa batas."
131
+ },
132
+ "multipleConnection": {
133
+ "detected": "PERCOBAAN KONEKSI GANDA TERDETEKSI!",
134
+ "existingCount": "Koneksi yang ada: {{count}}",
135
+ "newConnectionId": "ID koneksi baru: {{id}}",
136
+ "rejectedHint": "Demi alasan keamanan, koneksi baru ditolak secara bawaan.",
137
+ "restartHint": "Jika Anda ingin mengizinkan koneksi ganda, mulai ulang CLI.",
138
+ "compromiseWarning": "Jika Anda tidak memulai koneksi ini, ID klien Anda",
139
+ "compromiseHint": "mungkin telah disusupi. Pertimbangkan untuk membuat ulang."
140
+ },
141
+ "proxyError": {
142
+ "error": "Kesalahan proxy: {{message}}",
143
+ "tokenExpiredTimeout": "Token akses Anda telah kedaluwarsa atau habis waktu.",
144
+ "tokenExpiredHint": "Silakan coba lagi atau autentikasi ulang dengan: spck auth login",
145
+ "tokenRevoked": "Token login Anda telah dicabut.",
146
+ "tokenRevokedHint": "Silakan autentikasi ulang: spck auth logout && spck auth login",
147
+ "privacyConsent": "Persetujuan kebijakan privasi diperlukan.",
148
+ "privacyConsentHint1": "Silakan terima kebijakan privasi di aplikasi Spck Editor",
149
+ "privacyConsentHint2": "di bawah Pengaturan Akun untuk menggunakan fitur ini.",
150
+ "accountDeleting": "Akun Anda sedang dihapus.",
151
+ "accountDeletingHint": "Silakan tunggu 72 jam sebelum mencoba lagi.",
152
+ "accountBanned": "Akun ini telah diblokir.",
153
+ "accountBannedHint1": "Akun Anda telah diblokir karena pelanggaran",
154
+ "accountBannedHint2": "Perjanjian Ketentuan Layanan.",
155
+ "subscriptionCheckFailed": "Tidak dapat memverifikasi status langganan.",
156
+ "subscriptionCheckFailedHint": "Ini mungkin masalah sementara. Silakan coba lagi nanti.",
157
+ "subscriptionRequired": "Fitur ini memerlukan langganan berbayar.",
158
+ "subscriptionRequiredHint": "Kunjungi https://spck.io/subscription untuk meningkatkan.",
159
+ "maxConnections": "Batas maksimum {{max}} koneksi CLI tercapai.",
160
+ "maxConnectionsHint": "Tutup instansi CLI lain dan coba lagi.",
161
+ "duplicateClientId": "CLI dengan ID klien ini sudah terhubung.",
162
+ "duplicateHint1": "Ini bisa terjadi jika:",
163
+ "duplicateHint2": "- Instansi CLI lain masih berjalan dengan koneksi yang sama",
164
+ "duplicateHint3": "- Koneksi sebelumnya tidak terputus dengan benar",
165
+ "duplicateHint4": "Silakan:",
166
+ "duplicateHint5": "1. Tutup semua instansi CLI lain yang berjalan",
167
+ "duplicateHint6": "2. Tunggu beberapa detik agar koneksi sebelumnya habis waktu",
168
+ "duplicateHint7": "3. Coba hubungkan lagi",
169
+ "firebaseExpiredRefreshFailed": "Token Firebase kedaluwarsa dan pembaruan gagal.",
170
+ "firebaseExpiredRefreshFailedHint": "Silakan autentikasi ulang: spck auth login",
171
+ "firebaseExpired": "Token Firebase kedaluwarsa.",
172
+ "firebaseExpiredHint": "Silakan autentikasi ulang: spck auth login",
173
+ "firebaseInvalid": "Token Firebase tidak valid (belum kedaluwarsa).",
174
+ "firebaseInvalidHint1": "Token mungkin rusak atau dari akun lain.",
175
+ "firebaseInvalidHint2": "Silakan autentikasi ulang: spck auth login",
176
+ "firebaseTokenExpiring": "Token Firebase kedaluwarsa. Mencoba memperbarui...",
177
+ "tokenRefreshFailed": "Pembaruan token gagal: {{message}}",
178
+ "dailyLimitExceeded": "Batas harian gratis 30 menit telah tercapai.",
179
+ "dailyLimitReset": "Batas akan direset dalam {{time}}.",
180
+ "dailyLimitExceededHint": "Upgrade ke Supporter atau Gold untuk akses CLI tanpa batas: https://spck.io/subscription",
181
+ "defaultError": "Terjadi masalah saat memverifikasi langganan Anda."
182
+ },
183
+ "errors": {
184
+ "permissionError": "Kesalahan Izin: Tidak dapat menulis ke direktori yang diperlukan",
185
+ "permissionPath": "Jalur: {{path}}",
186
+ "permissionOperation": "Operasi: {{operation}}",
187
+ "permissionFix": "Silakan perbaiki izin:",
188
+ "permissionFixCmd1": "chmod 700 ~/.spck-editor",
189
+ "permissionFixCmd2": "chmod 600 ~/.spck-editor/.credentials.json",
190
+ "permissionFixHint": "Atau pastikan pengguna Anda memiliki akses tulis ke direktori home.",
191
+ "diskFull": "Disk Penuh: Tidak ada ruang tersisa di perangkat",
192
+ "diskFullHint": "Silakan kosongkan ruang disk dan coba lagi.",
193
+ "cannotConnect": "Tidak dapat terhubung ke server proxy",
194
+ "cannotConnectError": "Kesalahan: {{message}}",
195
+ "cannotConnectCauses": "Kemungkinan penyebab:",
196
+ "cannotConnectCause1": "- Server proxy sedang mati",
197
+ "cannotConnectCause2": "- Masalah koneksi jaringan",
198
+ "cannotConnectCause3": "- URL proxy salah di konfigurasi",
199
+ "cannotConnectHint": "Silakan periksa URL proxy dan coba lagi.",
200
+ "failedToStart": "Gagal memulai klien proxy: {{message}}",
201
+ "rootNotFound": "Direktori root tidak ditemukan: {{path}}",
202
+ "rootNotFoundHint": "Pastikan direktori ada dan dapat diakses, atau jalankan wizard pengaturan:",
203
+ "rootNotFoundCmd": "spck --setup",
204
+ "uncaughtException": "Pengecualian tidak tertangkap: {{message}}",
205
+ "unhandledRejection": "Penolakan tidak tertangani: {{message}}",
206
+ "shutdownError": "Kesalahan saat mematikan: {{message}}",
207
+ "cliError": "Kesalahan: {{message}}",
208
+ "cliErrorHint": "Jalankan dengan --help untuk melihat perintah dan opsi yang tersedia."
209
+ },
210
+ "logout": {
211
+ "title": "Keluar",
212
+ "clearedCredentials": "Kredensial pengguna dihapus",
213
+ "removed": "Dihapus: {{path}}",
214
+ "clearedSettings": "Pengaturan koneksi dihapus",
215
+ "noCredentials": "Tidak ada kredensial atau pengaturan koneksi yang ditemukan",
216
+ "notLoggedIn": "Anda saat ini tidak masuk.",
217
+ "success": "Berhasil keluar!",
218
+ "runAgain": "Jalankan CLI lagi untuk autentikasi ulang."
219
+ },
220
+ "account": {
221
+ "title": "Informasi Akun",
222
+ "credentialsCorrupted": "Berkas kredensial rusak.",
223
+ "credentialsCorruptedHint1": "Silakan keluar dan autentikasi ulang:",
224
+ "credentialsCorruptedHint2": "spck --logout",
225
+ "notLoggedIn": "Saat ini tidak masuk.",
226
+ "notLoggedInHint1": "Jalankan CLI untuk autentikasi:",
227
+ "notLoggedInHint2": "spck",
228
+ "fetching": "Mengambil informasi akun...",
229
+ "decodeFailed": "Gagal mendekode token autentikasi",
230
+ "loggedIn": "Sudah Masuk",
231
+ "userId": "ID Pengguna: {{userId}}",
232
+ "email": "Email: {{email}}",
233
+ "verified": "Terverifikasi: {{status}}",
234
+ "yes": "Ya",
235
+ "no": "Tidak",
236
+ "tokenExpires": "Token kedaluwarsa: {{date}}",
237
+ "timeRemaining": "Waktu tersisa: {{hours}}j {{minutes}}m",
238
+ "subscription": "Langganan",
239
+ "status": "Status: {{status}}",
240
+ "plan": "Paket: {{plan}}",
241
+ "premium": "Premium: {{status}}",
242
+ "fetchFailed": "Gagal mengambil informasi akun",
243
+ "fetchFailedError": "Kesalahan: {{message}}",
244
+ "permissionDenied": "Izin ditolak saat mengakses berkas kredensial",
245
+ "permissionHint1": "Silakan periksa izin berkas:",
246
+ "permissionHint2": "chmod 600 ~/.spck-editor/.credentials.json",
247
+ "networkError": "Kesalahan koneksi jaringan",
248
+ "networkHint": "Silakan periksa koneksi internet Anda"
249
+ },
250
+ "credentials": {
251
+ "corrupted": "File kredensial rusak: {{path}}",
252
+ "corruptedHint": "Autentikasi ulang akan dimulai...",
253
+ "settingsCorrupted": "File pengaturan koneksi rusak: {{path}}",
254
+ "settingsCorruptedHint": "Akan menyambung ulang ke proxy..."
255
+ },
256
+ "projectDir": {
257
+ "configured": "Direktori proyek dikonfigurasi",
258
+ "directory": "Direktori: {{path}}",
259
+ "configLink": "Konfigurasi: {{symlink}} -> {{dataPath}}"
260
+ },
261
+ "setup": {
262
+ "title": "Spck Networking CLI - Pengaturan Awal",
263
+ "description1": "Wizard ini akan membantu Anda mengonfigurasi Spck Networking CLI.",
264
+ "description2": "CLI terhubung ke server proxy untuk mengaktifkan akses jarak jauh",
265
+ "description3": "ke sistem berkas lokal, git, dan terminal Anda.",
266
+ "projectConfig": "Konfigurasi Proyek",
267
+ "rootDirPrompt": "Direktori root untuk disajikan [{{default}}]: ",
268
+ "terminalConfig": "Konfigurasi Terminal",
269
+ "terminalDescription": "Layanan terminal memungkinkan akses shell jarak jauh ke mesin Anda.",
270
+ "terminalPrompt": "Aktifkan layanan terminal? [Y/n]: ",
271
+ "advancedTerminalPrompt": "Konfigurasi pengaturan terminal lanjutan? [y/N]: ",
272
+ "maxBufferPrompt": "Baris buffer maksimum (riwayat terminal) [{{default}}]: ",
273
+ "maxBufferHint": "(Buffer lebih besar menyimpan lebih banyak riwayat tetapi dapat memperlambat sinkronisasi)",
274
+ "maxTerminalsPrompt": "Proses terminal maksimum [{{default}}]: ",
275
+ "securityConfig": "Konfigurasi Keamanan",
276
+ "securityDescription1": "Autentikasi pengguna tambahan menambahkan lapisan keamanan ekstra",
277
+ "securityDescription2": "dengan mengharuskan klien memverifikasi identitas Firebase mereka.",
278
+ "securityDescription3": "Ini meningkatkan waktu koneksi awal sebesar ~3-15 detik.",
279
+ "securityDocsHint": "Pelajari lebih lanjut: {{url}}",
280
+ "securityPrompt": "Aktifkan autentikasi pengguna tambahan? [y/N]: ",
281
+ "gitConfig": "Konfigurasi Git",
282
+ "gitignoreDetected": "Berkas .gitignore terdeteksi di direktori proyek Anda.",
283
+ "gitignoreRecommend1": "Disarankan untuk menambahkan .spck-editor/ ke .gitignore untuk mencegah",
284
+ "gitignoreRecommend2": "direktori tersebut tidak sengaja dikomit ke kontrol versi.",
285
+ "gitignorePrompt": "Tambahkan .spck-editor/ ke .gitignore? [Y/n]: ",
286
+ "gitignoreAdded": "Menambahkan .spck-editor/ ke .gitignore",
287
+ "gitignoreFailed": "Gagal memperbarui .gitignore: {{message}}",
288
+ "gitignoreManualHint": "Anda dapat menambahkan .spck-editor/ ke berkas .gitignore secara manual.",
289
+ "setupFailed": "Pengaturan gagal: {{message}}",
290
+ "configSummary": "Ringkasan konfigurasi:",
291
+ "summaryName": "Nama server: {{name}}",
292
+ "summaryNameNotSet": "Belum diatur",
293
+ "summaryRoot": "Direktori root: {{root}}",
294
+ "summaryTerminal": "Layanan terminal: {{status}}",
295
+ "summaryEnabled": "Diaktifkan",
296
+ "summaryDisabled": "Dinonaktifkan",
297
+ "summaryMaxBuffer": "- Baris buffer maks: {{value}}",
298
+ "summaryMaxProcesses": "- Proses maks: {{value}}",
299
+ "summaryUserAuth": "Autentikasi pengguna: {{status}}",
300
+ "received": "Menerima {{signal}}"
301
+ }
302
+ }