@geekron/strapi 0.2.14 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/admin/index.js +10 -2
  2. package/dist/admin/index.mjs +29 -21
  3. package/dist/admin/src/fields/DataNested/hooks/useTreeItems.d.ts.map +1 -1
  4. package/dist/i18n/translations/en/reset/admin.json +10 -0
  5. package/dist/i18n/translations/en/reset/auth.json +6 -0
  6. package/dist/i18n/translations/en/reset/content-manager.json +4 -0
  7. package/dist/i18n/translations/zh-Hans/components.json +5 -0
  8. package/dist/i18n/translations/zh-Hans/console.json +223 -0
  9. package/dist/i18n/translations/zh-Hans/content-types.json +30 -0
  10. package/dist/i18n/translations/zh-Hans/plugin.json +8 -3
  11. package/dist/i18n/translations/zh-Hans/prefix/content-manager.json +321 -0
  12. package/dist/i18n/translations/zh-Hans/prefix/content-releases.json +106 -0
  13. package/dist/i18n/translations/zh-Hans/prefix/content-type-builder.json +68 -0
  14. package/dist/i18n/translations/zh-Hans/prefix/email.json +10 -0
  15. package/dist/i18n/translations/zh-Hans/prefix/review-workflows.json +17 -0
  16. package/dist/i18n/translations/zh-Hans/reset/admin.json +213 -0
  17. package/dist/i18n/translations/zh-Hans/reset/auth.json +6 -0
  18. package/dist/i18n/translations/zh-Hans/reset/content-manager.json +4 -0
  19. package/dist/i18n/translations/zh-Hans/reset/content-type-builder.json +228 -0
  20. package/dist/i18n/translations/zh-Hans/reset/i18n.json +4 -0
  21. package/i18n/translations/en/reset/admin.json +10 -0
  22. package/i18n/translations/en/reset/auth.json +6 -0
  23. package/i18n/translations/en/reset/content-manager.json +4 -0
  24. package/i18n/translations/zh-Hans/components.json +5 -0
  25. package/i18n/translations/zh-Hans/console.json +223 -0
  26. package/i18n/translations/zh-Hans/content-types.json +30 -0
  27. package/i18n/translations/zh-Hans/plugin.json +8 -3
  28. package/i18n/translations/zh-Hans/prefix/content-manager.json +321 -0
  29. package/i18n/translations/zh-Hans/prefix/content-releases.json +106 -0
  30. package/i18n/translations/zh-Hans/prefix/content-type-builder.json +68 -0
  31. package/i18n/translations/zh-Hans/prefix/email.json +10 -0
  32. package/i18n/translations/zh-Hans/prefix/review-workflows.json +17 -0
  33. package/i18n/translations/zh-Hans/reset/admin.json +213 -0
  34. package/i18n/translations/zh-Hans/reset/auth.json +6 -0
  35. package/i18n/translations/zh-Hans/reset/content-manager.json +4 -0
  36. package/i18n/translations/zh-Hans/reset/content-type-builder.json +228 -0
  37. package/i18n/translations/zh-Hans/reset/i18n.json +4 -0
  38. package/package.json +1 -1
@@ -47126,6 +47126,14 @@ var adjustTranslate = ({ transform }) => {
47126
47126
  var import_react7 = require("react");
47127
47127
  function useTreeItems(defaultItems, maxDepth) {
47128
47128
  const [items, setItems] = import_react7.useState(() => defaultItems);
47129
+ const prevDefaultItemsRef = import_react7.useRef(JSON.stringify(defaultItems));
47130
+ import_react7.useEffect(() => {
47131
+ const currentDefaultItemsStr = JSON.stringify(defaultItems);
47132
+ if (currentDefaultItemsStr !== prevDefaultItemsRef.current) {
47133
+ prevDefaultItemsRef.current = currentDefaultItemsStr;
47134
+ setItems(defaultItems);
47135
+ }
47136
+ }, [defaultItems]);
47129
47137
  const [modalState, setModalState] = import_react7.useState({
47130
47138
  isOpen: false,
47131
47139
  mode: null,
@@ -50103,13 +50111,13 @@ var register = (app) => {
50103
50111
  name: "Website"
50104
50112
  });
50105
50113
  app.addMenuLink({
50106
- to: `/website`,
50114
+ to: "website",
50107
50115
  icon: import_icons15.ChartPie,
50108
50116
  intlLabel: {
50109
50117
  id: `${pluginId}.plugin.name`,
50110
50118
  defaultMessage: "Website"
50111
50119
  },
50112
- Component: async () => Promise.resolve().then(() => (init_App(), exports_App)),
50120
+ Component: () => Promise.resolve().then(() => (init_App(), exports_App)),
50113
50121
  permissions: [],
50114
50122
  position: 3
50115
50123
  });
@@ -19317,7 +19317,7 @@ var init_ApiErrorAlert = __esm(() => {
19317
19317
  // admin/src/components/DashboardStats.tsx
19318
19318
  import { Box as Box6, Grid as Grid2, Typography as Typography8 } from "@strapi/design-system";
19319
19319
  import { useFetchClient as useFetchClient3, useNotification as useNotification3 } from "@strapi/strapi/admin";
19320
- import { useEffect as useEffect7, useState as useState12 } from "react";
19320
+ import { useEffect as useEffect8, useState as useState12 } from "react";
19321
19321
  import { jsxDEV as jsxDEV28 } from "react/jsx-dev-runtime";
19322
19322
  var DashboardStats = ({
19323
19323
  showLoading = true,
@@ -19335,7 +19335,7 @@ var DashboardStats = ({
19335
19335
  totalInquiry: 0,
19336
19336
  unreadInquiry: 0
19337
19337
  });
19338
- useEffect7(() => {
19338
+ useEffect8(() => {
19339
19339
  if (externalData) {
19340
19340
  setStats(externalData);
19341
19341
  setIsLoading(false);
@@ -19364,7 +19364,7 @@ var DashboardStats = ({
19364
19364
  };
19365
19365
  fetchStats();
19366
19366
  }, [externalData, fetchClient, toggleNotification, onError, onLoaded]);
19367
- useEffect7(() => {
19367
+ useEffect8(() => {
19368
19368
  if (externalData) {
19369
19369
  setStats(externalData);
19370
19370
  }
@@ -19563,7 +19563,7 @@ import {
19563
19563
  useFetchClient as useFetchClient5,
19564
19564
  useNotification as useNotification5
19565
19565
  } from "@strapi/strapi/admin";
19566
- import { useCallback as useCallback6, useEffect as useEffect8, useState as useState13 } from "react";
19566
+ import { useCallback as useCallback6, useEffect as useEffect9, useState as useState13 } from "react";
19567
19567
  import { useNavigate } from "react-router-dom";
19568
19568
  import { jsxDEV as jsxDEV31 } from "react/jsx-dev-runtime";
19569
19569
  var Inquiry = () => {
@@ -19609,10 +19609,10 @@ var Inquiry = () => {
19609
19609
  setIsLoading(false);
19610
19610
  }
19611
19611
  }, [fetchClient.get, toggleNotification]);
19612
- useEffect8(() => {
19612
+ useEffect9(() => {
19613
19613
  fetchInquiries(pagination.page, pagination.pageSize);
19614
19614
  }, [fetchInquiries, pagination.page, pagination.pageSize]);
19615
- useEffect8(() => {
19615
+ useEffect9(() => {
19616
19616
  const handleVisibilityChange = () => {
19617
19617
  if (document.visibilityState === "visible") {
19618
19618
  fetchInquiries(pagination.page, pagination.pageSize);
@@ -19790,7 +19790,7 @@ import {
19790
19790
  useFetchClient as useFetchClient6,
19791
19791
  useNotification as useNotification6
19792
19792
  } from "@strapi/strapi/admin";
19793
- import { useEffect as useEffect9, useState as useState14 } from "react";
19793
+ import { useEffect as useEffect10, useState as useState14 } from "react";
19794
19794
  import { useNavigate as useNavigate2, useParams } from "react-router-dom";
19795
19795
  import styled14 from "styled-components";
19796
19796
  import { jsxDEV as jsxDEV32, Fragment as Fragment4 } from "react/jsx-dev-runtime";
@@ -19802,7 +19802,7 @@ var DetailTable, InquiryDetail = () => {
19802
19802
  const [isLoading, setIsLoading] = useState14(true);
19803
19803
  const [isMarking, setIsMarking] = useState14(false);
19804
19804
  const [data, setData] = useState14(null);
19805
- useEffect9(() => {
19805
+ useEffect10(() => {
19806
19806
  const fetchDetail = async () => {
19807
19807
  if (!id) {
19808
19808
  toggleNotification({
@@ -20141,7 +20141,7 @@ import {
20141
20141
  useFetchClient as useFetchClient7,
20142
20142
  useNotification as useNotification7
20143
20143
  } from "@strapi/strapi/admin";
20144
- import { useCallback as useCallback7, useEffect as useEffect10, useState as useState15 } from "react";
20144
+ import { useCallback as useCallback7, useEffect as useEffect11, useState as useState15 } from "react";
20145
20145
  import { jsxDEV as jsxDEV33, Fragment as Fragment5 } from "react/jsx-dev-runtime";
20146
20146
  var Visitor = () => {
20147
20147
  const fetchClient = useFetchClient7();
@@ -20202,7 +20202,7 @@ var Visitor = () => {
20202
20202
  setIsLoading(false);
20203
20203
  }
20204
20204
  }, [fetchClient.get, toggleNotification]);
20205
- useEffect10(() => {
20205
+ useEffect11(() => {
20206
20206
  fetchVisitorData(activeTab, 1, pagination.pageSize);
20207
20207
  }, [activeTab, pagination.pageSize, fetchVisitorData]);
20208
20208
  const handleTabChange = (tabKey) => {
@@ -45584,7 +45584,7 @@ import { useField as useField2 } from "@strapi/strapi/admin";
45584
45584
  // admin/src/fields/DataNested/SortableTree.tsx
45585
45585
  var import_core2 = __toESM(require_dist3(), 1);
45586
45586
  var import_sortable5 = __toESM(require_dist4(), 1);
45587
- import { useEffect as useEffect2, useMemo as useMemo3, useRef as useRef2, useState as useState7 } from "react";
45587
+ import { useEffect as useEffect3, useMemo as useMemo3, useRef as useRef3, useState as useState7 } from "react";
45588
45588
  import { createPortal } from "react-dom";
45589
45589
 
45590
45590
  // admin/src/fields/DataNested/components/Action.tsx
@@ -47167,9 +47167,17 @@ var adjustTranslate = ({ transform }) => {
47167
47167
  };
47168
47168
  };
47169
47169
  // admin/src/fields/DataNested/hooks/useTreeItems.ts
47170
- import { useState as useState6 } from "react";
47170
+ import { useEffect as useEffect2, useRef as useRef2, useState as useState6 } from "react";
47171
47171
  function useTreeItems(defaultItems, maxDepth) {
47172
47172
  const [items, setItems] = useState6(() => defaultItems);
47173
+ const prevDefaultItemsRef = useRef2(JSON.stringify(defaultItems));
47174
+ useEffect2(() => {
47175
+ const currentDefaultItemsStr = JSON.stringify(defaultItems);
47176
+ if (currentDefaultItemsStr !== prevDefaultItemsRef.current) {
47177
+ prevDefaultItemsRef.current = currentDefaultItemsStr;
47178
+ setItems(defaultItems);
47179
+ }
47180
+ }, [defaultItems]);
47173
47181
  const [modalState, setModalState] = useState6({
47174
47182
  isOpen: false,
47175
47183
  mode: null,
@@ -47511,7 +47519,7 @@ function SortableTree({
47511
47519
  handleDragCancel
47512
47520
  } = useDragState(flattenedItems, setActiveId);
47513
47521
  const projected = activeId && overId ? getProjection(flattenedItems, activeId, overId, offsetLeft, indentationWidth, maxDepth) : null;
47514
- const sensorContext = useRef2({
47522
+ const sensorContext = useRef3({
47515
47523
  items: flattenedItems,
47516
47524
  offset: offsetLeft
47517
47525
  });
@@ -47521,14 +47529,14 @@ function SortableTree({
47521
47529
  }));
47522
47530
  const sortedIds = useMemo3(() => flattenedItems.map(({ id }) => id), [flattenedItems]);
47523
47531
  const activeItem = activeId ? flattenedItems.find(({ id }) => id === activeId) : null;
47524
- useEffect2(() => {
47532
+ useEffect3(() => {
47525
47533
  sensorContext.current = {
47526
47534
  items: flattenedItems,
47527
47535
  offset: offsetLeft
47528
47536
  };
47529
47537
  }, [flattenedItems, offsetLeft]);
47530
- const isInitialMount = useRef2(true);
47531
- useEffect2(() => {
47538
+ const isInitialMount = useRef3(true);
47539
+ useEffect3(() => {
47532
47540
  if (isInitialMount.current) {
47533
47541
  isInitialMount.current = false;
47534
47542
  return;
@@ -47774,7 +47782,7 @@ var registerDataSelect = (app) => {
47774
47782
  };
47775
47783
 
47776
47784
  // node_modules/@iconify/react/dist/iconify.js
47777
- import { createElement, forwardRef as forwardRef6, useState as useState8, useEffect as useEffect3 } from "react";
47785
+ import { createElement, forwardRef as forwardRef6, useState as useState8, useEffect as useEffect4 } from "react";
47778
47786
  "use client";
47779
47787
  function getIconsTree(data, names) {
47780
47788
  const icons = data.icons;
@@ -49241,11 +49249,11 @@ function IconComponent(props) {
49241
49249
  }
49242
49250
  }
49243
49251
  }
49244
- useEffect3(() => {
49252
+ useEffect4(() => {
49245
49253
  setMounted(true);
49246
49254
  return cleanup;
49247
49255
  }, []);
49248
- useEffect3(() => {
49256
+ useEffect4(() => {
49249
49257
  if (mounted) {
49250
49258
  updateState();
49251
49259
  }
@@ -50165,13 +50173,13 @@ var register = (app) => {
50165
50173
  name: "Website"
50166
50174
  });
50167
50175
  app.addMenuLink({
50168
- to: `/website`,
50176
+ to: "website",
50169
50177
  icon: ChartPie3,
50170
50178
  intlLabel: {
50171
50179
  id: `${pluginId}.plugin.name`,
50172
50180
  defaultMessage: "Website"
50173
50181
  },
50174
- Component: async () => Promise.resolve().then(() => (init_App(), exports_App)),
50182
+ Component: () => Promise.resolve().then(() => (init_App(), exports_App)),
50175
50183
  permissions: [],
50176
50184
  position: 3
50177
50185
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useTreeItems.d.ts","sourceRoot":"","sources":["../../../../../../admin/src/fields/DataNested/hooks/useTreeItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrD,OAAO,KAAK,EAAY,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AASjE,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACjC;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM;;;;uBAS5C,gBAAgB;yBAId,gBAAgB;;2BAed,gBAAgB;yBASlB,gBAAgB;qBAkBpB,gBAAgB;;8BAkBP,YAAY;0BAyBlB,YAAY;EAsBvC"}
1
+ {"version":3,"file":"useTreeItems.d.ts","sourceRoot":"","sources":["../../../../../../admin/src/fields/DataNested/hooks/useTreeItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrD,OAAO,KAAK,EAAY,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AASjE,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACjC;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM;;;;uBAuB5C,gBAAgB;yBAId,gBAAgB;;2BAed,gBAAgB;yBASlB,gBAAgB;qBAkBpB,gBAAgB;;8BAkBP,YAAY;0BAyBlB,YAAY;EAsBvC"}
@@ -0,0 +1,10 @@
1
+ {
2
+ "app.components.NpsSurvey.banner-title": "您有多大可能会向朋友或同事推荐极客领航?",
3
+ "app.components.NpsSurvey.feedback-response": "非常感谢您的反馈!",
4
+ "app.components.NpsSurvey.feedback-question": "您有任何改进建议吗?",
5
+ "app.components.NpsSurvey.submit-feedback": "提交反馈",
6
+ "app.components.NpsSurvey.dismiss-survey-label": "关闭问卷",
7
+ "app.components.NpsSurvey.no-recommendation": "完全不可能",
8
+ "app.components.NpsSurvey.happy-to-recommend": "非常愿意",
9
+ "app.components.NpsSurvey.select-rating": "选择评分"
10
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Auth.form.welcome.subtitle": "Log in to your account",
3
+ "Auth.form.welcome.title": "Hello, Welcome!",
4
+ "Auth.form.register.subtitle": "Credentials are only used to authenticate in Admin panel. All saved data will be stored in your database.",
5
+ "Auth.form.register.news.label": "By doing this you accept the {terms} and the {policy}."
6
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "Auth.form.register.subtitle": "Credentials are only used to authenticate in Admin panel. All saved data will be stored in your database.",
3
+ "Auth.form.register.news.label": "By doing this you accept the {terms} and the {policy}."
4
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "content-manager.components.DynamicZone.more-actions": "更多操作",
3
+ "content-manager.components.DynamicZone.add-item-above": "在上方添加组件",
4
+ "content-manager.components.DynamicZone.add-item-below": "在下方添加组件"
5
+ }
@@ -0,0 +1,223 @@
1
+ {
2
+ "content-manager.plugin.name": "内容管理",
3
+ "website.plugin.name": "网站",
4
+ "Translation": "翻译",
5
+ "About": "关于",
6
+ "Common": "通用",
7
+ "Home": "首页",
8
+ "Menu": "菜单",
9
+ "Site": "站点",
10
+ "Theme": "主题",
11
+ "search.placeholder": "搜索",
12
+ "website.widget.title": "仪表盘",
13
+ "website.widget.link": "前往内容管理",
14
+ "website.data-nested.modal.edit.title": "编辑项目",
15
+ "website.data-nested.modal.title": "标题",
16
+ "website.data-nested.modal.title.placeholder": "输入标题...",
17
+ "website.data-nested.modal.url": "网址",
18
+ "website.data-nested.modal.url.placeholder": "输入网址...",
19
+ "website.data-nested.modal.data": "数据",
20
+ "website.data-nested.modal.select-data": "选择数据",
21
+ "website.data-nested.modal.cancel": "取消",
22
+ "website.data-nested.modal.save": "保存",
23
+ "content-manager.containers.list.table-headers.status": "状态",
24
+ "i18n.list-view.table.header.label": "可用语言",
25
+ "list.asset.at.finished": "文件夹加载完成",
26
+ "global.more.actions": "更多操作",
27
+ "content-type-builder.search.placeholder": "搜索",
28
+ "chat.tooltips.open-chat": "打开聊天",
29
+ "chat.tooltips.close-chat": "关闭聊天",
30
+ "chat.tooltips.create-chat": "新建对话",
31
+ "chat.header.default-title": "新对话",
32
+ "chat.input.strapi-ai-can-make-errors": "Strapi AI 可能会出错",
33
+ "plugin::website.translation": "翻译",
34
+ "api::about.about": "关于",
35
+ "plugin::website.common": "通用",
36
+ "api::home.home": "首页",
37
+ "plugin::website.menu": "菜单",
38
+ "plugin::website.site": "网站",
39
+ "plugin::website.theme": "主题",
40
+ "base": "基础",
41
+ "base.image": "图片",
42
+ "base.video": "视频",
43
+ "site": "网站",
44
+ "site.banner": "横幅",
45
+ "site.social": "社交媒体",
46
+ "app.utils.drag": "拖拽",
47
+ "app.utils.toggle": "切换",
48
+ "Settings.application.header": "应用程序",
49
+ "review-workflows.plugin.name": "审核工作流",
50
+ "global.plugins.website": "网站管理",
51
+ "global.plugins.website.description": "极客领航网站管理插件",
52
+ "components.Select.placeholder": "请选择",
53
+ "User": "用户",
54
+ "Article": "文章",
55
+ "Article Category": "文章分类",
56
+ "Author": "作者",
57
+ "Global": "全局",
58
+ "Category": "分类",
59
+ "Visitor": "访客",
60
+ "Tag": "标签",
61
+ "Keyword": "关键词",
62
+ "Page": "页面",
63
+ "FAQ": "常见问题",
64
+ "Case": "案例",
65
+ "Case Category": "案例分类",
66
+ "Service": "服务子项",
67
+ "Service Category": "服务大类",
68
+ "Solution": "应用场景",
69
+ "Solution Category": "解决方案",
70
+ "Contact": "联系我们",
71
+ "Search": "搜索",
72
+ "Product": "产品",
73
+ "Product Item": "产品子项",
74
+ "Product Category": "产品类型",
75
+ "menu": "菜单",
76
+ "menu.items": "菜单项",
77
+ "menu.base": "基础菜单",
78
+ "menu.children-one": "一级子菜单",
79
+ "menu.children-two": "二级子菜单",
80
+ "menu.page": "页面",
81
+ "shared.contact": "联系方式",
82
+ "dashboard.widget.title": "仪表盘总览",
83
+ "dashboard.widget.link": "前往内容管理",
84
+ "api::common.common": "通用",
85
+ "api::menu.menu": "主菜单",
86
+ "api::article.article": "文章",
87
+ "api::author.author": "作者",
88
+ "api::category.category": "分类",
89
+ "api::tag.tag":"标签",
90
+ "api::visitor.visitor":"访客",
91
+ "api::global.global": "全局",
92
+ "api::keyword.keyword": "关键词",
93
+ "api::translation.translation": "翻译",
94
+ "api::article-category.article-category": "文章分类",
95
+ "api::site.site":"网站设置",
96
+ "home":"首页用",
97
+ "shared": "共享",
98
+ "home.customers":"合作客户",
99
+ "home.testimonials":"客户评价",
100
+ "shared.image":"图片",
101
+ "shared.block": "区块",
102
+ "shared.rich-text": "富文本",
103
+ "shared.slider": "滑块",
104
+ "shared.media": "媒体文件",
105
+ "shared.quote": "引用",
106
+ "shared.seo": "SEO",
107
+ "shared.resource": "资源",
108
+ "shared.social-media": "社交媒体",
109
+ "shared.link": "链接",
110
+ "shared.link-list": "链接列表",
111
+ "shared.menu": "菜单",
112
+ "shared.menu-2": "菜单2",
113
+ "shared.menu-3": "菜单3",
114
+ "shared.dataset": "数据集",
115
+ "dashboard.plugin.name": "网站数据",
116
+ "api::case.case": "案例",
117
+ "api::case-category.case-category": "案例分类",
118
+ "api::faq.faq": "常见问题",
119
+ "api::page.page": "页面",
120
+ "api::service.service": "服务子项",
121
+ "api::service-category.service-category": "服务大类",
122
+ "api::solution.solution": "应用场景",
123
+ "api::solution-category.solution-category": "解决方案",
124
+ "api::contact.contact": "联系我们",
125
+ "api::search.search": "搜索",
126
+ "api::product.product": "产品",
127
+ "api::product-category.product-category": "产品类型",
128
+ "blocks": "区块",
129
+ "blocks.cases": "案例区块",
130
+ "home.cases": "首页案例",
131
+ "shared.file": "文件",
132
+ "shared.office": "办公室",
133
+ "shared.youtube": "YouTube",
134
+ "api::product-item.product-item": "产品子项",
135
+ "view-switch.list": "列表视图",
136
+ "plugin::users-permissions.user": "用户",
137
+ "upload.modal.upload-list.sub-header.add-folder": "添加文件夹",
138
+ "cancel": "取消",
139
+ "pages.PurchaseRelease.description": "将内容分组并一起发布更新",
140
+ "pages.PurchaseRelease.perks1": "向发布版本添加多个条目",
141
+ "pages.PurchaseRelease.perks2": "快速识别包含错误的条目",
142
+ "pages.PurchaseRelease.perks3": "安排发布时间或手动发布",
143
+ "global.plugins.strapi-cloud": "Strapi 云服务",
144
+ "global.plugins.strapi-cloud.description": "将本地项目部署到 Strapi 云服务的说明",
145
+ "Settings.review-workflows.list.page.title": "审核流程",
146
+ "Settings.roles.form.permissions.create (invite)": "创建(邀请)",
147
+ "settings.page.purchase.description": "管理您的内容审核流程",
148
+ "settings.page.purchase.perks1": "可自定义的审核阶段",
149
+ "settings.page.purchase.perks2": "管理用户权限",
150
+ "settings.page.purchase.perks3": "支持 Webhook",
151
+ "users-permissions.List.button.roles": "添加新角色",
152
+ "users-permissions.[object Object]": "JWKS URL",
153
+ "http://www.client-app.com": "http://www.client-app.com",
154
+ "global.localeToggle.label": "选择界面语言",
155
+ "app.components.LeftMenuLinkContainer.settings": "设置",
156
+ "article": "文章",
157
+ "author": "作者",
158
+ "category": "分类",
159
+ "user": "用户",
160
+ "users and roles": "用户和角色",
161
+ "users": "用户",
162
+ "roles": "角色",
163
+ "project": "项目",
164
+ "general": "通用",
165
+ "transfer tokens": "传输令牌",
166
+ "api tokens": "API令牌",
167
+ "api Tokens": "API令牌",
168
+ "webhooks": "Web钩子",
169
+ "plugins and marketplace": "插件和市场",
170
+ "marketplace": "市场",
171
+ "Internationalization": "国际化",
172
+ "Locales": "语言环境",
173
+ "media library": "媒体库",
174
+ "email": "邮箱",
175
+ "content-manager": "内容管理器",
176
+ "single types": "单类型",
177
+ "collection types": "集合类型",
178
+ "components": "组件",
179
+ "content-type-builder": "内容类型构建器",
180
+ "upload": "上传",
181
+ "assets": "资源",
182
+ "users-permissions": "用户权限",
183
+ "providers": "提供商",
184
+ "emailTemplates": "邮件模板",
185
+ "advancedSettings": "高级设置",
186
+ "about": "关于",
187
+ "global": "全局",
188
+ "content-type-builder.attribute.null.description": "用于数据建模的类型",
189
+ "window.confirm.close-modal.file": "您确定吗?您的更改将会丢失。",
190
+ "form.attribute.condition.no-fields": "没有可用的布尔值或枚举字段来设置条件。",
191
+ "form.attribute.condition.apply": "应用条件",
192
+ "app.components.Select.placeholder": "请选择",
193
+ "global.administrator-mh4649ok": "管理员",
194
+ "global.strapi-author": "作者",
195
+ "global.strapi-editor": "编辑者",
196
+ "global.strapi-super-admin": "超级管理员",
197
+ "components.placeholder.select": "请选择",
198
+ "Keywords": "关键词",
199
+ "content-manager.apiError.Policy Failed": "策略失败",
200
+ "title.no-override": "标题",
201
+ "description.no-override": "描述",
202
+ "name.no-override": "名称",
203
+ "content-type-builder.contentType.draftAndPublish.description": "允许在发布前编写条目的草稿版本",
204
+ "content-type-builder.contentType.draftAndPublish.label": "草稿与发布",
205
+ "i18n.CheckboxConfirmation.Modal.title": "禁用本地化",
206
+ "containers.SettingPage.editSettings.description": "拖拽字段以构建布局",
207
+ "content-manager.containers.SettingPage.edit-settings.modal-form.mainField.hint": "设置显示字段",
208
+ "content-manager.containers.ListSettingsView.modal-form.size": "大小",
209
+ "components.LeftMenu.collection-types": "集合类型",
210
+ "components.LeftMenu.single-types": "单类型",
211
+ "components.LeftMenu.collectionTypes": "集合类型",
212
+ "components.LeftMenu.singleTypes": "单类型",
213
+ "tours.previous":"下一步",
214
+ "Settings.tokens.viewToken":"查看 Token",
215
+ "Settings.tokens.copy.copy":"复制",
216
+ "upload.header.breadcrumbs.nav.label": "文件夹导航",
217
+ "upload.header.actions.folder-level-up": "返回上一级",
218
+ "content-manager.content-types.api::article-category.article-category.description": "描述",
219
+ "content-manager.content-types.api::keyword.keyword.seo": "SEO 优化",
220
+ "actions.delete.label": "删除条目({locale})",
221
+ "geodata.geojson.section.info": "设置信息",
222
+ "geodata.geojson.info.label": "每个内容类型只允许一个 GeoJSON 字段"
223
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "content-manager.content-types.plugin::website.common.title": "标题",
3
+ "content-manager.content-types.plugin::website.common.description": "描述",
4
+ "content-manager.content-types.plugin::website.common.copyright": "版权",
5
+ "content-manager.content-types.plugin::website.common.icp": "ICP 备案",
6
+ "content-manager.content-types.plugin::website.common.socials": "社交媒体",
7
+ "content-manager.content-types.plugin::website.common.footLinks": "底部链接",
8
+ "content-manager.content-types.plugin::website.theme.style": "样式",
9
+ "content-manager.content-types.plugin::website.theme.logo": "Logo",
10
+ "content-manager.content-types.plugin::website.theme.icon": "图标",
11
+ "content-manager.content-types.plugin::website.theme.styles": "样式列表",
12
+ "content-manager.content-types.plugin::website.theme.scripts": "脚本列表",
13
+ "content-manager.content-types.plugin::website.site.title": "标题",
14
+ "content-manager.content-types.plugin::website.site.url": "网址",
15
+ "content-manager.content-types.plugin::website.site.enabled": "启用状态",
16
+ "content-manager.content-types.plugin::website.site.index": "首页配置",
17
+ "content-manager.content-types.plugin::website.site.robots": "robots.txt",
18
+ "content-manager.content-types.plugin::website.site.head": "页面头部",
19
+ "content-manager.content-types.plugin::website.site.foot": "页面底部",
20
+ "content-manager.content-types.plugin::website.site.gtagId": "Google Analytics ID",
21
+ "content-manager.content-types.plugin::website.site.inquiryEmail": "咨询邮箱",
22
+ "content-manager.content-types.plugin::website.menu.title": "标题",
23
+ "content-manager.content-types.plugin::website.menu.items": "菜单项",
24
+ "content-manager.content-types.plugin::website.translation.id": "ID",
25
+ "content-manager.content-types.plugin::website.translation.key": "键名",
26
+ "content-manager.content-types.plugin::website.translation.value": "值",
27
+ "content-manager.content-types.plugin::website.translation.createdAt": "创建时间",
28
+ "content-manager.content-types.api::about.about.title": "标题",
29
+ "content-manager.content-types.api::home.home.title": "标题"
30
+ }
@@ -5,8 +5,8 @@
5
5
  "website.menu.dashboard": "Dashboard 主页",
6
6
  "website.menu.inquiry": "询盘列表",
7
7
  "website.menu.visitor": "访客记录",
8
- "website.fields.slugInput.label": "URL别名",
9
- "website.fields.slugInput.description": "输入URL友好的别名",
8
+ "website.fields.slugInput.label": "URL 别名",
9
+ "website.fields.slugInput.description": "输入 URL 友好的别名",
10
10
  "website.fields.slugInput.available": "可用",
11
11
  "website.fields.slugInput.unavailable": "不可用",
12
12
  "website.fields.slugInput.regenerate": "重新生成",
@@ -23,5 +23,10 @@
23
23
  "website.icon-picker.back": "返回",
24
24
  "website.icon-picker.search": "搜索图标...",
25
25
  "website.icon-picker.loading": "加载中...",
26
- "website.icon-picker.no-icons": "未找到图标"
26
+ "website.icon-picker.no-icons": "未找到图标",
27
+ "website.data-nested.modal.add.title": "添加项目",
28
+ "website.data-nested.modal.add": "添加",
29
+ "website.data-select.toggle.aria-label": "数据选择切换",
30
+ "website.data-select.title": "选择数据",
31
+ "website.data-select.search": "搜索内容类型..."
27
32
  }