@eeacms/volto-eea-website-policy 2.8.0 → 4.0.0

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/CHANGELOG.md CHANGED
@@ -4,15 +4,32 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
- ### [2.8.0](https://github.com/eea/volto-eea-website-policy/compare/2.7.0...2.8.0) - 4 December 2025
7
+ ### [4.0.0](https://github.com/eea/volto-eea-website-policy/compare/3.0.0...4.0.0) - 25 March 2026
8
8
 
9
9
  #### :rocket: New Features
10
10
 
11
- - feat: Custom ErrorView - refs #291209 [Nilesh - [`842a21b`](https://github.com/eea/volto-eea-website-policy/commit/842a21b2ae439c61ef30c12a6636feb09a8ddd2e)]
11
+ - feat: Volto 18 support - refs #287700 [Alin Voinea - [`840b51d`](https://github.com/eea/volto-eea-website-policy/commit/840b51dbaf2b8fb2be9659647ebd5208531d403a)]
12
+
13
+ #### :house: Internal changes
14
+
12
15
 
13
16
  #### :hammer_and_wrench: Others
14
17
 
15
- - Release 2.8.0 [Alin Voinea - [`1b2d223`](https://github.com/eea/volto-eea-website-policy/commit/1b2d22315096d7f6cf908e1ca5f0fd34c82ff9ed)]
18
+ ## [3.0.0](https://github.com/eea/volto-eea-website-policy/compare/2.8.0...3.0.0) - 23 December 2025
19
+
20
+ #### :rocket: New Features
21
+
22
+ - feat: Release 3.0.0 - enable language menu and drop Plone 4 redirects [Alin Voinea - [`66e232a`](https://github.com/eea/volto-eea-website-policy/commit/66e232a1665f5989051ce7251fbe613fb5a5992c)]
23
+ - feat: Enable language dropdown, remove Plone 4 external routes, use english mega menu for all languages - refs #294286 [Alin Voinea - [`3459fef`](https://github.com/eea/volto-eea-website-policy/commit/3459fefabf78866c8c7a49b3940c969c8bd2938b)]
24
+
25
+ #### :hammer_and_wrench: Others
26
+
27
+ ### [2.8.0](https://github.com/eea/volto-eea-website-policy/compare/2.7.0...2.8.0) - 4 December 2025
28
+
29
+ #### :rocket: New Features
30
+
31
+ - feat: Custom ErrorView - refs #291209 [Nilesh - [`842a21b`](https://github.com/eea/volto-eea-website-policy/commit/842a21b2ae439c61ef30c12a6636feb09a8ddd2e)]
32
+
16
33
  ### [2.7.0](https://github.com/eea/volto-eea-website-policy/compare/2.6.0...2.7.0) - 3 December 2025
17
34
 
18
35
  #### :rocket: New Features
package/DEVELOP.md CHANGED
@@ -26,21 +26,20 @@
26
26
 
27
27
  ### Or add @eeacms/volto-eea-website-policy to your Volto project
28
28
 
29
- Before starting make sure your development environment is properly set. See [Volto Developer Documentation](https://docs.voltocms.com/getting-started/install/)
29
+ Before starting make sure your development environment is properly set. See the official Plone documentation for [creating a project with Cookieplone](https://6.docs.plone.org/install/create-project-cookieplone.html) and [installing an add-on in development mode in Volto 18 and 19](https://6.docs.plone.org/volto/development/add-ons/install-an-add-on-dev-18.html).
30
30
 
31
- 1. Make sure you have installed `yo`, `@plone/generator-volto` and `mrs-developer`
31
+ For new Volto 18+ projects, use Cookieplone. It includes `mrs-developer` by default.
32
32
 
33
- npm install -g yo @plone/generator-volto mrs-developer
33
+ 1. Create a new Volto project with Cookieplone
34
34
 
35
- 1. Create new volto app
36
-
37
- yo @plone/volto my-volto-project --addon @eeacms/volto-eea-website-policy --skip-install
38
- cd my-volto-project
35
+ uvx cookieplone project
36
+ cd project-title
39
37
 
40
38
  1. Add the following to `mrs.developer.json`:
41
39
 
42
40
  {
43
41
  "volto-eea-website-policy": {
42
+ "output": "packages",
44
43
  "url": "https://github.com/eea/volto-eea-website-policy.git",
45
44
  "package": "@eeacms/volto-eea-website-policy",
46
45
  "branch": "develop",
@@ -48,28 +47,31 @@ Before starting make sure your development environment is properly set. See [Vol
48
47
  }
49
48
  }
50
49
 
51
- 1. Install
50
+ 1. Add `@eeacms/volto-eea-website-policy` to the `addons` key in your project `volto.config.js`
51
+
52
+ 1. Install or refresh the project setup
52
53
 
53
- make develop
54
- yarn
54
+ make install
55
55
 
56
- 1. Start backend
56
+ 1. Start backend in one terminal
57
57
 
58
- docker run --pull always -it --rm --name plone -p 8080:8080 -e SITE=Plone plone/plone-backend
58
+ make backend-start
59
59
 
60
- ...wait for backend to setup and start - `Ready to handle requests`:
60
+ ...wait for backend to setup and start, ending with `Ready to handle requests`
61
61
 
62
62
  ...you can also check http://localhost:8080/Plone
63
63
 
64
- 1. Start frontend
64
+ 1. Start frontend in a second terminal
65
65
 
66
- yarn start
66
+ make frontend-start
67
67
 
68
68
  1. Go to http://localhost:3000
69
69
 
70
70
  1. Happy hacking!
71
71
 
72
- cd src/addons/volto-eea-website-policy/
72
+ cd packages/volto-eea-website-policy
73
+
74
+ For legacy Volto 17 projects, keep using the yarn-based workflow from the Volto 17 documentation.
73
75
 
74
76
  ## Cypress
75
77
 
@@ -81,7 +83,7 @@ project where you added `volto-eea-website-policy` to `mrs.developer.json`
81
83
  Go to:
82
84
 
83
85
  ```BASH
84
- cd src/addons/volto-eea-website-policy/
86
+ cd packages/volto-eea-website-policy/
85
87
  ```
86
88
 
87
89
  Start:
package/README.md CHANGED
@@ -3,16 +3,16 @@
3
3
  [![Releases](https://img.shields.io/github/v/release/eea/volto-eea-website-policy)](https://github.com/eea/volto-eea-website-policy/releases)
4
4
 
5
5
  [![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-eea-website-policy%2Fmaster&subject=master)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-eea-website-policy/job/master/display/redirect)
6
- [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy-master&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy-master)
7
- [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy-master&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy-master)
8
- [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy-master&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy-master)
9
- [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy-master&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy-master)
6
+ [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy)
7
+ [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy)
8
+ [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy)
9
+ [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy)
10
10
 
11
11
  [![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-eea-website-policy%2Fdevelop&subject=develop)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-eea-website-policy/job/develop/display/redirect)
12
- [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy-develop&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy-develop)
13
- [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy-develop&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy-develop)
14
- [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy-develop&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy-develop)
15
- [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy-develop&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy-develop)
12
+ [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy&branch=develop&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy&branch=develop)
13
+ [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy&branch=develop&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy&branch=develop)
14
+ [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy&branch=develop&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy&branch=develop)
15
+ [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-eea-website-policy&branch=develop&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-eea-website-policy&branch=develop)
16
16
 
17
17
 
18
18
  EEA Main Website (Plone 6) [Volto](https://github.com/plone/volto) Frontend Policy
@@ -32,6 +32,11 @@ EEA Main Website (Plone 6) [Volto](https://github.com/plone/volto) Frontend Poli
32
32
 
33
33
  Go to http://localhost:3000
34
34
 
35
+ `make start` now defaults to Volto 18. To run the same setup against Volto 17, use:
36
+
37
+ VOLTO_VERSION=17 make
38
+ VOLTO_VERSION=17 make start
39
+
35
40
  ### Add volto-eea-website-policy to your Volto project
36
41
 
37
42
  1. Make sure you have a [Plone backend](https://plone.org/download) up-and-running at http://localhost:8080/Plone
@@ -45,30 +50,39 @@ Go to http://localhost:3000
45
50
  * If you already have a volto project, just update `package.json`:
46
51
 
47
52
  ```JSON
48
- "addons": [
49
- "@eeacms/volto-eea-website-policy"
50
- ],
51
-
52
53
  "dependencies": {
53
54
  "@eeacms/volto-eea-website-policy": "*"
54
55
  }
55
56
  ```
56
57
 
57
- * If not, create one:
58
+ and `volto.config.js`:
59
+
60
+ ```JavaScript
61
+ const addons = ['@eeacms/volto-eea-website-policy'];
62
+ ```
63
+
64
+ * If not, create one with Cookieplone, as recommended by the official Plone documentation for Volto 18+:
58
65
 
59
66
  ```
60
- npm install -g yo @plone/generator-volto
61
- yo @plone/volto my-volto-project --canary --addon @eeacms/volto-eea-website-policy
62
- cd my-volto-project
67
+ uvx cookieplone project
68
+ cd project-title
63
69
  ```
64
70
 
65
- 1. Install new add-ons and restart Volto:
71
+ 1. Install or update dependencies, then start the project:
66
72
 
67
73
  ```
68
- yarn
69
- yarn start
74
+ make install
70
75
  ```
71
76
 
77
+ For a Cookieplone project, start the backend and frontend in separate terminals:
78
+
79
+ ```
80
+ make backend-start
81
+ make frontend-start
82
+ ```
83
+
84
+ For a legacy Volto 17 project, install the package with `yarn` and restart the frontend as usual.
85
+
72
86
  1. Go to http://localhost:3000
73
87
 
74
88
  1. Happy editing!
@@ -15,7 +15,7 @@ services:
15
15
  args:
16
16
  ADDON_NAME: "${ADDON_NAME}"
17
17
  ADDON_PATH: "${ADDON_PATH}"
18
- VOLTO_VERSION: ${VOLTO_VERSION:-16}
18
+ VOLTO_VERSION: ${VOLTO_VERSION:-18-yarn}
19
19
  ports:
20
20
  - "3000:3000"
21
21
  - "3001:3001"
@@ -1,5 +1,24 @@
1
1
  require('dotenv').config({ path: __dirname + '/.env' });
2
2
 
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ // Volto 18 exposes @plone/volto-slate as a top-level package.
7
+ const voltoSlatePath = fs.existsSync(
8
+ path.join(
9
+ __dirname,
10
+ '..',
11
+ '..',
12
+ '..',
13
+ 'node_modules',
14
+ '@plone',
15
+ 'volto-slate',
16
+ 'src',
17
+ ),
18
+ )
19
+ ? '<rootDir>/node_modules/@plone/volto-slate/src'
20
+ : '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src';
21
+
3
22
  module.exports = {
4
23
  testMatch: ['**/src/addons/**/?(*.)+(spec|test).[jt]s?(x)'],
5
24
  collectCoverageFrom: [
@@ -19,10 +38,8 @@ module.exports = {
19
38
  '@eeacms/search/(.*)$': '<rootDir>/src/addons/volto-searchlib/searchlib/$1',
20
39
  '@eeacms/search': '<rootDir>/src/addons/volto-searchlib/searchlib',
21
40
  '@eeacms/(.*?)/(.*)$': '<rootDir>/node_modules/@eeacms/$1/src/$2',
22
- '@plone/volto-slate$':
23
- '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src',
24
- '@plone/volto-slate/(.*)$':
25
- '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src/$1',
41
+ '@plone/volto-slate$': voltoSlatePath,
42
+ '@plone/volto-slate/(.*)$': `${voltoSlatePath}/$1`,
26
43
  '~/(.*)$': '<rootDir>/src/$1',
27
44
  'load-volto-addons':
28
45
  '<rootDir>/node_modules/@plone/volto/jest-addons-loader.js',
@@ -11,4 +11,12 @@ msgstr ""
11
11
  "Content-Transfer-Encoding: \n"
12
12
  "Plural-Forms: \n"
13
13
 
14
+ #. Default: "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
15
+ #: components/ErrorView/ErrorView
16
+ msgid "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
17
+ msgstr ""
14
18
 
19
+ #. Default: "Our apologies, our website is not available at the moment."
20
+ #: components/ErrorView/ErrorView
21
+ msgid "Our apologies, our website is not available at the moment."
22
+ msgstr ""
@@ -11,4 +11,12 @@ msgstr ""
11
11
  "Content-Transfer-Encoding: \n"
12
12
  "Plural-Forms: \n"
13
13
 
14
+ #. Default: "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
15
+ #: components/ErrorView/ErrorView
16
+ msgid "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
17
+ msgstr ""
14
18
 
19
+ #. Default: "Our apologies, our website is not available at the moment."
20
+ #: components/ErrorView/ErrorView
21
+ msgid "Our apologies, our website is not available at the moment."
22
+ msgstr ""
@@ -11,4 +11,12 @@ msgstr ""
11
11
  "Content-Transfer-Encoding: \n"
12
12
  "Plural-Forms: \n"
13
13
 
14
+ #. Default: "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
15
+ #: components/ErrorView/ErrorView
16
+ msgid "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
17
+ msgstr ""
14
18
 
19
+ #. Default: "Our apologies, our website is not available at the moment."
20
+ #: components/ErrorView/ErrorView
21
+ msgid "Our apologies, our website is not available at the moment."
22
+ msgstr ""
@@ -11,4 +11,12 @@ msgstr ""
11
11
  "Content-Transfer-Encoding: \n"
12
12
  "Plural-Forms: \n"
13
13
 
14
+ #. Default: "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
15
+ #: components/ErrorView/ErrorView
16
+ msgid "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
17
+ msgstr ""
14
18
 
19
+ #. Default: "Our apologies, our website is not available at the moment."
20
+ #: components/ErrorView/ErrorView
21
+ msgid "Our apologies, our website is not available at the moment."
22
+ msgstr ""
package/locales/volto.pot CHANGED
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: Plone\n"
4
- "POT-Creation-Date: 2024-09-02T18:05:47.779Z\n"
4
+ "POT-Creation-Date: 2025-12-04T19:37:35.684Z\n"
5
5
  "Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
6
6
  "Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
7
7
  "Content-Type: text/plain; charset=utf-8\n"
@@ -13,9 +13,12 @@ msgstr ""
13
13
  "Preferred-Encodings: utf-8\n"
14
14
  "Domain: volto\n"
15
15
 
16
- #. Default: "Navigation"
17
- #: components/Blocks/ContextNavigation/variations/Accordion
18
- #: components/Blocks/ContextNavigation/variations/AccordionClaude
19
- #: components/Blocks/ContextNavigation/variations/AccordionOriginal
20
- msgid "Navigation"
16
+ #. Default: "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
17
+ #: components/ErrorView/ErrorView
18
+ msgid "If this problem persists Contact EEA Web Team (web.helpdesk at eea.europa.eu)"
19
+ msgstr ""
20
+
21
+ #. Default: "Our apologies, our website is not available at the moment."
22
+ #: components/ErrorView/ErrorView
23
+ msgid "Our apologies, our website is not available at the moment."
21
24
  msgstr ""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-eea-website-policy",
3
- "version": "2.8.0",
3
+ "version": "4.0.0",
4
4
  "description": "@eeacms/volto-eea-website-policy: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -3,7 +3,7 @@ import cx from 'classnames';
3
3
 
4
4
  export const FrequencyOfDissemination = ({ value, children, className }) => {
5
5
  if (!value) {
6
- return '';
6
+ return null;
7
7
  }
8
8
 
9
9
  const text = value > 1 ? `Every ${value} years` : 'Once a year';
@@ -24,6 +24,6 @@ describe('FrequencyOfDissemination', () => {
24
24
 
25
25
  it('renders nothing when value is falsy', () => {
26
26
  const { container } = render(<FrequencyOfDissemination value={0} />);
27
- expect(container.firstChild).toMatchSnapshot();
27
+ expect(container.firstChild).toBeNull();
28
28
  });
29
29
  });
@@ -2,7 +2,7 @@ import * as helpers from './helpers';
2
2
  import config from '@plone/volto/registry';
3
3
  import { serializeNodes } from '@plone/volto-slate/editor/render';
4
4
  import { isArray } from 'lodash';
5
- import '@testing-library/jest-dom/extend-expect';
5
+ import '@testing-library/jest-dom';
6
6
 
7
7
  jest.mock('@plone/volto/registry', () => ({
8
8
  settings: {
package/src/index.js CHANGED
@@ -1,4 +1,3 @@
1
- import { runtimeConfig } from '@plone/volto/runtime_config';
2
1
  import { appendGroup, getAsyncData } from './helpers';
3
2
  import { FrequencyOfDissemination } from '@eeacms/volto-eea-website-policy/components/Widgets/FrequencyOfDissemination';
4
3
  import ErrorView from '@eeacms/volto-eea-website-policy/components/ErrorView/ErrorView';
@@ -38,20 +37,6 @@ const overrideBlocks = {
38
37
  };
39
38
 
40
39
  const applyConfig = (config) => {
41
- // #158717#note-25 any path that isn't static, en or controlpanel is treated as external
42
- const notInEN =
43
- /^(?!(#|\/en|\/login-authomatic|\/personal-information|\/azure_login|\/fallback_login|\/static|\/controlpanel|\/cypress|\/login|\/logout|\/contact-form|\/passwordreset)).*$/;
44
- config.settings.externalRoutes = [
45
- ...(config.settings.externalRoutes || []),
46
- {
47
- match: {
48
- path: notInEN,
49
- exact: false,
50
- strict: false,
51
- },
52
- },
53
- ];
54
-
55
40
  // #160689 Redirect contact-form to contact-us
56
41
  config.settings.contactForm = '/en/about/contact-us';
57
42
 
@@ -64,33 +49,15 @@ const applyConfig = (config) => {
64
49
  };
65
50
  }
66
51
 
52
+ // #293749 Language dropdown
53
+ config.settings.hasLanguageDropdown = true;
54
+
67
55
  //This only works if the component is wrapped in ErrorBoundary from volto
68
56
  config.registerComponent({
69
57
  name: 'ErrorBoundary',
70
58
  component: ErrorView,
71
59
  });
72
60
 
73
- // #137187 Keycloak integration
74
- if (runtimeConfig['RAZZLE_KEYCLOAK'] === 'Yes') {
75
- config.settings.externalRoutes = [
76
- ...(config.settings.externalRoutes || []),
77
- {
78
- match: {
79
- path: '/login',
80
- exact: true,
81
- strict: false,
82
- },
83
- },
84
- {
85
- match: {
86
- path: '/logout',
87
- exact: true,
88
- strict: false,
89
- },
90
- },
91
- ];
92
- }
93
-
94
61
  if (config.blocks.blocksConfig.embed_static_content) {
95
62
  //prepopulate data for SSR particularly for history diffs
96
63
  config.blocks.blocksConfig.embed_static_content.getAsyncData = getAsyncData;
@@ -108,7 +75,13 @@ const applyConfig = (config) => {
108
75
  config.settings.isMultilingual = true;
109
76
  config.settings.defaultLanguage =
110
77
  config.settings.eea?.defaultLanguage || 'en';
111
- config.settings.supportedLanguages = ['en'];
78
+
79
+ config.settings.supportedLanguages = config.settings.eea?.languages?.map(
80
+ (item) => item.code,
81
+ ) || ['en'];
82
+
83
+ config.settings.navigationLanguage = 'en';
84
+
112
85
  // Disable languages #158616
113
86
  // config.settings.eea?.languages?.map(
114
87
  // (item) => item.code,