@abtnode/ux 1.16.26-beta-346cba92 → 1.16.26-beta-5251ab18

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.
@@ -1,35 +1,36 @@
1
1
  /* eslint-disable react/no-unstable-nested-components */
2
2
  /* eslint-disable operator-linebreak */
3
- import { useState, useContext } from 'react';
4
- import PropTypes from 'prop-types';
5
3
  import styled from '@emotion/styled';
6
- import { useNavigate, Link } from 'react-router-dom';
4
+ import PropTypes from 'prop-types';
5
+ import { useContext, useEffect, useState } from 'react';
6
+ import { Link, useNavigate } from 'react-router-dom';
7
7
  import useLocalStorage from 'react-use/lib/useLocalStorage';
8
- import IconButton from '@mui/material/IconButton';
9
- import Menu from '@mui/material/Menu';
10
- import Divider from '@mui/material/Divider';
8
+ import { LAUNCH_SESSION_STATUS } from '@abtnode/constant';
9
+ import MoreVertIcon from '@mui/icons-material/MoreVert';
10
+ import Alert from '@mui/material/Alert';
11
11
  import ButtonGroup from '@mui/material/ButtonGroup';
12
12
  import Spinner from '@mui/material/CircularProgress';
13
- import MenuItem from '@mui/material/MenuItem';
14
- import MoreVertIcon from '@mui/icons-material/MoreVert';
13
+ import Divider from '@mui/material/Divider';
14
+ import FormControlLabel from '@mui/material/FormControlLabel';
15
+ import IconButton from '@mui/material/IconButton';
15
16
  import ListItemIcon from '@mui/material/ListItemIcon';
16
17
  import ListItemText from '@mui/material/ListItemText';
17
- import Typography from '@mui/material/Typography';
18
+ import Menu from '@mui/material/Menu';
19
+ import MenuItem from '@mui/material/MenuItem';
18
20
  import Radio from '@mui/material/Radio';
19
21
  import RadioGroup from '@mui/material/RadioGroup';
20
- import FormControlLabel from '@mui/material/FormControlLabel';
21
- import Alert from '@mui/material/Alert';
22
+ import Typography from '@mui/material/Typography';
22
23
  import Button from '@arcblock/ux/lib/Button';
23
- import { getAppMissingConfigs, isDeletableBlocklet, hasRunnableComponent, getDisplayName, isInProgress } from '@blocklet/meta/lib/util';
24
24
  import { LocaleContext } from '@arcblock/ux/lib/Locale/context';
25
+ import { getAppMissingConfigs, getDisplayName, hasRunnableComponent, isDeletableBlocklet, isInProgress } from '@blocklet/meta/lib/util';
25
26
  import { BLOCKLET_CONTROLLER_STATUS, BLOCKLET_MODES } from '@blocklet/constant';
26
27
  import Toast from '@arcblock/ux/lib/Toast';
27
- import { sleep, formatError, isDownloading } from '../util';
28
- import { getServerUrl } from './util';
29
- import { useNodeContext } from '../contexts/node';
30
28
  import Confirm from '../confirm';
31
- import Icons from './icons';
29
+ import { useNodeContext } from '../contexts/node';
30
+ import { formatError, isDownloading, sleep } from '../util';
32
31
  import joinUrlKeepSearch from '../util/join-url-keep-search';
32
+ import Icons from './icons';
33
+ import { getServerUrl } from './util';
33
34
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
34
35
  export default function BlockletActions({
35
36
  blocklet,
@@ -56,13 +57,32 @@ export default function BlockletActions({
56
57
  recommendedUrl
57
58
  } = useBlockletUrlEvaluation(blocklet);
58
59
  const inProgress = isInProgress(blocklet.status);
59
- const disableStart = blocklet?.controller?.status?.value === BLOCKLET_CONTROLLER_STATUS.suspended;
60
-
61
- // TODO: PaymentKitV2 过期恢复后需要能立即启动
62
- // if (!nftState?.expired && blocklet?.controller?.status?.reason === SUSPENDED_REASON.expired) {
63
- // disableStart = false;
64
- // }
65
-
60
+ const [disableStart, setDisableStart] = useState(false);
61
+ useEffect(() => {
62
+ if (!blocklet?.controller) {
63
+ return;
64
+ }
65
+ setDisableStart(blocklet?.controller?.status?.value === BLOCKLET_CONTROLLER_STATUS.suspended);
66
+ const func = async () => {
67
+ try {
68
+ const data = await node.api.getLauncherSession({
69
+ input: {
70
+ launcherSessionId: blocklet?.controller?.launcherSessionId,
71
+ launcherUrl: blocklet?.controller?.launcherUrl
72
+ }
73
+ });
74
+ if (data?.error) {
75
+ console.error('get launcher session failed', data.error);
76
+ return;
77
+ }
78
+ setDisableStart([LAUNCH_SESSION_STATUS.expired, LAUNCH_SESSION_STATUS.terminated].includes(data?.launcherSession?.status));
79
+ } catch (error) {
80
+ console.error('call getLauncherSession error', error);
81
+ }
82
+ };
83
+ func();
84
+ // eslint-disable-next-line react-hooks/exhaustive-deps
85
+ }, []);
66
86
  const {
67
87
  inService
68
88
  } = node;
@@ -16,7 +16,9 @@ import Button from '@arcblock/ux/lib/Button';
16
16
  import Toast from '@arcblock/ux/lib/Toast';
17
17
  import Tag from '@arcblock/ux/lib/Tag';
18
18
  import RelativeTime from '@arcblock/ux/lib/RelativeTime';
19
+ import DidConnect from '@arcblock/did-connect/lib/Connect';
19
20
  import { Tooltip } from '@mui/material';
21
+ import { useSessionContext } from '../../contexts/session';
20
22
  import { useBlockletContext } from '../../contexts/blocklet';
21
23
  import { useNodeContext } from '../../contexts/node';
22
24
  import EmptySpinner from '../../empty-spinner';
@@ -33,11 +35,15 @@ export default function ProjectList() {
33
35
  const {
34
36
  api
35
37
  } = useNodeContext();
38
+ const {
39
+ api: sessionApi
40
+ } = useSessionContext();
36
41
  const [loading, setLoading] = useState(true);
37
42
  const {
38
43
  blocklet
39
44
  } = useBlockletContext();
40
45
  const [deleteConfirm, setDeleteConfirm] = useState(null);
46
+ const [openDidConnect, setOpenDidConnect] = useState(false);
41
47
  const {
42
48
  componentDid = ''
43
49
  } = useParams();
@@ -65,23 +71,27 @@ export default function ProjectList() {
65
71
  const onDeleteProject = project => {
66
72
  setDeleteConfirm(project);
67
73
  };
68
- const deleteProject = () => {
74
+ const confirmDeleteProject = () => {
69
75
  setLoading(false);
70
- const projectId = deleteConfirm.id;
71
- api.deleteProject({
72
- input: {
73
- did: blocklet.meta.did,
74
- projectId
75
- }
76
- }).then(() => {
77
- setLoading(false);
78
- getProjects();
79
- Toast.success(t('common.removeSuccess'));
80
- setDeleteConfirm(null);
81
- }).catch(err => {
82
- setLoading(false);
83
- Toast.error(err.message);
84
- });
76
+ setOpenDidConnect(true);
77
+ };
78
+ const handleDidConnectClose = () => {
79
+ setOpenDidConnect(false);
80
+ setDeleteConfirm(null);
81
+ };
82
+ const handleDidConnectDidError = err => {
83
+ Toast.error(err.message);
84
+ setOpenDidConnect(false);
85
+ setDeleteConfirm(null);
86
+ };
87
+ const handleDidConnectDidSuccess = result => {
88
+ if (!result?.deleted) {
89
+ Toast.error('Delete project failed');
90
+ return;
91
+ }
92
+ getProjects();
93
+ setOpenDidConnect(false);
94
+ setDeleteConfirm(null);
85
95
  };
86
96
  useEffect(() => {
87
97
  getProjects();
@@ -266,6 +276,34 @@ export default function ProjectList() {
266
276
  }
267
277
  }
268
278
  }].filter(Boolean);
279
+ const didConnect = openDidConnect ? /*#__PURE__*/_jsx(DidConnect, {
280
+ open: true,
281
+ popup: true,
282
+ onClose: handleDidConnectClose,
283
+ action: "check-has-project-id",
284
+ locale: locale,
285
+ checkFn: sessionApi.get,
286
+ saveConnect: false,
287
+ forceConnected: false,
288
+ checkTimeout: 5 * 60 * 1000,
289
+ onSuccess: handleDidConnectDidSuccess,
290
+ onError: handleDidConnectDidError,
291
+ extraParams: {
292
+ projectId: deleteConfirm.id,
293
+ did: blocklet.meta.did,
294
+ name: deleteConfirm.blockletTitle
295
+ },
296
+ messages: {
297
+ title: t('blocklet.publish.deleteProject.title', {
298
+ name: deleteConfirm.blockletTitle
299
+ }),
300
+ scan: t('blocklet.publish.deleteProject.scan', {
301
+ name: deleteConfirm.blockletTitle
302
+ }),
303
+ confirm: t('blocklet.publish.deleteProject.confirm'),
304
+ success: t('blocklet.publish.deleteProject.success')
305
+ }
306
+ }) : null;
269
307
  return /*#__PURE__*/_jsxs(Main, {
270
308
  children: [/*#__PURE__*/_jsxs(Box, {
271
309
  display: "flex",
@@ -321,9 +359,9 @@ export default function ProjectList() {
321
359
  title: `${t('common.delete')} ${deleteConfirm.blockletTitle}`,
322
360
  description: t('blocklet.publish.deleteBlockletTip'),
323
361
  confirm: t('common.confirm'),
324
- onConfirm: deleteProject,
362
+ onConfirm: confirmDeleteProject,
325
363
  onCancel: () => setDeleteConfirm(null)
326
- })]
364
+ }), didConnect]
327
365
  });
328
366
  }
329
367
  ProjectList.propTypes = {};
package/es/locales/ar.js CHANGED
@@ -354,7 +354,7 @@ export default {
354
354
  uploadToStore: 'تحميل إلى المتجر',
355
355
  upload: 'تحميل',
356
356
  blockletStudio: 'استوديو بلوكليت',
357
- visitStore: 'قم بزيارة المتجر',
357
+ visitStore: 'زيارة المتجر',
358
358
  reconnect: 'إعادة الاتصال'
359
359
  },
360
360
  blocklet: {
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'تم الاتصال بمتجر البلوكليت بنجاح',
704
704
  uploadToStoreSuccess: 'تم تحميل بلوكليت بنجاح في المتجر ، تحتاج إلى نشره في المتجر',
705
705
  viewLastRelease: 'عرض آخر إصدار',
706
- reconnectStoreTip: 'بعد إعادة الاتصال، سيتم ربط مطور جديد. هل أنت متأكد أنك تريد إعادة الاتصال؟'
706
+ reconnectStoreTip: 'بعد إعادة الاتصال، سيتم ربط مطور جديد. هل أنت متأكد أنك تريد إعادة الاتصال؟',
707
+ deleteProject: {
708
+ title: 'احذف {name}',
709
+ scan: 'امسح رمز الاستجابة السريعة أدناه لحذف {name}',
710
+ confirm: 'يرجى تأكيد استخدام محفظة الهوية اللامركزية',
711
+ success: 'تم حذف مشروع Blocklet ، يرجى متابعة العملية الخاصة بك.'
712
+ }
707
713
  },
708
714
  titleValidationError: 'يجب أن يكون طول العنوان على الأقل 3 أحرف',
709
715
  descriptionValidationError: 'يجب أن تكون طول الوصف بين 3 و 160 حرفًا'
package/es/locales/de.js CHANGED
@@ -665,7 +665,7 @@ export default {
665
665
  createBlocklet: 'Neuer Blocklet',
666
666
  deleteBlockletTip: 'Der Blocklet kann nach dem Löschen nicht wiederhergestellt werden, bitte bestätigen',
667
667
  componentNotRunning: 'Komponente {name} läuft nicht, starten Sie sie bitte zuerst',
668
- releaseEmptyTip: 'Hier gibt es keine Veröffentlichungen',
668
+ releaseEmptyTip: 'Es gibt hier keine Veröffentlichungen',
669
669
  createReleaseTip: 'Du kannst eine Veröffentlichung des Blocklets erstellen, zusammen mit Versionshinweisen und Ressourcen, die andere Personen nutzen können.',
670
670
  createRelease: 'Neue Veröffentlichung',
671
671
  deleteReleaseTip: 'Die Veröffentlichung kann nach Löschung nicht wiederhergestellt werden',
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'Blocklet Store erfolgreich verbunden',
704
704
  uploadToStoreSuccess: 'Blocklet erfolgreich im Store hochgeladen, du musst es im Store veröffentlichen',
705
705
  viewLastRelease: 'Letzte Version anzeigen',
706
- reconnectStoreTip: 'Nach dem erneuten Verbinden wird ein neuer Entwickler zugewiesen. Bist du sicher, dass du dich erneut verbinden möchtest?'
706
+ reconnectStoreTip: 'Nach dem erneuten Verbinden wird ein neuer Entwickler zugewiesen. Bist du sicher, dass du dich erneut verbinden möchtest?',
707
+ deleteProject: {
708
+ title: 'Lösche {name}',
709
+ scan: 'Scanne den QR-Code unten, um {name} zu löschen',
710
+ confirm: 'Bitte bestätigen Sie die Verwendung der DID-Brieftasche',
711
+ success: 'Das Blocklet-Projekt wurde gelöscht, bitte fahren Sie mit Ihrer Operation fort.'
712
+ }
707
713
  },
708
714
  titleValidationError: 'Die Länge des Titels muss mindestens 3 Zeichen betragen',
709
715
  descriptionValidationError: 'Die Beschreibungslänge muss zwischen 3 und 160 Zeichen liegen'
package/es/locales/en.js CHANGED
@@ -242,7 +242,7 @@ export default {
242
242
  noticeTitle: 'Notice',
243
243
  notification: 'Notification',
244
244
  open: 'Open',
245
- visitStore: 'Visit store',
245
+ visitStore: 'Visit Store',
246
246
  management: 'Management',
247
247
  os: 'Operating System',
248
248
  overview: 'Overview',
@@ -660,10 +660,10 @@ export default {
660
660
  blockletEmptyTip: 'There aren’t any blocklets here',
661
661
  createBlockletTip: 'You can create new blocklet through existing resources, components, and configuration in this application',
662
662
  createBlocklet: 'New blocklet',
663
- deleteBlockletTip: 'The blocklet cannot be recovered after deletion, please confirm',
663
+ deleteBlockletTip: "The blocklet cannot be recovered after deletion, You also can't republish a new version of the app in question, please confirm",
664
664
  reconnectStoreTip: 'After reconnecting, a new developer will be bound. Are you sure you want to reconnect?',
665
665
  componentNotRunning: 'Component {name} is not running, please start it first',
666
- releaseEmptyTip: 'There arent any releases here',
666
+ releaseEmptyTip: "There aren't any releases here",
667
667
  viewLastRelease: 'View last release',
668
668
  createReleaseTip: 'You can create a release of the blocklet, along with release notes and resources, for other people to use',
669
669
  createRelease: 'New release',
@@ -685,6 +685,12 @@ export default {
685
685
  confirm: 'Confirm using DID Wallet',
686
686
  success: 'Blocklet DID has been generated, please continue your operation'
687
687
  },
688
+ deleteProject: {
689
+ title: 'Delete {name}',
690
+ scan: 'Scan the QR code below to delete {name}',
691
+ confirm: 'Confirm using DID Wallet',
692
+ success: 'Blocklet project has been deleted, please continue your operation'
693
+ },
688
694
  saveDraft: 'Save Draft',
689
695
  releaseNote: 'Release Note',
690
696
  errorTip: {
package/es/locales/es.js CHANGED
@@ -354,7 +354,7 @@ export default {
354
354
  uploadToStore: 'Subir a la tienda',
355
355
  upload: 'Subir',
356
356
  blockletStudio: 'Blocklet Studio',
357
- visitStore: 'Visita la tienda',
357
+ visitStore: 'Visitar tienda',
358
358
  reconnect: 'Reconecta'
359
359
  },
360
360
  blocklet: {
@@ -665,7 +665,7 @@ export default {
665
665
  createBlocklet: 'Nuevo bloque',
666
666
  deleteBlockletTip: 'El blocklet no puede ser recuperado después de ser eliminado, por favor confirma',
667
667
  componentNotRunning: 'El componente {name} no está en ejecución, por favor iniciar primero',
668
- releaseEmptyTip: 'No hay lanzamientos aquí',
668
+ releaseEmptyTip: 'No hay ninguna versión aquí',
669
669
  createReleaseTip: 'Puedes crear una versión de la blocklet, junto con notas de lanzamiento y recursos, para que otras personas la puedan utilizar',
670
670
  createRelease: 'Nuevo lanzamiento',
671
671
  deleteReleaseTip: 'La versión no se puede recuperar después de la eliminación',
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'La tienda de Blocklet se conectó correctamente',
704
704
  uploadToStoreSuccess: 'Bloque de carga a la tienda exitosamente, necesitas publicarlo en la tienda',
705
705
  viewLastRelease: 'Ver última versión',
706
- reconnectStoreTip: 'Después de reconectar, se vinculará un nuevo desarrollador. ¿Estás seguro de que deseas reconectar?'
706
+ reconnectStoreTip: 'Después de reconectar, se vinculará un nuevo desarrollador. ¿Estás seguro de que deseas reconectar?',
707
+ deleteProject: {
708
+ title: 'Borrar {name}',
709
+ scan: 'Escanee el código QR a continuación para eliminar a {name}',
710
+ confirm: 'Confirmar usando el monedero DID',
711
+ success: 'El proyecto Blocklet ha sido eliminado, por favor continúa tu operación'
712
+ }
707
713
  },
708
714
  titleValidationError: 'La longitud del título debe ser de al menos 3 caracteres',
709
715
  descriptionValidationError: 'La longitud de la descripción debe estar entre 3 y 160 caracteres'
package/es/locales/fr.js CHANGED
@@ -354,7 +354,7 @@ export default {
354
354
  uploadToStore: 'Télécharger vers le magasin',
355
355
  upload: 'Télécharger',
356
356
  blockletStudio: 'Studio Blocklet',
357
- visitStore: 'Visitez le magasin',
357
+ visitStore: 'Visiter le magasin',
358
358
  reconnect: 'Reconnecter'
359
359
  },
360
360
  blocklet: {
@@ -665,7 +665,7 @@ export default {
665
665
  createBlocklet: 'Nouvelle blocklet',
666
666
  deleteBlockletTip: 'Le bloclet ne peut pas être récupéré après sa suppression, veuillez confirmer',
667
667
  componentNotRunning: "Le composant {name} ne fonctionne pas, veuillez le démarrer d'abord",
668
- releaseEmptyTip: "Il n'y a aucune sortie ici",
668
+ releaseEmptyTip: "Il n'y a pas de sorties ici",
669
669
  createReleaseTip: "Vous pouvez créer une version du blocklet, ainsi que des notes de version et des ressources, pour que d'autres personnes puissent les utiliser.",
670
670
  createRelease: 'Nouvelle version',
671
671
  deleteReleaseTip: 'La version ne peut pas être récupérée après la suppression',
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'Connexion réussie au Blocklet Store',
704
704
  uploadToStoreSuccess: 'Blocklet téléchargé avec succès dans le Store, vous devez le publier dans le Store',
705
705
  viewLastRelease: 'Voir la dernière version',
706
- reconnectStoreTip: 'Après la reconnexion, un nouveau développeur sera lié. Êtes-vous sûr de vouloir vous reconnecter ?'
706
+ reconnectStoreTip: 'Après la reconnexion, un nouveau développeur sera lié. Êtes-vous sûr de vouloir vous reconnecter ?',
707
+ deleteProject: {
708
+ title: 'Supprimez {name}',
709
+ scan: 'Scannez le code QR ci-dessous pour supprimer {name}',
710
+ confirm: "Veuillez confirmer l'utilisation du portefeuille DID",
711
+ success: 'Le projet Blocklet a été supprimé, veuillez poursuivre votre opération.'
712
+ }
707
713
  },
708
714
  titleValidationError: "La longueur du titre doit être d'au moins 3 caractères",
709
715
  descriptionValidationError: 'La longueur de la description doit être comprise entre 3 et 160 caractères'
package/es/locales/hi.js CHANGED
@@ -354,7 +354,7 @@ export default {
354
354
  uploadToStore: 'स्टोर में अपलोड करें',
355
355
  upload: 'अपलोड करें',
356
356
  blockletStudio: 'ब्लॉकलेट स्टूडियो',
357
- visitStore: 'दुकान पर जाइये',
357
+ visitStore: 'स्टोर को देखें',
358
358
  reconnect: 'पुनः कनेक्ट करें'
359
359
  },
360
360
  blocklet: {
@@ -665,7 +665,7 @@ export default {
665
665
  createBlocklet: 'नया ब्लॉकलेट',
666
666
  deleteBlockletTip: 'हटाने के बाद ब्लॉकलेट को पुनर्प्राप्त नहीं किया जा सकता है, कृपया पुष्टि करें',
667
667
  componentNotRunning: 'संघ {name} चल नहीं रहा है, कृपया पहले इसे शुरू करें',
668
- releaseEmptyTip: 'यहां कोई रिलीज़ नहीं है',
668
+ releaseEmptyTip: 'यहां कोई रिलीज़ नहीं हैं',
669
669
  createReleaseTip: 'आप ब्लॉकलेट का एक रिलीज़ बना सकते हैं, रिलीज़ नोट्स और संसाधनों के साथ, जिन्हें दूसरे लोगों का उपयोग कर सकते हैं।',
670
670
  createRelease: 'नई रिलीज़',
671
671
  deleteReleaseTip: 'हटाने के बाद रिलीज़ को पुनर्प्राप्त नहीं किया जा सकता है',
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'ब्लॉकलेट स्टोर सफलतापूर्वक कनेक्ट हो गया',
704
704
  uploadToStoreSuccess: 'ब्लॉकलेट को स्टोर में सफलतापूर्वक अपलोड किया गया है, आपको इसे स्टोर में प्रकाशित करने की आवश्यकता है',
705
705
  viewLastRelease: 'अंतिम रिलीज़ देखें',
706
- reconnectStoreTip: 'पुनर्संयोजन करने के बाद, एक नया डेवलपर बाउंड हो जाएगा। क्या आप वाकई पुनः संयोजित होना चाहते हैं?'
706
+ reconnectStoreTip: 'पुनर्संयोजन करने के बाद, एक नया डेवलपर बाउंड हो जाएगा। क्या आप वाकई पुनः संयोजित होना चाहते हैं?',
707
+ deleteProject: {
708
+ title: '{name} को हटाएं',
709
+ scan: 'नीचे दिए गए क्यूआर कोड स्कैन करें और {name} को हटाएं',
710
+ confirm: 'कृपया डीआईडी वॉलेट का प्रयोग करके पुष्टि करें',
711
+ success: 'ब्लॉकलेट प्रोजेक्ट हटा दिया गया है, कृपया अपने आपरेशन को जारी रखें।'
712
+ }
707
713
  },
708
714
  titleValidationError: 'शीर्षक की लंबाई कम से कम 3 अक्षर होनी चाहिए',
709
715
  descriptionValidationError: 'विवरण की लंबाई 3 और 160 वर्णों के बीच होनी चाहिए'
Binary file
package/es/locales/id.js CHANGED
@@ -354,7 +354,7 @@ export default {
354
354
  uploadToStore: 'Unggah ke Toko',
355
355
  upload: 'Unggah',
356
356
  blockletStudio: 'Blocklet Studio',
357
- visitStore: 'Kunjungi toko',
357
+ visitStore: 'Kunjungi Toko',
358
358
  reconnect: 'Menghubungkan kembali'
359
359
  },
360
360
  blocklet: {
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'Penyimpanan Blocklet berhasil terhubung',
704
704
  uploadToStoreSuccess: 'Blocklet berhasil diunggah ke Store, Anda perlu mempublikasikannya di Store',
705
705
  viewLastRelease: 'Tampilkan rilis terakhir',
706
- reconnectStoreTip: 'Setelah terhubung kembali, pengembang baru akan terikat. Apakah Anda yakin ingin terhubung kembali?'
706
+ reconnectStoreTip: 'Setelah terhubung kembali, pengembang baru akan terikat. Apakah Anda yakin ingin terhubung kembali?',
707
+ deleteProject: {
708
+ title: 'Hapus {name}',
709
+ scan: 'Pindai kode QR di bawah ini untuk menghapus {name}',
710
+ confirm: 'Konfirmasi menggunakan Dompet DID',
711
+ success: 'Proyek Blocklet telah dihapus, silakan lanjutkan operasi anda'
712
+ }
707
713
  },
708
714
  titleValidationError: 'Panjang judul harus setidaknya 3 karakter',
709
715
  descriptionValidationError: 'Panjang deskripsi harus antara 3 dan 160 karakter.'
package/es/locales/ja.js CHANGED
@@ -354,7 +354,7 @@ export default {
354
354
  uploadToStore: 'ストアにアップロード',
355
355
  upload: 'アップロード',
356
356
  blockletStudio: 'Blocklet Studio',
357
- visitStore: '店舗を訪れる',
357
+ visitStore: '店を訪れる',
358
358
  reconnect: '再接続する'
359
359
  },
360
360
  blocklet: {
@@ -665,7 +665,7 @@ export default {
665
665
  createBlocklet: '新しいブロックレット',
666
666
  deleteBlockletTip: 'ブロックを削除した後は復元できませんので、確認してください',
667
667
  componentNotRunning: 'コンポーネント{name}は実行されていません。先に開始してください。',
668
- releaseEmptyTip: 'ここにはリリースはありません',
668
+ releaseEmptyTip: 'ここにはリリースがありません',
669
669
  createReleaseTip: '他の人が使用できるように、リリースノートやリソースと共にブロックをリリースすることができます',
670
670
  createRelease: '新しいリリース',
671
671
  deleteReleaseTip: '削除後、リリースは復元できません',
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'Blockletストアが正常に接続されました',
704
704
  uploadToStoreSuccess: 'ブロックレットがストアに正常にアップロードされました。ストアで公開する必要があります',
705
705
  viewLastRelease: '最新リリースを表示する',
706
- reconnectStoreTip: '再接続後、新しい開発者がバインドされます。再接続しますか?'
706
+ reconnectStoreTip: '再接続後、新しい開発者がバインドされます。再接続しますか?',
707
+ deleteProject: {
708
+ title: '{name}を削除する',
709
+ scan: '{name}を削除するために、以下のQRコードをスキャンしてください',
710
+ confirm: 'DIDウォレットを使用して確認',
711
+ success: 'Blocklet プロジェクトが削除されました。操作を続行してください'
712
+ }
707
713
  },
708
714
  titleValidationError: 'タイトルの長さは最低3文字以上である必要があります',
709
715
  descriptionValidationError: '説明の長さは3から160文字の間でなければなりません'
package/es/locales/ko.js CHANGED
@@ -354,7 +354,7 @@ export default {
354
354
  uploadToStore: '스토어에 업로드',
355
355
  upload: '업로드',
356
356
  blockletStudio: 'Blocklet Studio',
357
- visitStore: '상점 방문하기',
357
+ visitStore: '가게 방문하기',
358
358
  reconnect: '재연결'
359
359
  },
360
360
  blocklet: {
@@ -665,7 +665,7 @@ export default {
665
665
  createBlocklet: '새로운 블록렛',
666
666
  deleteBlockletTip: '블록이 삭제된 후에는 복구할 수 없습니다. 확인해주세요',
667
667
  componentNotRunning: '구성요소 {name}이(가) 실행되지 않았습니다. 먼저 시작하세요.',
668
- releaseEmptyTip: '여기에는 릴리스가 없습니다',
668
+ releaseEmptyTip: '여기에는 출시 정보가 없습니다',
669
669
  createReleaseTip: '다른 사람들이 사용할 수 있도록 블록릿의 릴리스와 릴리스 노트 및 자원을 생성할 수 있습니다',
670
670
  createRelease: '새로운 릴리스',
671
671
  deleteReleaseTip: '삭제 후에는 복구할 수 없는 릴리스입니다',
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: '블록렛 스토어가 성공적으로 연결되었습니다',
704
704
  uploadToStoreSuccess: '블록렛이 성공적으로 스토어에 업로드되었습니다. 스토어에서 게시해야 합니다',
705
705
  viewLastRelease: '최신 릴리스 보기',
706
- reconnectStoreTip: '재연결 후에는 새로운 개발자가 연결됩니다. 재연결 하시겠습니까?'
706
+ reconnectStoreTip: '재연결 후에는 새로운 개발자가 연결됩니다. 재연결 하시겠습니까?',
707
+ deleteProject: {
708
+ title: '{name}을 삭제하세요',
709
+ scan: '{name}를 삭제하기 위해 아래의 QR 코드를 스캔하세요',
710
+ confirm: 'DID 지갑을 사용하여 확인하세요',
711
+ success: 'Blocklet 프로젝트가 삭제되었습니다. 작업을 계속하세요'
712
+ }
707
713
  },
708
714
  titleValidationError: '제목 길이는 최소 3자 이상이어야 합니다',
709
715
  descriptionValidationError: '설명 길이는 3에서 160자 사이여야 합니다'
package/es/locales/pt.js CHANGED
@@ -665,7 +665,7 @@ export default {
665
665
  createBlocklet: 'Novo bloco',
666
666
  deleteBlockletTip: 'O bloco não pode ser recuperado após a exclusão, por favor, confirme',
667
667
  componentNotRunning: 'O componente {name} não está sendo executado, por favor, inicie-o primeiro',
668
- releaseEmptyTip: 'Não há lançamentos aqui',
668
+ releaseEmptyTip: 'Não há nenhum lançamento aqui',
669
669
  createReleaseTip: 'Você pode criar um lançamento do blocklet, juntamente com notas de lançamento e recursos, para que outras pessoas possam usar',
670
670
  createRelease: 'Novo lançamento',
671
671
  deleteReleaseTip: 'A liberação não pode ser recuperada após exclusão',
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'Loja de Blocos conectada com sucesso',
704
704
  uploadToStoreSuccess: 'Blocklet enviado para a Store com sucesso, você precisa publicá-lo na Store',
705
705
  viewLastRelease: 'Visualizar última versão',
706
- reconnectStoreTip: 'Após reconectar, um novo desenvolvedor será vinculado. Você tem certeza de que deseja reconectar?'
706
+ reconnectStoreTip: 'Após reconectar, um novo desenvolvedor será vinculado. Você tem certeza de que deseja reconectar?',
707
+ deleteProject: {
708
+ title: 'Excluir {name}',
709
+ scan: 'Digitalize o código QR abaixo para excluir {name}',
710
+ confirm: 'Confirmar usando a Carteira DID',
711
+ success: 'O projeto Blocklet foi excluído, por favor, continue sua operação'
712
+ }
707
713
  },
708
714
  titleValidationError: 'O comprimento do título deve ter pelo menos 3 caracteres',
709
715
  descriptionValidationError: 'O comprimento da descrição deve estar entre 3 e 160 caracteres.'
package/es/locales/ru.js CHANGED
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'Успешное подключение к Blocklet Store',
704
704
  uploadToStoreSuccess: 'Блоклет успешно загружен в магазин, вам нужно опубликовать его в магазине',
705
705
  viewLastRelease: 'Просмотр последнего релиза',
706
- reconnectStoreTip: 'После переподключения будет назначен новый разработчик. Вы уверены, что хотите переподключиться?'
706
+ reconnectStoreTip: 'После переподключения будет назначен новый разработчик. Вы уверены, что хотите переподключиться?',
707
+ deleteProject: {
708
+ title: 'Удалить {name}',
709
+ scan: 'Сканируйте QR-код ниже, чтобы удалить {name}',
710
+ confirm: 'Подтвердите использование кошелька DID',
711
+ success: 'Проект Blocklet был удален, пожалуйста, продолжите вашу операцию.'
712
+ }
707
713
  },
708
714
  titleValidationError: 'Длина заголовка должна быть не менее 3 символов',
709
715
  descriptionValidationError: 'Длина описания должна быть от 3 до 160 символов'
package/es/locales/th.js CHANGED
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'เชื่อมต่อ Blocklet Store สำเร็จ',
704
704
  uploadToStoreSuccess: 'อัพโหลด Blocklet เข้าสู่ Store สำเร็จแล้ว คุณต้องเผยแพร่ในร้านค้า',
705
705
  viewLastRelease: 'ดูรายการอัพเดตล่าสุด',
706
- reconnectStoreTip: 'หลังจากเชื่อมต่อใหม่ จะมีนักพัฒนารุ่นใหม่เข้ามาเป็นที่ผูกพัน คุณแน่ใจหรือไม่ว่าต้องการที่จะเชื่อมต่อใหม่หรือไม่?'
706
+ reconnectStoreTip: 'หลังจากเชื่อมต่อใหม่ จะมีนักพัฒนารุ่นใหม่เข้ามาเป็นที่ผูกพัน คุณแน่ใจหรือไม่ว่าต้องการที่จะเชื่อมต่อใหม่หรือไม่?',
707
+ deleteProject: {
708
+ title: 'ลบ {name}',
709
+ scan: 'สแกนรหัส QR ด้านล่างเพื่อลบ {name}',
710
+ confirm: 'ยืนยันการใช้งานกระเป๋าสตางค์ DID',
711
+ success: 'โครงการ Blocklet ได้ถูกลบแล้ว โปรดดำเนินการต่อ'
712
+ }
707
713
  },
708
714
  titleValidationError: 'ความยาวของชื่อต้องมีอย่างน้อย 3 ตัวอักษร',
709
715
  descriptionValidationError: 'ความยาวคำอธิบายต้องอยู่ระหว่าง 3 ถึง 160 ตัวอักษร.'
package/es/locales/vi.js CHANGED
@@ -354,7 +354,7 @@ export default {
354
354
  uploadToStore: 'Tải lên Cửa hàng',
355
355
  upload: 'Tải lên',
356
356
  blockletStudio: 'Blocklet Studio',
357
- visitStore: 'Ghé thăm cửa hàng',
357
+ visitStore: 'Ghé cửa hàng',
358
358
  reconnect: 'Kết nối lại'
359
359
  },
360
360
  blocklet: {
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'Kết nối Blocklet Store thành công',
704
704
  uploadToStoreSuccess: 'Blocklet đã tải lên Store thành công, bạn cần phải xuất bản nó trong Store',
705
705
  viewLastRelease: 'Xem phiên bản phát hành gần đây nhất',
706
- reconnectStoreTip: 'Sau khi kết nối lại, một nhà phát triển mới sẽ được liên kết. Bạn có chắc chắn muốn kết nối lại không?'
706
+ reconnectStoreTip: 'Sau khi kết nối lại, một nhà phát triển mới sẽ được liên kết. Bạn có chắc chắn muốn kết nối lại không?',
707
+ deleteProject: {
708
+ title: 'Xóa {name}',
709
+ scan: 'Quét mã QR bên dưới để xóa {name}',
710
+ confirm: 'Xác nhận sử dụng Ví DID',
711
+ success: 'Dự án Blocklet đã bị xóa, vui lòng tiếp tục hoạt động của bạn'
712
+ }
707
713
  },
708
714
  titleValidationError: 'Độ dài tiêu đề phải ít nhất 3 ký tự',
709
715
  descriptionValidationError: 'Chiều dài mô tả phải từ 3 đến 160 ký tự.'
@@ -703,7 +703,13 @@ export default {
703
703
  connectStoreSuccess: 'Store 連線成功',
704
704
  uploadToStoreSuccess: 'Blocklet 成功上傳至 Store,請在 Store 中發布',
705
705
  viewLastRelease: '查看最新版本',
706
- reconnectStoreTip: '重新連接後,將綁定一個新的開發者。你確定要重新連接嗎?'
706
+ reconnectStoreTip: '重新連接後,將綁定一個新的開發者。你確定要重新連接嗎?',
707
+ deleteProject: {
708
+ title: '刪除{name}',
709
+ scan: '掃描下方的QR碼以刪除{name}',
710
+ confirm: '確認使用DID錢包',
711
+ success: 'Blocklet 專案已被刪除,請繼續進行操作'
712
+ }
707
713
  },
708
714
  titleValidationError: '標題長度必須至少為3到40個字符',
709
715
  descriptionValidationError: '描述長度必須介於3到160個字符之間'
package/es/locales/zh.js CHANGED
@@ -706,7 +706,13 @@ export default {
706
706
  connectStoreSuccess: 'Blocklet 成功连接 Store',
707
707
  uploadToStoreSuccess: 'Blocklet 成功上传至 Store,请在 Store 中发布',
708
708
  viewLastRelease: '查看最新版本',
709
- reconnectStoreTip: '重新连接后,将绑定一个新的开发者。你确定要重新连接吗?'
709
+ reconnectStoreTip: '重新连接后,将绑定一个新的开发者。你确定要重新连接吗?',
710
+ deleteProject: {
711
+ title: '删除{name}',
712
+ scan: '扫描下方的QR码以删除{name}',
713
+ confirm: '确认使用DID钱包',
714
+ success: 'Blocklet 项目已被删除,请继续操作'
715
+ }
710
716
  },
711
717
  titleValidationError: '标题长度必须至少为3到40个字符',
712
718
  descriptionValidationError: '描述长度必须在3到160个字符之间'