Fix supported languages and i18N cookie #6761
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've identified a logical bug in Volto related to language settings.
Currently, we define supported languages using config.settings.supportedLanguages. For example, in the case of EEA, this is set as:
config.settings.supportedLanguages = ['en'];
This configuration implies that all website resources such as taxonomies should be available only in English.
However, if a editor sets a page’s content to Italian (e.g., for just one page), Volto updates the i18N cookie accordingly. As a result, it attempts to fetch Italian taxonomies, which do not exist since our configuration explicitly supports only English. This behavior is incorrect because Volto should respect the predefined language settings and not attempt to request unsupported taxonomies.
To fix this, I propose modifying how supported languages are set in server.jsx. Instead of using hardcoded values from Volto core (Languages.cjs), we should dynamically check and apply only the explicitly supported languages defined in the configuration.
Let me know your thoughts on this approach!
screen-capture (28).webm