@abtnode/ux 1.16.26-beta-bdd2d7c0 → 1.16.26-beta-346cba92
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.
- package/es/blocklet/actions.js +32 -11
- package/es/blocklet/component/add-component-core.js +28 -29
- package/es/blocklet/component/select-store.js +9 -10
- package/es/blocklet/icons.js +3 -1
- package/es/blocklet/publish/connect-store-list.js +8 -4
- package/es/blocklet/publish/create-release.js +9 -3
- package/es/blocklet/publish/project-list.js +33 -51
- package/es/blocklet/publish/release-list.js +67 -24
- package/es/locales/ar.js +8 -4
- package/es/locales/de.js +8 -4
- package/es/locales/en.js +6 -2
- package/es/locales/es.js +8 -4
- package/es/locales/fr.js +8 -4
- package/es/locales/hi.js +8 -4
- package/es/locales/i18n.db +0 -0
- package/es/locales/id.js +8 -4
- package/es/locales/ja.js +8 -4
- package/es/locales/ko.js +8 -4
- package/es/locales/pt.js +8 -4
- package/es/locales/ru.js +8 -4
- package/es/locales/th.js +8 -4
- package/es/locales/vi.js +8 -4
- package/es/locales/zh-tw.js +9 -5
- package/es/locales/zh.js +9 -5
- package/es/store/connect-actions.js +130 -0
- package/es/store/delete.js +8 -2
- package/es/store/item.js +5 -9
- package/es/util/join-url-keep-search.js +15 -0
- package/lib/blocklet/actions.js +36 -13
- package/lib/blocklet/component/add-component-core.js +27 -28
- package/lib/blocklet/component/select-store.js +9 -10
- package/lib/blocklet/icons.js +3 -1
- package/lib/blocklet/publish/connect-store-list.js +8 -4
- package/lib/blocklet/publish/create-release.js +9 -3
- package/lib/blocklet/publish/project-list.js +33 -51
- package/lib/blocklet/publish/release-list.js +68 -24
- package/lib/locales/ar.js +8 -4
- package/lib/locales/de.js +8 -4
- package/lib/locales/en.js +6 -2
- package/lib/locales/es.js +8 -4
- package/lib/locales/fr.js +8 -4
- package/lib/locales/hi.js +8 -4
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +8 -4
- package/lib/locales/ja.js +8 -4
- package/lib/locales/ko.js +8 -4
- package/lib/locales/pt.js +8 -4
- package/lib/locales/ru.js +8 -4
- package/lib/locales/th.js +8 -4
- package/lib/locales/vi.js +8 -4
- package/lib/locales/zh-tw.js +9 -5
- package/lib/locales/zh.js +9 -5
- package/lib/store/connect-actions.js +138 -0
- package/lib/store/delete.js +8 -2
- package/lib/store/item.js +5 -9
- package/lib/util/join-url-keep-search.js +22 -0
- package/package.json +19 -19
|
@@ -7,15 +7,14 @@ exports.default = ProjectList;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactRouterDom = require("react-router-dom");
|
|
9
9
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
|
-
var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
11
10
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
12
11
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
13
12
|
var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
|
|
14
13
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
15
|
-
var _LibraryAdd = _interopRequireDefault(require("@mui/icons-material/LibraryAdd"));
|
|
16
14
|
var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
|
|
17
|
-
var
|
|
18
|
-
var
|
|
15
|
+
var _FileOpen = _interopRequireDefault(require("@mui/icons-material/FileOpen"));
|
|
16
|
+
var _AddBox = _interopRequireDefault(require("@mui/icons-material/AddBox"));
|
|
17
|
+
var _HelpOutlineOutlined = _interopRequireDefault(require("@mui/icons-material/HelpOutlineOutlined"));
|
|
19
18
|
var _constant = require("@abtnode/constant");
|
|
20
19
|
var _Datatable = _interopRequireDefault(require("@arcblock/ux/lib/Datatable"));
|
|
21
20
|
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
@@ -30,13 +29,12 @@ var _didAddress = _interopRequireDefault(require("../../did-address"));
|
|
|
30
29
|
var _confirm = _interopRequireDefault(require("../../confirm"));
|
|
31
30
|
var _bundleAvatar = _interopRequireDefault(require("../bundle-avatar"));
|
|
32
31
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
33
|
-
var
|
|
32
|
+
var _templateObject;
|
|
34
33
|
/* eslint-disable react/no-unstable-nested-components */
|
|
35
34
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
36
35
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
37
36
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
38
37
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
39
|
-
const serverEndpoint = (_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.serverEndpoint;
|
|
40
38
|
function ProjectList() {
|
|
41
39
|
const navigate = (0, _reactRouterDom.useNavigate)();
|
|
42
40
|
const {
|
|
@@ -222,16 +220,6 @@ function ProjectList() {
|
|
|
222
220
|
options: {
|
|
223
221
|
customBodyRenderLite: rawIndex => {
|
|
224
222
|
const project = projects[rawIndex];
|
|
225
|
-
let installUrl = '';
|
|
226
|
-
let downloadUrl = '';
|
|
227
|
-
if (project.lastReleaseId) {
|
|
228
|
-
const blockletMetaUrl = (0, _urlJoin.default)(serverEndpoint, "/api/project/".concat(blocklet.meta.did, "/").concat(project.id, "/").concat(project.lastReleaseId, "/release/blocklet.json"));
|
|
229
|
-
const url = new URL(serverEndpoint);
|
|
230
|
-
url.pathname = (0, _urlJoin.default)(url.pathname, '/launch-blocklet/agreement');
|
|
231
|
-
url.searchParams.set('blocklet_meta_url', blockletMetaUrl);
|
|
232
|
-
installUrl = url.href;
|
|
233
|
-
downloadUrl = (0, _urlJoin.default)("".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, "/api/project/").concat(blocklet.meta.did, "/").concat(project.id, "/").concat(project.lastReleaseId, "/download/").concat((project.lastReleaseFiles || [])[0]));
|
|
234
|
-
}
|
|
235
223
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
236
224
|
display: "flex",
|
|
237
225
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
|
|
@@ -242,49 +230,27 @@ function ProjectList() {
|
|
|
242
230
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
243
231
|
color: "primary",
|
|
244
232
|
"aria-label": "create",
|
|
245
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
246
|
-
|
|
247
|
-
fontSize: 18
|
|
248
|
-
}
|
|
249
|
-
})
|
|
250
|
-
})
|
|
251
|
-
})
|
|
252
|
-
}), !!project.lastReleaseId && project.type === 'pack' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
|
|
253
|
-
title: t('blocklet.publish.install', {
|
|
254
|
-
name: project.blockletTitle
|
|
255
|
-
}),
|
|
256
|
-
placement: "top",
|
|
257
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
258
|
-
color: "secondary",
|
|
259
|
-
"aria-label": "create",
|
|
260
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
261
|
-
style: {
|
|
262
|
-
display: 'flex'
|
|
263
|
-
},
|
|
264
|
-
href: installUrl,
|
|
265
|
-
target: "_blank",
|
|
266
|
-
rel: "noreferrer",
|
|
267
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InstallDesktop.default, {
|
|
268
|
-
sx: {
|
|
233
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AddBox.default, {
|
|
234
|
+
style: {
|
|
269
235
|
fontSize: 18
|
|
270
236
|
}
|
|
271
237
|
})
|
|
272
238
|
})
|
|
273
239
|
})
|
|
274
240
|
}), !!project.lastReleaseId && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
|
|
275
|
-
title: t('blocklet.publish.
|
|
241
|
+
title: t('blocklet.publish.viewLastRelease', {
|
|
276
242
|
name: project.blockletTitle
|
|
277
243
|
}),
|
|
278
244
|
placement: "top",
|
|
279
245
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
280
|
-
color: "
|
|
246
|
+
color: "secondary",
|
|
281
247
|
"aria-label": "create",
|
|
282
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
248
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
|
|
283
249
|
style: {
|
|
284
250
|
display: 'flex'
|
|
285
251
|
},
|
|
286
|
-
|
|
287
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
252
|
+
to: "".concat(project.id, "/").concat(project.lastReleaseId),
|
|
253
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FileOpen.default, {
|
|
288
254
|
sx: {
|
|
289
255
|
fontSize: 18
|
|
290
256
|
}
|
|
@@ -316,12 +282,28 @@ function ProjectList() {
|
|
|
316
282
|
display: "flex",
|
|
317
283
|
justifyContent: "space-between",
|
|
318
284
|
alignItems: "center",
|
|
319
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
285
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
286
|
+
display: "flex",
|
|
287
|
+
flexDirection: "row",
|
|
288
|
+
alignItems: "center",
|
|
289
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
290
|
+
sx: {
|
|
291
|
+
fontSize: '1.2rem',
|
|
292
|
+
fontWeight: 'bold'
|
|
293
|
+
},
|
|
294
|
+
children: t('blocklet.publish.productListTitle')
|
|
295
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
|
|
296
|
+
title: t('blocklet.publish.createBlockletTip'),
|
|
297
|
+
arrow: true,
|
|
298
|
+
placement: "right",
|
|
299
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HelpOutlineOutlined.default, {
|
|
300
|
+
sx: {
|
|
301
|
+
opacity: 0.6,
|
|
302
|
+
fontSize: '1.1em',
|
|
303
|
+
ml: 1
|
|
304
|
+
}
|
|
305
|
+
})
|
|
306
|
+
})]
|
|
325
307
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
326
308
|
onClick: handleNewBlocklet,
|
|
327
309
|
variant: "contained",
|
|
@@ -13,6 +13,7 @@ var _context = require("@arcblock/ux/lib/Locale/context");
|
|
|
13
13
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
14
14
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
15
15
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
16
|
+
var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
|
|
16
17
|
var _Breadcrumbs = _interopRequireDefault(require("@mui/material/Breadcrumbs"));
|
|
17
18
|
var _Download = _interopRequireDefault(require("@mui/icons-material/Download"));
|
|
18
19
|
var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
|
|
@@ -24,6 +25,7 @@ var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
|
|
|
24
25
|
var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
|
|
25
26
|
var _RelativeTime = _interopRequireDefault(require("@arcblock/ux/lib/RelativeTime"));
|
|
26
27
|
var _constant2 = require("@blocklet/constant");
|
|
28
|
+
var _InstallDesktop = _interopRequireDefault(require("@mui/icons-material/InstallDesktop"));
|
|
27
29
|
var _blocklet = require("../../contexts/blocklet");
|
|
28
30
|
var _node = require("../../contexts/node");
|
|
29
31
|
var _emptySpinner = _interopRequireDefault(require("../../empty-spinner"));
|
|
@@ -36,6 +38,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
36
38
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
37
39
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
38
40
|
function ReleaseList() {
|
|
41
|
+
var _window$env;
|
|
39
42
|
const {
|
|
40
43
|
t,
|
|
41
44
|
locale
|
|
@@ -53,6 +56,7 @@ function ReleaseList() {
|
|
|
53
56
|
const [releases, setReleases] = (0, _react.useState)(null);
|
|
54
57
|
const [project, setProject] = (0, _react.useState)(null);
|
|
55
58
|
const [deleteConfirm, setDeleteConfirm] = (0, _react.useState)(null);
|
|
59
|
+
const serverEndpoint = (_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.serverEndpoint;
|
|
56
60
|
const getReleases = () => {
|
|
57
61
|
api.getReleases({
|
|
58
62
|
input: {
|
|
@@ -136,7 +140,7 @@ function ReleaseList() {
|
|
|
136
140
|
"aria-label": "breadcrumb",
|
|
137
141
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
|
|
138
142
|
to: "..",
|
|
139
|
-
children: t('common.
|
|
143
|
+
children: t('common.blockletStudio')
|
|
140
144
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
141
145
|
color: "text.primary",
|
|
142
146
|
children: project.blockletTitle
|
|
@@ -229,36 +233,76 @@ function ReleaseList() {
|
|
|
229
233
|
options: {
|
|
230
234
|
customBodyRenderLite: rawIndex => {
|
|
231
235
|
const release = releases[rawIndex];
|
|
236
|
+
let installUrl = '';
|
|
237
|
+
let downloadUrl = '';
|
|
238
|
+
const published = release.status === 'published';
|
|
239
|
+
if (published) {
|
|
240
|
+
const blockletMetaUrl = (0, _urlJoin.default)(serverEndpoint, "/api/project/".concat(blocklet.meta.did, "/").concat(project.id, "/").concat(project.lastReleaseId, "/release/blocklet.json"));
|
|
241
|
+
const url = new URL(serverEndpoint);
|
|
242
|
+
url.pathname = (0, _urlJoin.default)(url.pathname, '/launch-blocklet/agreement');
|
|
243
|
+
url.searchParams.set('blocklet_meta_url', blockletMetaUrl);
|
|
244
|
+
installUrl = url.href;
|
|
245
|
+
downloadUrl = (0, _urlJoin.default)("".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, "/api/project/").concat(blocklet.meta.did, "/").concat(project.id, "/").concat(project.lastReleaseId, "/download/").concat((project.lastReleaseFiles || [])[0]));
|
|
246
|
+
}
|
|
232
247
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
233
248
|
display: "flex",
|
|
234
249
|
alignItems: "center",
|
|
235
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
250
|
+
children: [published && project.type === 'pack' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
251
|
+
title: t('blocklet.publish.install', {
|
|
252
|
+
name: project.blockletTitle
|
|
253
|
+
}),
|
|
254
|
+
placement: "top",
|
|
255
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
256
|
+
color: "secondary",
|
|
257
|
+
"aria-label": "create",
|
|
258
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
259
|
+
style: {
|
|
260
|
+
display: 'flex'
|
|
261
|
+
},
|
|
262
|
+
href: installUrl,
|
|
263
|
+
target: "_blank",
|
|
264
|
+
rel: "noreferrer",
|
|
265
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InstallDesktop.default, {
|
|
266
|
+
sx: {
|
|
267
|
+
fontSize: 18
|
|
268
|
+
}
|
|
269
|
+
})
|
|
270
|
+
})
|
|
271
|
+
})
|
|
272
|
+
}), published && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
273
|
+
title: t('blocklet.publish.download', {
|
|
274
|
+
name: project.blockletTitle
|
|
275
|
+
}),
|
|
276
|
+
placement: "top",
|
|
277
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
278
|
+
color: "primary",
|
|
279
|
+
"aria-label": "download",
|
|
280
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
281
|
+
style: {
|
|
282
|
+
display: 'flex'
|
|
283
|
+
},
|
|
284
|
+
href: downloadUrl,
|
|
285
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Download.default, {
|
|
286
|
+
sx: {
|
|
287
|
+
fontSize: 18
|
|
288
|
+
}
|
|
289
|
+
})
|
|
290
|
+
})
|
|
291
|
+
})
|
|
292
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
293
|
+
title: t('blocklet.publish.delete', {
|
|
294
|
+
name: project.blockletTitle
|
|
295
|
+
}),
|
|
296
|
+
placement: "top",
|
|
297
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
298
|
+
color: "primary",
|
|
299
|
+
"aria-label": "delete",
|
|
300
|
+
onClick: () => onDeleteRelease(release),
|
|
301
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
|
|
245
302
|
sx: {
|
|
246
303
|
fontSize: 18
|
|
247
304
|
}
|
|
248
305
|
})
|
|
249
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Download.default, {
|
|
250
|
-
sx: {
|
|
251
|
-
fontSize: 18
|
|
252
|
-
}
|
|
253
|
-
})
|
|
254
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
255
|
-
color: "primary",
|
|
256
|
-
"aria-label": "delete",
|
|
257
|
-
onClick: () => onDeleteRelease(release),
|
|
258
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {
|
|
259
|
-
sx: {
|
|
260
|
-
fontSize: 18
|
|
261
|
-
}
|
|
262
306
|
})
|
|
263
307
|
})]
|
|
264
308
|
});
|
package/lib/locales/ar.js
CHANGED
|
@@ -262,7 +262,6 @@ var _default = exports.default = {
|
|
|
262
262
|
preview: 'معاينة',
|
|
263
263
|
protected: 'محمي',
|
|
264
264
|
protocol: 'بروتوكول',
|
|
265
|
-
publish: 'نشر',
|
|
266
265
|
published: 'نشرت',
|
|
267
266
|
purchase: 'شراء',
|
|
268
267
|
readMore: 'أكثر',
|
|
@@ -359,7 +358,10 @@ var _default = exports.default = {
|
|
|
359
358
|
connectToStore: 'الاتصال بالمتجر',
|
|
360
359
|
uploaded: 'تم التحميل',
|
|
361
360
|
uploadToStore: 'تحميل إلى المتجر',
|
|
362
|
-
upload: 'تحميل'
|
|
361
|
+
upload: 'تحميل',
|
|
362
|
+
blockletStudio: 'استوديو بلوكليت',
|
|
363
|
+
visitStore: 'قم بزيارة المتجر',
|
|
364
|
+
reconnect: 'إعادة الاتصال'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: 'خارجي',
|
|
@@ -698,14 +700,16 @@ var _default = exports.default = {
|
|
|
698
700
|
installResourceHelp: 'وثيقة المساعدة',
|
|
699
701
|
componentIncluded: 'مدرج',
|
|
700
702
|
componentForceRequired: 'مجبر مطلوب',
|
|
701
|
-
productListTitle: '
|
|
703
|
+
productListTitle: 'استوديو بلوكليت',
|
|
702
704
|
download: 'تحميل {name}',
|
|
703
705
|
delete: 'احذف {name}',
|
|
704
706
|
copyInstallUrl: 'انسخ عنوان URL للتثبيت',
|
|
705
707
|
install: 'تثبيت {name}',
|
|
706
708
|
publishToStoreSuccess: 'تم نشر بلوكليت بنجاح في المتجر',
|
|
707
709
|
connectStoreSuccess: 'تم الاتصال بمتجر البلوكليت بنجاح',
|
|
708
|
-
uploadToStoreSuccess: 'تم تحميل بلوكليت بنجاح في المتجر ، تحتاج إلى نشره في المتجر'
|
|
710
|
+
uploadToStoreSuccess: 'تم تحميل بلوكليت بنجاح في المتجر ، تحتاج إلى نشره في المتجر',
|
|
711
|
+
viewLastRelease: 'عرض آخر إصدار',
|
|
712
|
+
reconnectStoreTip: 'بعد إعادة الاتصال، سيتم ربط مطور جديد. هل أنت متأكد أنك تريد إعادة الاتصال؟'
|
|
709
713
|
},
|
|
710
714
|
titleValidationError: 'يجب أن يكون طول العنوان على الأقل 3 أحرف',
|
|
711
715
|
descriptionValidationError: 'يجب أن تكون طول الوصف بين 3 و 160 حرفًا'
|
package/lib/locales/de.js
CHANGED
|
@@ -262,7 +262,6 @@ var _default = exports.default = {
|
|
|
262
262
|
preview: 'Vorschau',
|
|
263
263
|
protected: 'Geschützt',
|
|
264
264
|
protocol: 'Protokoll',
|
|
265
|
-
publish: 'Veröffentlichen',
|
|
266
265
|
published: 'Veröffentlicht',
|
|
267
266
|
purchase: 'Kauf',
|
|
268
267
|
readMore: 'Mehr',
|
|
@@ -359,7 +358,10 @@ var _default = exports.default = {
|
|
|
359
358
|
connectToStore: 'Verbinden Sie mit dem Geschäft',
|
|
360
359
|
uploaded: 'Hochgeladen',
|
|
361
360
|
uploadToStore: 'Upload in den Shop',
|
|
362
|
-
upload: 'Hochladen'
|
|
361
|
+
upload: 'Hochladen',
|
|
362
|
+
blockletStudio: 'Blocklet Studio',
|
|
363
|
+
visitStore: 'Besuche den Laden',
|
|
364
|
+
reconnect: 'Verbinden wiederherstellen'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: 'Extern',
|
|
@@ -698,14 +700,16 @@ var _default = exports.default = {
|
|
|
698
700
|
installResourceHelp: 'Hilfe-Dokument',
|
|
699
701
|
componentIncluded: 'Eingeschlossen',
|
|
700
702
|
componentForceRequired: 'Erzwungen Erforderlich',
|
|
701
|
-
productListTitle: '
|
|
703
|
+
productListTitle: 'Blocklet Studio',
|
|
702
704
|
download: 'Download {name}',
|
|
703
705
|
delete: 'Lösche {name}',
|
|
704
706
|
copyInstallUrl: 'Kopiere Installations-URL',
|
|
705
707
|
install: 'Installiere {name}',
|
|
706
708
|
publishToStoreSuccess: 'Blocklet erfolgreich im Store veröffentlicht',
|
|
707
709
|
connectStoreSuccess: 'Blocklet Store erfolgreich verbunden',
|
|
708
|
-
uploadToStoreSuccess: 'Blocklet erfolgreich im Store hochgeladen, du musst es im Store veröffentlichen'
|
|
710
|
+
uploadToStoreSuccess: 'Blocklet erfolgreich im Store hochgeladen, du musst es im Store veröffentlichen',
|
|
711
|
+
viewLastRelease: 'Letzte Version anzeigen',
|
|
712
|
+
reconnectStoreTip: 'Nach dem erneuten Verbinden wird ein neuer Entwickler zugewiesen. Bist du sicher, dass du dich erneut verbinden möchtest?'
|
|
709
713
|
},
|
|
710
714
|
titleValidationError: 'Die Länge des Titels muss mindestens 3 Zeichen betragen',
|
|
711
715
|
descriptionValidationError: 'Die Beschreibungslänge muss zwischen 3 und 160 Zeichen liegen'
|
package/lib/locales/en.js
CHANGED
|
@@ -173,7 +173,7 @@ var _default = exports.default = {
|
|
|
173
173
|
download: 'Download',
|
|
174
174
|
uploadToStore: 'Upload to Store',
|
|
175
175
|
connectToStore: 'Connect to Store',
|
|
176
|
-
|
|
176
|
+
blockletStudio: 'Blocklet Studio',
|
|
177
177
|
upload: 'Upload',
|
|
178
178
|
uploaded: 'Uploaded',
|
|
179
179
|
downloading: 'Downloading',
|
|
@@ -248,6 +248,7 @@ var _default = exports.default = {
|
|
|
248
248
|
noticeTitle: 'Notice',
|
|
249
249
|
notification: 'Notification',
|
|
250
250
|
open: 'Open',
|
|
251
|
+
visitStore: 'Visit store',
|
|
251
252
|
management: 'Management',
|
|
252
253
|
os: 'Operating System',
|
|
253
254
|
overview: 'Overview',
|
|
@@ -262,6 +263,7 @@ var _default = exports.default = {
|
|
|
262
263
|
protected: 'Protected',
|
|
263
264
|
protocol: 'Protocol',
|
|
264
265
|
purchase: 'Purchase',
|
|
266
|
+
reconnect: 'Reconnect',
|
|
265
267
|
readMore: 'More',
|
|
266
268
|
redirect: 'Redirect',
|
|
267
269
|
redirectCode: 'Redirect Code',
|
|
@@ -651,7 +653,7 @@ var _default = exports.default = {
|
|
|
651
653
|
isInProgress: 'Blocklet is in progress, please wait for it to finish'
|
|
652
654
|
},
|
|
653
655
|
publish: {
|
|
654
|
-
productListTitle: '
|
|
656
|
+
productListTitle: 'Blocklet Studio',
|
|
655
657
|
download: 'Download {name}',
|
|
656
658
|
delete: 'Delete {name}',
|
|
657
659
|
copyInstallUrl: 'Copy Install URL',
|
|
@@ -665,8 +667,10 @@ var _default = exports.default = {
|
|
|
665
667
|
createBlockletTip: 'You can create new blocklet through existing resources, components, and configuration in this application',
|
|
666
668
|
createBlocklet: 'New blocklet',
|
|
667
669
|
deleteBlockletTip: 'The blocklet cannot be recovered after deletion, please confirm',
|
|
670
|
+
reconnectStoreTip: 'After reconnecting, a new developer will be bound. Are you sure you want to reconnect?',
|
|
668
671
|
componentNotRunning: 'Component {name} is not running, please start it first',
|
|
669
672
|
releaseEmptyTip: 'There aren’t any releases here',
|
|
673
|
+
viewLastRelease: 'View last release',
|
|
670
674
|
createReleaseTip: 'You can create a release of the blocklet, along with release notes and resources, for other people to use',
|
|
671
675
|
createRelease: 'New release',
|
|
672
676
|
deleteReleaseTip: 'The release cannot be recovered after deletion',
|
package/lib/locales/es.js
CHANGED
|
@@ -262,7 +262,6 @@ var _default = exports.default = {
|
|
|
262
262
|
preview: 'Vista previa',
|
|
263
263
|
protected: 'Protegido',
|
|
264
264
|
protocol: 'Protocolo',
|
|
265
|
-
publish: 'Publicar',
|
|
266
265
|
published: 'Publicado',
|
|
267
266
|
purchase: 'Compra',
|
|
268
267
|
readMore: 'Más',
|
|
@@ -359,7 +358,10 @@ var _default = exports.default = {
|
|
|
359
358
|
connectToStore: 'Conectar a la tienda',
|
|
360
359
|
uploaded: 'Subido',
|
|
361
360
|
uploadToStore: 'Subir a la tienda',
|
|
362
|
-
upload: 'Subir'
|
|
361
|
+
upload: 'Subir',
|
|
362
|
+
blockletStudio: 'Blocklet Studio',
|
|
363
|
+
visitStore: 'Visita la tienda',
|
|
364
|
+
reconnect: 'Reconecta'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: 'Externo',
|
|
@@ -698,14 +700,16 @@ var _default = exports.default = {
|
|
|
698
700
|
installResourceHelp: 'Ayuda Documento',
|
|
699
701
|
componentIncluded: 'Incluido',
|
|
700
702
|
componentForceRequired: 'Obligatorio Requerido',
|
|
701
|
-
productListTitle: '
|
|
703
|
+
productListTitle: 'Blocklet Studio',
|
|
702
704
|
download: 'Descargar {name}',
|
|
703
705
|
delete: 'Eliminar {name}',
|
|
704
706
|
copyInstallUrl: 'Copiar URL de instalación',
|
|
705
707
|
install: 'Instalar {name}',
|
|
706
708
|
publishToStoreSuccess: 'Bloque publicado en la tienda exitosamente',
|
|
707
709
|
connectStoreSuccess: 'La tienda de Blocklet se conectó correctamente',
|
|
708
|
-
uploadToStoreSuccess: 'Bloque de carga a la tienda exitosamente, necesitas publicarlo en la tienda'
|
|
710
|
+
uploadToStoreSuccess: 'Bloque de carga a la tienda exitosamente, necesitas publicarlo en la tienda',
|
|
711
|
+
viewLastRelease: 'Ver última versión',
|
|
712
|
+
reconnectStoreTip: 'Después de reconectar, se vinculará un nuevo desarrollador. ¿Estás seguro de que deseas reconectar?'
|
|
709
713
|
},
|
|
710
714
|
titleValidationError: 'La longitud del título debe ser de al menos 3 caracteres',
|
|
711
715
|
descriptionValidationError: 'La longitud de la descripción debe estar entre 3 y 160 caracteres'
|
package/lib/locales/fr.js
CHANGED
|
@@ -262,7 +262,6 @@ var _default = exports.default = {
|
|
|
262
262
|
preview: 'Aperçu',
|
|
263
263
|
protected: 'Protégé',
|
|
264
264
|
protocol: 'Protocole',
|
|
265
|
-
publish: 'Publier',
|
|
266
265
|
published: 'Publié',
|
|
267
266
|
purchase: 'Achat',
|
|
268
267
|
readMore: 'Plus',
|
|
@@ -359,7 +358,10 @@ var _default = exports.default = {
|
|
|
359
358
|
connectToStore: 'Se connecter au magasin',
|
|
360
359
|
uploaded: 'Téléchargé',
|
|
361
360
|
uploadToStore: 'Télécharger vers le magasin',
|
|
362
|
-
upload: 'Télécharger'
|
|
361
|
+
upload: 'Télécharger',
|
|
362
|
+
blockletStudio: 'Studio Blocklet',
|
|
363
|
+
visitStore: 'Visitez le magasin',
|
|
364
|
+
reconnect: 'Reconnecter'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: 'Externe',
|
|
@@ -698,14 +700,16 @@ var _default = exports.default = {
|
|
|
698
700
|
installResourceHelp: "Document d'aide",
|
|
699
701
|
componentIncluded: 'Inclus',
|
|
700
702
|
componentForceRequired: 'Forcé Requis',
|
|
701
|
-
productListTitle: '
|
|
703
|
+
productListTitle: 'Blocklet Studio',
|
|
702
704
|
download: 'Télécharger {name}',
|
|
703
705
|
delete: 'Supprimez {name}',
|
|
704
706
|
copyInstallUrl: "Copier l'URL d'installation",
|
|
705
707
|
install: 'Installer {name}',
|
|
706
708
|
publishToStoreSuccess: 'Blocklet publié avec succès dans le magasin',
|
|
707
709
|
connectStoreSuccess: 'Connexion réussie au Blocklet Store',
|
|
708
|
-
uploadToStoreSuccess: 'Blocklet téléchargé avec succès dans le Store, vous devez le publier dans le Store'
|
|
710
|
+
uploadToStoreSuccess: 'Blocklet téléchargé avec succès dans le Store, vous devez le publier dans le Store',
|
|
711
|
+
viewLastRelease: 'Voir la dernière version',
|
|
712
|
+
reconnectStoreTip: 'Après la reconnexion, un nouveau développeur sera lié. Êtes-vous sûr de vouloir vous reconnecter ?'
|
|
709
713
|
},
|
|
710
714
|
titleValidationError: "La longueur du titre doit être d'au moins 3 caractères",
|
|
711
715
|
descriptionValidationError: 'La longueur de la description doit être comprise entre 3 et 160 caractères'
|
package/lib/locales/hi.js
CHANGED
|
@@ -262,7 +262,6 @@ var _default = exports.default = {
|
|
|
262
262
|
preview: 'पूर्वावलोकन',
|
|
263
263
|
protected: 'संरक्षित',
|
|
264
264
|
protocol: 'प्रोटोकॉल',
|
|
265
|
-
publish: 'प्रकाशित करें',
|
|
266
265
|
published: 'प्रकाशित',
|
|
267
266
|
purchase: 'खरीद',
|
|
268
267
|
readMore: 'अधिक',
|
|
@@ -359,7 +358,10 @@ var _default = exports.default = {
|
|
|
359
358
|
connectToStore: 'स्टोर से जुड़ें',
|
|
360
359
|
uploaded: 'अपलोड किया गया',
|
|
361
360
|
uploadToStore: 'स्टोर में अपलोड करें',
|
|
362
|
-
upload: 'अपलोड करें'
|
|
361
|
+
upload: 'अपलोड करें',
|
|
362
|
+
blockletStudio: 'ब्लॉकलेट स्टूडियो',
|
|
363
|
+
visitStore: 'दुकान पर जाइये',
|
|
364
|
+
reconnect: 'पुनः कनेक्ट करें'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: 'बाहरी',
|
|
@@ -698,14 +700,16 @@ var _default = exports.default = {
|
|
|
698
700
|
installResourceHelp: 'सहायता दस्तावेज़',
|
|
699
701
|
componentIncluded: 'शामिल',
|
|
700
702
|
componentForceRequired: 'मजबूरी आवश्यक',
|
|
701
|
-
productListTitle: '
|
|
703
|
+
productListTitle: 'ब्लोकलेट स्टूडियो',
|
|
702
704
|
download: 'डाउनलोड {name}',
|
|
703
705
|
delete: '{नाम} को हटाएं',
|
|
704
706
|
copyInstallUrl: 'संपादित स्थापित URL की प्रतिलिपि',
|
|
705
707
|
install: '{name} स्थापित करें',
|
|
706
708
|
publishToStoreSuccess: 'सफलतापूर्वक स्टोर में ब्लॉकलेट प्रकाशित',
|
|
707
709
|
connectStoreSuccess: 'ब्लॉकलेट स्टोर सफलतापूर्वक कनेक्ट हो गया',
|
|
708
|
-
uploadToStoreSuccess: 'ब्लॉकलेट को स्टोर में सफलतापूर्वक अपलोड किया गया है, आपको इसे स्टोर में प्रकाशित करने की आवश्यकता है'
|
|
710
|
+
uploadToStoreSuccess: 'ब्लॉकलेट को स्टोर में सफलतापूर्वक अपलोड किया गया है, आपको इसे स्टोर में प्रकाशित करने की आवश्यकता है',
|
|
711
|
+
viewLastRelease: 'अंतिम रिलीज़ देखें',
|
|
712
|
+
reconnectStoreTip: 'पुनर्संयोजन करने के बाद, एक नया डेवलपर बाउंड हो जाएगा। क्या आप वाकई पुनः संयोजित होना चाहते हैं?'
|
|
709
713
|
},
|
|
710
714
|
titleValidationError: 'शीर्षक की लंबाई कम से कम 3 अक्षर होनी चाहिए',
|
|
711
715
|
descriptionValidationError: 'विवरण की लंबाई 3 और 160 वर्णों के बीच होनी चाहिए'
|
package/lib/locales/i18n.db
CHANGED
|
Binary file
|
package/lib/locales/id.js
CHANGED
|
@@ -262,7 +262,6 @@ var _default = exports.default = {
|
|
|
262
262
|
preview: 'Pratinjau',
|
|
263
263
|
protected: 'Terlindungi',
|
|
264
264
|
protocol: 'Protokol',
|
|
265
|
-
publish: 'Menerbitkan',
|
|
266
265
|
published: 'Dipublikasikan',
|
|
267
266
|
purchase: 'Pembelian',
|
|
268
267
|
readMore: 'Lebih',
|
|
@@ -359,7 +358,10 @@ var _default = exports.default = {
|
|
|
359
358
|
connectToStore: 'Terhubung ke Toko',
|
|
360
359
|
uploaded: 'Diunggah',
|
|
361
360
|
uploadToStore: 'Unggah ke Toko',
|
|
362
|
-
upload: 'Unggah'
|
|
361
|
+
upload: 'Unggah',
|
|
362
|
+
blockletStudio: 'Blocklet Studio',
|
|
363
|
+
visitStore: 'Kunjungi toko',
|
|
364
|
+
reconnect: 'Menghubungkan kembali'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: 'Eksternal',
|
|
@@ -698,14 +700,16 @@ var _default = exports.default = {
|
|
|
698
700
|
installResourceHelp: 'Dokumen Bantuan',
|
|
699
701
|
componentIncluded: 'Termasuk',
|
|
700
702
|
componentForceRequired: 'Dipaksa Diperlukan',
|
|
701
|
-
productListTitle: '
|
|
703
|
+
productListTitle: 'Blocklet Studio',
|
|
702
704
|
download: 'Unduh {name}',
|
|
703
705
|
delete: 'Hapus {name}',
|
|
704
706
|
copyInstallUrl: 'Salin URL Instalasi',
|
|
705
707
|
install: 'Pasang {name}',
|
|
706
708
|
publishToStoreSuccess: 'Blocklet berhasil dipublikasikan ke Store',
|
|
707
709
|
connectStoreSuccess: 'Penyimpanan Blocklet berhasil terhubung',
|
|
708
|
-
uploadToStoreSuccess: 'Blocklet berhasil diunggah ke Store, Anda perlu mempublikasikannya di Store'
|
|
710
|
+
uploadToStoreSuccess: 'Blocklet berhasil diunggah ke Store, Anda perlu mempublikasikannya di Store',
|
|
711
|
+
viewLastRelease: 'Tampilkan rilis terakhir',
|
|
712
|
+
reconnectStoreTip: 'Setelah terhubung kembali, pengembang baru akan terikat. Apakah Anda yakin ingin terhubung kembali?'
|
|
709
713
|
},
|
|
710
714
|
titleValidationError: 'Panjang judul harus setidaknya 3 karakter',
|
|
711
715
|
descriptionValidationError: 'Panjang deskripsi harus antara 3 dan 160 karakter.'
|
package/lib/locales/ja.js
CHANGED
|
@@ -262,7 +262,6 @@ var _default = exports.default = {
|
|
|
262
262
|
preview: 'プレビュー',
|
|
263
263
|
protected: '保護された',
|
|
264
264
|
protocol: 'プロトコル',
|
|
265
|
-
publish: '公開する',
|
|
266
265
|
published: '公開済み',
|
|
267
266
|
purchase: '購入',
|
|
268
267
|
readMore: 'もっと',
|
|
@@ -359,7 +358,10 @@ var _default = exports.default = {
|
|
|
359
358
|
connectToStore: 'ストアに接続する',
|
|
360
359
|
uploaded: 'アップロードされました',
|
|
361
360
|
uploadToStore: 'ストアにアップロード',
|
|
362
|
-
upload: 'アップロード'
|
|
361
|
+
upload: 'アップロード',
|
|
362
|
+
blockletStudio: 'Blocklet Studio',
|
|
363
|
+
visitStore: '店舗を訪れる',
|
|
364
|
+
reconnect: '再接続する'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: '外部',
|
|
@@ -698,14 +700,16 @@ var _default = exports.default = {
|
|
|
698
700
|
installResourceHelp: 'ヘルプドキュメント',
|
|
699
701
|
componentIncluded: '含まれています',
|
|
700
702
|
componentForceRequired: '強制必要',
|
|
701
|
-
productListTitle: '
|
|
703
|
+
productListTitle: 'Blocklet Studio',
|
|
702
704
|
download: 'ダウンロード {name}',
|
|
703
705
|
delete: '削除 {name}',
|
|
704
706
|
copyInstallUrl: 'インストールURLをコピーする',
|
|
705
707
|
install: '{name}をインストールする',
|
|
706
708
|
publishToStoreSuccess: 'ブロックレットが正常にストアに公開されました',
|
|
707
709
|
connectStoreSuccess: 'Blockletストアが正常に接続されました',
|
|
708
|
-
uploadToStoreSuccess: 'ブロックレットがストアに正常にアップロードされました。ストアで公開する必要があります'
|
|
710
|
+
uploadToStoreSuccess: 'ブロックレットがストアに正常にアップロードされました。ストアで公開する必要があります',
|
|
711
|
+
viewLastRelease: '最新リリースを表示する',
|
|
712
|
+
reconnectStoreTip: '再接続後、新しい開発者がバインドされます。再接続しますか?'
|
|
709
713
|
},
|
|
710
714
|
titleValidationError: 'タイトルの長さは最低3文字以上である必要があります',
|
|
711
715
|
descriptionValidationError: '説明の長さは3から160文字の間でなければなりません'
|
package/lib/locales/ko.js
CHANGED
|
@@ -262,7 +262,6 @@ var _default = exports.default = {
|
|
|
262
262
|
preview: '미리보기',
|
|
263
263
|
protected: '보호됨',
|
|
264
264
|
protocol: '프로토콜',
|
|
265
|
-
publish: '게시',
|
|
266
265
|
published: '게시됨',
|
|
267
266
|
purchase: '구매',
|
|
268
267
|
readMore: '더',
|
|
@@ -359,7 +358,10 @@ var _default = exports.default = {
|
|
|
359
358
|
connectToStore: '상점에 연결하기',
|
|
360
359
|
uploaded: '업로드되었습니다',
|
|
361
360
|
uploadToStore: '스토어에 업로드',
|
|
362
|
-
upload: '업로드'
|
|
361
|
+
upload: '업로드',
|
|
362
|
+
blockletStudio: 'Blocklet Studio',
|
|
363
|
+
visitStore: '상점 방문하기',
|
|
364
|
+
reconnect: '재연결'
|
|
363
365
|
},
|
|
364
366
|
blocklet: {
|
|
365
367
|
external: '외부의',
|
|
@@ -698,14 +700,16 @@ var _default = exports.default = {
|
|
|
698
700
|
installResourceHelp: '도움말 문서',
|
|
699
701
|
componentIncluded: '포함됨',
|
|
700
702
|
componentForceRequired: '강제 필수',
|
|
701
|
-
productListTitle: '
|
|
703
|
+
productListTitle: 'Blocklet Studio',
|
|
702
704
|
download: '{name} 다운로드하기',
|
|
703
705
|
delete: '{name} 삭제',
|
|
704
706
|
copyInstallUrl: '설치 URL 복사하기',
|
|
705
707
|
install: '{name}을(를) 설치하세요',
|
|
706
708
|
publishToStoreSuccess: 'Store에 블록릿 성공적으로 발행됐습니다',
|
|
707
709
|
connectStoreSuccess: '블록렛 스토어가 성공적으로 연결되었습니다',
|
|
708
|
-
uploadToStoreSuccess: '블록렛이 성공적으로 스토어에 업로드되었습니다. 스토어에서 게시해야 합니다'
|
|
710
|
+
uploadToStoreSuccess: '블록렛이 성공적으로 스토어에 업로드되었습니다. 스토어에서 게시해야 합니다',
|
|
711
|
+
viewLastRelease: '최신 릴리스 보기',
|
|
712
|
+
reconnectStoreTip: '재연결 후에는 새로운 개발자가 연결됩니다. 재연결 하시겠습니까?'
|
|
709
713
|
},
|
|
710
714
|
titleValidationError: '제목 길이는 최소 3자 이상이어야 합니다',
|
|
711
715
|
descriptionValidationError: '설명 길이는 3에서 160자 사이여야 합니다'
|