@strapi/i18n 0.0.0-next.bec3f8cddf61be32ee5516609a1d4d6032933972 → 0.0.0-next.bffd3c1819cd08304e7d270e88b4973e9fcbc183

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 (93) hide show
  1. package/dist/_chunks/{SettingsPage-BHvunuIF.mjs → SettingsPage-B-KzAqT3.mjs} +2 -2
  2. package/dist/_chunks/{SettingsPage-BHvunuIF.mjs.map → SettingsPage-B-KzAqT3.mjs.map} +1 -1
  3. package/dist/_chunks/{SettingsPage-Bcj7380u.js → SettingsPage-hyOi94O9.js} +3 -4
  4. package/dist/_chunks/{SettingsPage-Bcj7380u.js.map → SettingsPage-hyOi94O9.js.map} +1 -1
  5. package/dist/_chunks/{de-DtWiGdHl.js → de-BOhNX_-5.js} +1 -2
  6. package/dist/_chunks/de-BOhNX_-5.js.map +1 -0
  7. package/dist/_chunks/{de-9eCAqqrB.mjs → de-D80IRBP9.mjs} +1 -2
  8. package/dist/_chunks/de-D80IRBP9.mjs.map +1 -0
  9. package/dist/_chunks/{dk-2qBjxt-P.mjs → dk-CJ6Zzz78.mjs} +1 -2
  10. package/dist/_chunks/dk-CJ6Zzz78.mjs.map +1 -0
  11. package/dist/_chunks/{dk-D8C-casx.js → dk-cjXm0p3m.js} +1 -2
  12. package/dist/_chunks/dk-cjXm0p3m.js.map +1 -0
  13. package/dist/_chunks/{en-DlXfy6Gy.mjs → en-BTyF7WVW.mjs} +1 -2
  14. package/dist/_chunks/en-BTyF7WVW.mjs.map +1 -0
  15. package/dist/_chunks/{en-BKBz3tro.js → en-UlC0jh2t.js} +1 -2
  16. package/dist/_chunks/en-UlC0jh2t.js.map +1 -0
  17. package/dist/_chunks/{es-DlmMVaBG.mjs → es-V8WnPN7w.mjs} +1 -2
  18. package/dist/_chunks/es-V8WnPN7w.mjs.map +1 -0
  19. package/dist/_chunks/{es-DS-XFGSw.js → es-hr9b_HLp.js} +1 -2
  20. package/dist/_chunks/es-hr9b_HLp.js.map +1 -0
  21. package/dist/_chunks/{fr-BTjekDpq.js → fr-BFmBbE0H.js} +1 -2
  22. package/dist/_chunks/fr-BFmBbE0H.js.map +1 -0
  23. package/dist/_chunks/{fr-3S6ke71d.mjs → fr-F94noFiV.mjs} +1 -2
  24. package/dist/_chunks/fr-F94noFiV.mjs.map +1 -0
  25. package/dist/_chunks/{index-DUdrr5PR.mjs → index-BcYj5jo9.mjs} +36 -62
  26. package/dist/_chunks/index-BcYj5jo9.mjs.map +1 -0
  27. package/dist/_chunks/{index-BKZbxhpm.js → index-C8NzsAKp.js} +37 -64
  28. package/dist/_chunks/index-C8NzsAKp.js.map +1 -0
  29. package/dist/_chunks/{ko-DmcGUBQ3.js → ko-C40pNQ9b.js} +1 -2
  30. package/dist/_chunks/ko-C40pNQ9b.js.map +1 -0
  31. package/dist/_chunks/{ko-qTjQ8IMw.mjs → ko-CF-P3Car.mjs} +1 -2
  32. package/dist/_chunks/ko-CF-P3Car.mjs.map +1 -0
  33. package/dist/_chunks/{pl-B67TSHqT.mjs → pl-Dxr9RUmD.mjs} +1 -2
  34. package/dist/_chunks/pl-Dxr9RUmD.mjs.map +1 -0
  35. package/dist/_chunks/{pl-Cn5RYonZ.js → pl-JtWBy-JQ.js} +1 -2
  36. package/dist/_chunks/pl-JtWBy-JQ.js.map +1 -0
  37. package/dist/_chunks/{ru-hagMa57T.mjs → ru-B-4sVwXN.mjs} +1 -2
  38. package/dist/_chunks/ru-B-4sVwXN.mjs.map +1 -0
  39. package/dist/_chunks/{ru-BMBgVL3s.js → ru-COSWt3Nu.js} +1 -2
  40. package/dist/_chunks/ru-COSWt3Nu.js.map +1 -0
  41. package/dist/_chunks/{tr-CarUU76c.js → tr-BVj1O5ch.js} +1 -2
  42. package/dist/_chunks/tr-BVj1O5ch.js.map +1 -0
  43. package/dist/_chunks/{tr-Dw_jmkG-.mjs → tr-Ccu6Yj11.mjs} +1 -2
  44. package/dist/_chunks/tr-Ccu6Yj11.mjs.map +1 -0
  45. package/dist/_chunks/{zh-57YM4amO.mjs → zh-BIz395Ms.mjs} +1 -2
  46. package/dist/_chunks/zh-BIz395Ms.mjs.map +1 -0
  47. package/dist/_chunks/{zh-Hans-Dyc-aR-h.mjs → zh-Hans-Bfo6_TCM.mjs} +1 -2
  48. package/dist/_chunks/zh-Hans-Bfo6_TCM.mjs.map +1 -0
  49. package/dist/_chunks/{zh-Hans-DSHIXAa3.js → zh-Hans-DIEm_EMC.js} +1 -2
  50. package/dist/_chunks/zh-Hans-DIEm_EMC.js.map +1 -0
  51. package/dist/_chunks/{zh-CukOviB0.js → zh-wkBPBkhc.js} +1 -2
  52. package/dist/_chunks/zh-wkBPBkhc.js.map +1 -0
  53. package/dist/admin/index.js +1 -1
  54. package/dist/admin/index.mjs +1 -1
  55. package/dist/admin/src/components/LocaleListCell.d.ts +4 -4
  56. package/dist/server/index.js +34 -4
  57. package/dist/server/index.js.map +1 -1
  58. package/dist/server/index.mjs +35 -4
  59. package/dist/server/index.mjs.map +1 -1
  60. package/dist/server/src/index.d.ts +6 -0
  61. package/dist/server/src/index.d.ts.map +1 -1
  62. package/dist/server/src/register.d.ts.map +1 -1
  63. package/dist/server/src/services/index.d.ts +6 -0
  64. package/dist/server/src/services/index.d.ts.map +1 -1
  65. package/dist/server/src/services/sanitize/index.d.ts +11 -0
  66. package/dist/server/src/services/sanitize/index.d.ts.map +1 -0
  67. package/dist/server/src/utils/index.d.ts +2 -0
  68. package/dist/server/src/utils/index.d.ts.map +1 -1
  69. package/package.json +12 -13
  70. package/dist/_chunks/de-9eCAqqrB.mjs.map +0 -1
  71. package/dist/_chunks/de-DtWiGdHl.js.map +0 -1
  72. package/dist/_chunks/dk-2qBjxt-P.mjs.map +0 -1
  73. package/dist/_chunks/dk-D8C-casx.js.map +0 -1
  74. package/dist/_chunks/en-BKBz3tro.js.map +0 -1
  75. package/dist/_chunks/en-DlXfy6Gy.mjs.map +0 -1
  76. package/dist/_chunks/es-DS-XFGSw.js.map +0 -1
  77. package/dist/_chunks/es-DlmMVaBG.mjs.map +0 -1
  78. package/dist/_chunks/fr-3S6ke71d.mjs.map +0 -1
  79. package/dist/_chunks/fr-BTjekDpq.js.map +0 -1
  80. package/dist/_chunks/index-BKZbxhpm.js.map +0 -1
  81. package/dist/_chunks/index-DUdrr5PR.mjs.map +0 -1
  82. package/dist/_chunks/ko-DmcGUBQ3.js.map +0 -1
  83. package/dist/_chunks/ko-qTjQ8IMw.mjs.map +0 -1
  84. package/dist/_chunks/pl-B67TSHqT.mjs.map +0 -1
  85. package/dist/_chunks/pl-Cn5RYonZ.js.map +0 -1
  86. package/dist/_chunks/ru-BMBgVL3s.js.map +0 -1
  87. package/dist/_chunks/ru-hagMa57T.mjs.map +0 -1
  88. package/dist/_chunks/tr-CarUU76c.js.map +0 -1
  89. package/dist/_chunks/tr-Dw_jmkG-.mjs.map +0 -1
  90. package/dist/_chunks/zh-57YM4amO.mjs.map +0 -1
  91. package/dist/_chunks/zh-CukOviB0.js.map +0 -1
  92. package/dist/_chunks/zh-Hans-DSHIXAa3.js.map +0 -1
  93. package/dist/_chunks/zh-Hans-Dyc-aR-h.mjs.map +0 -1
@@ -56,7 +56,6 @@ const ru = {
56
56
  "plugin.description.long": "Этот плагин позволяет создавать, читать и обновлять контент (словом, производить всевозможные действия с контентом) на разных языках, как из панели администратора, так и через API.",
57
57
  "plugin.description.short": "Этот плагин позволяет создавать, читать и обновлять контент на разных языках, как из панели администратора, так и через API.",
58
58
  "plugin.name": "Интернационализация",
59
- "plugin.schema.i18n.ensure-unique-localization": "Уникальные поля должны быть переведены",
60
59
  "plugin.schema.i18n.localized.description-content-type": "Позволяет перевести запись на разные языки",
61
60
  "plugin.schema.i18n.localized.description-field": "Поле может иметь разные значения на каждом языке",
62
61
  "plugin.schema.i18n.localized.label-content-type": "Интернационализация",
@@ -65,4 +64,4 @@ const ru = {
65
64
  export {
66
65
  ru as default
67
66
  };
68
- //# sourceMappingURL=ru-hagMa57T.mjs.map
67
+ //# sourceMappingURL=ru-B-4sVwXN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ru-B-4sVwXN.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -58,11 +58,10 @@ const ru = {
58
58
  "plugin.description.long": "Этот плагин позволяет создавать, читать и обновлять контент (словом, производить всевозможные действия с контентом) на разных языках, как из панели администратора, так и через API.",
59
59
  "plugin.description.short": "Этот плагин позволяет создавать, читать и обновлять контент на разных языках, как из панели администратора, так и через API.",
60
60
  "plugin.name": "Интернационализация",
61
- "plugin.schema.i18n.ensure-unique-localization": "Уникальные поля должны быть переведены",
62
61
  "plugin.schema.i18n.localized.description-content-type": "Позволяет перевести запись на разные языки",
63
62
  "plugin.schema.i18n.localized.description-field": "Поле может иметь разные значения на каждом языке",
64
63
  "plugin.schema.i18n.localized.label-content-type": "Интернационализация",
65
64
  "plugin.schema.i18n.localized.label-field": "Включить перевод для этого поля"
66
65
  };
67
66
  exports.default = ru;
68
- //# sourceMappingURL=ru-BMBgVL3s.js.map
67
+ //# sourceMappingURL=ru-COSWt3Nu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ru-COSWt3Nu.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -56,11 +56,10 @@ const tr = {
56
56
  "plugin.description.long": "Bu eklenti, hem Yönetim paneli hem de API üzerinden, farklı dillerdeki içeriği oluşturma, okuma ve güncelleme imkanı sağlar.",
57
57
  "plugin.description.short": "Bu eklenti, hem Yönetim paneli hem de API üzerinden, farklı dillerdeki içeriği oluşturma, okuma ve güncelleme imkanı sağlar.",
58
58
  "plugin.name": "Uluslararasılaştırma",
59
- "plugin.schema.i18n.ensure-unique-localization": "Benzersiz alanlar yerelleştirilmelidir",
60
59
  "plugin.schema.i18n.localized.description-content-type": "İçerikleri yerelleştirebilmenize imkan tanır",
61
60
  "plugin.schema.i18n.localized.description-field": "Bu alan farklı yerel ayarlarda farklı değer alabilir",
62
61
  "plugin.schema.i18n.localized.label-content-type": "Bu İçerik-Tipi için yerelleştirmeyi etkinleştir",
63
62
  "plugin.schema.i18n.localized.label-field": "Bu Alan için yerelleştirmeyi etkinleştir"
64
63
  };
65
64
  exports.default = tr;
66
- //# sourceMappingURL=tr-CarUU76c.js.map
65
+ //# sourceMappingURL=tr-BVj1O5ch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tr-BVj1O5ch.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -54,7 +54,6 @@ const tr = {
54
54
  "plugin.description.long": "Bu eklenti, hem Yönetim paneli hem de API üzerinden, farklı dillerdeki içeriği oluşturma, okuma ve güncelleme imkanı sağlar.",
55
55
  "plugin.description.short": "Bu eklenti, hem Yönetim paneli hem de API üzerinden, farklı dillerdeki içeriği oluşturma, okuma ve güncelleme imkanı sağlar.",
56
56
  "plugin.name": "Uluslararasılaştırma",
57
- "plugin.schema.i18n.ensure-unique-localization": "Benzersiz alanlar yerelleştirilmelidir",
58
57
  "plugin.schema.i18n.localized.description-content-type": "İçerikleri yerelleştirebilmenize imkan tanır",
59
58
  "plugin.schema.i18n.localized.description-field": "Bu alan farklı yerel ayarlarda farklı değer alabilir",
60
59
  "plugin.schema.i18n.localized.label-content-type": "Bu İçerik-Tipi için yerelleştirmeyi etkinleştir",
@@ -63,4 +62,4 @@ const tr = {
63
62
  export {
64
63
  tr as default
65
64
  };
66
- //# sourceMappingURL=tr-Dw_jmkG-.mjs.map
65
+ //# sourceMappingURL=tr-Ccu6Yj11.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tr-Ccu6Yj11.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -54,7 +54,6 @@ const zh = {
54
54
  "plugin.description.long": "此外掛程式允許您從管理面板和 API 建立、讀取、更新不同語言的內容。",
55
55
  "plugin.description.short": "此外掛程式允許您從管理面板和 API 建立、讀取、更新不同語言的內容。",
56
56
  "plugin.name": "國際化",
57
- "plugin.schema.i18n.ensure-unique-localization": "唯一欄位必須本地化",
58
57
  "plugin.schema.i18n.localized.description-content-type": "讓您的內容有多種地區設定",
59
58
  "plugin.schema.i18n.localized.description-field": "此欄位在各個地區設定中可以有不同數值",
60
59
  "plugin.schema.i18n.localized.label-content-type": "為此內容型別啟用本地化",
@@ -63,4 +62,4 @@ const zh = {
63
62
  export {
64
63
  zh as default
65
64
  };
66
- //# sourceMappingURL=zh-57YM4amO.mjs.map
65
+ //# sourceMappingURL=zh-BIz395Ms.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-BIz395Ms.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,7 +45,6 @@ const zhHans = {
45
45
  "plugin.description.long": "开启此插件后,可以在管理面板或是API中创建,查询及更新不同语言的内容",
46
46
  "plugin.description.short": "在管理面板或是API中创建,查询及更新不同语言的内容",
47
47
  "plugin.name": "国际化",
48
- "plugin.schema.i18n.ensure-unique-localization": "唯一字段必须本地化",
49
48
  "plugin.schema.i18n.localized.description-content-type": "允许您为内容设置不同的语言",
50
49
  "plugin.schema.i18n.localized.description-field": "该字段在不同的语言环境中有不同的值",
51
50
  "plugin.schema.i18n.localized.label-content-type": "为该内容类型开启本地化",
@@ -54,4 +53,4 @@ const zhHans = {
54
53
  export {
55
54
  zhHans as default
56
55
  };
57
- //# sourceMappingURL=zh-Hans-Dyc-aR-h.mjs.map
56
+ //# sourceMappingURL=zh-Hans-Bfo6_TCM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-Hans-Bfo6_TCM.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -47,11 +47,10 @@ const zhHans = {
47
47
  "plugin.description.long": "开启此插件后,可以在管理面板或是API中创建,查询及更新不同语言的内容",
48
48
  "plugin.description.short": "在管理面板或是API中创建,查询及更新不同语言的内容",
49
49
  "plugin.name": "国际化",
50
- "plugin.schema.i18n.ensure-unique-localization": "唯一字段必须本地化",
51
50
  "plugin.schema.i18n.localized.description-content-type": "允许您为内容设置不同的语言",
52
51
  "plugin.schema.i18n.localized.description-field": "该字段在不同的语言环境中有不同的值",
53
52
  "plugin.schema.i18n.localized.label-content-type": "为该内容类型开启本地化",
54
53
  "plugin.schema.i18n.localized.label-field": "为该字段开启本地化"
55
54
  };
56
55
  exports.default = zhHans;
57
- //# sourceMappingURL=zh-Hans-DSHIXAa3.js.map
56
+ //# sourceMappingURL=zh-Hans-DIEm_EMC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-Hans-DIEm_EMC.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -56,11 +56,10 @@ const zh = {
56
56
  "plugin.description.long": "此外掛程式允許您從管理面板和 API 建立、讀取、更新不同語言的內容。",
57
57
  "plugin.description.short": "此外掛程式允許您從管理面板和 API 建立、讀取、更新不同語言的內容。",
58
58
  "plugin.name": "國際化",
59
- "plugin.schema.i18n.ensure-unique-localization": "唯一欄位必須本地化",
60
59
  "plugin.schema.i18n.localized.description-content-type": "讓您的內容有多種地區設定",
61
60
  "plugin.schema.i18n.localized.description-field": "此欄位在各個地區設定中可以有不同數值",
62
61
  "plugin.schema.i18n.localized.label-content-type": "為此內容型別啟用本地化",
63
62
  "plugin.schema.i18n.localized.label-field": "為此欄位啟用本地化"
64
63
  };
65
64
  exports.default = zh;
66
- //# sourceMappingURL=zh-CukOviB0.js.map
65
+ //# sourceMappingURL=zh-wkBPBkhc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-wkBPBkhc.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const index = require("../_chunks/index-BKZbxhpm.js");
2
+ const index = require("../_chunks/index-C8NzsAKp.js");
3
3
  require("lodash/get");
4
4
  require("yup");
5
5
  module.exports = index.index;
@@ -1,4 +1,4 @@
1
- import { i } from "../_chunks/index-DUdrr5PR.mjs";
1
+ import { i } from "../_chunks/index-BcYj5jo9.mjs";
2
2
  import "lodash/get";
3
3
  import "yup";
4
4
  export {
@@ -1,9 +1,9 @@
1
1
  interface LocaleListCellProps {
2
- documentId: string;
3
- collectionType: string;
2
+ localizations: {
3
+ locale: string;
4
+ }[];
4
5
  locale: string;
5
- model: string;
6
6
  }
7
- declare const LocaleListCell: ({ documentId, locale: currentLocale, collectionType, model, }: LocaleListCellProps) => import("react/jsx-runtime").JSX.Element | null;
7
+ declare const LocaleListCell: ({ locale: currentLocale, localizations }: LocaleListCellProps) => import("react/jsx-runtime").JSX.Element | null;
8
8
  export { LocaleListCell };
9
9
  export type { LocaleListCellProps };
@@ -4,8 +4,7 @@ const fp = require("lodash/fp");
4
4
  const utils = require("@strapi/utils");
5
5
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
6
6
  function _interopNamespace(e) {
7
- if (e && e.__esModule)
8
- return e;
7
+ if (e && e.__esModule) return e;
9
8
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
10
9
  if (e) {
11
10
  for (const k in e) {
@@ -214,11 +213,13 @@ const addContentManagerLocaleMiddleware = (strapi2) => {
214
213
  });
215
214
  };
216
215
  const extendContentTypes = (strapi2) => {
216
+ const { isLocalizedContentType: isLocalizedContentType2 } = getService("content-types");
217
217
  Object.values(strapi2.contentTypes).forEach((contentType) => {
218
218
  const { attributes: attributes2 } = contentType;
219
+ const isLocalized = isLocalizedContentType2(contentType);
219
220
  ___default.default.set(attributes2, "locale", {
220
221
  writable: true,
221
- private: false,
222
+ private: !isLocalized,
222
223
  configurable: false,
223
224
  visible: false,
224
225
  type: "string"
@@ -228,7 +229,7 @@ const extendContentTypes = (strapi2) => {
228
229
  relation: "oneToMany",
229
230
  target: contentType.uid,
230
231
  writable: false,
231
- private: false,
232
+ private: !isLocalized,
232
233
  configurable: false,
233
234
  visible: false,
234
235
  unstable_virtual: true,
@@ -2916,6 +2917,14 @@ const isoLocales = [
2916
2917
  code: "cy-GB",
2917
2918
  name: "Welsh (United Kingdom) (cy-GB)"
2918
2919
  },
2920
+ {
2921
+ code: "wo",
2922
+ name: "Wolof (wo)"
2923
+ },
2924
+ {
2925
+ code: "xh",
2926
+ name: "Xhosa (xh)"
2927
+ },
2919
2928
  {
2920
2929
  code: "yav",
2921
2930
  name: "Yangben (yav)"
@@ -3157,11 +3166,32 @@ const contentTypes = () => ({
3157
3166
  fillNonLocalizedAttributes,
3158
3167
  getNestedPopulateOfNonLocalizedAttributes
3159
3168
  });
3169
+ const LOCALIZATION_FIELDS = ["locale", "localizations"];
3170
+ const sanitize = ({ strapi: strapi2 }) => {
3171
+ const { isLocalizedContentType: isLocalizedContentType2 } = getService("content-types");
3172
+ const sanitizeLocalizationFields = fp.curry(
3173
+ (schema2, entity) => utils.traverseEntity(
3174
+ ({ key, schema: schema22 }, { remove }) => {
3175
+ const isLocalized = isLocalizedContentType2(schema22);
3176
+ const isLocalizationField = LOCALIZATION_FIELDS.includes(key);
3177
+ if (!isLocalized && isLocalizationField) {
3178
+ remove(key);
3179
+ }
3180
+ },
3181
+ { schema: schema2, getModel: strapi2.getModel.bind(strapi2) },
3182
+ entity
3183
+ )
3184
+ );
3185
+ return {
3186
+ sanitizeLocalizationFields
3187
+ };
3188
+ };
3160
3189
  const services = {
3161
3190
  permissions,
3162
3191
  metrics,
3163
3192
  localizations,
3164
3193
  locales,
3194
+ sanitize,
3165
3195
  "iso-locales": isoLocalesService,
3166
3196
  "content-types": contentTypes
3167
3197
  };