@plone/volto 16.20.5 → 16.20.7
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.draft +10 -11
- package/.editorconfig +0 -2
- package/.yarn/install-state.gz +0 -0
- package/CHANGELOG.md +25 -0
- package/locales/ca/LC_MESSAGES/volto.po +5 -0
- package/locales/ca.json +1 -1
- package/locales/de/LC_MESSAGES/volto.po +5 -0
- package/locales/de.json +1 -1
- package/locales/en/LC_MESSAGES/volto.po +5 -0
- package/locales/en.json +1 -1
- package/locales/es/LC_MESSAGES/volto.po +5 -0
- package/locales/es.json +1 -1
- package/locales/eu/LC_MESSAGES/volto.po +5 -0
- package/locales/eu.json +1 -1
- package/locales/fi/LC_MESSAGES/volto.po +5 -0
- package/locales/fi.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +5 -0
- package/locales/fr.json +1 -1
- package/locales/it/LC_MESSAGES/volto.po +5 -0
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +5 -0
- package/locales/ja.json +1 -1
- package/locales/nl/LC_MESSAGES/volto.po +5 -0
- package/locales/nl.json +1 -1
- package/locales/pt/LC_MESSAGES/volto.po +5 -0
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +5 -0
- package/locales/pt_BR.json +1 -1
- package/locales/ro/LC_MESSAGES/volto.po +5 -0
- package/locales/ro.json +1 -1
- package/locales/volto.pot +6 -1
- package/locales/zh_CN/LC_MESSAGES/volto.po +5 -0
- package/locales/zh_CN.json +1 -1
- package/package.json +1 -1
- package/packages/volto-slate/build/messages/src/blocks/Table/TableBlockEdit.json +1 -1
- package/packages/volto-slate/build/messages/src/blocks/Text/DefaultTextBlockEditor.json +1 -1
- package/packages/volto-slate/build/messages/src/blocks/Text/DetachedTextBlockEditor.json +1 -1
- package/packages/volto-slate/build/messages/src/blocks/Text/SlashMenu.json +1 -1
- package/packages/volto-slate/build/messages/src/editor/plugins/AdvancedLink/index.json +1 -1
- package/packages/volto-slate/build/messages/src/editor/plugins/Link/index.json +1 -1
- package/packages/volto-slate/build/messages/src/editor/plugins/Table/index.json +1 -1
- package/packages/volto-slate/build/messages/src/elementEditor/messages.json +1 -1
- package/packages/volto-slate/build/messages/src/widgets/HtmlSlateWidget.json +1 -1
- package/packages/volto-slate/build/messages/src/widgets/RichTextWidgetView.json +1 -1
- package/packages/volto-slate/package.json +1 -1
- package/packages/volto-slate/src/blocks/Text/SlashMenu.jsx +4 -3
- package/packages/volto-slate/src/editor/deserialize.js +0 -1
- package/src/actions/language/language.js +8 -8
- package/src/components/manage/Add/Add.jsx +2 -2
- package/src/components/manage/BlockChooser/BlockChooser.jsx +8 -3
- package/src/components/manage/BlockChooser/BlockChooser.test.jsx +5 -0
- package/src/components/manage/Blocks/Search/components/DateRangeFacet.jsx +4 -1
- package/src/components/manage/Contents/Contents.jsx +2 -0
- package/src/components/manage/Contents/ContentsItem.jsx +6 -0
- package/src/components/manage/Multilingual/CreateTranslation.jsx +2 -2
- package/src/components/manage/Multilingual/TranslationObject.jsx +4 -3
- package/src/components/manage/Preferences/PersonalPreferences.jsx +2 -2
- package/src/components/manage/Toolbar/Types.jsx +2 -2
- package/src/components/manage/Widgets/DatetimeWidget.jsx +9 -5
- package/src/components/manage/Widgets/RecurrenceWidget/ByDayField.jsx +2 -1
- package/src/components/manage/Widgets/RecurrenceWidget/MonthOfTheYearField.jsx +2 -1
- package/src/components/manage/Widgets/RecurrenceWidget/Occurences.jsx +2 -1
- package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +7 -2
- package/src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthField.jsx +2 -1
- package/src/components/theme/Footer/Footer.jsx +2 -13
- package/src/components/theme/LanguageSelector/LanguageSelector.js +8 -3
- package/src/components/theme/Logo/Logo.jsx +2 -1
- package/src/components/theme/MultilingualRedirector/MultilingualRedirector.jsx +2 -2
- package/src/components/theme/Navigation/NavItem.jsx +4 -2
- package/src/components/theme/Sitemap/Sitemap.jsx +5 -3
- package/src/components/theme/View/EventDatesInfo.jsx +2 -1
- package/src/components/theme/Widgets/DateWidget.jsx +2 -1
- package/src/components/theme/Widgets/DatetimeWidget.jsx +2 -1
- package/src/constants/Languages.js +8 -4
- package/src/helpers/Html/Html.jsx +3 -1
- package/src/helpers/Html/Html.test.jsx +5 -0
- package/src/helpers/Utils/Utils.js +21 -9
- package/src/helpers/Utils/Utils.test.js +4 -4
- package/src/helpers/index.js +5 -2
- package/src/middleware/api.js +7 -3
- package/src/reducers/actions/actions.js +1 -1
- package/src/reducers/breadcrumbs/breadcrumbs.js +1 -1
- package/src/reducers/navigation/navigation.js +1 -1
- package/src/reducers/types/types.js +1 -1
- package/src/server.jsx +28 -23
package/src/server.jsx
CHANGED
|
@@ -26,8 +26,9 @@ import {
|
|
|
26
26
|
Html,
|
|
27
27
|
Api,
|
|
28
28
|
persistAuthToken,
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
toBackendLang,
|
|
30
|
+
toGettextLang,
|
|
31
|
+
toReactIntlLang,
|
|
31
32
|
} from '@plone/volto/helpers';
|
|
32
33
|
import { changeLanguage } from '@plone/volto/actions';
|
|
33
34
|
|
|
@@ -44,9 +45,9 @@ let locales = {};
|
|
|
44
45
|
|
|
45
46
|
if (config.settings) {
|
|
46
47
|
config.settings.supportedLanguages.forEach((lang) => {
|
|
47
|
-
const langFileName =
|
|
48
|
+
const langFileName = toGettextLang(lang);
|
|
48
49
|
import('@root/../locales/' + langFileName + '.json').then((locale) => {
|
|
49
|
-
locales = { ...locales, [lang]: locale.default };
|
|
50
|
+
locales = { ...locales, [toReactIntlLang(lang)]: locale.default };
|
|
50
51
|
});
|
|
51
52
|
});
|
|
52
53
|
}
|
|
@@ -101,13 +102,15 @@ server.use(function (err, req, res, next) {
|
|
|
101
102
|
function setupServer(req, res, next) {
|
|
102
103
|
const api = new Api(req);
|
|
103
104
|
|
|
104
|
-
const lang =
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
const lang = toReactIntlLang(
|
|
106
|
+
new locale.Locales(
|
|
107
|
+
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
108
|
+
config.settings.defaultLanguage ||
|
|
109
|
+
req.headers['accept-language'],
|
|
110
|
+
)
|
|
111
|
+
.best(supported)
|
|
112
|
+
.toString(),
|
|
113
|
+
);
|
|
111
114
|
|
|
112
115
|
// Minimum initial state for the fake Redux store instance
|
|
113
116
|
const initialState = {
|
|
@@ -176,13 +179,15 @@ server.get('/*', (req, res) => {
|
|
|
176
179
|
|
|
177
180
|
const browserdetect = detect(req.headers['user-agent']);
|
|
178
181
|
|
|
179
|
-
const lang =
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
182
|
+
const lang = toReactIntlLang(
|
|
183
|
+
new locale.Locales(
|
|
184
|
+
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
185
|
+
config.settings.defaultLanguage ||
|
|
186
|
+
req.headers['accept-language'],
|
|
187
|
+
)
|
|
188
|
+
.best(supported)
|
|
189
|
+
.toString(),
|
|
190
|
+
);
|
|
186
191
|
|
|
187
192
|
const authToken = req.universalCookies.get('auth_token');
|
|
188
193
|
const initialState = {
|
|
@@ -217,7 +222,7 @@ server.get('/*', (req, res) => {
|
|
|
217
222
|
|
|
218
223
|
loadOnServer({ store, location, routes, api })
|
|
219
224
|
.then(() => {
|
|
220
|
-
const
|
|
225
|
+
const initialLang =
|
|
221
226
|
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
222
227
|
config.settings.defaultLanguage ||
|
|
223
228
|
req.headers['accept-language'];
|
|
@@ -230,15 +235,15 @@ server.get('/*', (req, res) => {
|
|
|
230
235
|
// present the language token field, for some reason. In this case, we
|
|
231
236
|
// should follow the cookie rather then switching the language
|
|
232
237
|
const contentLang = store.getState().content.get?.error
|
|
233
|
-
?
|
|
238
|
+
? initialLang
|
|
234
239
|
: store.getState().content.data?.language?.token ||
|
|
235
240
|
config.settings.defaultLanguage;
|
|
236
241
|
|
|
237
|
-
if (
|
|
238
|
-
const
|
|
242
|
+
if (toBackendLang(initialLang) !== contentLang) {
|
|
243
|
+
const newLang = toReactIntlLang(
|
|
239
244
|
new locale.Locales(contentLang).best(supported).toString(),
|
|
240
245
|
);
|
|
241
|
-
store.dispatch(changeLanguage(
|
|
246
|
+
store.dispatch(changeLanguage(newLang, locales[newLang], req));
|
|
242
247
|
}
|
|
243
248
|
|
|
244
249
|
const context = {};
|