@abtnode/ux 1.16.28-beta-b30865b3 → 1.16.28-beta-6917161a

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.
@@ -282,20 +282,21 @@ export default function AddComponentCore({
282
282
  componentDid = ''
283
283
  } = params;
284
284
  // eslint-disable-next-line no-shadow
285
+ const meta = component.current?.meta || {};
285
286
  const {
286
287
  configs = [],
287
288
  registryUrl,
288
289
  inStore,
289
290
  inputUrl,
290
291
  dist
291
- } = component.current?.meta || {};
292
+ } = meta;
292
293
  const downloadTokenList = component.current?.downloadTokenList;
293
294
  const url = inStore ? getBlockletMetaUrl(registryUrl, bundleDid, dist) : inputUrl;
294
295
  setLoading(true);
295
296
  const installInput = {
296
297
  rootDid: blocklet.meta.did,
297
298
  url,
298
- mountPoint: urlPathFriendly(mountPoint),
299
+ mountPoint: mountPoint ? urlPathFriendly(mountPoint) : `/${urlPathFriendly(meta.title || meta.name)}`,
299
300
  title,
300
301
  name: componentName,
301
302
  did: componentDid,
@@ -19,7 +19,7 @@ import ConnectStoreList from './connect-store-list';
19
19
  import { validateParams } from '../utils/validate-params';
20
20
  import { waitGetConnectedStore } from '../utils/wait-connect';
21
21
  import uploadImageToProject from '../utils/upload-image-to-project';
22
- import { uploadResource } from './resources';
22
+ import { uploadResource } from './resource-select';
23
23
  import ClickToCopy from '../../../click-to-copy';
24
24
  import { formatError } from '../../../util';
25
25
  import { useNodeContext } from '../../../contexts/node';
@@ -44,7 +44,7 @@ function Header({
44
44
  resourceRelateComponents,
45
45
  disabledSelectComponents,
46
46
  saveSelectedEventsRef,
47
- isSelectedResources,
47
+ hasSelectedResources,
48
48
  initLogoUrl,
49
49
  setLoading,
50
50
  releaseUsedLast,
@@ -72,7 +72,7 @@ function Header({
72
72
  const onRelease = async status => {
73
73
  const errors = validateParams({
74
74
  params,
75
- isSelectedResources,
75
+ hasSelectedResources,
76
76
  projectId,
77
77
  status,
78
78
  t
@@ -140,32 +140,37 @@ function Header({
140
140
  return;
141
141
  }
142
142
  }
143
- const saveKeys = Object.keys(saveSelectedEventsRef.current);
144
- try {
145
- await pAll(saveKeys.map(x => {
146
- return () => {
147
- const item = saveSelectedEventsRef.current[x];
148
- return uploadResource({
149
- api,
150
- locale,
151
- projectId,
152
- releaseId: releaseUsedLast ? '' : releaseId,
153
- appDid: blocklet.meta.did,
154
- component: item.component,
155
- resources: item.resources,
156
- initUrl
157
- });
158
- };
159
- }), {
160
- concurrency: 2
161
- });
162
- } catch (err) {
163
- Toast.error(err?.response?.data?.error?.message || err.message);
164
- setLoading(false);
165
- setParamsErrTip({
166
- resources: 'Invalid save the resource'
167
- });
168
- return;
143
+ if (params.resourceFromSelect) {
144
+ _params.uploadedResource = '';
145
+ try {
146
+ const saveKeys = Object.keys(saveSelectedEventsRef.current);
147
+ await pAll(saveKeys.map(x => {
148
+ return () => {
149
+ const item = saveSelectedEventsRef.current[x];
150
+ return uploadResource({
151
+ api,
152
+ locale,
153
+ projectId,
154
+ releaseId: releaseUsedLast ? '' : releaseId,
155
+ appDid: blocklet.meta.did,
156
+ component: item.component,
157
+ resources: item.resources,
158
+ initUrl
159
+ });
160
+ };
161
+ }), {
162
+ concurrency: 2
163
+ });
164
+ } catch (err) {
165
+ Toast.error(err?.response?.data?.error?.message || err.message);
166
+ setLoading(false);
167
+ setParamsErrTip({
168
+ resources: 'Invalid save the resource'
169
+ });
170
+ return;
171
+ }
172
+ } else {
173
+ _params.blockletComponents = [];
169
174
  }
170
175
  _params.blockletTitle = (_params.blockletTitle || '').trim();
171
176
  _params.blockletDescription = (_params.blockletDescription || '').trim();
@@ -345,7 +350,7 @@ function Header({
345
350
  mr: 0.5
346
351
  },
347
352
  color: "inherit"
348
- }), t('common.release')]
353
+ }), t('blocklet.publish.createRelease')]
349
354
  }), isPublished && /*#__PURE__*/_jsxs(_Fragment, {
350
355
  children: [installButton, /*#__PURE__*/_jsx("a", {
351
356
  href: joinURL(`${WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${blocklet.meta.did}/${projectId}/${releaseId}/download/${(release.files || [])[0]}`),
@@ -406,7 +411,7 @@ Header.propTypes = {
406
411
  resourceRelateComponents: PropTypes.object.isRequired,
407
412
  disabledSelectComponents: PropTypes.bool.isRequired,
408
413
  saveSelectedEventsRef: PropTypes.object.isRequired,
409
- isSelectedResources: PropTypes.bool.isRequired,
414
+ hasSelectedResources: PropTypes.bool.isRequired,
410
415
  initLogoUrl: PropTypes.string.isRequired,
411
416
  setLoading: PropTypes.func.isRequired,
412
417
  releaseUsedLast: PropTypes.bool.isRequired,
@@ -4,10 +4,10 @@ import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
4
4
  import Tabs from '@arcblock/ux/lib/Tabs';
5
5
  import Toast from '@arcblock/ux/lib/Toast';
6
6
  import styled from '@emotion/styled';
7
- import { Box, Tooltip, Typography, useMediaQuery } from '@mui/material';
7
+ import { Box, FormControlLabel, Radio, RadioGroup, Tooltip, Typography, useMediaQuery } from '@mui/material';
8
8
  import pick from 'lodash/pick';
9
9
  import PropTypes from 'prop-types';
10
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
10
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
11
11
  import { useParams } from 'react-router-dom';
12
12
  import useSetState from 'react-use/lib/useSetState';
13
13
  import semver from 'semver';
@@ -17,14 +17,15 @@ import { useNodeContext } from '../../../contexts/node';
17
17
  import EmptySpinner from '../../../empty-spinner';
18
18
  import { formatError } from '../../../util';
19
19
  import Blocklets from './blocklets';
20
- import Resources from './resources';
20
+ import ResourceSelect from './resource-select';
21
21
  import Branding from './branding';
22
22
  import Header from './header';
23
23
  import Introduction from './introduction';
24
24
  import ReleaseStepper from './release-stepper';
25
25
  import StopBox from './stop-box';
26
26
  import Version from './version';
27
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
+ import ResourceUpload from './resource-upload';
28
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
28
29
  const addComponentTabs = ({
29
30
  tabs,
30
31
  blocklet,
@@ -52,7 +53,7 @@ const addComponentTabs = ({
52
53
  });
53
54
  };
54
55
  const pickParams = (baseParams, app) => {
55
- const params = pick(baseParams, ['blockletVersion', 'blockletTitle', 'blockletDescription', 'blockletLogo', 'blockletIntroduction', 'blockletScreenshots', 'connectedStores', 'blockletComponents', 'lastReleaseId', 'note']);
56
+ const params = pick(baseParams, ['blockletVersion', 'blockletTitle', 'blockletDescription', 'blockletLogo', 'blockletIntroduction', 'blockletScreenshots', 'connectedStores', 'blockletComponents', 'lastReleaseId', 'uploadedResource', 'note']);
56
57
  if (!params.blockletComponents) {
57
58
  params.blockletComponents = (app.children || []).map(x => ({
58
59
  did: x.meta.did,
@@ -65,6 +66,7 @@ const pickParams = (baseParams, app) => {
65
66
  included: true
66
67
  }));
67
68
  }
69
+ params.resourceFromSelect = !params.uploadedResource;
68
70
  return params;
69
71
  };
70
72
  const stepsToLabel = {
@@ -100,7 +102,9 @@ export default function CreateRelease({
100
102
  const [params, setParams] = useSetState({
101
103
  blockletScreenshots: [],
102
104
  publishedStoreIds: [],
103
- connectedStores: []
105
+ connectedStores: [],
106
+ uploadedResource: '',
107
+ resourceFromSelect: true
104
108
  });
105
109
  const [paramsErrTip, setParamsErrTip] = useSetState({});
106
110
  const [loading, setLoading] = useState(false);
@@ -272,7 +276,7 @@ export default function CreateRelease({
272
276
  }
273
277
  }
274
278
  }, [setParams, projectId, initUrl, mode]);
275
- const isSelectedResources = useMemo(() => {
279
+ const hasSelectedResources = useMemo(() => {
276
280
  return !!Object.keys(selectedResourceIds).find(key => {
277
281
  if (selectedResourceIds[key].length) {
278
282
  return true;
@@ -339,7 +343,7 @@ export default function CreateRelease({
339
343
  resourceRelateComponents: resourceRelateComponents,
340
344
  resourceItem: resourceItem,
341
345
  saveSelectedEventsRef: saveSelectedEventsRef,
342
- isSelectedResources: isSelectedResources,
346
+ hasSelectedResources: hasSelectedResources,
343
347
  releaseUsedLast: releaseUsedLast,
344
348
  setReleaseUsedLast: setReleaseUsedLast,
345
349
  setRelease: setRelease
@@ -361,7 +365,7 @@ export default function CreateRelease({
361
365
  steps: steps,
362
366
  viewMode: mode === 'view',
363
367
  params: params,
364
- isSelectedResources: isSelectedResources,
368
+ hasSelectedResources: hasSelectedResources || params.uploadedResource,
365
369
  paramsErrTip: paramsErrTip,
366
370
  activeStep: activeStep,
367
371
  setActiveStep: setActiveStep,
@@ -455,17 +459,38 @@ export default function CreateRelease({
455
459
  sx: {
456
460
  flex: 1
457
461
  },
458
- children: [!componentDid && /*#__PURE__*/_jsx(Tabs, {
459
- tabs: tabs,
460
- current: tab,
461
- onChange: onTabChange,
462
- sx: {
463
- ml: -2,
464
- mt: -1.5,
465
- maxWidth: isMobile ? window.innerWidth - 24 : '100%'
466
- }
467
- }), /*#__PURE__*/_jsx(Box, {
468
- children: /*#__PURE__*/_jsx(Resources, {
462
+ children: [/*#__PURE__*/_jsxs(RadioGroup, {
463
+ onChange: () => setParams({
464
+ resourceFromSelect: !params.resourceFromSelect
465
+ }),
466
+ children: [/*#__PURE__*/_jsx(FormControlLabel, {
467
+ value: "select",
468
+ disabled: readOnly,
469
+ control: /*#__PURE__*/_jsx(Radio, {
470
+ size: "small",
471
+ checked: params.resourceFromSelect
472
+ }),
473
+ label: t('blocklet.publish.resourceSelect')
474
+ }), /*#__PURE__*/_jsx(FormControlLabel, {
475
+ value: "select",
476
+ disabled: readOnly,
477
+ control: /*#__PURE__*/_jsx(Radio, {
478
+ size: "small",
479
+ checked: !params.resourceFromSelect
480
+ }),
481
+ label: t('blocklet.publish.resourceUpload')
482
+ })]
483
+ }), params.resourceFromSelect && /*#__PURE__*/_jsxs(_Fragment, {
484
+ children: [!componentDid && /*#__PURE__*/_jsx(Tabs, {
485
+ tabs: tabs,
486
+ current: tab,
487
+ onChange: onTabChange,
488
+ sx: {
489
+ ml: -2,
490
+ mt: 2,
491
+ maxWidth: isMobile ? window.innerWidth - 24 : '100%'
492
+ }
493
+ }), /*#__PURE__*/_jsx(ResourceSelect, {
469
494
  loading: loading,
470
495
  initialResources: initialResources,
471
496
  saveSelectedEventsRef: saveSelectedEventsRef,
@@ -478,13 +503,21 @@ export default function CreateRelease({
478
503
  component: resourceItem,
479
504
  componentDid: componentDid,
480
505
  initUrl: initUrl,
506
+ params: params,
507
+ setParams: setParams,
481
508
  projectId: projectId === UNOWNED_DID ? '' : projectId,
482
509
  releaseUsedLast: releaseUsedLast,
483
510
  release: {
484
511
  ...release,
485
512
  id: releaseId
486
513
  }
487
- })
514
+ })]
515
+ }), !params.resourceFromSelect && /*#__PURE__*/_jsx(ResourceUpload, {
516
+ app: blocklet,
517
+ readOnly: readOnly,
518
+ projectId: projectId === UNOWNED_DID ? '' : projectId,
519
+ params: params,
520
+ setParams: setParams
488
521
  })]
489
522
  })
490
523
  })
@@ -8,7 +8,7 @@ export default function ReleaseStepper({
8
8
  steps,
9
9
  activeStep,
10
10
  setActiveStep,
11
- isSelectedResources,
11
+ hasSelectedResources,
12
12
  params,
13
13
  loading,
14
14
  paramsErrTip,
@@ -37,7 +37,7 @@ export default function ReleaseStepper({
37
37
  return '';
38
38
  };
39
39
  const readOnly = viewMode || validateParams({
40
- isSelectedResources,
40
+ hasSelectedResources,
41
41
  params,
42
42
  projectId,
43
43
  t
@@ -57,7 +57,7 @@ export default function ReleaseStepper({
57
57
  children: steps.map((step, index) => {
58
58
  const labelProps = {};
59
59
  const ok = loading || !validateParamsStep({
60
- isSelectedResources,
60
+ hasSelectedResources,
61
61
  params,
62
62
  projectId,
63
63
  step: index,
@@ -149,7 +149,7 @@ ReleaseStepper.propTypes = {
149
149
  viewMode: PropTypes.string.isRequired,
150
150
  loading: PropTypes.bool.isRequired,
151
151
  projectId: PropTypes.string.isRequired,
152
- isSelectedResources: PropTypes.bool.isRequired,
152
+ hasSelectedResources: PropTypes.bool.isRequired,
153
153
  paramsErrTip: PropTypes.shape({
154
154
  projectId: PropTypes.string,
155
155
  blockletVersion: PropTypes.string,
@@ -1,7 +1,7 @@
1
1
  import styled from '@emotion/styled';
2
2
  import classnames from 'classnames';
3
3
  import PropTypes from 'prop-types';
4
- import { useEffect, useRef } from 'react';
4
+ import React, { useEffect, useRef } from 'react';
5
5
  import useSetState from 'react-use/lib/useSetState';
6
6
  import { joinURL } from 'ufo';
7
7
  import { Box } from '@mui/material';
@@ -90,7 +90,7 @@ const getNodeIdDependencies = (node, nodeIds) => {
90
90
  };
91
91
  return getDependencies(node, {});
92
92
  };
93
- export default function Resources({
93
+ export default function ResourceSelect({
94
94
  app,
95
95
  component,
96
96
  projectId,
@@ -257,7 +257,7 @@ export default function Resources({
257
257
  })]
258
258
  });
259
259
  }
260
- Resources.propTypes = {
260
+ ResourceSelect.propTypes = {
261
261
  component: PropTypes.object.isRequired,
262
262
  app: PropTypes.object.isRequired,
263
263
  projectId: PropTypes.string.isRequired,
@@ -276,7 +276,7 @@ Resources.propTypes = {
276
276
  selectedResourceIds: PropTypes.array.isRequired,
277
277
  setSelectedResourceIds: PropTypes.func.isRequired
278
278
  };
279
- Resources.defaultProps = {
279
+ ResourceSelect.defaultProps = {
280
280
  error: '',
281
281
  release: {
282
282
  id: ''
@@ -0,0 +1,105 @@
1
+ import PropTypes from 'prop-types';
2
+ import { UNOWNED_DID, WELLKNOWN_SERVICE_PATH_PREFIX } from '@abtnode/constant';
3
+ import React, { Suspense, useRef, lazy } from 'react';
4
+ import { Stack, Box, Button, Typography } from '@mui/material';
5
+ import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
6
+ import Toast from '@arcblock/ux/lib/Toast/index';
7
+ import EmptySpinner from '../../../empty-spinner';
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const allowedFileTypes = ['.zip', '.gz'];
10
+ const maxFileSize = 1024 * 1024 * 100; // 100 MB
11
+
12
+ // eslint-disable-next-line import/no-unresolved
13
+ const UploaderComponent = /*#__PURE__*/lazy(() => import('@blocklet/uploader/react').then(res => ({
14
+ default: res.Uploader
15
+ })));
16
+ export default function ResourceUpload({
17
+ app,
18
+ projectId,
19
+ readOnly,
20
+ params,
21
+ setParams
22
+ }) {
23
+ const {
24
+ t
25
+ } = useLocaleContext();
26
+ const uploaderRef = useRef(null);
27
+ const checkCanUpload = () => {
28
+ if (readOnly) {
29
+ return false;
30
+ }
31
+ if (!projectId || projectId === UNOWNED_DID) {
32
+ Toast.error(t('blocklet.publish.errorTip.noFirstDid'));
33
+ return false;
34
+ }
35
+ return true;
36
+ };
37
+ const uploadPrefix = `${WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${app.meta.did}/${projectId}/resource/upload`;
38
+ return /*#__PURE__*/_jsxs(Box, {
39
+ sx: {
40
+ mt: 3
41
+ },
42
+ children: [/*#__PURE__*/_jsx(Typography, {
43
+ gutterBottom: true,
44
+ children: t('blocklet.publish.resourceUpload')
45
+ }), /*#__PURE__*/_jsxs(Stack, {
46
+ direction: "row",
47
+ alignItems: "center",
48
+ spacing: 1,
49
+ sx: {
50
+ flex: 1,
51
+ cursor: readOnly ? 'default' : 'pointer'
52
+ },
53
+ children: [!!params.uploadedResource && /*#__PURE__*/_jsx(Typography, {
54
+ component: "a",
55
+ href: `${uploadPrefix}/params.uploadedResource`,
56
+ children: params.uploadedResource
57
+ }), !readOnly && /*#__PURE__*/_jsx(Button, {
58
+ variant: "outlined",
59
+ size: "small",
60
+ onClick: () => {
61
+ if (!checkCanUpload()) {
62
+ return;
63
+ }
64
+ uploaderRef.current?.open();
65
+ },
66
+ children: params.uploadedResource ? t('common.change') : t('common.upload')
67
+ })]
68
+ }), /*#__PURE__*/_jsx(Suspense, {
69
+ fallback: /*#__PURE__*/_jsx(EmptySpinner, {}),
70
+ children: /*#__PURE__*/_jsx(UploaderComponent, {
71
+ ref: uploaderRef,
72
+ popup: true,
73
+ onUploadFinish: result => {
74
+ setParams({
75
+ uploadedResource: result.data.filename
76
+ });
77
+ uploaderRef.current?.close();
78
+ },
79
+ plugins: ['ImageEditor'],
80
+ installerProps: {
81
+ disabled: true
82
+ },
83
+ apiPathProps: {
84
+ uploader: uploadPrefix,
85
+ disableMediaKitPrefix: true
86
+ },
87
+ coreProps: {
88
+ restrictions: {
89
+ allowedFileTypes,
90
+ maxFileSize,
91
+ maxNumberOfFiles: 1
92
+ }
93
+ }
94
+ }, "uploader-resource")
95
+ })]
96
+ });
97
+ }
98
+ ResourceUpload.propTypes = {
99
+ app: PropTypes.object.isRequired,
100
+ projectId: PropTypes.string.isRequired,
101
+ readOnly: PropTypes.bool.isRequired,
102
+ params: PropTypes.object.isRequired,
103
+ setParams: PropTypes.func.isRequired
104
+ };
105
+ ResourceUpload.defaultProps = {};
@@ -182,6 +182,9 @@ export default function ProjectList({
182
182
  name: 'blockletDid',
183
183
  options: {
184
184
  customBodyRender: did => {
185
+ if (!did) {
186
+ return null;
187
+ }
185
188
  return /*#__PURE__*/_jsx(DidAddress, {
186
189
  size: 14,
187
190
  compact: true,
@@ -195,6 +198,9 @@ export default function ProjectList({
195
198
  name: 'createdBy',
196
199
  options: {
197
200
  customBodyRender: did => {
201
+ if (!did) {
202
+ return null;
203
+ }
198
204
  return /*#__PURE__*/_jsx(DidAddress, {
199
205
  onClick: () => {
200
206
  navigate(`/.well-known/service/admin/members?did=${did}`);
@@ -3,7 +3,7 @@ import { UNOWNED_DID } from '@abtnode/constant';
3
3
  import semver from 'semver';
4
4
  export const validateParams = ({
5
5
  params,
6
- isSelectedResources,
6
+ hasSelectedResources,
7
7
  projectId,
8
8
  status,
9
9
  t
@@ -21,7 +21,7 @@ export const validateParams = ({
21
21
  message: t('blocklet.publish.errorTip.noDid')
22
22
  });
23
23
  }
24
- if (!isSelectedResources) {
24
+ if (!params.uploadedResource && !hasSelectedResources) {
25
25
  errors.push({
26
26
  param: 'blockletResources',
27
27
  message: t('blocklet.publish.errorTip.noResource')
@@ -56,7 +56,7 @@ export const validateParams = ({
56
56
  };
57
57
  export const validateParamsStep = ({
58
58
  params,
59
- isSelectedResources,
59
+ hasSelectedResources,
60
60
  step,
61
61
  t,
62
62
  projectId
@@ -73,7 +73,7 @@ export const validateParamsStep = ({
73
73
  }
74
74
  }
75
75
  if (step === 2) {
76
- if (!isSelectedResources) {
76
+ if (!params.uploadedResource && !hasSelectedResources) {
77
77
  return t('blocklet.publish.errorTip.noResource');
78
78
  }
79
79
  }
package/lib/locales/ar.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'تحميل',
356
356
  blockletStudio: 'استوديو',
357
357
  visitStore: 'زيارة المتجر',
358
- reconnect: 'إعادة الاتصال'
358
+ reconnect: 'إعادة الاتصال',
359
+ change: 'تغيير'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'خارجي',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'البلوكليت {name} لا يعمل، يرجى تشغيله أولا',
676
677
  releaseEmptyTip: 'لا توجد أي إصدارات هنا',
677
678
  createReleaseTip: 'يمكنك إنشاء إصدار للـ بلوكليت، جنباً إلى جنب مع ملاحظات الإصدار والموارد، ليستخدمها الآخرون.',
678
- createRelease: 'إصدار جديد',
679
+ createRelease: 'إنشاء إصدار',
679
680
  deleteReleaseTip: 'لا يمكن استعادة الإصدار بعد الحذف',
680
681
  createBlockletDid: 'أنشئ من محفظة DID',
681
682
  createReleaseSuccess: 'تم إنشاء الإصدار بنجاح',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'الوصف المطلوب للكتلة',
696
697
  noNote: 'ملاحظة الإصدار مطلوبة',
697
698
  inValidVersion: 'نسخة الوحدة غير صالحة',
698
- noResource: 'يرجى اختيار المورد المراد ربطه',
699
+ noResource: 'يرجى تحديد موارد التحميل لتضمينها في البلوكليت',
699
700
  noFirstDid: 'يرجى إنشاء بلوكليت ديد أولاً'
700
701
  },
701
702
  packTip: 'حالياً ، يمكن تثبيت البلوكليتس مباشرة كتطبيقات. سيتم تضمين المكونات وتكوينات التطبيق تلقائيًا في البلوكليت.',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'صف معلوماتك الأساسية للبلوكليت الخاص بك. ستُعرض هذه المعلومات للمستخدمين في المتجر.'
742
743
  },
743
744
  branding: 'العلامة التجارية',
744
- brandingHelp: 'سيتم عرض مزيد من المعلومات حول البلوكلت في المتجر'
745
+ brandingHelp: 'سيتم عرض مزيد من المعلومات حول البلوكلت في المتجر',
746
+ resourceSelect: 'اختر موردًا من Blocklets',
747
+ resourceUpload: 'قم بتحميل الموارد من قرصك'
745
748
  },
746
749
  titleValidationError: 'يجب أن يكون طول العنوان على الأقل 3 أحرف',
747
750
  descriptionValidationError: 'يجب أن تكون طول الوصف بين 3 و 160 حرفًا'
package/lib/locales/de.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'Hochladen',
356
356
  blockletStudio: 'Studio',
357
357
  visitStore: 'Besuche den Laden',
358
- reconnect: 'Verbinden wiederherstellen'
358
+ reconnect: 'Verbinden wiederherstellen',
359
+ change: 'Ändern'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'Extern',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'Blocklet {name} läuft nicht, bitte starte es zuerst',
676
677
  releaseEmptyTip: 'Es gibt hier keine Veröffentlichungen',
677
678
  createReleaseTip: 'Du kannst eine Veröffentlichung des Blocklets erstellen, zusammen mit Versionshinweisen und Ressourcen, die andere Personen nutzen können.',
678
- createRelease: 'Neue Veröffentlichung',
679
+ createRelease: 'Erstellen Sie Freigabe',
679
680
  deleteReleaseTip: 'Die Veröffentlichung kann nach Löschung nicht wiederhergestellt werden',
680
681
  createBlockletDid: 'Erstelle aus dem DID Wallet',
681
682
  createReleaseSuccess: 'Freigabe erfolgreich erstellt',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'Blocklet-Beschreibung ist erforderlich',
696
697
  noNote: 'Versionshinweis wird benötigt',
697
698
  inValidVersion: 'Ungültige Blocklet-Version',
698
- noResource: 'Bitte wählen Sie die Ressource aus, die zugeordnet werden soll',
699
+ noResource: 'Bitte wählen Sie die hochzuladenden Ressourcen aus, die im Blocklet enthalten sein sollen',
699
700
  noFirstDid: 'Bitte erstellen Sie zuerst eine Blocklet-DID'
700
701
  },
701
702
  packTip: 'Derzeit können Blocklets direkt als Anwendungen installiert werden. Komponenten und Anwendungskonfigurationen werden automatisch in das Blocklet aufgenommen.',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'Beschreiben Sie die grundlegenden Informationen Ihres Blocklets. Diese Informationen werden den Benutzern im Store angezeigt.'
742
743
  },
743
744
  branding: 'Branding',
744
- brandingHelp: 'Weitere Informationen über den Blocklet werden im Store angezeigt'
745
+ brandingHelp: 'Weitere Informationen über den Blocklet werden im Store angezeigt',
746
+ resourceSelect: 'Wählen Sie eine Ressource aus Blocklets',
747
+ resourceUpload: 'Ressourcen vom Datenträger hochladen'
745
748
  },
746
749
  titleValidationError: 'Die Länge des Titels muss mindestens 3 Zeichen betragen',
747
750
  descriptionValidationError: 'Die Beschreibungslänge muss zwischen 3 und 160 Zeichen liegen'
package/lib/locales/en.js CHANGED
@@ -97,6 +97,8 @@ export default {
97
97
  invalid: 'Invalid',
98
98
  about: 'About',
99
99
  access: 'Access',
100
+ change: 'Change',
101
+ upload: 'Upload',
100
102
  accessKey: 'Access Keys',
101
103
  action: 'Action',
102
104
  actions: 'Actions',
@@ -168,7 +170,6 @@ export default {
168
170
  uploadToStore: 'Upload to Store',
169
171
  connectToStore: 'Connect to Store',
170
172
  blockletStudio: 'Studio',
171
- upload: 'Upload',
172
173
  uploaded: 'Uploaded',
173
174
  downloading: 'Downloading',
174
175
  edit: 'Edit',
@@ -669,6 +670,8 @@ export default {
669
670
  versionTitle: 'Versioning',
670
671
  imgTitle: 'Images',
671
672
  resourceTitle: 'Resources',
673
+ resourceSelect: 'Select resource from following blocklets',
674
+ resourceUpload: 'Upload resource from your disk (index.html is required in the archive)',
672
675
  blockletEmptyTip: 'There aren’t any blocklets here',
673
676
  createBlockletTip: 'You can create new blocklet through existing resources, components, and configuration in this application',
674
677
  createBlocklet: 'New blocklet',
@@ -679,7 +682,7 @@ export default {
679
682
  resourceEmptyTip: 'No available resources',
680
683
  viewLastRelease: 'View last release',
681
684
  createReleaseTip: 'You can create a release of the blocklet, along with release notes and resources, for other people to use',
682
- createRelease: 'New release',
685
+ createRelease: 'Create release',
683
686
  deleteReleaseTip: 'The release cannot be recovered after deletion',
684
687
  createBlockletDid: 'Create from DID Wallet',
685
688
  createReleaseSuccess: 'Release created successfully',
@@ -726,7 +729,7 @@ export default {
726
729
  noTitle: 'Blocklet Title is required',
727
730
  noVersion: 'Blocklet Version is required',
728
731
  inValidVersion: 'Invalid Blocklet Version',
729
- noResource: 'Please select the resource to be associated',
732
+ noResource: 'Please select upload resource to be included in the blocklet',
730
733
  noDescription: 'Blocklet Description is required',
731
734
  noNote: 'Release Note is required'
732
735
  },
package/lib/locales/es.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'Subir',
356
356
  blockletStudio: 'Estudio',
357
357
  visitStore: 'Visitar tienda',
358
- reconnect: 'Reconecta'
358
+ reconnect: 'Reconecta',
359
+ change: 'Cambiar'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'Externo',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'El Blocklet {name} no está en ejecución, por favor inícialo primero',
676
677
  releaseEmptyTip: 'No hay ninguna versión aquí',
677
678
  createReleaseTip: 'Puedes crear una versión de la blocklet, junto con notas de lanzamiento y recursos, para que otras personas la puedan utilizar',
678
- createRelease: 'Nuevo lanzamiento',
679
+ createRelease: 'Crear versión',
679
680
  deleteReleaseTip: 'La versión no se puede recuperar después de la eliminación',
680
681
  createBlockletDid: 'Crear desde la billetera DID',
681
682
  createReleaseSuccess: 'Liberación creada exitosamente',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'La descripción de Blocklet es requerida',
696
697
  noNote: 'Se requiere la Nota de Lanzamiento',
697
698
  inValidVersion: 'Versión de Blocklet no válida',
698
- noResource: 'Por favor, selecciona el recurso a asociar',
699
+ noResource: 'Por favor seleccione cargar recurso para incluirlo en el blocklet',
699
700
  noFirstDid: 'Por favor, crea Blocklet DID primero'
700
701
  },
701
702
  packTip: 'Actualmente, los blocklets se pueden instalar directamente como aplicaciones. Los componentes y las configuraciones de la aplicación se incluirán automáticamente en el Blocklet',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'Describe la información básica de tu Blocklet. Esta información se presentará a los usuarios en la tienda.'
742
743
  },
743
744
  branding: 'Branding',
744
- brandingHelp: 'Se mostrará más información sobre el blocklet en la tienda'
745
+ brandingHelp: 'Se mostrará más información sobre el blocklet en la tienda',
746
+ resourceSelect: 'Seleccionar recurso de blocklets',
747
+ resourceUpload: 'Cargar recursos desde su disco'
745
748
  },
746
749
  titleValidationError: 'La longitud del título debe ser de al menos 3 caracteres',
747
750
  descriptionValidationError: 'La longitud de la descripción debe estar entre 3 y 160 caracteres'
package/lib/locales/fr.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'Télécharger',
356
356
  blockletStudio: 'Studio',
357
357
  visitStore: 'Visiter le magasin',
358
- reconnect: 'Reconnecter'
358
+ reconnect: 'Reconnecter',
359
+ change: 'Changer'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'Externe',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: "Le bloc {name} ne fonctionne pas, veuillez le démarrer d'abord",
676
677
  releaseEmptyTip: "Il n'y a pas de sorties ici",
677
678
  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.",
678
- createRelease: 'Nouvelle version',
679
+ createRelease: 'Créer une version',
679
680
  deleteReleaseTip: 'La version ne peut pas être récupérée après la suppression',
680
681
  createBlockletDid: 'Créez à partir du portefeuille DID',
681
682
  createReleaseSuccess: 'Création de la version réussie',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'La description du Blocklet est requise',
696
697
  noNote: 'La note de version est requise',
697
698
  inValidVersion: 'Version de Blocklet invalide',
698
- noResource: 'Veuillez sélectionner la ressource à associer',
699
+ noResource: 'Veuillez sélectionner les ressources à télécharger à inclure dans le blocklet',
699
700
  noFirstDid: "Veuillez créer d'abord un DID de Blocklet"
700
701
  },
701
702
  packTip: "Actuellement, les bloclets peuvent être installés directement en tant qu'applications. Les composants et les configurations d'application seront automatiquement inclus dans le bloclet.",
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'Décrivez les informations de base de votre Blocklet. Ces informations seront présentées aux utilisateurs dans le magasin.'
742
743
  },
743
744
  branding: 'Branding',
744
- brandingHelp: "Plus d'informations sur le blocklet seront affichées dans le magasin"
745
+ brandingHelp: "Plus d'informations sur le blocklet seront affichées dans le magasin",
746
+ resourceSelect: 'Sélectionnez une ressource des blocklets',
747
+ resourceUpload: 'Télécharger des ressources depuis votre disque'
745
748
  },
746
749
  titleValidationError: "La longueur du titre doit être d'au moins 3 caractères",
747
750
  descriptionValidationError: 'La longueur de la description doit être comprise entre 3 et 160 caractères'
package/lib/locales/hi.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'अपलोड करें',
356
356
  blockletStudio: 'स्टूडियो',
357
357
  visitStore: 'स्टोर को देखें',
358
- reconnect: 'पुनः कनेक्ट करें'
358
+ reconnect: 'पुनः कनेक्ट करें',
359
+ change: 'परिवर्तन'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'बाहरी',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'ब्लॉकलेट {name} चल रहा नहीं है, कृपया पहले इसे स्टार्ट करें',
676
677
  releaseEmptyTip: 'यहां कोई रिलीज़ नहीं हैं',
677
678
  createReleaseTip: 'आप ब्लॉकलेट का एक रिलीज़ बना सकते हैं, रिलीज़ नोट्स और संसाधनों के साथ, जिन्हें दूसरे लोगों का उपयोग कर सकते हैं।',
678
- createRelease: 'नई रिलीज़',
679
+ createRelease: 'रिलीज़ बनाएं',
679
680
  deleteReleaseTip: 'हटाने के बाद रिलीज़ को पुनर्प्राप्त नहीं किया जा सकता है',
680
681
  createBlockletDid: 'डीआईडी वॉलेट से बनाएं',
681
682
  createReleaseSuccess: 'सफलतापूर्वक रिलीज़ बनाया गया',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'ब्लॉकलेट विवरण आवश्यक है',
696
697
  noNote: 'रिलीज़ नोट आवश्यक है',
697
698
  inValidVersion: 'अमान्य ब्लॉकलेट संस्करण',
698
- noResource: 'कृपया उस संसाधन का चयन करें जिससे संबंधित किया जाना है',
699
+ noResource: 'कृपया चुनें, ब्लॉकलेट में शामिल करने के लिए अपलोड संसाधन',
699
700
  noFirstDid: 'कृपया पहले ब्लॉकलेट डीआईडी बनाएं'
700
701
  },
701
702
  packTip: 'वर्तमान में ब्लॉकलेट सीधे अनुप्रयोग के रूप में स्थापित किए जा सकते हैं। कंपोनेंट और अनुप्रयोग कॉन्फ़िगरेशन स्वचालित रूप से ब्लॉकलेट में शामिल किए जाएंगे।',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'अपने ब्लॉकलेट की मूलभूत जानकारी वर्णित करें। यह जानकारी स्टोर में उपयोगकर्ताओं को प्रस्तुत की जाएगी।'
742
743
  },
743
744
  branding: 'ब्रांडिंग',
744
- brandingHelp: 'स्टोर में ब्लॉकलेट के बारे में अधिक जानकारी दी जाएगी'
745
+ brandingHelp: 'स्टोर में ब्लॉकलेट के बारे में अधिक जानकारी दी जाएगी',
746
+ resourceSelect: 'ब्लॉकलेट से संसाधन का चयन करें',
747
+ resourceUpload: 'अपने डिस्क से संसाधन अपलोड करें'
745
748
  },
746
749
  titleValidationError: 'शीर्षक की लंबाई कम से कम 3 अक्षर होनी चाहिए',
747
750
  descriptionValidationError: 'विवरण की लंबाई 3 और 160 वर्णों के बीच होनी चाहिए'
Binary file
package/lib/locales/id.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'Unggah',
356
356
  blockletStudio: 'Studio',
357
357
  visitStore: 'Kunjungi Toko',
358
- reconnect: 'Menghubungkan kembali'
358
+ reconnect: 'Menghubungkan kembali',
359
+ change: 'Perubahan'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'Eksternal',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'Blocklet {name} tidak berjalan, harap mulai terlebih dahulu',
676
677
  releaseEmptyTip: 'Tidak ada rilis di sini',
677
678
  createReleaseTip: 'Anda dapat membuat rilis dari blocklet, bersama dengan catatan rilis dan sumber daya, agar orang lain dapat menggunakannya',
678
- createRelease: 'Rilis baru',
679
+ createRelease: 'Membuat rilis',
679
680
  deleteReleaseTip: 'Rilis tidak dapat dikembalikan setelah dihapus',
680
681
  createBlockletDid: 'Buat dari Dompet DID',
681
682
  createReleaseSuccess: 'Rilis berhasil dibuat',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'Deskripsi Blocklet diperlukan',
696
697
  noNote: 'Catatan Rilis diperlukan',
697
698
  inValidVersion: 'Versi Blok Tidak Valid',
698
- noResource: 'Silakan pilih sumber daya yang akan dihubungkan',
699
+ noResource: 'Silahkan pilihunggah sumber daya untuk disertakan dalam blocklet',
699
700
  noFirstDid: 'Silakan buat DID Blocklet terlebih dahulu'
700
701
  },
701
702
  packTip: 'Saat ini, blok dapat diinstal langsung sebagai aplikasi. Komponen dan konfigurasi aplikasi akan secara otomatis disertakan dalam Blocklet.',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'Deskripsikan informasi dasar tentang Blocklet Anda. Informasi ini akan ditampilkan kepada pengguna di toko.'
742
743
  },
743
744
  branding: 'Branding',
744
- brandingHelp: 'Informasi lebih lanjut tentang blocklet akan ditampilkan di Toko'
745
+ brandingHelp: 'Informasi lebih lanjut tentang blocklet akan ditampilkan di Toko',
746
+ resourceSelect: 'Pilih sumber dari blocklets',
747
+ resourceUpload: 'Unggah sumber daya dari disk Anda'
745
748
  },
746
749
  titleValidationError: 'Panjang judul harus setidaknya 3 karakter',
747
750
  descriptionValidationError: 'Panjang deskripsi harus antara 3 dan 160 karakter.'
package/lib/locales/ja.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'アップロード',
356
356
  blockletStudio: 'スタジオ',
357
357
  visitStore: '店を訪れる',
358
- reconnect: '再接続する'
358
+ reconnect: '再接続する',
359
+ change: '変更'
359
360
  },
360
361
  blocklet: {
361
362
  external: '外部',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'Blocklet {name} は実行されていません、まず起動してください',
676
677
  releaseEmptyTip: 'ここにはリリースがありません',
677
678
  createReleaseTip: '他の人が使用できるように、リリースノートやリソースと共にブロックをリリースすることができます',
678
- createRelease: '新しいリリース',
679
+ createRelease: 'リリースを作成',
679
680
  deleteReleaseTip: '削除後、リリースは復元できません',
680
681
  createBlockletDid: 'DIDウォレットから作成',
681
682
  createReleaseSuccess: 'リリースが正常に作成されました',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'Blockletの説明が必要です',
696
697
  noNote: 'リリースノートが必要です',
697
698
  inValidVersion: '無効な Blocklet バージョン',
698
- noResource: '関連付けるリソースを選択してください',
699
+ noResource: 'ブロックレットに含めるアップロードリソースを選択してください',
699
700
  noFirstDid: '最初にBlocklet DIDを作成してください'
700
701
  },
701
702
  packTip: '現在、Blockletとしてブロックを直接アプリケーションとしてインストールすることができます。コンポーネントとアプリケーションの設定は自動的にBlockletに含まれます',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'ブロックレットの基本情報を説明してください。この情報はストアのユーザーに表示されます。'
742
743
  },
743
744
  branding: 'ブランディング',
744
- brandingHelp: 'ストアにブロックレットの詳細情報が表示されます'
745
+ brandingHelp: 'ストアにブロックレットの詳細情報が表示されます',
746
+ resourceSelect: 'ブロックレットからリソースを選択する',
747
+ resourceUpload: 'ディスクからリソースをアップロードする'
745
748
  },
746
749
  titleValidationError: 'タイトルの長さは最低3文字以上である必要があります',
747
750
  descriptionValidationError: '説明の長さは3から160文字の間でなければなりません'
package/lib/locales/ko.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: '업로드',
356
356
  blockletStudio: '스튜디오',
357
357
  visitStore: '가게 방문하기',
358
- reconnect: '재연결'
358
+ reconnect: '재연결',
359
+ change: '변경'
359
360
  },
360
361
  blocklet: {
361
362
  external: '외부의',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: '{name} 블록릿이 실행되고 있지 않습니다, 먼저 시작하십시오',
676
677
  releaseEmptyTip: '여기에는 출시 정보가 없습니다',
677
678
  createReleaseTip: '다른 사람들이 사용할 수 있도록 블록릿의 릴리스와 릴리스 노트 및 자원을 생성할 수 있습니다',
678
- createRelease: '새로운 릴리스',
679
+ createRelease: '릴리스 생성',
679
680
  deleteReleaseTip: '삭제 후에는 복구할 수 없는 릴리스입니다',
680
681
  createBlockletDid: 'DID 지갑에서 작성',
681
682
  createReleaseSuccess: '릴리스가 성공적으로 생성되었습니다',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'Blocklet 설명이 필요합니다',
696
697
  noNote: '릴리즈 노트가 필요합니다',
697
698
  inValidVersion: '잘못된 블록릿 버전',
698
- noResource: '연관된 자원을 선택해주세요',
699
+ noResource: '블록렛에 포함할 업로드 리소스를 선택하십시오',
699
700
  noFirstDid: '먼저 Blocklet DID를 생성하세요'
700
701
  },
701
702
  packTip: '현재 블록렛은 직접 애플리케이션으로 설치할 수 있습니다. 컴포넌트와 애플리케이션 구성은 자동으로 블록렛에 포함됩니다',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'Blocklet의 기본 정보를 설명하세요. 이 정보는 상점에 사용자에게 제공됩니다.'
742
743
  },
743
744
  branding: '브랜딩',
744
- brandingHelp: '블록릿에 대한 자세한 정보가 스토어에 표시됩니다'
745
+ brandingHelp: '블록릿에 대한 자세한 정보가 스토어에 표시됩니다',
746
+ resourceSelect: '블록릿에서 리소스 선택',
747
+ resourceUpload: '디스크에서 리소스 업로드하기'
745
748
  },
746
749
  titleValidationError: '제목 길이는 최소 3자 이상이어야 합니다',
747
750
  descriptionValidationError: '설명 길이는 3에서 160자 사이여야 합니다'
package/lib/locales/pt.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'Upload',
356
356
  blockletStudio: 'Estúdio',
357
357
  visitStore: 'Visite a loja',
358
- reconnect: 'Reconectar'
358
+ reconnect: 'Reconectar',
359
+ change: 'Mudança'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'Externo',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'O Blocklet {name} não está em execução, por favor, inicie-o primeiro',
676
677
  releaseEmptyTip: 'Não há nenhum lançamento aqui',
677
678
  createReleaseTip: 'Você pode criar um lançamento do blocklet, juntamente com notas de lançamento e recursos, para que outras pessoas possam usar',
678
- createRelease: 'Novo lançamento',
679
+ createRelease: 'Criar lançamento',
679
680
  deleteReleaseTip: 'A liberação não pode ser recuperada após exclusão',
680
681
  createBlockletDid: 'Criar a partir da Carteira DID',
681
682
  createReleaseSuccess: 'Lançamento criado com sucesso',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'A descrição do Blocklet é obrigatória',
696
697
  noNote: 'Nota de lançamento é obrigatória',
697
698
  inValidVersion: 'Versão de Bloco Inválida',
698
- noResource: 'Por favor, selecione o recurso a ser associado',
699
+ noResource: 'Por favor, selecione o recurso para ser incluído no blocklet',
699
700
  noFirstDid: 'Por favor, crie um DID do Blocklet primeiro'
700
701
  },
701
702
  packTip: 'Atualmente, os blocos podem ser instalados diretamente como aplicativos. Componentes e configurações de aplicativos serão automaticamente incluídos no Blocklet.',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'Descreva as informações básicas do seu Blocklet. Essas informações serão apresentadas aos usuários na loja.'
742
743
  },
743
744
  branding: 'Marca',
744
- brandingHelp: 'Mais informações sobre o blocklet serão exibidas na Loja'
745
+ brandingHelp: 'Mais informações sobre o blocklet serão exibidas na Loja',
746
+ resourceSelect: 'Selecionar recurso dos blocos',
747
+ resourceUpload: 'Carregar recursos do seu disco'
745
748
  },
746
749
  titleValidationError: 'O comprimento do título deve ter pelo menos 3 caracteres',
747
750
  descriptionValidationError: 'O comprimento da descrição deve estar entre 3 e 160 caracteres.'
package/lib/locales/ru.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'Загрузить',
356
356
  blockletStudio: 'Студия',
357
357
  visitStore: 'Посетите магазин',
358
- reconnect: 'Восстановить соединение'
358
+ reconnect: 'Восстановить соединение',
359
+ change: 'Изменение'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'Внешний',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'Блоклет {name} не запущен, пожалуйста, сначала запустите его',
676
677
  releaseEmptyTip: 'Здесь нет никаких релизов',
677
678
  createReleaseTip: 'Вы можете создать релиз блоклета вместе с примечаниями к релизу и ресурсами для использования другими людьми.',
678
- createRelease: 'Новый релиз',
679
+ createRelease: 'Создать релиз',
679
680
  deleteReleaseTip: 'После удаления версия не может быть восстановлена',
680
681
  createBlockletDid: 'Создать из кошелька DID',
681
682
  createReleaseSuccess: 'Релиз успешно создан',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'Требуется описание блокировки',
696
697
  noNote: 'Требуется версия примечания',
697
698
  inValidVersion: 'Неверная версия блоклета',
698
- noResource: 'Пожалуйста, выберите ресурс для ассоциации',
699
+ noResource: 'Пожалуйста, выберите загружаемые ресурсы для включения в блоклет',
699
700
  noFirstDid: 'Пожалуйста, создайте сначала Blocklet DID'
700
701
  },
701
702
  packTip: 'В настоящее время блоклеты могут быть установлены непосредственно в качестве приложений. Компоненты и конфигурации приложений будут автоматически включены в блоклет.',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'Опишите основную информацию о вашем блоклете. Эта информация будет представлена пользователям в магазине.'
742
743
  },
743
744
  branding: 'Брендинг',
744
- brandingHelp: 'Больше информации о блоклете будет отображаться в магазине'
745
+ brandingHelp: 'Больше информации о блоклете будет отображаться в магазине',
746
+ resourceSelect: 'Выберите ресурс из блоклетов',
747
+ resourceUpload: 'Загрузить ресурсы с вашего диска'
745
748
  },
746
749
  titleValidationError: 'Длина заголовка должна быть не менее 3 символов',
747
750
  descriptionValidationError: 'Длина описания должна быть от 3 до 160 символов'
package/lib/locales/th.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'อัปโหลด',
356
356
  blockletStudio: 'สตูดิโอ',
357
357
  visitStore: 'เยี่ยมชมร้านค้า',
358
- reconnect: 'เชื่อมต่อใหม่'
358
+ reconnect: 'เชื่อมต่อใหม่',
359
+ change: 'เปลี่ยนแปลง'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'ภายนอก',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'Blocklet {name} ไม่ทำงาน โปรดเริ่มใช้งานก่อน',
676
677
  releaseEmptyTip: 'ไม่มีการเผยแพร่ที่นี่',
677
678
  createReleaseTip: 'คุณสามารถสร้างการเปิดตัวของโบล็กเล็ตพร้อมกับบันทึกการเปิดตัวและทรัพยากรสำหรับผู้อื่นที่ต้องการใช้',
678
- createRelease: 'การเปิดตัวใหม่',
679
+ createRelease: 'สร้างการปล่อย',
679
680
  deleteReleaseTip: 'ไม่สามารถกู้คืนการเผยแพร่หลังจากการลบ',
680
681
  createBlockletDid: 'สร้างจากกระเป๋าเงินดิจิทัล',
681
682
  createReleaseSuccess: 'สร้างการเผยแพร่เรียบร้อยแล้ว',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'คำอธิบาย Blocklet จำเป็น',
696
697
  noNote: 'ต้องใช้หมายเหตุรุ่น',
697
698
  inValidVersion: 'รุ่นบล็อกที่ไม่ถูกต้อง',
698
- noResource: 'โปรดเลือกทรัพยากรที่จะเชื่อมโยง',
699
+ noResource: 'โปรดเลือกอัปโหลดทรัพยากรเพื่อรวมอยู่ในบล็อกเล็ท',
699
700
  noFirstDid: 'โปรดสร้าง Blocklet DID ก่อน'
700
701
  },
701
702
  packTip: 'ปัจจุบัน บล็อกเล็ตสามารถติดตั้งเป็นแอปพลิเคชันโดยตรงได้ เราจะรวมองค์ประกอบและการกำหนดค่าแอปพลิเคชันโดยอัตโนมัติใน Blocklet',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'อธิบายข้อมูลพื้นฐานของ Blocklet ของคุณ ข้อมูลเหล่านี้จะถูกนำเสนอให้ผู้ใช้ในร้านค้า'
742
743
  },
743
744
  branding: 'การติดตามแบรนด์',
744
- brandingHelp: 'ข้อมูลเพิ่มเติมเกี่ยวกับ blocklet จะแสดงในร้านค้า'
745
+ brandingHelp: 'ข้อมูลเพิ่มเติมเกี่ยวกับ blocklet จะแสดงในร้านค้า',
746
+ resourceSelect: 'เลือกทรัพยากรจากบล็อกเล็ต',
747
+ resourceUpload: 'อัปโหลดทรัพยากรจากดิสก์ของคุณ'
745
748
  },
746
749
  titleValidationError: 'ความยาวของชื่อต้องมีอย่างน้อย 3 ตัวอักษร',
747
750
  descriptionValidationError: 'ความยาวคำอธิบายต้องอยู่ระหว่าง 3 ถึง 160 ตัวอักษร.'
package/lib/locales/vi.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: 'Tải lên',
356
356
  blockletStudio: 'Studio',
357
357
  visitStore: 'Ghé cửa hàng',
358
- reconnect: 'Kết nối lại'
358
+ reconnect: 'Kết nối lại',
359
+ change: 'Thay đổi'
359
360
  },
360
361
  blocklet: {
361
362
  external: 'Bên ngoài',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'Blocklet {name} không hoạt động, vui lòng khởi chạy trước',
676
677
  releaseEmptyTip: 'Không có bản phát hành ở đây',
677
678
  createReleaseTip: 'Bạn có thể tạo một phiên bản của blocklet, cùng với ghi chú về phiên bản và tài nguyên, để mọi người khác có thể sử dụng',
678
- createRelease: 'Phiên bản mới',
679
+ createRelease: 'Tạo bản phát hành',
679
680
  deleteReleaseTip: 'Phiên bản không thể khôi phục sau khi xóa',
680
681
  createBlockletDid: 'Tạo từ Ví Điện tử DID',
681
682
  createReleaseSuccess: 'Phát hành được tạo thành công',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: 'Yêu cầu miêu tả Blocklet',
696
697
  noNote: 'Cần có Ghi chú phát hành',
697
698
  inValidVersion: 'Phiên bản Blocklet không hợp lệ',
698
- noResource: 'Vui lòng chọn tài nguyên để liên kết',
699
+ noResource: 'Vui lòng chọn tài nguyên tải lên để bao gồm trong blocklet',
699
700
  noFirstDid: 'Vui lòng tạo Blocklet DID trước'
700
701
  },
701
702
  packTip: 'Hiện tại, blocklet có thể được cài đặt trực tiếp như các ứng dụng. Các thành phần và cấu hình ứng dụng sẽ được tự động bao gồm trong Blocklet.',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: 'Mô tả thông tin cơ bản về Blocklet của bạn. Thông tin này sẽ được trình bày cho người dùng trong cửa hàng.'
742
743
  },
743
744
  branding: 'Thương hiệu',
744
- brandingHelp: 'Thông tin chi tiết về blocklet sẽ được hiển thị trên Cửa hàng'
745
+ brandingHelp: 'Thông tin chi tiết về blocklet sẽ được hiển thị trên Cửa hàng',
746
+ resourceSelect: 'Chọn tài nguyên từ blocklets',
747
+ resourceUpload: 'Tải tài nguyên từ ổ đĩa của bạn'
745
748
  },
746
749
  titleValidationError: 'Độ dài tiêu đề phải ít nhất 3 ký tự',
747
750
  descriptionValidationError: 'Chiều dài mô tả phải từ 3 đến 160 ký tự.'
@@ -355,7 +355,8 @@ export default {
355
355
  upload: '上傳',
356
356
  blockletStudio: 'Studio',
357
357
  visitStore: '訪問 Store',
358
- reconnect: '重新連接'
358
+ reconnect: '重新連接',
359
+ change: '更改'
359
360
  },
360
361
  blocklet: {
361
362
  external: '外部的',
@@ -675,7 +676,7 @@ export default {
675
676
  componentNotRunning: 'Blocklet {name} 沒有運行,請先啟動它',
676
677
  releaseEmptyTip: '這裡沒有任何發布',
677
678
  createReleaseTip: '您可以創建一個區塊釋出,附帶釋出說明和資源,供其他人使用',
678
- createRelease: '新版本發布',
679
+ createRelease: '創建版本',
679
680
  deleteReleaseTip: '刪除後無法還原發布',
680
681
  createBlockletDid: '從DID錢包創建',
681
682
  createReleaseSuccess: '發佈成功',
@@ -695,7 +696,7 @@ export default {
695
696
  noDescription: '需要提供 Blocklet 描述',
696
697
  noNote: '需要提供發佈說明',
697
698
  inValidVersion: '無效的 Blocklet 版本',
698
- noResource: '請選擇要關聯的資源',
699
+ noResource: '請選擇上傳的資源以包含在區塊中',
699
700
  noFirstDid: '請先建立Blocklet DID'
700
701
  },
701
702
  packTip: '目前,blocklet可以直接安裝為應用程序。組件和應用程序配置將自動包含在blocklet中',
@@ -741,7 +742,9 @@ export default {
741
742
  branding: '描述您的 Blocklet 的基本資訊。此資訊將呈現給商店使用者。'
742
743
  },
743
744
  branding: '品牌',
744
- brandingHelp: '將在商店中顯示有關區塊的更多信息'
745
+ brandingHelp: '將在商店中顯示有關區塊的更多信息',
746
+ resourceSelect: '從 blocklets 選擇資源',
747
+ resourceUpload: '從您的磁盤上傳資源'
745
748
  },
746
749
  titleValidationError: '標題長度必須至少為3到40個字符',
747
750
  descriptionValidationError: '描述長度必須介於3到160個字符之間'
package/lib/locales/zh.js CHANGED
@@ -355,7 +355,8 @@ export default {
355
355
  upload: '上传',
356
356
  blockletStudio: 'Studio',
357
357
  visitStore: '访问 Store',
358
- reconnect: '重新连接'
358
+ reconnect: '重新连接',
359
+ change: '更改'
359
360
  },
360
361
  blocklet: {
361
362
  external: '外部',
@@ -680,7 +681,7 @@ export default {
680
681
  resourceEmptyTip: '没有可用的资源',
681
682
  releaseEmptyTip: '这里没有任何发布',
682
683
  createReleaseTip: '您可以创建 Blocklet 新版本,在发布中包含说明和资源,以供其他人使用',
683
- createRelease: '创建新的版本',
684
+ createRelease: '创建版本',
684
685
  deleteReleaseTip: '此发布删除后不可恢复,是否继续?',
685
686
  createBlockletDid: '通过 DID 钱包创建',
686
687
  createReleaseSuccess: '发布成功',
@@ -705,7 +706,7 @@ export default {
705
706
  noFirstDid: '请先填写 Blocklet DID',
706
707
  noTitle: '请填写 Blocklet 名称',
707
708
  noVersion: '请填写 Blocklet 版本号',
708
- noResource: '请选择需要关联的资源',
709
+ noResource: '请选择上传的资源以包含在区块中',
709
710
  noDescription: '请填写 Blocklet 描述',
710
711
  noNote: '请填写 发布说明',
711
712
  inValidVersion: '无效的 Blocklet 版本'
@@ -744,7 +745,9 @@ export default {
744
745
  branding: '描述您的区块链应用的基本信息。此信息将在商店向用户展示。'
745
746
  },
746
747
  branding: '品牌',
747
- brandingHelp: '将在商店中显示有关区块链的更多信息'
748
+ brandingHelp: '将在商店中显示有关区块链的更多信息',
749
+ resourceSelect: '从 blocklets 选择资源',
750
+ resourceUpload: '从您的磁盘上传资源'
748
751
  },
749
752
  titleValidationError: '标题长度必须至少为3到40个字符',
750
753
  descriptionValidationError: '描述长度必须在3到160个字符之间'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abtnode/ux",
3
- "version": "1.16.28-beta-b30865b3",
3
+ "version": "1.16.28-beta-6917161a",
4
4
  "description": "UX components shared across abtnode packages",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -25,9 +25,9 @@
25
25
  "author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
26
26
  "license": "Apache-2.0",
27
27
  "dependencies": {
28
- "@abtnode/auth": "1.16.28-beta-b30865b3",
29
- "@abtnode/constant": "1.16.28-beta-b30865b3",
30
- "@abtnode/util": "1.16.28-beta-b30865b3",
28
+ "@abtnode/auth": "1.16.28-beta-6917161a",
29
+ "@abtnode/constant": "1.16.28-beta-6917161a",
30
+ "@abtnode/util": "1.16.28-beta-6917161a",
31
31
  "@ahooksjs/use-url-state": "^3.5.1",
32
32
  "@arcblock/did": "^1.18.123",
33
33
  "@arcblock/did-connect": "^2.10.0",
@@ -37,10 +37,10 @@
37
37
  "@arcblock/react-hooks": "^2.10.0",
38
38
  "@arcblock/terminal": "^2.10.0",
39
39
  "@arcblock/ux": "^2.10.0",
40
- "@blocklet/constant": "1.16.28-beta-b30865b3",
40
+ "@blocklet/constant": "1.16.28-beta-6917161a",
41
41
  "@blocklet/launcher-layout": "2.3.22",
42
42
  "@blocklet/list": "^0.12.114",
43
- "@blocklet/meta": "1.16.28-beta-b30865b3",
43
+ "@blocklet/meta": "1.16.28-beta-6917161a",
44
44
  "@blocklet/ui-react": "^2.10.0",
45
45
  "@blocklet/uploader": "^0.1.10",
46
46
  "@emotion/react": "^11.10.4",
@@ -107,5 +107,5 @@
107
107
  "jest": "^29.7.0",
108
108
  "jest-environment-jsdom": "^29.7.0"
109
109
  },
110
- "gitHead": "93a071e3074207fa721a2198b1281f74d666cbbd"
110
+ "gitHead": "810be5d1a53e6947a524c4cfbd439aa737c14256"
111
111
  }