@strapi/i18n 0.0.0-experimental.826f263c58b6886b849d3f03b81f7a530bc51c91 → 0.0.0-experimental.82afe56cecefd0078d534e25909834ecf5fdd404
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/LICENSE +18 -3
- package/dist/_chunks/{SettingsPage-0FFSTUW2.mjs → SettingsPage-B-KzAqT3.mjs} +95 -108
- package/dist/_chunks/SettingsPage-B-KzAqT3.mjs.map +1 -0
- package/dist/_chunks/{SettingsPage-DnLLGeBa.js → SettingsPage-hyOi94O9.js} +94 -108
- package/dist/_chunks/SettingsPage-hyOi94O9.js.map +1 -0
- package/dist/_chunks/{de-DtWiGdHl.js → de-BOhNX_-5.js} +1 -2
- package/dist/_chunks/de-BOhNX_-5.js.map +1 -0
- package/dist/_chunks/{de-9eCAqqrB.mjs → de-D80IRBP9.mjs} +1 -2
- package/dist/_chunks/de-D80IRBP9.mjs.map +1 -0
- package/dist/_chunks/{dk-2qBjxt-P.mjs → dk-CJ6Zzz78.mjs} +1 -2
- package/dist/_chunks/dk-CJ6Zzz78.mjs.map +1 -0
- package/dist/_chunks/{dk-D8C-casx.js → dk-cjXm0p3m.js} +1 -2
- package/dist/_chunks/dk-cjXm0p3m.js.map +1 -0
- package/dist/_chunks/{en-18tWw4P6.mjs → en-BTyF7WVW.mjs} +12 -4
- package/dist/_chunks/en-BTyF7WVW.mjs.map +1 -0
- package/dist/_chunks/{en-Kv6y9zPQ.js → en-UlC0jh2t.js} +12 -4
- package/dist/_chunks/en-UlC0jh2t.js.map +1 -0
- package/dist/_chunks/{es-DlmMVaBG.mjs → es-V8WnPN7w.mjs} +1 -2
- package/dist/_chunks/es-V8WnPN7w.mjs.map +1 -0
- package/dist/_chunks/{es-DS-XFGSw.js → es-hr9b_HLp.js} +1 -2
- package/dist/_chunks/es-hr9b_HLp.js.map +1 -0
- package/dist/_chunks/{fr-BTjekDpq.js → fr-BFmBbE0H.js} +1 -2
- package/dist/_chunks/fr-BFmBbE0H.js.map +1 -0
- package/dist/_chunks/{fr-3S6ke71d.mjs → fr-F94noFiV.mjs} +1 -2
- package/dist/_chunks/fr-F94noFiV.mjs.map +1 -0
- package/dist/_chunks/{index-BddUXwss.mjs → index-BcYj5jo9.mjs} +476 -275
- package/dist/_chunks/index-BcYj5jo9.mjs.map +1 -0
- package/dist/_chunks/{index-DtEKsPcR.js → index-C8NzsAKp.js} +483 -283
- package/dist/_chunks/index-C8NzsAKp.js.map +1 -0
- package/dist/_chunks/{ko-DmcGUBQ3.js → ko-C40pNQ9b.js} +1 -2
- package/dist/_chunks/ko-C40pNQ9b.js.map +1 -0
- package/dist/_chunks/{ko-qTjQ8IMw.mjs → ko-CF-P3Car.mjs} +1 -2
- package/dist/_chunks/ko-CF-P3Car.mjs.map +1 -0
- package/dist/_chunks/{pl-B67TSHqT.mjs → pl-Dxr9RUmD.mjs} +1 -2
- package/dist/_chunks/pl-Dxr9RUmD.mjs.map +1 -0
- package/dist/_chunks/{pl-Cn5RYonZ.js → pl-JtWBy-JQ.js} +1 -2
- package/dist/_chunks/pl-JtWBy-JQ.js.map +1 -0
- package/dist/_chunks/{ru-hagMa57T.mjs → ru-B-4sVwXN.mjs} +1 -2
- package/dist/_chunks/ru-B-4sVwXN.mjs.map +1 -0
- package/dist/_chunks/{ru-BMBgVL3s.js → ru-COSWt3Nu.js} +1 -2
- package/dist/_chunks/ru-COSWt3Nu.js.map +1 -0
- package/dist/_chunks/{tr-CarUU76c.js → tr-BVj1O5ch.js} +1 -2
- package/dist/_chunks/tr-BVj1O5ch.js.map +1 -0
- package/dist/_chunks/{tr-Dw_jmkG-.mjs → tr-Ccu6Yj11.mjs} +1 -2
- package/dist/_chunks/tr-Ccu6Yj11.mjs.map +1 -0
- package/dist/_chunks/{zh-57YM4amO.mjs → zh-BIz395Ms.mjs} +1 -2
- package/dist/_chunks/zh-BIz395Ms.mjs.map +1 -0
- package/dist/_chunks/{zh-Hans-Dyc-aR-h.mjs → zh-Hans-Bfo6_TCM.mjs} +1 -2
- package/dist/_chunks/zh-Hans-Bfo6_TCM.mjs.map +1 -0
- package/dist/_chunks/{zh-Hans-DSHIXAa3.js → zh-Hans-DIEm_EMC.js} +1 -2
- package/dist/_chunks/zh-Hans-DIEm_EMC.js.map +1 -0
- package/dist/_chunks/{zh-CukOviB0.js → zh-wkBPBkhc.js} +1 -2
- package/dist/_chunks/zh-wkBPBkhc.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/BulkLocaleActionModal.d.ts +2 -1
- package/dist/admin/src/components/CMHeaderActions.d.ts +29 -3
- package/dist/admin/src/components/CreateLocale.d.ts +6 -6
- package/dist/admin/src/components/EditLocale.d.ts +5 -4
- package/dist/admin/src/components/LocaleListCell.d.ts +4 -4
- package/dist/admin/src/contentReleasesHooks/releaseDetailsView.d.ts +9 -5
- package/dist/admin/src/utils/clean.d.ts +4 -0
- package/dist/admin/src/utils/schemas.d.ts +1 -0
- package/dist/server/index.js +418 -478
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +419 -478
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts +1 -4
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +21 -13
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +20 -10
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/permissions/actions.d.ts +14 -2
- package/dist/server/src/services/permissions/actions.d.ts.map +1 -1
- package/dist/server/src/services/permissions.d.ts +14 -2
- package/dist/server/src/services/permissions.d.ts.map +1 -1
- package/dist/server/src/services/sanitize/index.d.ts +11 -0
- package/dist/server/src/services/sanitize/index.d.ts.map +1 -0
- package/dist/server/src/utils/index.d.ts +2 -2
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/package.json +13 -14
- package/dist/_chunks/SettingsPage-0FFSTUW2.mjs.map +0 -1
- package/dist/_chunks/SettingsPage-DnLLGeBa.js.map +0 -1
- package/dist/_chunks/de-9eCAqqrB.mjs.map +0 -1
- package/dist/_chunks/de-DtWiGdHl.js.map +0 -1
- package/dist/_chunks/dk-2qBjxt-P.mjs.map +0 -1
- package/dist/_chunks/dk-D8C-casx.js.map +0 -1
- package/dist/_chunks/en-18tWw4P6.mjs.map +0 -1
- package/dist/_chunks/en-Kv6y9zPQ.js.map +0 -1
- package/dist/_chunks/es-DS-XFGSw.js.map +0 -1
- package/dist/_chunks/es-DlmMVaBG.mjs.map +0 -1
- package/dist/_chunks/fr-3S6ke71d.mjs.map +0 -1
- package/dist/_chunks/fr-BTjekDpq.js.map +0 -1
- package/dist/_chunks/index-BddUXwss.mjs.map +0 -1
- package/dist/_chunks/index-DtEKsPcR.js.map +0 -1
- package/dist/_chunks/ko-DmcGUBQ3.js.map +0 -1
- package/dist/_chunks/ko-qTjQ8IMw.mjs.map +0 -1
- package/dist/_chunks/pl-B67TSHqT.mjs.map +0 -1
- package/dist/_chunks/pl-Cn5RYonZ.js.map +0 -1
- package/dist/_chunks/ru-BMBgVL3s.js.map +0 -1
- package/dist/_chunks/ru-hagMa57T.mjs.map +0 -1
- package/dist/_chunks/tr-CarUU76c.js.map +0 -1
- package/dist/_chunks/tr-Dw_jmkG-.mjs.map +0 -1
- package/dist/_chunks/zh-57YM4amO.mjs.map +0 -1
- package/dist/_chunks/zh-CukOviB0.js.map +0 -1
- package/dist/_chunks/zh-Hans-DSHIXAa3.js.map +0 -1
- package/dist/_chunks/zh-Hans-Dyc-aR-h.mjs.map +0 -1
- package/dist/admin/src/components/Initializer.d.ts +0 -5
- package/dist/server/src/migrations/content-type/disable/index.d.ts +0 -3
- package/dist/server/src/migrations/content-type/disable/index.d.ts.map +0 -1
- package/dist/server/src/migrations/content-type/enable/index.d.ts +0 -3
- package/dist/server/src/migrations/content-type/enable/index.d.ts.map +0 -1
- package/dist/server/src/services/entity-service-decorator.d.ts +0 -29
- package/dist/server/src/services/entity-service-decorator.d.ts.map +0 -1
- package/strapi-server.js +0 -3
@@ -8,10 +8,9 @@ const symbols = require("@strapi/icons/symbols");
|
|
8
8
|
const reactIntl = require("react-intl");
|
9
9
|
const icons = require("@strapi/icons");
|
10
10
|
const yup = require("yup");
|
11
|
-
const index = require("./index-
|
11
|
+
const index = require("./index-C8NzsAKp.js");
|
12
12
|
function _interopNamespace(e) {
|
13
|
-
if (e && e.__esModule)
|
14
|
-
return e;
|
13
|
+
if (e && e.__esModule) return e;
|
15
14
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
16
15
|
if (e) {
|
17
16
|
for (const k in e) {
|
@@ -35,8 +34,8 @@ const isBaseQueryError = (error) => {
|
|
35
34
|
const CreateLocale = ({ disabled, variant = "default" }) => {
|
36
35
|
const { formatMessage } = reactIntl.useIntl();
|
37
36
|
const [visible, setVisible] = React__namespace.useState(false);
|
38
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
39
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
37
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Root, { open: visible, onOpenChange: setVisible, children: [
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
40
39
|
designSystem.Button,
|
41
40
|
{
|
42
41
|
variant,
|
@@ -49,16 +48,16 @@ const CreateLocale = ({ disabled, variant = "default" }) => {
|
|
49
48
|
defaultMessage: "Add new locale"
|
50
49
|
})
|
51
50
|
}
|
52
|
-
),
|
53
|
-
|
51
|
+
) }),
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsx(CreateModal, { onClose: () => setVisible(false) })
|
54
53
|
] });
|
55
54
|
};
|
56
55
|
const LOCALE_SCHEMA = yup__namespace.object().shape({
|
57
|
-
code: yup__namespace.string().required({
|
56
|
+
code: yup__namespace.string().nullable().required({
|
58
57
|
id: "Settings.locales.modal.create.code.error",
|
59
58
|
defaultMessage: "Please select a locale"
|
60
59
|
}),
|
61
|
-
name: yup__namespace.string().max(50, {
|
60
|
+
name: yup__namespace.string().nullable().max(50, {
|
62
61
|
id: "Settings.locales.modal.create.name.error.min",
|
63
62
|
defaultMessage: "The locale display name can only be less than 50 characters."
|
64
63
|
}).required({
|
@@ -73,6 +72,7 @@ const initialFormValues = {
|
|
73
72
|
isDefault: false
|
74
73
|
};
|
75
74
|
const CreateModal = ({ onClose }) => {
|
75
|
+
const titleId = designSystem.useId();
|
76
76
|
const { toggleNotification } = strapiAdmin.useNotification();
|
77
77
|
const {
|
78
78
|
_unstableFormatAPIError: formatAPIError,
|
@@ -111,8 +111,7 @@ const CreateModal = ({ onClose }) => {
|
|
111
111
|
});
|
112
112
|
}
|
113
113
|
};
|
114
|
-
|
115
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalLayout, { onClose, labelledBy: titleId, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
114
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
116
115
|
strapiAdmin.Form,
|
117
116
|
{
|
118
117
|
method: "POST",
|
@@ -120,50 +119,37 @@ const CreateModal = ({ onClose }) => {
|
|
120
119
|
validationSchema: LOCALE_SCHEMA,
|
121
120
|
onSubmit: handleSubmit,
|
122
121
|
children: [
|
123
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
122
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage({
|
124
123
|
id: index.getTranslation("Settings.list.actions.add"),
|
125
124
|
defaultMessage: "Add new locale"
|
126
125
|
}) }) }),
|
127
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
128
|
-
designSystem.
|
129
|
-
|
130
|
-
label: formatMessage({
|
126
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.Root, { variant: "simple", defaultValue: "basic", children: [
|
127
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
|
128
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "beta", id: titleId, children: formatMessage({
|
131
129
|
id: index.getTranslation("Settings.locales.modal.title"),
|
132
|
-
defaultMessage: "
|
133
|
-
}),
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(AdvancedForm, {}) })
|
156
|
-
] }) })
|
157
|
-
]
|
158
|
-
}
|
159
|
-
) }),
|
160
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
161
|
-
designSystem.ModalFooter,
|
162
|
-
{
|
163
|
-
startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: onClose, children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }),
|
164
|
-
endActions: /* @__PURE__ */ jsxRuntime.jsx(SubmitButton, {})
|
165
|
-
}
|
166
|
-
)
|
130
|
+
defaultMessage: "Configuration"
|
131
|
+
}) }),
|
132
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.List, { "aria-labelledby": titleId, children: [
|
133
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "basic", children: formatMessage({
|
134
|
+
id: index.getTranslation("Settings.locales.modal.base"),
|
135
|
+
defaultMessage: "Basic settings"
|
136
|
+
}) }),
|
137
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "advanced", children: formatMessage({
|
138
|
+
id: index.getTranslation("Settings.locales.modal.advanced"),
|
139
|
+
defaultMessage: "Advanced settings"
|
140
|
+
}) })
|
141
|
+
] })
|
142
|
+
] }),
|
143
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
|
144
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingTop: 7, paddingBottom: 7, children: [
|
145
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "basic", children: /* @__PURE__ */ jsxRuntime.jsx(BaseForm, {}) }),
|
146
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "advanced", children: /* @__PURE__ */ jsxRuntime.jsx(AdvancedForm, {}) })
|
147
|
+
] })
|
148
|
+
] }) }),
|
149
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
|
150
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }) }),
|
151
|
+
/* @__PURE__ */ jsxRuntime.jsx(SubmitButton, {})
|
152
|
+
] })
|
167
153
|
]
|
168
154
|
}
|
169
155
|
) });
|
@@ -231,7 +217,7 @@ const BaseForm = ({ mode = "create" }) => {
|
|
231
217
|
label: formatMessage(field.label),
|
232
218
|
placeholder: field.placeholder ? formatMessage(field.placeholder) : void 0
|
233
219
|
}));
|
234
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: translatedForm.map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
220
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: translatedForm.map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(FormRenderer, { ...field }) }, field.name)) });
|
235
221
|
};
|
236
222
|
const AdvancedForm = ({ isDefaultLocale }) => {
|
237
223
|
const { formatMessage } = reactIntl.useIntl();
|
@@ -255,7 +241,7 @@ const AdvancedForm = ({ isDefaultLocale }) => {
|
|
255
241
|
hint: field.hint ? formatMessage(field.hint) : void 0,
|
256
242
|
label: formatMessage(field.label)
|
257
243
|
}));
|
258
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: form.map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
244
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: form.map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(FormRenderer, { ...field }) }, field.name)) });
|
259
245
|
};
|
260
246
|
const FormRenderer = (field) => {
|
261
247
|
switch (field.type) {
|
@@ -321,6 +307,7 @@ const DeleteLocale = ({ id, name }) => {
|
|
321
307
|
defaultMessage: "Deleted locale"
|
322
308
|
})
|
323
309
|
});
|
310
|
+
setVisible(false);
|
324
311
|
} catch (err) {
|
325
312
|
toggleNotification({
|
326
313
|
type: "danger",
|
@@ -331,8 +318,8 @@ const DeleteLocale = ({ id, name }) => {
|
|
331
318
|
});
|
332
319
|
}
|
333
320
|
};
|
334
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
335
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
321
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog.Root, { open: visible, onOpenChange: setVisible, children: [
|
322
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
336
323
|
designSystem.IconButton,
|
337
324
|
{
|
338
325
|
onClick: () => setVisible(true),
|
@@ -345,11 +332,11 @@ const DeleteLocale = ({ id, name }) => {
|
|
345
332
|
name
|
346
333
|
}
|
347
334
|
),
|
348
|
-
|
335
|
+
variant: "ghost",
|
349
336
|
children: /* @__PURE__ */ jsxRuntime.jsx(icons.Trash, {})
|
350
337
|
}
|
351
|
-
),
|
352
|
-
/* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleConfirm
|
338
|
+
) }),
|
339
|
+
/* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleConfirm })
|
353
340
|
] });
|
354
341
|
};
|
355
342
|
const EditLocale = (props) => {
|
@@ -369,14 +356,14 @@ const EditLocale = (props) => {
|
|
369
356
|
name: props.name
|
370
357
|
}
|
371
358
|
),
|
372
|
-
|
359
|
+
variant: "ghost",
|
373
360
|
children: /* @__PURE__ */ jsxRuntime.jsx(icons.Pencil, {})
|
374
361
|
}
|
375
362
|
),
|
376
|
-
|
363
|
+
/* @__PURE__ */ jsxRuntime.jsx(EditModal, { ...props, open: visible, onOpenChange: setVisible })
|
377
364
|
] });
|
378
365
|
};
|
379
|
-
const EditModal = ({ id, code, isDefault, name,
|
366
|
+
const EditModal = ({ id, code, isDefault, name, open, onOpenChange }) => {
|
380
367
|
const { toggleNotification } = strapiAdmin.useNotification();
|
381
368
|
const {
|
382
369
|
_unstableFormatAPIError: formatAPIError,
|
@@ -384,7 +371,7 @@ const EditModal = ({ id, code, isDefault, name, onClose }) => {
|
|
384
371
|
} = strapiAdmin.useAPIErrorHandler();
|
385
372
|
const refetchPermissions = strapiAdmin.useAuth("EditModal", (state) => state.refetchPermissions);
|
386
373
|
const { formatMessage } = reactIntl.useIntl();
|
387
|
-
const titleId =
|
374
|
+
const titleId = designSystem.useId();
|
388
375
|
const [updateLocale] = index.useUpdateLocaleMutation();
|
389
376
|
const handleSubmit = async ({ code: _code, ...data }, helpers) => {
|
390
377
|
try {
|
@@ -408,7 +395,7 @@ const EditModal = ({ id, code, isDefault, name, onClose }) => {
|
|
408
395
|
})
|
409
396
|
});
|
410
397
|
refetchPermissions();
|
411
|
-
|
398
|
+
onOpenChange(false);
|
412
399
|
} catch (err) {
|
413
400
|
toggleNotification({
|
414
401
|
type: "danger",
|
@@ -419,7 +406,7 @@ const EditModal = ({ id, code, isDefault, name, onClose }) => {
|
|
419
406
|
});
|
420
407
|
}
|
421
408
|
};
|
422
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
409
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
423
410
|
strapiAdmin.Form,
|
424
411
|
{
|
425
412
|
method: "PUT",
|
@@ -431,53 +418,45 @@ const EditModal = ({ id, code, isDefault, name, onClose }) => {
|
|
431
418
|
},
|
432
419
|
validationSchema: LOCALE_SCHEMA,
|
433
420
|
children: [
|
434
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
435
|
-
id: index.getTranslation("Settings.list.actions.edit"),
|
436
|
-
defaultMessage: "Edit a locale"
|
437
|
-
}) }) }),
|
438
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
439
|
-
designSystem.TabGroup,
|
421
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage(
|
440
422
|
{
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
}),
|
445
|
-
variant: "simple",
|
446
|
-
children: [
|
447
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
|
448
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "beta", children: formatMessage({
|
449
|
-
id: index.getTranslation("Settings.locales.modal.title"),
|
450
|
-
defaultMessage: "Configuration"
|
451
|
-
}) }),
|
452
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs, { children: [
|
453
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
|
454
|
-
id: index.getTranslation("Settings.locales.modal.base"),
|
455
|
-
defaultMessage: "Basic settings"
|
456
|
-
}) }),
|
457
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tab, { children: formatMessage({
|
458
|
-
id: index.getTranslation("Settings.locales.modal.advanced"),
|
459
|
-
defaultMessage: "Advanced settings"
|
460
|
-
}) })
|
461
|
-
] })
|
462
|
-
] }),
|
463
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
|
464
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 7, paddingBottom: 7, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.TabPanels, { children: [
|
465
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(BaseForm, { mode: "edit" }) }),
|
466
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(AdvancedForm, { isDefaultLocale: isDefault }) })
|
467
|
-
] }) })
|
468
|
-
]
|
469
|
-
}
|
470
|
-
) }),
|
471
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
472
|
-
designSystem.ModalFooter,
|
423
|
+
id: index.getTranslation("Settings.list.actions.edit"),
|
424
|
+
defaultMessage: "Edit a locale"
|
425
|
+
},
|
473
426
|
{
|
474
|
-
|
475
|
-
endActions: /* @__PURE__ */ jsxRuntime.jsx(SubmitButton, {})
|
427
|
+
name
|
476
428
|
}
|
477
|
-
)
|
429
|
+
) }) }),
|
430
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.Root, { variant: "simple", defaultValue: "basic", children: [
|
431
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
|
432
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "beta", id: titleId, children: formatMessage({
|
433
|
+
id: index.getTranslation("Settings.locales.modal.title"),
|
434
|
+
defaultMessage: "Configuration"
|
435
|
+
}) }),
|
436
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.List, { "aria-labelledby": titleId, children: [
|
437
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "basic", children: formatMessage({
|
438
|
+
id: index.getTranslation("Settings.locales.modal.base"),
|
439
|
+
defaultMessage: "Basic settings"
|
440
|
+
}) }),
|
441
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "advanced", children: formatMessage({
|
442
|
+
id: index.getTranslation("Settings.locales.modal.advanced"),
|
443
|
+
defaultMessage: "Advanced settings"
|
444
|
+
}) })
|
445
|
+
] })
|
446
|
+
] }),
|
447
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
|
448
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingTop: 7, paddingBottom: 7, children: [
|
449
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "basic", children: /* @__PURE__ */ jsxRuntime.jsx(BaseForm, { mode: "edit" }) }),
|
450
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "advanced", children: /* @__PURE__ */ jsxRuntime.jsx(AdvancedForm, { isDefaultLocale: isDefault }) })
|
451
|
+
] })
|
452
|
+
] }) }),
|
453
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
|
454
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }) }),
|
455
|
+
/* @__PURE__ */ jsxRuntime.jsx(SubmitButton, {})
|
456
|
+
] })
|
478
457
|
]
|
479
458
|
}
|
480
|
-
) });
|
459
|
+
) }) });
|
481
460
|
};
|
482
461
|
const LocaleTable = ({ locales = [], canDelete, canUpdate }) => {
|
483
462
|
const [editLocaleId, setEditLocaleId] = React__namespace.useState();
|
@@ -523,7 +502,14 @@ const LocaleTable = ({ locales = [], canDelete, canUpdate }) => {
|
|
523
502
|
]
|
524
503
|
}
|
525
504
|
),
|
526
|
-
|
505
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
506
|
+
EditModal,
|
507
|
+
{
|
508
|
+
...locale,
|
509
|
+
onOpenChange: () => setEditLocaleId(void 0),
|
510
|
+
open: editLocaleId === locale.id
|
511
|
+
}
|
512
|
+
)
|
527
513
|
] }, locale.id)) })
|
528
514
|
] });
|
529
515
|
};
|
@@ -584,4 +570,4 @@ const ProtectedSettingsPage = () => {
|
|
584
570
|
};
|
585
571
|
exports.ProtectedSettingsPage = ProtectedSettingsPage;
|
586
572
|
exports.SettingsPage = SettingsPage;
|
587
|
-
//# sourceMappingURL=SettingsPage-
|
573
|
+
//# sourceMappingURL=SettingsPage-hyOi94O9.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SettingsPage-hyOi94O9.js","sources":["../../admin/src/utils/baseQuery.ts","../../admin/src/components/CreateLocale.tsx","../../admin/src/components/DeleteLocale.tsx","../../admin/src/components/EditLocale.tsx","../../admin/src/components/LocaleTable.tsx","../../admin/src/pages/SettingsPage.tsx"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { type ApiError, type UnknownApiError } from '@strapi/admin/strapi-admin';\n\ntype BaseQueryError = ApiError | UnknownApiError | SerializedError;\n\nconst isBaseQueryError = (error: BaseQueryError): error is ApiError | UnknownApiError => {\n return error.name !== undefined;\n};\n\nexport { isBaseQueryError };\n","import * as React from 'react';\n\nimport {\n Form,\n type InputProps,\n InputRenderer,\n useField,\n type FormHelpers,\n useForm,\n useAPIErrorHandler,\n useNotification,\n useAuth,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Button,\n ButtonProps,\n Divider,\n Field,\n Flex,\n Grid,\n Modal,\n SingleSelect,\n SingleSelectOption,\n Tabs,\n Typography,\n useId,\n} from '@strapi/design-system';\nimport { Check, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { CreateLocale } from '../../../shared/contracts/locales';\nimport { useCreateLocaleMutation, useGetDefaultLocalesQuery } from '../services/locales';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getTranslation } from '../utils/getTranslation';\n\n/* -------------------------------------------------------------------------------------------------\n * CreateLocale\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CreateLocaleProps extends Pick<ButtonProps, 'disabled' | 'variant'> {}\n\nconst CreateLocale = ({ disabled, variant = 'default' }: CreateLocaleProps) => {\n const { formatMessage } = useIntl();\n const [visible, setVisible] = React.useState(false);\n\n return (\n <Modal.Root open={visible} onOpenChange={setVisible}>\n <Modal.Trigger>\n <Button\n variant={variant}\n disabled={disabled}\n startIcon={<Plus />}\n onClick={() => setVisible(true)}\n size=\"S\"\n >\n {formatMessage({\n id: getTranslation('Settings.list.actions.add'),\n defaultMessage: 'Add new locale',\n })}\n </Button>\n </Modal.Trigger>\n <CreateModal onClose={() => setVisible(false)} />\n </Modal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CreateModal\n * -----------------------------------------------------------------------------------------------*/\n\nconst LOCALE_SCHEMA = yup.object().shape({\n code: yup.string().nullable().required({\n id: 'Settings.locales.modal.create.code.error',\n defaultMessage: 'Please select a locale',\n }),\n name: yup\n .string()\n .nullable()\n .max(50, {\n id: 'Settings.locales.modal.create.name.error.min',\n defaultMessage: 'The locale display name can only be less than 50 characters.',\n })\n .required({\n id: 'Settings.locales.modal.create.name.error.required',\n defaultMessage: 'Please give the locale a display name',\n }),\n isDefault: yup.boolean(),\n});\n\ntype FormValues = CreateLocale.Request['body'];\n\nconst initialFormValues = {\n code: '',\n name: '',\n isDefault: false,\n} satisfies FormValues;\n\ntype ModalCreateProps = {\n onClose: () => void;\n};\n\nconst CreateModal = ({ onClose }: ModalCreateProps) => {\n const titleId = useId();\n const { toggleNotification } = useNotification();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const [createLocale] = useCreateLocaleMutation();\n const { formatMessage } = useIntl();\n const refetchPermissions = useAuth('CreateModal', (state) => state.refetchPermissions);\n\n const handleSubmit = async (values: FormValues, helpers: FormHelpers<FormValues>) => {\n try {\n const res = await createLocale(values);\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n helpers.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('Settings.locales.modal.create.success'),\n defaultMessage: 'Created locale',\n }),\n });\n\n refetchPermissions();\n onClose();\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n }),\n });\n }\n };\n\n return (\n <Modal.Content>\n <Form\n method=\"POST\"\n initialValues={initialFormValues}\n validationSchema={LOCALE_SCHEMA}\n onSubmit={handleSubmit}\n >\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTranslation('Settings.list.actions.add'),\n defaultMessage: 'Add new locale',\n })}\n </Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Tabs.Root variant=\"simple\" defaultValue=\"basic\">\n <Flex justifyContent=\"space-between\">\n <Typography tag=\"h2\" variant=\"beta\" id={titleId}>\n {formatMessage({\n id: getTranslation('Settings.locales.modal.title'),\n defaultMessage: 'Configuration',\n })}\n </Typography>\n <Tabs.List aria-labelledby={titleId}>\n <Tabs.Trigger value=\"basic\">\n {formatMessage({\n id: getTranslation('Settings.locales.modal.base'),\n defaultMessage: 'Basic settings',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"advanced\">\n {formatMessage({\n id: getTranslation('Settings.locales.modal.advanced'),\n defaultMessage: 'Advanced settings',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Flex>\n\n <Divider />\n\n <Box paddingTop={7} paddingBottom={7}>\n <Tabs.Content value=\"basic\">\n <BaseForm />\n </Tabs.Content>\n <Tabs.Content value=\"advanced\">\n <AdvancedForm />\n </Tabs.Content>\n </Box>\n </Tabs.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <SubmitButton />\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * SubmitButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst SubmitButton = () => {\n const { formatMessage } = useIntl();\n const isSubmitting = useForm('SubmitButton', (state) => state.isSubmitting);\n const modified = useForm('SubmitButton', (state) => state.modified);\n\n return (\n <Button type=\"submit\" startIcon={<Check />} disabled={isSubmitting || !modified}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * BaseForm\n * -----------------------------------------------------------------------------------------------*/\n\ninterface BaseFormProps {\n mode?: 'create' | 'edit';\n}\n\nconst BaseForm = ({ mode = 'create' }: BaseFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data: defaultLocales, error } = useGetDefaultLocalesQuery();\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n if (!Array.isArray(defaultLocales)) {\n return null;\n }\n\n const options = defaultLocales.map((locale) => ({\n label: locale.name,\n value: locale.code,\n }));\n\n const translatedForm = [\n {\n disabled: mode !== 'create',\n label: {\n id: getTranslation('Settings.locales.modal.create.code.label'),\n defaultMessage: 'Locales',\n },\n name: 'code',\n options,\n placeholder: {\n id: 'components.placeholder.select',\n defaultMessage: 'Select',\n },\n required: true,\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: {\n id: getTranslation('Settings.locales.modal.create.name.label.description'),\n defaultMessage: 'Locale will be displayed under that name in the administration panel',\n },\n label: {\n id: getTranslation('Settings.locales.modal.create.name.label'),\n defaultMessage: 'Locale display name',\n },\n name: 'name',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n ].map((field) => ({\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n placeholder: field.placeholder ? formatMessage(field.placeholder) : undefined,\n }));\n\n return (\n <Grid.Root gap={4}>\n {translatedForm.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <FormRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AdvancedForm\n * -----------------------------------------------------------------------------------------------*/\n\ntype AdvancedFormProps = {\n isDefaultLocale?: boolean;\n};\n\nconst AdvancedForm = ({ isDefaultLocale }: AdvancedFormProps) => {\n const { formatMessage } = useIntl();\n\n const form = [\n {\n disabled: isDefaultLocale,\n hint: {\n id: getTranslation('Settings.locales.modal.advanced.setAsDefault.hint'),\n defaultMessage: 'One default locale is required, change it by selecting another one',\n },\n label: {\n id: getTranslation('Settings.locales.modal.advanced.setAsDefault'),\n defaultMessage: 'Set as default locale',\n },\n name: 'isDefault',\n size: 6,\n type: 'boolean' as const,\n },\n ].map((field) => ({\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n })) satisfies InputProps[];\n\n return (\n <Grid.Root gap={4}>\n {form.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <FormRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormRenderer\n * -----------------------------------------------------------------------------------------------*/\n\nconst FormRenderer = (field: InputProps) => {\n switch (field.type) {\n /**\n * This will override the default input renderer\n * choice for `enumeration`.\n */\n case 'enumeration':\n return <EnumerationInput {...field} />;\n default:\n return <InputRenderer {...field} />;\n }\n};\n\nconst EnumerationInput = ({\n disabled,\n hint,\n label,\n name,\n options,\n placeholder,\n required,\n}: Extract<InputProps, { type: 'enumeration' }>) => {\n const { value, error, onChange } = useField(name);\n const { data: defaultLocales = [] } = useGetDefaultLocalesQuery();\n\n const handleChange = (value: string) => {\n if (Array.isArray(defaultLocales)) {\n // We know it exists because the options are created from the list of default locales\n const locale = defaultLocales.find((locale) => locale.code === value)!;\n\n onChange(name, value);\n // This lets us automatically fill the name field with the locale name\n onChange('name', locale.name);\n } else {\n onChange(name, value);\n }\n };\n\n return (\n <Field.Root error={error} hint={hint} name={name} required={required}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect\n disabled={disabled}\n // @ts-expect-error – This will dissapear when the DS removes support for numbers to be returned by SingleSelect.\n onChange={handleChange}\n placeholder={placeholder}\n value={value}\n >\n {options.map((option) => (\n <SingleSelectOption value={option.value} key={option.value}>\n {option.label}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n\nexport { CreateLocale, BaseForm, AdvancedForm, SubmitButton, LOCALE_SCHEMA };\n","import * as React from 'react';\n\nimport { ConfirmDialog, useAPIErrorHandler, useNotification } from '@strapi/admin/strapi-admin';\nimport { Dialog, IconButton } from '@strapi/design-system';\nimport { Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDeleteLocaleMutation } from '../services/locales';\nimport { getTranslation } from '../utils/getTranslation';\n\nimport type { Locale } from '../../../shared/contracts/locales';\n\n/* -------------------------------------------------------------------------------------------------\n * DeleteLocale\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DeleteLocaleProps extends Locale {}\n\nconst DeleteLocale = ({ id, name }: DeleteLocaleProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [visible, setVisible] = React.useState(false);\n\n const [deleteLocale] = useDeleteLocaleMutation();\n const handleConfirm = async () => {\n try {\n const res = await deleteLocale(id);\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('Settings.locales.modal.delete.success'),\n defaultMessage: 'Deleted locale',\n }),\n });\n\n setVisible(false);\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n }),\n });\n }\n };\n\n return (\n <Dialog.Root open={visible} onOpenChange={setVisible}>\n <Dialog.Trigger>\n <IconButton\n onClick={() => setVisible(true)}\n label={formatMessage(\n {\n id: getTranslation('Settings.list.actions.delete'),\n defaultMessage: 'Delete {name} locale',\n },\n {\n name,\n }\n )}\n variant=\"ghost\"\n >\n <Trash />\n </IconButton>\n </Dialog.Trigger>\n <ConfirmDialog onConfirm={handleConfirm} />\n </Dialog.Root>\n );\n};\n\nexport { DeleteLocale };\n","import * as React from 'react';\n\nimport {\n useNotification,\n useAPIErrorHandler,\n Form,\n FormHelpers,\n useAuth,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Button,\n Divider,\n Flex,\n IconButton,\n Modal,\n Tabs,\n Typography,\n useId,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Locale, UpdateLocale } from '../../../shared/contracts/locales';\nimport { useUpdateLocaleMutation } from '../services/locales';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getTranslation } from '../utils/getTranslation';\n\nimport { AdvancedForm, BaseForm, LOCALE_SCHEMA, SubmitButton } from './CreateLocale';\n\n/* -------------------------------------------------------------------------------------------------\n * EditLocale\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditLocaleProps extends Omit<EditModalProps, 'open' | 'onOpenChange'> {}\n\nconst EditLocale = (props: EditLocaleProps) => {\n const { formatMessage } = useIntl();\n const [visible, setVisible] = React.useState(false);\n\n return (\n <>\n <IconButton\n onClick={() => setVisible(true)}\n label={formatMessage(\n {\n id: getTranslation('Settings.list.actions.edit'),\n defaultMessage: 'Edit {name} locale',\n },\n {\n name: props.name,\n }\n )}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n <EditModal {...props} open={visible} onOpenChange={setVisible} />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EditModal\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditModalProps extends Pick<Locale, 'id' | 'isDefault' | 'name' | 'code'> {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}\n\ntype FormValues = UpdateLocale.Request['body'] & { code: string };\n\n/**\n * @internal\n * @description Exported to be used when someone clicks on a table row.\n */\nconst EditModal = ({ id, code, isDefault, name, open, onOpenChange }: EditModalProps) => {\n const { toggleNotification } = useNotification();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const refetchPermissions = useAuth('EditModal', (state) => state.refetchPermissions);\n const { formatMessage } = useIntl();\n const titleId = useId();\n\n const [updateLocale] = useUpdateLocaleMutation();\n const handleSubmit = async (\n { code: _code, ...data }: FormValues,\n helpers: FormHelpers<FormValues>\n ) => {\n try {\n /**\n * We don't need to send the code, because the\n * code can never be changed.\n */\n const res = await updateLocale({\n id,\n ...data,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n helpers.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n }\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('Settings.locales.modal.edit.success'),\n defaultMessage: 'Updated locale',\n }),\n });\n\n refetchPermissions();\n onOpenChange(false);\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n }),\n });\n }\n };\n\n return (\n <Modal.Root open={open} onOpenChange={onOpenChange}>\n <Modal.Content>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={{\n code,\n name,\n isDefault,\n }}\n validationSchema={LOCALE_SCHEMA}\n >\n <Modal.Header>\n <Modal.Title>\n {formatMessage(\n {\n id: getTranslation('Settings.list.actions.edit'),\n defaultMessage: 'Edit a locale',\n },\n {\n name,\n }\n )}\n </Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Tabs.Root variant=\"simple\" defaultValue=\"basic\">\n <Flex justifyContent=\"space-between\">\n <Typography tag=\"h2\" variant=\"beta\" id={titleId}>\n {formatMessage({\n id: getTranslation('Settings.locales.modal.title'),\n defaultMessage: 'Configuration',\n })}\n </Typography>\n <Tabs.List aria-labelledby={titleId}>\n <Tabs.Trigger value=\"basic\">\n {formatMessage({\n id: getTranslation('Settings.locales.modal.base'),\n defaultMessage: 'Basic settings',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"advanced\">\n {formatMessage({\n id: getTranslation('Settings.locales.modal.advanced'),\n defaultMessage: 'Advanced settings',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Flex>\n <Divider />\n <Box paddingTop={7} paddingBottom={7}>\n <Tabs.Content value=\"basic\">\n <BaseForm mode=\"edit\" />\n </Tabs.Content>\n <Tabs.Content value=\"advanced\">\n <AdvancedForm isDefaultLocale={isDefault} />\n </Tabs.Content>\n </Box>\n </Tabs.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <SubmitButton />\n </Modal.Footer>\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nexport { EditLocale, EditModal };\n","import * as React from 'react';\n\nimport {\n Flex,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../utils/getTranslation';\n\nimport { DeleteLocale } from './DeleteLocale';\nimport { EditLocale, EditModal } from './EditLocale';\n\nimport type { Locale } from '../../../shared/contracts/locales';\n\n/* -------------------------------------------------------------------------------------------------\n * LocaleTable\n * -----------------------------------------------------------------------------------------------*/\n\ntype LocaleTableProps = {\n locales?: Locale[];\n canDelete?: boolean;\n canUpdate?: boolean;\n onDeleteLocale?: (locale: Locale) => void;\n onEditLocale?: (locale: Locale) => void;\n};\n\nconst LocaleTable = ({ locales = [], canDelete, canUpdate }: LocaleTableProps) => {\n const [editLocaleId, setEditLocaleId] = React.useState<Locale['id']>();\n const { formatMessage } = useIntl();\n\n const handleClick = (localeId: Locale['id']) => () => {\n if (canUpdate) {\n setEditLocaleId(localeId);\n }\n };\n\n return (\n <Table colCount={4} rowCount={locales.length + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('Settings.locales.row.id'),\n defaultMessage: 'ID',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('Settings.locales.row.displayName'),\n defaultMessage: 'Display name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('Settings.locales.row.default-locale'),\n defaultMessage: 'Default locale',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>Actions</VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {locales.map((locale) => (\n <React.Fragment key={locale.id}>\n <Tr\n onClick={handleClick(locale.id)}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td>\n <Typography textColor=\"neutral800\">{locale.id}</Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{locale.name}</Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">\n {locale.isDefault\n ? formatMessage({\n id: getTranslation('Settings.locales.default'),\n defaultMessage: 'Default',\n })\n : null}\n </Typography>\n </Td>\n <Td>\n <Flex gap={1} justifyContent=\"flex-end\" onClick={(e) => e.stopPropagation()}>\n {canUpdate && <EditLocale {...locale} />}\n {canDelete && !locale.isDefault && <DeleteLocale {...locale} />}\n </Flex>\n </Td>\n </Tr>\n <EditModal\n {...locale}\n onOpenChange={() => setEditLocaleId(undefined)}\n open={editLocaleId === locale.id}\n />\n </React.Fragment>\n ))}\n </Tbody>\n </Table>\n );\n};\n\nexport { LocaleTable };\nexport type { LocaleTableProps };\n","import * as React from 'react';\n\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useRBAC,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { EmptyStateLayout } from '@strapi/design-system';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nimport { CreateLocale } from '../components/CreateLocale';\nimport { LocaleTable } from '../components/LocaleTable';\nimport { PERMISSIONS } from '../constants';\nimport { useGetLocalesQuery } from '../services/locales';\nimport { getTranslation } from '../utils/getTranslation';\n\nconst SettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { data: locales, isLoading: isLoadingLocales, error } = useGetLocalesQuery();\n const {\n isLoading: isLoadingRBAC,\n allowedActions: { canUpdate, canCreate, canDelete },\n } = useRBAC(PERMISSIONS);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const isLoading = isLoadingLocales || isLoadingRBAC;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !Array.isArray(locales)) {\n return <Page.Error />;\n }\n\n return (\n <Page.Main tabIndex={-1}>\n <Layouts.Header\n primaryAction={<CreateLocale disabled={!canCreate} />}\n title={formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Internationalization',\n })}\n subtitle={formatMessage({\n id: getTranslation('Settings.list.description'),\n defaultMessage: 'Configure the settings',\n })}\n />\n <Layouts.Content>\n {locales.length > 0 ? (\n <LocaleTable locales={locales} canDelete={canDelete} canUpdate={canUpdate} />\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width={undefined} height={undefined} />}\n content={formatMessage({\n id: getTranslation('Settings.list.empty.title'),\n defaultMessage: 'There are no locales',\n })}\n action={<CreateLocale disabled={!canCreate} variant=\"secondary\" />}\n />\n )}\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nconst ProtectedSettingsPage = () => {\n return (\n <Page.Protect permissions={PERMISSIONS.read}>\n <SettingsPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedSettingsPage, SettingsPage };\n"],"names":["useIntl","React","Modal","jsx","Button","Plus","getTranslation","yup","useId","useNotification","useAPIErrorHandler","useCreateLocaleMutation","useAuth","jsxs","Form","Tabs","Flex","Typography","Divider","Box","useForm","Check","useGetDefaultLocalesQuery","Grid","InputRenderer","useField","value","locale","Field","SingleSelect","SingleSelectOption","useDeleteLocaleMutation","Dialog","IconButton","Trash","ConfirmDialog","Fragment","Pencil","useUpdateLocaleMutation","Table","Thead","Tr","Th","VisuallyHidden","Tbody","Td","useGetLocalesQuery","useRBAC","PERMISSIONS","Page","Layouts","EmptyStateLayout","EmptyDocuments"],"mappings":"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"}
|
@@ -56,11 +56,10 @@ const de = {
|
|
56
56
|
"plugin.description.long": "Dieses Plugin ermöglicht es, Inhalte in verschiedenen Sprachen zu erstellen, zu lesen und zu aktualisieren, sowohl über das Admin-Panel als auch über die API",
|
57
57
|
"plugin.description.short": "Dieses Plugin ermöglicht es, Inhalte in verschiedenen Sprachen zu erstellen, zu lesen und zu aktualisieren, sowohl über das Admin-Panel als auch über die API",
|
58
58
|
"plugin.name": "Internationalisierung",
|
59
|
-
"plugin.schema.i18n.ensure-unique-localization": "Einzigartige Felder müssen lokalisiert sein",
|
60
59
|
"plugin.schema.i18n.localized.description-content-type": "Ermöglicht es Inhalte in verschiedenen Sprachen zu pflegen",
|
61
60
|
"plugin.schema.i18n.localized.description-field": "Das Feld kann verschiedene Werte in jeder Sprache haben",
|
62
61
|
"plugin.schema.i18n.localized.label-content-type": "Übersetzungen",
|
63
62
|
"plugin.schema.i18n.localized.label-field": "Übersetzungen für dieses Feld aktivieren"
|
64
63
|
};
|
65
64
|
exports.default = de;
|
66
|
-
//# sourceMappingURL=de-
|
65
|
+
//# sourceMappingURL=de-BOhNX_-5.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"de-BOhNX_-5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -54,7 +54,6 @@ const de = {
|
|
54
54
|
"plugin.description.long": "Dieses Plugin ermöglicht es, Inhalte in verschiedenen Sprachen zu erstellen, zu lesen und zu aktualisieren, sowohl über das Admin-Panel als auch über die API",
|
55
55
|
"plugin.description.short": "Dieses Plugin ermöglicht es, Inhalte in verschiedenen Sprachen zu erstellen, zu lesen und zu aktualisieren, sowohl über das Admin-Panel als auch über die API",
|
56
56
|
"plugin.name": "Internationalisierung",
|
57
|
-
"plugin.schema.i18n.ensure-unique-localization": "Einzigartige Felder müssen lokalisiert sein",
|
58
57
|
"plugin.schema.i18n.localized.description-content-type": "Ermöglicht es Inhalte in verschiedenen Sprachen zu pflegen",
|
59
58
|
"plugin.schema.i18n.localized.description-field": "Das Feld kann verschiedene Werte in jeder Sprache haben",
|
60
59
|
"plugin.schema.i18n.localized.label-content-type": "Übersetzungen",
|
@@ -63,4 +62,4 @@ const de = {
|
|
63
62
|
export {
|
64
63
|
de as default
|
65
64
|
};
|
66
|
-
//# sourceMappingURL=de-
|
65
|
+
//# sourceMappingURL=de-D80IRBP9.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"de-D80IRBP9.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -54,7 +54,6 @@ const dk = {
|
|
54
54
|
"plugin.description.long": "Dette plugin gør det muligt at oprette, læse og redigere indhold på forskellige sprog, både fra admin panelt og igennem API.",
|
55
55
|
"plugin.description.short": "Dette plugin gør det muligt at oprette, læse og redigere indhold på forskellige sprog, både fra admin panelt og igennem API.",
|
56
56
|
"plugin.name": "Internationalisering",
|
57
|
-
"plugin.schema.i18n.ensure-unique-localization": "Unikke felter skal udfyldes for alle sprogvarianter",
|
58
57
|
"plugin.schema.i18n.localized.description-content-type": "Muliggør indhold på forskellige sprog",
|
59
58
|
"plugin.schema.i18n.localized.description-field": "Feltet kan have forskellige værdier for hver sprogvariant",
|
60
59
|
"plugin.schema.i18n.localized.label-content-type": "Aktivér sprogvarianter for denne indholdstype",
|
@@ -63,4 +62,4 @@ const dk = {
|
|
63
62
|
export {
|
64
63
|
dk as default
|
65
64
|
};
|
66
|
-
//# sourceMappingURL=dk-
|
65
|
+
//# sourceMappingURL=dk-CJ6Zzz78.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dk-CJ6Zzz78.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -56,11 +56,10 @@ const dk = {
|
|
56
56
|
"plugin.description.long": "Dette plugin gør det muligt at oprette, læse og redigere indhold på forskellige sprog, både fra admin panelt og igennem API.",
|
57
57
|
"plugin.description.short": "Dette plugin gør det muligt at oprette, læse og redigere indhold på forskellige sprog, både fra admin panelt og igennem API.",
|
58
58
|
"plugin.name": "Internationalisering",
|
59
|
-
"plugin.schema.i18n.ensure-unique-localization": "Unikke felter skal udfyldes for alle sprogvarianter",
|
60
59
|
"plugin.schema.i18n.localized.description-content-type": "Muliggør indhold på forskellige sprog",
|
61
60
|
"plugin.schema.i18n.localized.description-field": "Feltet kan have forskellige værdier for hver sprogvariant",
|
62
61
|
"plugin.schema.i18n.localized.label-content-type": "Aktivér sprogvarianter for denne indholdstype",
|
63
62
|
"plugin.schema.i18n.localized.label-field": "Aktivér sprogvarianter for dette felt"
|
64
63
|
};
|
65
64
|
exports.default = dk;
|
66
|
-
//# sourceMappingURL=dk-
|
65
|
+
//# sourceMappingURL=dk-cjXm0p3m.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dk-cjXm0p3m.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -1,15 +1,24 @@
|
|
1
1
|
const en = {
|
2
|
-
"actions.delete.label": "Delete locale",
|
2
|
+
"actions.delete.label": "Delete entry ({locale})",
|
3
3
|
"actions.delete.dialog.title": "Confirmation",
|
4
4
|
"actions.delete.dialog.body": "Are you sure you want to delete this locale?",
|
5
5
|
"actions.delete.error": "An error occurred while trying to delete the document locale.",
|
6
6
|
"CMEditViewCopyLocale.copy-failure": "Failed to copy locale",
|
7
7
|
"CMEditViewCopyLocale.copy-success": "Locale copied",
|
8
8
|
"CMEditViewCopyLocale.copy-text": "Fill in from another locale",
|
9
|
+
"CMEditViewCopyLocale.cancel-text": "No, cancel",
|
9
10
|
"CMEditViewCopyLocale.submit-text": "Yes, fill in",
|
10
|
-
"
|
11
|
+
"CMEditViewCopyLocale.dialog.title": "Confirmation",
|
12
|
+
"CMEditViewCopyLocale.dialog.body": "Your current content will be erased and filled by the content of the selected locale:",
|
13
|
+
"CMEditViewCopyLocale.dialog.field.label": "Locale",
|
14
|
+
"CMEditViewCopyLocale.dialog.field.placeholder": "Select one locale...",
|
15
|
+
"CMEditViewBulkLocale.publish-title": "Publish multiple locales",
|
16
|
+
"CMEditViewBulkLocale.unpublish-title": "Unpublish multiple locales",
|
11
17
|
"CMEditViewBulkLocale.status": "Status",
|
12
18
|
"CMEditViewBulkLocale.publication-status": "Publication Status",
|
19
|
+
"CMEditViewBulkLocale.draft-relation-warning": "Some locales are related to draft entries. Publishing them could leave broken links in your app.",
|
20
|
+
"CMEditViewBulkLocale.continue-confirmation": "Are you sure you want to continue?",
|
21
|
+
"CMEditViewLocalePicker.locale.create": "Create <bold>{locale}</bold> locale",
|
13
22
|
"CMListView.popover.display-locales.label": "Display translated locales",
|
14
23
|
"CheckboxConfirmation.Modal.body": "Do you want to disable it?",
|
15
24
|
"CheckboxConfirmation.Modal.button-confirm": "Yes, disable",
|
@@ -60,7 +69,6 @@ const en = {
|
|
60
69
|
"plugin.description.long": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
|
61
70
|
"plugin.description.short": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
|
62
71
|
"plugin.name": "Internationalization",
|
63
|
-
"plugin.schema.i18n.ensure-unique-localization": "Unique fields must be localized",
|
64
72
|
"plugin.schema.i18n.localized.description-content-type": "Allows translating an entry into different languages",
|
65
73
|
"plugin.schema.i18n.localized.description-field": "The field can have different values in each language",
|
66
74
|
"plugin.schema.i18n.localized.label-content-type": "Internationalization",
|
@@ -69,4 +77,4 @@ const en = {
|
|
69
77
|
export {
|
70
78
|
en as default
|
71
79
|
};
|
72
|
-
//# sourceMappingURL=en-
|
80
|
+
//# sourceMappingURL=en-BTyF7WVW.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"en-BTyF7WVW.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -1,17 +1,26 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
3
|
const en = {
|
4
|
-
"actions.delete.label": "Delete locale",
|
4
|
+
"actions.delete.label": "Delete entry ({locale})",
|
5
5
|
"actions.delete.dialog.title": "Confirmation",
|
6
6
|
"actions.delete.dialog.body": "Are you sure you want to delete this locale?",
|
7
7
|
"actions.delete.error": "An error occurred while trying to delete the document locale.",
|
8
8
|
"CMEditViewCopyLocale.copy-failure": "Failed to copy locale",
|
9
9
|
"CMEditViewCopyLocale.copy-success": "Locale copied",
|
10
10
|
"CMEditViewCopyLocale.copy-text": "Fill in from another locale",
|
11
|
+
"CMEditViewCopyLocale.cancel-text": "No, cancel",
|
11
12
|
"CMEditViewCopyLocale.submit-text": "Yes, fill in",
|
12
|
-
"
|
13
|
+
"CMEditViewCopyLocale.dialog.title": "Confirmation",
|
14
|
+
"CMEditViewCopyLocale.dialog.body": "Your current content will be erased and filled by the content of the selected locale:",
|
15
|
+
"CMEditViewCopyLocale.dialog.field.label": "Locale",
|
16
|
+
"CMEditViewCopyLocale.dialog.field.placeholder": "Select one locale...",
|
17
|
+
"CMEditViewBulkLocale.publish-title": "Publish multiple locales",
|
18
|
+
"CMEditViewBulkLocale.unpublish-title": "Unpublish multiple locales",
|
13
19
|
"CMEditViewBulkLocale.status": "Status",
|
14
20
|
"CMEditViewBulkLocale.publication-status": "Publication Status",
|
21
|
+
"CMEditViewBulkLocale.draft-relation-warning": "Some locales are related to draft entries. Publishing them could leave broken links in your app.",
|
22
|
+
"CMEditViewBulkLocale.continue-confirmation": "Are you sure you want to continue?",
|
23
|
+
"CMEditViewLocalePicker.locale.create": "Create <bold>{locale}</bold> locale",
|
15
24
|
"CMListView.popover.display-locales.label": "Display translated locales",
|
16
25
|
"CheckboxConfirmation.Modal.body": "Do you want to disable it?",
|
17
26
|
"CheckboxConfirmation.Modal.button-confirm": "Yes, disable",
|
@@ -62,11 +71,10 @@ const en = {
|
|
62
71
|
"plugin.description.long": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
|
63
72
|
"plugin.description.short": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API.",
|
64
73
|
"plugin.name": "Internationalization",
|
65
|
-
"plugin.schema.i18n.ensure-unique-localization": "Unique fields must be localized",
|
66
74
|
"plugin.schema.i18n.localized.description-content-type": "Allows translating an entry into different languages",
|
67
75
|
"plugin.schema.i18n.localized.description-field": "The field can have different values in each language",
|
68
76
|
"plugin.schema.i18n.localized.label-content-type": "Internationalization",
|
69
77
|
"plugin.schema.i18n.localized.label-field": "Enable localization for this field"
|
70
78
|
};
|
71
79
|
exports.default = en;
|
72
|
-
//# sourceMappingURL=en-
|
80
|
+
//# sourceMappingURL=en-UlC0jh2t.js.map
|