Bugfixes (#74)

* Fix demo post date format
* Fix test data
* Fix sorting
* Fix load more
* Fix markdown preview not updating
* Load relation options if value provided
* Update entry with default date
* Better change detection
* Fix sticky headers on tablet view (docs site)
This commit is contained in:
Daniel Lautzenheiser 2022-11-08 09:54:18 -05:00 committed by GitHub
parent 16339ce1bf
commit af8f18ce54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 388 additions and 322 deletions

View File

@ -2,6 +2,7 @@ backend:
name: test-repo name: test-repo
site_url: 'https://example.com' site_url: 'https://example.com'
media_folder: assets/uploads media_folder: assets/uploads
locale: en
collections: collections:
- name: posts - name: posts
label: Posts label: Posts
@ -48,7 +49,7 @@ collections:
widget: datetime widget: datetime
date_format: yyyy-MM-dd date_format: yyyy-MM-dd
time_format: 'HH:mm' time_format: 'HH:mm'
format: 'yyyy-MM-dd HH:mm' format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
- label: Cover Image - label: Cover Image
name: image name: image
widget: image widget: image

View File

@ -119,7 +119,7 @@
`\"\ndraft: ${i % 2 === 0}` + `\"\ndraft: ${i % 2 === 0}` +
'\ndate: ' + '\ndate: ' +
dateString + dateString +
'T00:00:00.000Z\n---\n\n# The post is number ' + 'T00:00:00.000Z\n---\n# The post is number ' +
i + i +
'\n\nAnd this is yet another identical post body', '\n\nAnd this is yet another identical post body',
}; };
@ -140,7 +140,7 @@
i + i +
'"\ndate: ' + '"\ndate: ' +
dateString + dateString +
'T00:00:00.000Z\n---\n\n# Loren ipsum dolor sit amet', 'T00:00:00.000Z\n---\n# Loren ipsum dolor sit amet',
}; };
} }
window.repoFiles._pages = { window.repoFiles._pages = {

View File

@ -655,12 +655,12 @@ const appendActions = {
function addAppendActionsToCursor(cursor: Cursor) { function addAppendActionsToCursor(cursor: Cursor) {
return Cursor.create(cursor).updateStore(store => ({ return Cursor.create(cursor).updateStore(store => ({
...store, ...store,
actions: new Set( actions: new Set([
...store.actions, ...store.actions,
...(Object.entries(appendActions) ...(Object.entries(appendActions)
.filter(([_k, v]) => store.actions.has(v.action as string)) .filter(([_k, v]) => store.actions.has(v.action as string))
.map(([k, _v]) => k) as string[]), .map(([k, _v]) => k) as string[]),
), ]),
})); }));
} }

View File

@ -65,13 +65,13 @@ const EntryListing = ({
handleCursorActions, handleCursorActions,
...otherProps ...otherProps
}: EntryListingProps) => { }: EntryListingProps) => {
const hasMore = useCallback(() => { const hasMore = useMemo(() => {
const hasMore = cursor?.actions?.has('append_next'); const hasMore = cursor?.actions?.has('append_next');
return hasMore; return hasMore;
}, [cursor?.actions]); }, [cursor?.actions]);
const handleLoadMore = useCallback(() => { const handleLoadMore = useCallback(() => {
if (hasMore()) { if (hasMore) {
handleCursorActions('append_next'); handleCursorActions('append_next');
} }
}, [handleCursorActions, hasMore]); }, [handleCursorActions, hasMore]);
@ -138,7 +138,7 @@ const EntryListing = ({
<div> <div>
<CardsGrid $layout={viewStyle}> <CardsGrid $layout={viewStyle}>
{renderedCards} {renderedCards}
{hasMore() && <Waypoint key={page} onEnter={handleLoadMore} />} {hasMore && <Waypoint key={page} onEnter={handleLoadMore} />}
</CardsGrid> </CardsGrid>
</div> </div>
); );

View File

@ -31,7 +31,7 @@ function nextSortDirection(direction: SortDirection) {
case SORT_DIRECTION_DESCENDING: case SORT_DIRECTION_DESCENDING:
return SORT_DIRECTION_NONE; return SORT_DIRECTION_NONE;
default: default:
return SORT_DIRECTION_NONE; return SORT_DIRECTION_ASCENDING;
} }
} }

View File

@ -175,12 +175,12 @@ const Editor = ({
useEffect(() => { useEffect(() => {
if (!prevLocalBackup && localBackup) { if (!prevLocalBackup && localBackup) {
const updateLocalBackup = async () => { const updateLocalBackup = async () => {
const confirmLoadBackup = await confirm({ const confirmLoadBackupBody = await confirm({
title: 'editor.editor.confirmLoadBackupTitle', title: 'editor.editor.confirmLoadBackupTitle',
body: 'editor.editor.confirmLoadBackupBody', body: 'editor.editor.confirmLoadBackupBody',
}); });
if (confirmLoadBackup) { if (confirmLoadBackupBody) {
loadLocalBackup(); loadLocalBackup();
setVersion(version + 1); setVersion(version + 1);
} else { } else {

View File

@ -237,7 +237,7 @@ const MediaLibrary = ({
if ( if (
!(await confirm({ !(await confirm({
title: 'mediaLibrary.mediaLibrary.onDeleteTitle', title: 'mediaLibrary.mediaLibrary.onDeleteTitle',
body: 'mediaLibrary.mediaLibrary.onDeleteBody', body: 'mediaLibrary.mediaLibrary.onDelete',
color: 'error', color: 'error',
})) }))
) { ) {

View File

@ -51,5 +51,8 @@ export function addExtensions() {
CodeWidget(), CodeWidget(),
ColorStringWidget(), ColorStringWidget(),
]); ]);
registerLocale('en', locales.en);
Object.keys(locales).forEach(locale => {
registerLocale(locale, locales[locale]);
});
} }

View File

@ -41,7 +41,7 @@ function createCursorStore(...args: unknown[]) {
return { return {
// actions are a Set, rather than a List, to ensure an efficient .has // actions are a Set, rather than a List, to ensure an efficient .has
actions: new Set(...actions), actions: new Set([...actions]),
// data and meta are Maps // data and meta are Maps
data, data,
meta: filterUnknownMetaKeys(meta), meta: filterUnknownMetaKeys(meta),
@ -97,13 +97,13 @@ export default class Cursor {
addAction(action: string) { addAction(action: string) {
return this.updateStore(store => ({ return this.updateStore(store => ({
...store, ...store,
actions: new Set(...store.actions, action), actions: new Set([...store.actions, action]),
})); }));
} }
removeAction(action: string) { removeAction(action: string) {
return this.updateStore(store => { return this.updateStore(store => {
const newActions = new Set(...store.actions); const newActions = new Set([...store.actions]);
newActions.delete(action); newActions.delete(action);
return { return {
@ -123,7 +123,7 @@ export default class Cursor {
mergeActions(actions: Set<string>) { mergeActions(actions: Set<string>) {
return this.updateStore(store => ({ return this.updateStore(store => ({
...store, ...store,
actions: new Set({ ...store.actions, ...actions }), actions: new Set([...store.actions, ...actions]),
})); }));
} }

View File

@ -97,16 +97,16 @@ const bg: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Наистина ли искате да напуснете тази страница?', onLeavePage: 'Наистина ли искате да напуснете тази страница?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Имате незапазени промени, моля, запазете преди актуализиране на състоянието.', 'Имате незапазени промени, моля, запазете преди актуализиране на състоянието.',
onPublishingNotReady: 'Моля, актуализирайте състоянието на „Готово“, преди да публикувате', onPublishingNotReadyBody: 'Моля, актуализирайте състоянието на „Готово“, преди да публикувате',
onPublishingWithUnsavedChanges: 'Имате незапазени промени, моля, запазете преди публикуване.', onPublishingWithUnsavedChangesBody: 'Имате незапазени промени, моля, запазете преди публикуване.',
onPublishing: 'Наистина ли искате да публикувате този запис?', onPublishingBody: 'Наистина ли искате да публикувате този запис?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Наистина ли искате да изтриете този публикуван запис, както и незаписаните промени от текущата сесия?', 'Наистина ли искате да изтриете този публикуван запис, както и незаписаните промени от текущата сесия?',
onDeletePublishedEntry: 'Наистина ли искате да изтриете този публикуван запис?', onDeletePublishedEntryBody: 'Наистина ли искате да изтриете този публикуван запис?',
loadingEntry: 'Зареждане на запис...', loadingEntry: 'Зареждане на запис...',
confirmLoadBackup: confirmLoadBackupBody:
'За този запис беше възстановен локален архив, бихте ли искали да го използвате?', 'За този запис беше възстановен локален архив, бихте ли искали да го използвате?',
}, },
editorInterface: { editorInterface: {
@ -198,8 +198,8 @@ const bg: LocalePhrasesRoot = {
copied: 'Копирано', copied: 'Копирано',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Наистина ли искате да изтриете избрания медиен файл?', onDeleteBody: 'Наистина ли искате да изтриете избрания медиен файл?',
fileTooLarge: fileTooLargeBody:
'Файлът е твърде голям.\nНастройките не позволяват запазване на файлове по-големи от %{size} kB.', 'Файлът е твърде голям.\nНастройките не позволяват запазване на файлове по-големи от %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -97,17 +97,17 @@ const ca: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Estàs segur que vols deixar aquesta pàgina?', onLeavePage: 'Estàs segur que vols deixar aquesta pàgina?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
"Tens canvis no guardats, si us plau, guarda'ls abans d'actualitzar l'estat.", "Tens canvis no guardats, si us plau, guarda'ls abans d'actualitzar l'estat.",
onPublishingNotReady: 'Si us plau, actualitza l\'estat a "Llest" abans de publicar.', onPublishingNotReadyBody: 'Si us plau, actualitza l\'estat a "Llest" abans de publicar.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
"Tens canvis no guardats, si us plau, guarda'ls abans de publicar-los.", "Tens canvis no guardats, si us plau, guarda'ls abans de publicar-los.",
onPublishing: 'Estàs segur que vols publicar aquesta entrada?', onPublishingBody: 'Estàs segur que vols publicar aquesta entrada?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Està segur que vol eliminar aquesta entrada publicada, així com els canvis no guardats de la sessió actual?', 'Està segur que vol eliminar aquesta entrada publicada, així com els canvis no guardats de la sessió actual?',
onDeletePublishedEntry: 'Està segur que vol eliminar aquesta entrada publicada?', onDeletePublishedEntryBody: 'Està segur que vol eliminar aquesta entrada publicada?',
loadingEntry: 'Carregant entrada...', loadingEntry: 'Carregant entrada...',
confirmLoadBackup: confirmLoadBackupBody:
"S'ha recuperat una copia de seguretat local per aquesta entrada. La vol utilitzar?", "S'ha recuperat una copia de seguretat local per aquesta entrada. La vol utilitzar?",
}, },
editorInterface: { editorInterface: {
@ -197,8 +197,8 @@ const ca: LocalePhrasesRoot = {
copied: 'Copiat', copied: 'Copiat',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Està segur de que vol eliminar el mitjà seleccionat?', onDeleteBody: 'Està segur de que vol eliminar el mitjà seleccionat?',
fileTooLarge: fileTooLargeBody:
'El fitxer és massa gran.\nLa configuració no permet fitxers més grans de %{size} kB.', 'El fitxer és massa gran.\nLa configuració no permet fitxers més grans de %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -98,15 +98,15 @@ const cs: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Chcete opravdu opustit tuto stránku?', onLeavePage: 'Chcete opravdu opustit tuto stránku?',
onUpdatingWithUnsavedChanges: 'Máte neuložené změny. Uložte je prosím před změnou statusu.', onUpdatingWithUnsavedChangesBody: 'Máte neuložené změny. Uložte je prosím před změnou statusu.',
onPublishingNotReady: 'Změňte stav na „Připraveno“ před publikováním.', onPublishingNotReadyBody: 'Změňte stav na „Připraveno“ před publikováním.',
onPublishingWithUnsavedChanges: 'Máte neuložené změny, prosím uložte je před publikováním.', onPublishingWithUnsavedChangesBody: 'Máte neuložené změny, prosím uložte je před publikováním.',
onPublishing: 'Chcete opravdu publikovat tento záznam?', onPublishingBody: 'Chcete opravdu publikovat tento záznam?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Chcete opravdu vymazat tento publikovaný záznam a všechny neuložené změny z této relace?', 'Chcete opravdu vymazat tento publikovaný záznam a všechny neuložené změny z této relace?',
onDeletePublishedEntry: 'Chcete opravdu smazat tento publikovaný záznam?', onDeletePublishedEntryBody: 'Chcete opravdu smazat tento publikovaný záznam?',
loadingEntry: 'Načítání záznamu…', loadingEntry: 'Načítání záznamu…',
confirmLoadBackup: 'Lokální kopie tohoto záznamu byla nalezena, chcete ji použít?', confirmLoadBackupBody: 'Lokální kopie tohoto záznamu byla nalezena, chcete ji použít?',
}, },
editorInterface: { editorInterface: {
toggleI18n: 'Přepnout lokalizaci', toggleI18n: 'Přepnout lokalizaci',
@ -197,8 +197,8 @@ const cs: LocalePhrasesRoot = {
copied: 'Zkopírováno', copied: 'Zkopírováno',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Chcete skutečně vymazat označená média?', onDeleteBody: 'Chcete skutečně vymazat označená média?',
fileTooLarge: 'Soubor je příliš velký.\nSoubor musí být menší než %{size} kB.', fileTooLargeBody: 'Soubor je příliš velký.\nSoubor musí být menší než %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Načítání…', loading: 'Načítání…',

View File

@ -97,17 +97,17 @@ const da: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Er du sikker på at du vil forlade siden?', onLeavePage: 'Er du sikker på at du vil forlade siden?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Du har ændringer der ikke er gemt, gem disse før status ændres.', 'Du har ændringer der ikke er gemt, gem disse før status ændres.',
onPublishingNotReady: 'Skift status til "Klar" inden publicering.', onPublishingNotReadyBody: 'Skift status til "Klar" inden publicering.',
onPublishingWithUnsavedChanges: 'Du har ændringer der ikke er gemt, gem inden publicing.', onPublishingWithUnsavedChangesBody: 'Du har ændringer der ikke er gemt, gem inden publicing.',
onPublishing: 'Er du sikker på at du vil publicere dette dokument?', onPublishingBody: 'Er du sikker på at du vil publicere dette dokument?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Er du sikker på at du vil slette dette tidliere publiceret dokument, samt dine nuværende ugemte ændringer fra denne session?', 'Er du sikker på at du vil slette dette tidliere publiceret dokument, samt dine nuværende ugemte ændringer fra denne session?',
onDeletePublishedEntry: onDeletePublishedEntryBody:
'Er du sikker på at du vil slette dette tidliere publiceret dokument?', 'Er du sikker på at du vil slette dette tidliere publiceret dokument?',
loadingEntry: 'Indlæser dokument...', loadingEntry: 'Indlæser dokument...',
confirmLoadBackup: confirmLoadBackupBody:
'En lokal sikkerhedskopi blev gendannet for dette dokument, vil du anvende denne?', 'En lokal sikkerhedskopi blev gendannet for dette dokument, vil du anvende denne?',
}, },
editorToolbar: { editorToolbar: {
@ -183,8 +183,8 @@ const da: LocalePhrasesRoot = {
draft: 'Kladde', draft: 'Kladde',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Er du sikker på at du vil slette det valgte medie?', onDeleteBody: 'Er du sikker på at du vil slette det valgte medie?',
fileTooLarge: 'Filen er for stor.\nOpsætningen tillader ikke filer større end %{size} kB.', fileTooLargeBody: 'Filen er for stor.\nOpsætningen tillader ikke filer større end %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Indlæser...', loading: 'Indlæser...',

View File

@ -94,24 +94,24 @@ const de: LocalePhrasesRoot = {
i18n: { i18n: {
writingInLocale: 'Aktuelle Sprache: %{locale}', writingInLocale: 'Aktuelle Sprache: %{locale}',
copyFromLocale: 'Aus anderer Sprache übernehmen', copyFromLocale: 'Aus anderer Sprache übernehmen',
copyFromLocaleConfirm: copyFromLocaleConfirmBody:
'Wollen Sie wirklich die Daten aus der Sprache %{locale} übernehmen?\nAlle bishergen Inhalte werden überschrieben.', 'Wollen Sie wirklich die Daten aus der Sprache %{locale} übernehmen?\nAlle bishergen Inhalte werden überschrieben.',
}, },
}, },
editor: { editor: {
onLeavePage: 'Möchten Sie diese Seite wirklich verlassen?', onLeavePage: 'Möchten Sie diese Seite wirklich verlassen?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Es sind noch ungespeicherte Änderungen vorhanden. Bitte speichern Sie diese, bevor Sie den Status aktualisieren.', 'Es sind noch ungespeicherte Änderungen vorhanden. Bitte speichern Sie diese, bevor Sie den Status aktualisieren.',
onPublishingNotReady: onPublishingNotReadyBody:
'Bitte setzten die den Status vor dem Veröffentlichen auf "Abgeschlossen".', 'Bitte setzten die den Status vor dem Veröffentlichen auf "Abgeschlossen".',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Es sind noch ungespeicherte Änderungen vorhanden. Bitte speicheren Sie vor dem Veröffentlichen.', 'Es sind noch ungespeicherte Änderungen vorhanden. Bitte speicheren Sie vor dem Veröffentlichen.',
onPublishing: 'Soll dieser Beitrag wirklich veröffentlicht werden?', onPublishingBody: 'Soll dieser Beitrag wirklich veröffentlicht werden?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Möchten Sie diesen veröffentlichten Beitrag, sowie Ihre nicht gespeicherten Änderungen löschen?', 'Möchten Sie diesen veröffentlichten Beitrag, sowie Ihre nicht gespeicherten Änderungen löschen?',
onDeletePublishedEntry: 'Soll dieser veröffentlichte Beitrag wirklich gelöscht werden?', onDeletePublishedEntryBody: 'Soll dieser veröffentlichte Beitrag wirklich gelöscht werden?',
loadingEntry: 'Beitrag laden...', loadingEntry: 'Beitrag laden...',
confirmLoadBackup: confirmLoadBackupBody:
'Für diesen Beitrag ist ein lokales Backup vorhanden. Möchten Sie dieses benutzen?', 'Für diesen Beitrag ist ein lokales Backup vorhanden. Möchten Sie dieses benutzen?',
}, },
editorInterface: { editorInterface: {
@ -211,8 +211,8 @@ const de: LocalePhrasesRoot = {
copied: 'Kopiert', copied: 'Kopiert',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Soll das ausgewählte Medium wirklich gelöscht werden?', onDeleteBody: 'Soll das ausgewählte Medium wirklich gelöscht werden?',
fileTooLarge: 'Datei zu groß.\nErlaubt sind nur Dateien bis %{size} kB.', fileTooLargeBody: 'Datei zu groß.\nErlaubt sind nur Dateien bis %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Laden...', loading: 'Laden...',

View File

@ -82,18 +82,18 @@ const es: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: '¿Estás seguro de que quieres dejar esta página?', onLeavePage: '¿Estás seguro de que quieres dejar esta página?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Tiene cambios no guardados, por favor, guárdelos antes de actualizar el estado.', 'Tiene cambios no guardados, por favor, guárdelos antes de actualizar el estado.',
onPublishingNotReady: 'Por favor, actualice el estado a "Ready" antes de publicar.', onPublishingNotReadyBody: 'Por favor, actualice el estado a "Ready" antes de publicar.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Tiene cambios no guardados, por favor guárdelos antes de publicarlos.', 'Tiene cambios no guardados, por favor guárdelos antes de publicarlos.',
onPublishing: '¿Estás seguro de que quieres publicar esta entrada?', onPublishingBody: '¿Estás seguro de que quieres publicar esta entrada?',
onUnpublishing: '¿Estás seguro de que quieres retirar esta entrada?', onUnpublishing: '¿Estás seguro de que quieres retirar esta entrada?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'¿Está seguro de que desea eliminar esta entrada publicada, así como los cambios no guardados de la sesión actual?', '¿Está seguro de que desea eliminar esta entrada publicada, así como los cambios no guardados de la sesión actual?',
onDeletePublishedEntry: '¿Estás seguro de que quieres borrar esta entrada publicada?', onDeletePublishedEntryBody: '¿Estás seguro de que quieres borrar esta entrada publicada?',
loadingEntry: 'Cargando entrada...', loadingEntry: 'Cargando entrada...',
confirmLoadBackup: confirmLoadBackupBody:
'Se recuperó una copia de seguridad local para esta entrada, ¿le gustaría utilizarla?', 'Se recuperó una copia de seguridad local para esta entrada, ¿le gustaría utilizarla?',
}, },
editorToolbar: { editorToolbar: {
@ -161,8 +161,8 @@ const es: LocalePhrasesRoot = {
draft: 'Borrador', draft: 'Borrador',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: '¿Está seguro de que desea eliminar el archivo seleccionado?', onDeleteBody: '¿Está seguro de que desea eliminar el archivo seleccionado?',
fileTooLarge: fileTooLargeBody:
'Archivo muy pesado.\nConfigurado para no permitir archivos más pesados que %{size} kB.', 'Archivo muy pesado.\nConfigurado para no permitir archivos más pesados que %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -98,17 +98,17 @@ const fr: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Voulez-vous vraiment quitter cette page ?', onLeavePage: 'Voulez-vous vraiment quitter cette page ?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Veuillez enregistrer vos modifications avant de mettre à jour le statut.', 'Veuillez enregistrer vos modifications avant de mettre à jour le statut.',
onPublishingNotReady: 'Veuillez mettre à jour le statut à "Prêt" avant de publier.', onPublishingNotReadyBody: 'Veuillez mettre à jour le statut à "Prêt" avant de publier.',
onPublishingWithUnsavedChanges: 'Veuillez enregistrer vos modifications avant de publier.', onPublishingWithUnsavedChangesBody: 'Veuillez enregistrer vos modifications avant de publier.',
onPublishing: 'Voulez-vous vraiment publier cette entrée ?', onPublishingBody: 'Voulez-vous vraiment publier cette entrée ?',
onUnpublishing: 'Voulez-vous vraiment dépublier cette entrée ?', onUnpublishing: 'Voulez-vous vraiment dépublier cette entrée ?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Voulez-vous vraiment supprimer cette entrée publiée ainsi que vos modifications non enregistrées de cette session ?', 'Voulez-vous vraiment supprimer cette entrée publiée ainsi que vos modifications non enregistrées de cette session ?',
onDeletePublishedEntry: 'Voulez-vous vraiment supprimer cette entrée publiée ?', onDeletePublishedEntryBody: 'Voulez-vous vraiment supprimer cette entrée publiée ?',
loadingEntry: "Chargement de l'entrée...", loadingEntry: "Chargement de l'entrée...",
confirmLoadBackup: confirmLoadBackupBody:
"Une sauvegarde locale a été trouvée pour cette entrée. Voulez-vous l'utiliser ?", "Une sauvegarde locale a été trouvée pour cette entrée. Voulez-vous l'utiliser ?",
}, },
editorInterface: { editorInterface: {
@ -206,8 +206,8 @@ const fr: LocalePhrasesRoot = {
copied: 'Copié', copied: 'Copié',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Voulez-vous vraiment supprimer la ressource sélectionné ?', onDeleteBody: 'Voulez-vous vraiment supprimer la ressource sélectionné ?',
fileTooLarge: fileTooLargeBody:
"Le fichier est trop volumineux.\nL'instance est configurée pour bloquer les envois de plus de %{size} kB.", "Le fichier est trop volumineux.\nL'instance est configurée pour bloquer les envois de plus de %{size} kB.",
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -66,20 +66,20 @@ const gr: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Είστε βέβαιοι ότι θέλετε να αφήσετε αυτήν τη σελίδα;', onLeavePage: 'Είστε βέβαιοι ότι θέλετε να αφήσετε αυτήν τη σελίδα;',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Έχετε μη αποθηκευμένες αλλαγές, αποθηκεύστε πριν να ενημερώσετε την κατάσταση.', 'Έχετε μη αποθηκευμένες αλλαγές, αποθηκεύστε πριν να ενημερώσετε την κατάσταση.',
onPublishingNotReady: 'Ενημερώστε την κατάσταση σε "έτοιμο" πριν από τη δημοσίευση.', onPublishingNotReadyBody: 'Ενημερώστε την κατάσταση σε "έτοιμο" πριν από τη δημοσίευση.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Έχετε μη αποθηκευμένες αλλαγές, αποθηκεύστε πριν από τη δημοσίευση.', 'Έχετε μη αποθηκευμένες αλλαγές, αποθηκεύστε πριν από τη δημοσίευση.',
onPublishing: 'Είστε βέβαιοι ότι θέλετε να δημοσιεύσετε αυτήν την καταχώρηση;', onPublishingBody: 'Είστε βέβαιοι ότι θέλετε να δημοσιεύσετε αυτήν την καταχώρηση;',
onUnpublishing: onUnpublishing:
'Είστε βέβαιοι ότι θέλετε να καταργήσετε τη δημοσίευση αυτής της καταχώρησης;', 'Είστε βέβαιοι ότι θέλετε να καταργήσετε τη δημοσίευση αυτής της καταχώρησης;',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν τη δημοσιευμένη καταχώρηση, καθώς και τις αλλαγές που δεν αποθηκεύσατε από την τρέχουσα περίοδο λειτουργίας;', 'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν τη δημοσιευμένη καταχώρηση, καθώς και τις αλλαγές που δεν αποθηκεύσατε από την τρέχουσα περίοδο λειτουργίας;',
onDeletePublishedEntry: onDeletePublishedEntryBody:
'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν τη δημοσιευμένη καταχώρηση;', 'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν τη δημοσιευμένη καταχώρηση;',
loadingEntry: 'Φόρτωση εισόδου...', loadingEntry: 'Φόρτωση εισόδου...',
confirmLoadBackup: confirmLoadBackupBody:
'Ανακτήθηκε ένα τοπικό αντίγραφο ασφαλείας για αυτήν την καταχώρηση, θέλετε να το χρησιμοποιήσετε;', 'Ανακτήθηκε ένα τοπικό αντίγραφο ασφαλείας για αυτήν την καταχώρηση, θέλετε να το χρησιμοποιήσετε;',
}, },
editorToolbar: { editorToolbar: {
@ -140,8 +140,8 @@ const gr: LocalePhrasesRoot = {
draft: 'Προσχέδιο', draft: 'Προσχέδιο',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα πολυμέσα;', onDeleteBody: 'Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα πολυμέσα;',
fileTooLarge: fileTooLargeBody:
'Το αρχείο είναι πολύ μεγάλο.\nΔεν επιτρέπονται αρχεία μεγαλύτερα από %{size} kB.', 'Το αρχείο είναι πολύ μεγάλο.\nΔεν επιτρέπονται αρχεία μεγαλύτερα από %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -97,16 +97,16 @@ const he: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'האם ברצונך לעבור לעמוד אחר ללא שמירה?', onLeavePage: 'האם ברצונך לעבור לעמוד אחר ללא שמירה?',
onUpdatingWithUnsavedChanges: 'בוצעו שינויים שלא נשמרו. יש לבצע שמירה לפני עדכון מצב האייטם.', onUpdatingWithUnsavedChangesBody: 'בוצעו שינויים שלא נשמרו. יש לבצע שמירה לפני עדכון מצב האייטם.',
onPublishingNotReady: 'נא לשנות את מצב האייטם ל״מוכן לפרסום״ לפני הפרסום.', onPublishingNotReadyBody: 'נא לשנות את מצב האייטם ל״מוכן לפרסום״ לפני הפרסום.',
onPublishingWithUnsavedChanges: 'בוצעו שינויים שלא נשמרו. יש לבצע שמירה לפני הפרסום.', onPublishingWithUnsavedChangesBody: 'בוצעו שינויים שלא נשמרו. יש לבצע שמירה לפני הפרסום.',
onPublishing: 'האם ברצונך לפרסם את האייטם?', onPublishingBody: 'האם ברצונך לפרסם את האייטם?',
onUnpublishing: 'האם ברצונך לבטל את פרסום האייטם?', onUnpublishing: 'האם ברצונך לבטל את פרסום האייטם?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'האם ברצונך למחוק את האייטם הזה לפני פרסומו, וכן את השינויים שבוצעו כעת וטרם נשמרו?', 'האם ברצונך למחוק את האייטם הזה לפני פרסומו, וכן את השינויים שבוצעו כעת וטרם נשמרו?',
onDeletePublishedEntry: 'האם ברצונך למחוק את האייטם הזה לאחר פרסומו?', onDeletePublishedEntryBody: 'האם ברצונך למחוק את האייטם הזה לאחר פרסומו?',
loadingEntry: 'טעינת אייטם...', loadingEntry: 'טעינת אייטם...',
confirmLoadBackup: 'קיים עותק מקומי שמור של האייטם. האם ברצונך לטעון אותו?', confirmLoadBackupBody: 'קיים עותק מקומי שמור של האייטם. האם ברצונך לטעון אותו?',
}, },
editorInterface: { editorInterface: {
toggleI18n: 'החלפת שפות', toggleI18n: 'החלפת שפות',
@ -207,8 +207,8 @@ const he: LocalePhrasesRoot = {
copied: 'העתקה הושלמה', copied: 'העתקה הושלמה',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'האם ברצונך למחוק את פריט המדיה הזה?', onDeleteBody: 'האם ברצונך למחוק את פריט המדיה הזה?',
fileTooLarge: 'הקובץ גדול מדי.\nמוגדר לא לאפשר העלאת קבצים גדולים מ-%{size} קילובייט.', fileTooLargeBody: 'הקובץ גדול מדי.\nמוגדר לא לאפשר העלאת קבצים גדולים מ-%{size} קילובייט.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'טעינה...', loading: 'טעינה...',

View File

@ -97,18 +97,18 @@ const hr: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Jeste li sigurni da želite napustiti stranicu?', onLeavePage: 'Jeste li sigurni da želite napustiti stranicu?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Imate nespremljene promjene, molimo spremite prije ažuriranja statusa.', 'Imate nespremljene promjene, molimo spremite prije ažuriranja statusa.',
onPublishingNotReady: 'Molimo ažurirajte status na "Spremno" prije objavljivanja.', onPublishingNotReadyBody: 'Molimo ažurirajte status na "Spremno" prije objavljivanja.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Imate nespremljene promjene, molimo spremite prije objavljivanja.', 'Imate nespremljene promjene, molimo spremite prije objavljivanja.',
onPublishing: 'Jeste li sigurni da želite objaviti ovaj unos?', onPublishingBody: 'Jeste li sigurni da želite objaviti ovaj unos?',
onUnpublishing: 'Jeste li sigurni da želite maknuti objavu za ovaj unos?', onUnpublishing: 'Jeste li sigurni da želite maknuti objavu za ovaj unos?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Jeste li sigurni da želite obrisati objavljeni unos, te nespremljene promjene u trenutnoj sesiji?', 'Jeste li sigurni da želite obrisati objavljeni unos, te nespremljene promjene u trenutnoj sesiji?',
onDeletePublishedEntry: 'Jeste li sigurni da želite obrisati ovaj objavljeni unos?', onDeletePublishedEntryBody: 'Jeste li sigurni da želite obrisati ovaj objavljeni unos?',
loadingEntry: 'Učitavanje unosa...', loadingEntry: 'Učitavanje unosa...',
confirmLoadBackup: 'Lokalna kopija je dohvaćena za ovaj unos, želite li ju koristiti?', confirmLoadBackupBody: 'Lokalna kopija je dohvaćena za ovaj unos, želite li ju koristiti?',
}, },
editorToolbar: { editorToolbar: {
publishing: 'Objavljivanje...', publishing: 'Objavljivanje...',
@ -185,8 +185,8 @@ const hr: LocalePhrasesRoot = {
draft: 'Skica', draft: 'Skica',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Jeste li sigurni da želite obrisati odabrane medijske datoteke?', onDeleteBody: 'Jeste li sigurni da želite obrisati odabrane medijske datoteke?',
fileTooLarge: fileTooLargeBody:
'Datoteka prevelika.\nKonfigurirano da ne podržava datoteke veće od %{size} kB.', 'Datoteka prevelika.\nKonfigurirano da ne podržava datoteke veće od %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -52,18 +52,18 @@ const hu: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Biztos hogy el akarod hagyni az oldalt?', onLeavePage: 'Biztos hogy el akarod hagyni az oldalt?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Mentettlen változtatások vannak, kérjük, mentse az állapot frissítése előtt.', 'Mentettlen változtatások vannak, kérjük, mentse az állapot frissítése előtt.',
onPublishingNotReady: 'Változtasd az állapotot "Kész"-re publikálás előtt.', onPublishingNotReadyBody: 'Változtasd az állapotot "Kész"-re publikálás előtt.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Mentetlen változtatások vannak, kérjük, mentsen a publikálás előtt.', 'Mentetlen változtatások vannak, kérjük, mentsen a publikálás előtt.',
onPublishing: 'Publikálod ezt a bejegyzést?', onPublishingBody: 'Publikálod ezt a bejegyzést?',
onUnpublishing: 'Publikálás visszavonása erre a bejegyzésre?', onUnpublishing: 'Publikálás visszavonása erre a bejegyzésre?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Töröljük ezt a publikált bejegyzést, a többi mentetlen modositással együtt?', 'Töröljük ezt a publikált bejegyzést, a többi mentetlen modositással együtt?',
onDeletePublishedEntry: 'Töröljük ezt a publikált bejegyzést?', onDeletePublishedEntryBody: 'Töröljük ezt a publikált bejegyzést?',
loadingEntry: 'Bejegyzés betöltése...', loadingEntry: 'Bejegyzés betöltése...',
confirmLoadBackup: confirmLoadBackupBody:
'Helyi biztonsági másolat került helyre ehhez a bejegyzéshez, szeretné használni?', 'Helyi biztonsági másolat került helyre ehhez a bejegyzéshez, szeretné használni?',
}, },
editorToolbar: { editorToolbar: {
@ -128,7 +128,7 @@ const hu: LocalePhrasesRoot = {
draft: 'Piszkozat', draft: 'Piszkozat',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Biztos törli a kiválasztott média tartalmat?', onDeleteBody: 'Biztos törli a kiválasztott média tartalmat?',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Betöltés...', loading: 'Betöltés...',

View File

@ -66,18 +66,18 @@ const it: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Sei sicuro di voler lasciare questa pagina?', onLeavePage: 'Sei sicuro di voler lasciare questa pagina?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Hai delle modifiche non salvate, salvale prima di aggiornare lo status.', 'Hai delle modifiche non salvate, salvale prima di aggiornare lo status.',
onPublishingNotReady: 'Aggiorna lo status a "Pronto" prima di pubblicare.', onPublishingNotReadyBody: 'Aggiorna lo status a "Pronto" prima di pubblicare.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Hai delle modifiche non salvate, salvale prima di pubblicare.', 'Hai delle modifiche non salvate, salvale prima di pubblicare.',
onPublishing: 'Sei sicuro di voler pubblicare questa voce?', onPublishingBody: 'Sei sicuro di voler pubblicare questa voce?',
onUnpublishing: 'Sei sicuro di voler nascondere questa voce?', onUnpublishing: 'Sei sicuro di voler nascondere questa voce?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Sei sicuro di voler cancellare questa voce pubblicata e tutte le modifiche non salvate della tua sessione corrente?', 'Sei sicuro di voler cancellare questa voce pubblicata e tutte le modifiche non salvate della tua sessione corrente?',
onDeletePublishedEntry: 'Sei sicuro di voler cancellare questa voce pubblicata?', onDeletePublishedEntryBody: 'Sei sicuro di voler cancellare questa voce pubblicata?',
loadingEntry: 'Caricando la voce...', loadingEntry: 'Caricando la voce...',
confirmLoadBackup: 'Un backup locale è stato recuperato per questa voce, vuoi utilizzarlo?', confirmLoadBackupBody: 'Un backup locale è stato recuperato per questa voce, vuoi utilizzarlo?',
}, },
editorToolbar: { editorToolbar: {
publishing: 'Pubblicando...', publishing: 'Pubblicando...',
@ -137,8 +137,8 @@ const it: LocalePhrasesRoot = {
draft: 'Bozza', draft: 'Bozza',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Sei sicuro di voler cancellare il media selezionato?', onDeleteBody: 'Sei sicuro di voler cancellare il media selezionato?',
fileTooLarge: fileTooLargeBody:
'File troppo grande.\nConfigurato per non accettare file piú grandi di %{size} kB.', 'File troppo grande.\nConfigurato per non accettare file piú grandi di %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -97,17 +97,17 @@ const ja: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'このページから遷移しますか?', onLeavePage: 'このページから遷移しますか?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'変更した項目があります。ステータスを更新する前に保存してください。', '変更した項目があります。ステータスを更新する前に保存してください。',
onPublishingNotReady: '公開する前に、ステータスを「準備完了」に更新してください。', onPublishingNotReadyBody: '公開する前に、ステータスを「準備完了」に更新してください。',
onPublishingWithUnsavedChanges: '変更した項目があります。公開する前に保存してください。', onPublishingWithUnsavedChangesBody: '変更した項目があります。公開する前に保存してください。',
onPublishing: 'このエントリを公開しますか?', onPublishingBody: 'このエントリを公開しますか?',
onUnpublishing: 'このエントリを未公開にしますか?', onUnpublishing: 'このエントリを未公開にしますか?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'保存されていない変更も削除されますが、この公開エントリを削除しますか?', '保存されていない変更も削除されますが、この公開エントリを削除しますか?',
onDeletePublishedEntry: 'この公開エントリを削除しますか?', onDeletePublishedEntryBody: 'この公開エントリを削除しますか?',
loadingEntry: 'エントリの読込中...', loadingEntry: 'エントリの読込中...',
confirmLoadBackup: 'ローカルのバックアップが復旧できました。利用しますか?', confirmLoadBackupBody: 'ローカルのバックアップが復旧できました。利用しますか?',
}, },
editorInterface: { editorInterface: {
toggleI18n: '言語を切り替える', toggleI18n: '言語を切り替える',
@ -204,8 +204,8 @@ const ja: LocalePhrasesRoot = {
copied: 'コピーしました', copied: 'コピーしました',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: '選択しているデータを削除しますか?', onDeleteBody: '選択しているデータを削除しますか?',
fileTooLarge: 'ファイルサイズが大きすぎます。\n%{size} kB 以下にしてください。', fileTooLargeBody: 'ファイルサイズが大きすぎます。\n%{size} kB 以下にしてください。',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: '読込中...', loading: '読込中...',

View File

@ -89,18 +89,18 @@ const ko: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: '이 페이지를 떠나시겠습니까?', onLeavePage: '이 페이지를 떠나시겠습니까?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'저장하지 않은 변경사항이 있습니다. 상태 업데이트 전 먼저 저장하세요.', '저장하지 않은 변경사항이 있습니다. 상태 업데이트 전 먼저 저장하세요.',
onPublishingNotReady: '게시 하기 앞서 상태를 "준비됨" 으로 업데이트 하세요.', onPublishingNotReadyBody: '게시 하기 앞서 상태를 "준비됨" 으로 업데이트 하세요.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'저장하지 않은 변경사항이 있습니다, 게시하기 전 먼저 저장하세요.', '저장하지 않은 변경사항이 있습니다, 게시하기 전 먼저 저장하세요.',
onPublishing: '이 항목을 게시하시곘습니까?', onPublishingBody: '이 항목을 게시하시곘습니까?',
onUnpublishing: '이 항목을 게시 철회 하시겠습니까?', onUnpublishing: '이 항목을 게시 철회 하시겠습니까?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'현재 세션에서의 저장되지 않은 변경사항과 이 게시된 항목을 삭제하시겠습니까?', '현재 세션에서의 저장되지 않은 변경사항과 이 게시된 항목을 삭제하시겠습니까?',
onDeletePublishedEntry: '이 게시된 항목을 삭제하시겠습니까?', onDeletePublishedEntryBody: '이 게시된 항목을 삭제하시겠습니까?',
loadingEntry: '항목 불러오는 중...', loadingEntry: '항목 불러오는 중...',
confirmLoadBackup: confirmLoadBackupBody:
'이 항목에 대한 로컬 백업이 복구되었습니다, 복구된 것으로 사용하시겠습니까?', '이 항목에 대한 로컬 백업이 복구되었습니다, 복구된 것으로 사용하시겠습니까?',
}, },
editorToolbar: { editorToolbar: {
@ -168,8 +168,8 @@ const ko: LocalePhrasesRoot = {
draft: '초안', draft: '초안',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: '선택하신 미디어를 삭제하시겠습니까?', onDeleteBody: '선택하신 미디어를 삭제하시겠습니까?',
fileTooLarge: fileTooLargeBody:
'파일이 너무 큽니다.\n%{size} kB 보다 큰 파일을 허용하지 않도록 구성되어 있습니다.', '파일이 너무 큽니다.\n%{size} kB 보다 큰 파일을 허용하지 않도록 구성되어 있습니다.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -98,18 +98,18 @@ const lt: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Ar tikrai norite uždaryti šį puslapį?', onLeavePage: 'Ar tikrai norite uždaryti šį puslapį?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Turite neišsaugotų pakeitimų! Prašome išsaugoti prieš pakeičiant statusą.', 'Turite neišsaugotų pakeitimų! Prašome išsaugoti prieš pakeičiant statusą.',
onPublishingNotReady: 'Prieš publikuojant, privalote pakeisti statusą į „Paruošta“.', onPublishingNotReadyBody: 'Prieš publikuojant, privalote pakeisti statusą į „Paruošta“.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Yra neišsaugotų pakeitimų, prašome išsaugoti juos prieš publikuojant.', 'Yra neišsaugotų pakeitimų, prašome išsaugoti juos prieš publikuojant.',
onPublishing: 'Ae tikrai norite publikuoti šį įrašą?', onPublishingBody: 'Ae tikrai norite publikuoti šį įrašą?',
onUnpublishing: 'Tikrai norite panaikinti publikavimo statusą?', onUnpublishing: 'Tikrai norite panaikinti publikavimo statusą?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Tikrai norite panaikinti publikuotą įrašą ir Jūsų pakeiitmus iš dabartinės sesijos?', 'Tikrai norite panaikinti publikuotą įrašą ir Jūsų pakeiitmus iš dabartinės sesijos?',
onDeletePublishedEntry: 'Tikrai norite ištrinti šį publikuotą įrašą?', onDeletePublishedEntryBody: 'Tikrai norite ištrinti šį publikuotą įrašą?',
loadingEntry: 'Kraunamas įrašas...', loadingEntry: 'Kraunamas įrašas...',
confirmLoadBackup: confirmLoadBackupBody:
'Radome Jūsų įrenginyje išsaugota juodraštį šiam įrašui, ar norite jį atgaivinti ir naudoti?', 'Radome Jūsų įrenginyje išsaugota juodraštį šiam įrašui, ar norite jį atgaivinti ir naudoti?',
}, },
editorToolbar: { editorToolbar: {
@ -187,8 +187,8 @@ const lt: LocalePhrasesRoot = {
draft: 'Juodraštis', draft: 'Juodraštis',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Ar jūs tikrai norite ištrinti pasirinktą mediją?', onDeleteBody: 'Ar jūs tikrai norite ištrinti pasirinktą mediją?',
fileTooLarge: fileTooLargeBody:
'Failas per didelis.\nNustatymuose (konfigūracijoje) nurodyta, kad failai negali viršyti %{size} kB.', 'Failas per didelis.\nNustatymuose (konfigūracijoje) nurodyta, kad failai negali viršyti %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -82,16 +82,16 @@ const nb_no: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Er du sikker på du vil navigere bort fra denne siden?', onLeavePage: 'Er du sikker på du vil navigere bort fra denne siden?',
onUpdatingWithUnsavedChanges: 'Du må lagre endringene dine før du oppdaterer status.', onUpdatingWithUnsavedChangesBody: 'Du må lagre endringene dine før du oppdaterer status.',
onPublishingNotReady: 'Du må endre status til "Klar" før du publiserer.', onPublishingNotReadyBody: 'Du må endre status til "Klar" før du publiserer.',
onPublishingWithUnsavedChanges: 'Du må lagre endringene dine før du kan publisere.', onPublishingWithUnsavedChangesBody: 'Du må lagre endringene dine før du kan publisere.',
onPublishing: 'Er du sikker på at du vil publisere?', onPublishingBody: 'Er du sikker på at du vil publisere?',
onUnpublishing: 'Er du sikker på at du vil avpublisere innlegget?', onUnpublishing: 'Er du sikker på at du vil avpublisere innlegget?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Er du sikker på at du vil slette et publisert innlegg med tilhørende ulagrede endringer?', 'Er du sikker på at du vil slette et publisert innlegg med tilhørende ulagrede endringer?',
onDeletePublishedEntry: 'Er du sikker på at du vil slette dette publiserte innlegget?', onDeletePublishedEntryBody: 'Er du sikker på at du vil slette dette publiserte innlegget?',
loadingEntry: 'Laster innlegg...', loadingEntry: 'Laster innlegg...',
confirmLoadBackup: 'Vil du gjenopprette tidligere endringer som ikke har blitt lagret?', confirmLoadBackupBody: 'Vil du gjenopprette tidligere endringer som ikke har blitt lagret?',
}, },
editorToolbar: { editorToolbar: {
publishing: 'Publiserer...', publishing: 'Publiserer...',
@ -158,8 +158,8 @@ const nb_no: LocalePhrasesRoot = {
draft: 'Kladd', draft: 'Kladd',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Er du sikker på at du vil slette markert element?', onDeleteBody: 'Er du sikker på at du vil slette markert element?',
fileTooLarge: 'Filen er for stor.\nMaksimal konfiguert filstørrelse er %{size} kB.', fileTooLargeBody: 'Filen er for stor.\nMaksimal konfiguert filstørrelse er %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Laster...', loading: 'Laster...',

View File

@ -95,18 +95,18 @@ const nl: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Weet je zeker dat je deze pagina wilt verlaten?', onLeavePage: 'Weet je zeker dat je deze pagina wilt verlaten?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Er zijn nog niet-opgeslagen wijzigingen. Bewaar ze voordat u de status bijwerkt.', 'Er zijn nog niet-opgeslagen wijzigingen. Bewaar ze voordat u de status bijwerkt.',
onPublishingNotReady: 'Stel de status in op "Voltooid" voordat u publiceert.', onPublishingNotReadyBody: 'Stel de status in op "Voltooid" voordat u publiceert.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Er zijn nog niet-opgeslagen wijzigingen. Bewaar deze voordat u publiceert.', 'Er zijn nog niet-opgeslagen wijzigingen. Bewaar deze voordat u publiceert.',
onPublishing: 'Weet u zeker dat u dit item wil publiceren?', onPublishingBody: 'Weet u zeker dat u dit item wil publiceren?',
onUnpublishing: 'Weet u zeker dat u de publicatie voor dit item ongedaan wilt maken?', onUnpublishing: 'Weet u zeker dat u de publicatie voor dit item ongedaan wilt maken?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Weet u zeker dat u dit gepubliceerde item en uw niet-opgeslagen wijzigingen uit de huidige sessie wilt verwijderen?', 'Weet u zeker dat u dit gepubliceerde item en uw niet-opgeslagen wijzigingen uit de huidige sessie wilt verwijderen?',
onDeletePublishedEntry: 'Weet u zeker dat u dit gepubliceerde item wilt verwijderen?', onDeletePublishedEntryBody: 'Weet u zeker dat u dit gepubliceerde item wilt verwijderen?',
loadingEntry: 'Item laden...', loadingEntry: 'Item laden...',
confirmLoadBackup: 'Voor dit item is een lokale back-up hersteld, wilt u deze gebruiken?', confirmLoadBackupBody: 'Voor dit item is een lokale back-up hersteld, wilt u deze gebruiken?',
}, },
editorInterface: { editorInterface: {
toggleI18n: 'Wissel i18n', toggleI18n: 'Wissel i18n',
@ -202,8 +202,8 @@ const nl: LocalePhrasesRoot = {
copied: 'Gekopieerd', copied: 'Gekopieerd',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Weet u zeker dat u de geselecteerde media wilt verwijderen?', onDeleteBody: 'Weet u zeker dat u de geselecteerde media wilt verwijderen?',
fileTooLarge: fileTooLargeBody:
'Het bestand is te groot.\n De instellingen staan geen bestanden toe groter dan %{size} kB.', 'Het bestand is te groot.\n De instellingen staan geen bestanden toe groter dan %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -82,16 +82,16 @@ const nn_no: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Er du sikker på at du vil navigere bort frå denne sida?', onLeavePage: 'Er du sikker på at du vil navigere bort frå denne sida?',
onUpdatingWithUnsavedChanges: 'Du må lagra endringane dine før du endrar status', onUpdatingWithUnsavedChangesBody: 'Du må lagra endringane dine før du endrar status',
onPublishingNotReady: 'Du må endre status til "Klar" før du publiserer', onPublishingNotReadyBody: 'Du må endre status til "Klar" før du publiserer',
onPublishingWithUnsavedChanges: 'Du må laga endringane dine før du kan publisere.', onPublishingWithUnsavedChangesBody: 'Du må laga endringane dine før du kan publisere.',
onPublishing: 'Er du sikker på at vil publisere?', onPublishingBody: 'Er du sikker på at vil publisere?',
onUnpublishing: 'Er du sikker på at du vil avpublisere innlegget?', onUnpublishing: 'Er du sikker på at du vil avpublisere innlegget?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Er du sikkert på at du vil slette eit publisert innlegg med tilhøyrande ulagra endringar?', 'Er du sikkert på at du vil slette eit publisert innlegg med tilhøyrande ulagra endringar?',
onDeletePublishedEntry: 'Er du sikker på at du vil slette dette publiserte innlegget?', onDeletePublishedEntryBody: 'Er du sikker på at du vil slette dette publiserte innlegget?',
loadingEntry: 'Lastar innlegg...', loadingEntry: 'Lastar innlegg...',
confirmLoadBackup: confirmLoadBackupBody:
'Ynskjer du å gjennopprette tidlegare endringar som ikkje har verta lagra?', 'Ynskjer du å gjennopprette tidlegare endringar som ikkje har verta lagra?',
}, },
editorToolbar: { editorToolbar: {
@ -159,8 +159,8 @@ const nn_no: LocalePhrasesRoot = {
draft: 'Kladd', draft: 'Kladd',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Er du sikker på at du vil slette markert element?', onDeleteBody: 'Er du sikker på at du vil slette markert element?',
fileTooLarge: 'Fila er for stor.\nMaksimal konfiguert filstorleik er %{size} kB.', fileTooLargeBody: 'Fila er for stor.\nMaksimal konfiguert filstorleik er %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Lastar...', loading: 'Lastar...',

View File

@ -97,17 +97,17 @@ const pl: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Czy na pewno chcesz opuścić tę stronę?', onLeavePage: 'Czy na pewno chcesz opuścić tę stronę?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Masz niezapisane zmiany, proszę zapisz je przed aktualizacją statusu.', 'Masz niezapisane zmiany, proszę zapisz je przed aktualizacją statusu.',
onPublishingNotReady: 'Proszę zaktualizować status do "Gotowe" przed publikacją.', onPublishingNotReadyBody: 'Proszę zaktualizować status do "Gotowe" przed publikacją.',
onPublishingWithUnsavedChanges: 'Masz niezapisane zmiany, proszę zapisz je przed publikacją.', onPublishingWithUnsavedChangesBody: 'Masz niezapisane zmiany, proszę zapisz je przed publikacją.',
onPublishing: 'Czy na pewno chcesz opublikować tę pozycję?', onPublishingBody: 'Czy na pewno chcesz opublikować tę pozycję?',
onUnpublishing: 'Czy na pewno chcesz cofnąć publikację tej pozycji?', onUnpublishing: 'Czy na pewno chcesz cofnąć publikację tej pozycji?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Czy na pewno chcesz usunąć tę opublikowaną pozycję, a także niezapisane zmiany z bieżącej sesji?', 'Czy na pewno chcesz usunąć tę opublikowaną pozycję, a także niezapisane zmiany z bieżącej sesji?',
onDeletePublishedEntry: 'Czy na pewno chcesz usunąć tę opublikowaną pozycję?', onDeletePublishedEntryBody: 'Czy na pewno chcesz usunąć tę opublikowaną pozycję?',
loadingEntry: 'Ładowanie pozycji...', loadingEntry: 'Ładowanie pozycji...',
confirmLoadBackup: 'Odzyskano lokalną kopię zapasową tej pozycji, czy chcesz jej użyć?', confirmLoadBackupBody: 'Odzyskano lokalną kopię zapasową tej pozycji, czy chcesz jej użyć?',
}, },
editorInterface: { editorInterface: {
toggleI18n: 'Przełącz i18n', toggleI18n: 'Przełącz i18n',
@ -208,8 +208,8 @@ const pl: LocalePhrasesRoot = {
copied: 'Skopiowano', copied: 'Skopiowano',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Czy na pewno chcesz usunąć zaznaczone multimedia?', onDeleteBody: 'Czy na pewno chcesz usunąć zaznaczone multimedia?',
fileTooLarge: 'Plik jest za duży.\nUstawiony maksymalny rozmiar pliku: %{size} kB.', fileTooLargeBody: 'Plik jest za duży.\nUstawiony maksymalny rozmiar pliku: %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Ładowanie...', loading: 'Ładowanie...',

View File

@ -97,18 +97,18 @@ const pt: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Tem certeza que deseja sair desta página?', onLeavePage: 'Tem certeza que deseja sair desta página?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Há mudanças não salvas. Por favor, salve-as antes de atualizar o status.', 'Há mudanças não salvas. Por favor, salve-as antes de atualizar o status.',
onPublishingNotReady: 'Por favor, altere o status para "Pronto" antes de publicar.', onPublishingNotReadyBody: 'Por favor, altere o status para "Pronto" antes de publicar.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Há mudanças não salvas. Por favor, salve-as antes de publicar.', 'Há mudanças não salvas. Por favor, salve-as antes de publicar.',
onPublishing: 'Tem certeza que deseja publicar essa entrada?', onPublishingBody: 'Tem certeza que deseja publicar essa entrada?',
onUnpublishing: 'Tem certeza que deseja cancelar a publicação dessa entrada?', onUnpublishing: 'Tem certeza que deseja cancelar a publicação dessa entrada?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Tem certeza de que deseja excluir esta entrada publicada, bem como as alterações não salvas da sessão atual?', 'Tem certeza de que deseja excluir esta entrada publicada, bem como as alterações não salvas da sessão atual?',
onDeletePublishedEntry: 'Tem certeza de que deseja excluir esta entrada publicada?', onDeletePublishedEntryBody: 'Tem certeza de que deseja excluir esta entrada publicada?',
loadingEntry: 'Carregando entrada...', loadingEntry: 'Carregando entrada...',
confirmLoadBackup: 'Um backup local foi recuperado para esta entrada. Deseja usá-lo?', confirmLoadBackupBody: 'Um backup local foi recuperado para esta entrada. Deseja usá-lo?',
}, },
editorInterface: { editorInterface: {
toggleI18n: 'Mudar i18n', toggleI18n: 'Mudar i18n',
@ -209,8 +209,8 @@ const pt: LocalePhrasesRoot = {
copied: 'Copiado', copied: 'Copiado',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Tem certeza de que deseja excluir a mídia selecionada?', onDeleteBody: 'Tem certeza de que deseja excluir a mídia selecionada?',
fileTooLarge: fileTooLargeBody:
'Arquivo muito grande.\nConfigurado para não permitir arquivos maiores que %{size} kB.', 'Arquivo muito grande.\nConfigurado para não permitir arquivos maiores que %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -97,18 +97,18 @@ const ro: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Ești sigur/ă că dorești să părăsești pagina?', onLeavePage: 'Ești sigur/ă că dorești să părăsești pagina?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Există modificări nesalvate! Te rugăm salvează înainte de a actualiza statusul.', 'Există modificări nesalvate! Te rugăm salvează înainte de a actualiza statusul.',
onPublishingNotReady: 'Actualizează statusul la „Gata” înainte de publicare.', onPublishingNotReadyBody: 'Actualizează statusul la „Gata” înainte de publicare.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Există modificări nesalvate, salvează-le înainte de publicare.', 'Există modificări nesalvate, salvează-le înainte de publicare.',
onPublishing: 'Ești sigur/ă că dorești să publici acest articol?', onPublishingBody: 'Ești sigur/ă că dorești să publici acest articol?',
onUnpublishing: 'Ești sigur/ă că dorești să anulezi publicarea acestui articol?', onUnpublishing: 'Ești sigur/ă că dorești să anulezi publicarea acestui articol?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Ești sigur/ă că dorești să ștergi această publicare, dar și modificările nesalvate din sesiunea curentă?', 'Ești sigur/ă că dorești să ștergi această publicare, dar și modificările nesalvate din sesiunea curentă?',
onDeletePublishedEntry: 'Ești sigur/ă că dorești să ștergi această publicare?', onDeletePublishedEntryBody: 'Ești sigur/ă că dorești să ștergi această publicare?',
loadingEntry: 'Se încarcă...', loadingEntry: 'Se încarcă...',
confirmLoadBackup: confirmLoadBackupBody:
'Un backup local a fost recuperat pentru această intrare, dorești să îl folosești?', 'Un backup local a fost recuperat pentru această intrare, dorești să îl folosești?',
}, },
editorInterface: { editorInterface: {
@ -202,8 +202,8 @@ const ro: LocalePhrasesRoot = {
copied: 'Copiat', copied: 'Copiat',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Ești sigur/ă că dorești să ștergi fișierul selectat?', onDeleteBody: 'Ești sigur/ă că dorești să ștergi fișierul selectat?',
fileTooLarge: 'Fișier prea mare.\nConfigurarea nu permite fișiere mai mari de %{size} KB.', fileTooLargeBody: 'Fișier prea mare.\nConfigurarea nu permite fișiere mai mari de %{size} KB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Se încarcă...', loading: 'Se încarcă...',

View File

@ -97,18 +97,18 @@ const ru: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Вы уверены, что хотите покинуть эту страницу?', onLeavePage: 'Вы уверены, что хотите покинуть эту страницу?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'У вас есть несохраненные изменения, сохраните их перед обновлением статуса.', 'У вас есть несохраненные изменения, сохраните их перед обновлением статуса.',
onPublishingNotReady: 'Пожалуйста, измените статус на «Готов» перед публикацией.', onPublishingNotReadyBody: 'Пожалуйста, измените статус на «Готов» перед публикацией.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'У вас есть несохраненные изменения, сохраните их перед публикацией.', 'У вас есть несохраненные изменения, сохраните их перед публикацией.',
onPublishing: 'Вы уверены, что хотите опубликовать эту запись?', onPublishingBody: 'Вы уверены, что хотите опубликовать эту запись?',
onUnpublishing: 'Вы уверены, что хотите отменить публикацию этой записи?', onUnpublishing: 'Вы уверены, что хотите отменить публикацию этой записи?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Вы уверены, что хотите удалить эту опубликованную запись, а также несохраненные изменения из текущего сеанса?', 'Вы уверены, что хотите удалить эту опубликованную запись, а также несохраненные изменения из текущего сеанса?',
onDeletePublishedEntry: 'Вы уверены, что хотите удалить эту опубликованную запись?', onDeletePublishedEntryBody: 'Вы уверены, что хотите удалить эту опубликованную запись?',
loadingEntry: 'Загрузка записи…', loadingEntry: 'Загрузка записи…',
confirmLoadBackup: confirmLoadBackupBody:
'Для этой записи была восстановлена локальная резервная копия, хотите ли вы ее использовать?', 'Для этой записи была восстановлена локальная резервная копия, хотите ли вы ее использовать?',
}, },
editorToolbar: { editorToolbar: {
@ -197,8 +197,8 @@ const ru: LocalePhrasesRoot = {
copied: 'Скопировано', copied: 'Скопировано',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Вы уверены, что хотите удалить выбранный медиафайл?', onDeleteBody: 'Вы уверены, что хотите удалить выбранный медиафайл?',
fileTooLarge: fileTooLargeBody:
'Файл слишком большой.\nНастройки не позволяют сохранять файлы более %{size} kB.', 'Файл слишком большой.\nНастройки не позволяют сохранять файлы более %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -97,18 +97,18 @@ const sv: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Är du säker på att du vill lämna sidan?', onLeavePage: 'Är du säker på att du vill lämna sidan?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Du har osparade ändringar, vänligen spara dem innan du uppdaterar status.', 'Du har osparade ändringar, vänligen spara dem innan du uppdaterar status.',
onPublishingNotReady: 'Vänligen uppdatera status till "Redo" innan du publicerar.', onPublishingNotReadyBody: 'Vänligen uppdatera status till "Redo" innan du publicerar.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Du har osparade ändringar, vänligen spara innan du publicerar.', 'Du har osparade ändringar, vänligen spara innan du publicerar.',
onPublishing: 'Är du säker på att du vill publicera det här inlägget?', onPublishingBody: 'Är du säker på att du vill publicera det här inlägget?',
onUnpublishing: 'Är du säker på att du vill avpublicera det här inlägget?', onUnpublishing: 'Är du säker på att du vill avpublicera det här inlägget?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Är du säker på att du vill radera det här publicerade inlägget, inklusive dina osparade ändringar från nuvarande session?', 'Är du säker på att du vill radera det här publicerade inlägget, inklusive dina osparade ändringar från nuvarande session?',
onDeletePublishedEntry: 'Är du säker på att du vill radera det här publicerade inlägget?', onDeletePublishedEntryBody: 'Är du säker på att du vill radera det här publicerade inlägget?',
loadingEntry: 'Hämtar inlägg...', loadingEntry: 'Hämtar inlägg...',
confirmLoadBackup: 'En lokal kopia hittades för det här inlägget, vill du använda den?', confirmLoadBackupBody: 'En lokal kopia hittades för det här inlägget, vill du använda den?',
}, },
editorInterface: { editorInterface: {
toggleI18n: 'Slå på/av i18n', toggleI18n: 'Slå på/av i18n',
@ -201,8 +201,8 @@ const sv: LocalePhrasesRoot = {
copied: 'Kopierad', copied: 'Kopierad',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Är du säker på att du vill radera valt mediaobjekt?', onDeleteBody: 'Är du säker på att du vill radera valt mediaobjekt?',
fileTooLarge: fileTooLargeBody:
'Maximal filstorlek överskriden.\nKonfigurerad att inte tillåta filer större än %{size} kB.', 'Maximal filstorlek överskriden.\nKonfigurerad att inte tillåta filer större än %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -92,18 +92,18 @@ const th: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'คุณแน่ใจหรือว่าจะออกจากหน้านี้?', onLeavePage: 'คุณแน่ใจหรือว่าจะออกจากหน้านี้?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก โปรดบันทึกก่อนอัปเดตสถานะ', 'คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก โปรดบันทึกก่อนอัปเดตสถานะ',
onPublishingNotReady: 'โปรดอัปเดตสถานะเป็น "พร้อม" ก่อนจะเผยแพร่', onPublishingNotReadyBody: 'โปรดอัปเดตสถานะเป็น "พร้อม" ก่อนจะเผยแพร่',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก โปรดบันทึกก่อนจะเผยแพร่', 'คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก โปรดบันทึกก่อนจะเผยแพร่',
onPublishing: 'คุณแน่ใจหรือว่าจะเผยแพร่เนื้อหานี้?', onPublishingBody: 'คุณแน่ใจหรือว่าจะเผยแพร่เนื้อหานี้?',
onUnpublishing: 'คุณแน่ใจหรือว่าจะไม่ต้องการเผยแพร่เนื้อหานี้?', onUnpublishing: 'คุณแน่ใจหรือว่าจะไม่ต้องการเผยแพร่เนื้อหานี้?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'คุณแน่ใจหรือว่าจะต้องการลบการเผยแพร่เนื้อหานี้ รวมถึงการเปลี่ยนแปลงที่ยังไม่ได้บันทึก?', 'คุณแน่ใจหรือว่าจะต้องการลบการเผยแพร่เนื้อหานี้ รวมถึงการเปลี่ยนแปลงที่ยังไม่ได้บันทึก?',
onDeletePublishedEntry: 'คุณแน่ใจหรือว่าจะต้องการลบการเผยแพร่เนื้อหานี้?', onDeletePublishedEntryBody: 'คุณแน่ใจหรือว่าจะต้องการลบการเผยแพร่เนื้อหานี้?',
loadingEntry: 'กำลังโหลดเนื้อหา...', loadingEntry: 'กำลังโหลดเนื้อหา...',
confirmLoadBackup: 'ข้อมูลสำรองได้ถูกกู้คืนสำหรับเนื้อหานี้ คุณต้องการใช้มันไหม?', confirmLoadBackupBody: 'ข้อมูลสำรองได้ถูกกู้คืนสำหรับเนื้อหานี้ คุณต้องการใช้มันไหม?',
}, },
editorToolbar: { editorToolbar: {
publishing: 'กำลังเผยแพร่...', publishing: 'กำลังเผยแพร่...',
@ -170,8 +170,8 @@ const th: LocalePhrasesRoot = {
draft: 'ร่าง', draft: 'ร่าง',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'คุณแน่ใจหรือว่าจะลบมีเดียที่ถูกเลือก?', onDeleteBody: 'คุณแน่ใจหรือว่าจะลบมีเดียที่ถูกเลือก?',
fileTooLarge: 'ไฟล์ใหญ่เกินไป\n ค่าที่ตั้งไว้ไม่ยอมรับไฟล์ที่ใหญ่กว่า %{size} kB.', fileTooLargeBody: 'ไฟล์ใหญ่เกินไป\n ค่าที่ตั้งไว้ไม่ยอมรับไฟล์ที่ใหญ่กว่า %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'กำลังโหลด...', loading: 'กำลังโหลด...',

View File

@ -95,24 +95,24 @@ const tr: LocalePhrasesRoot = {
i18n: { i18n: {
writingInLocale: '%{locale} için yazılıyor', writingInLocale: '%{locale} için yazılıyor',
copyFromLocale: 'Başka bir dilden doldurun', copyFromLocale: 'Başka bir dilden doldurun',
copyFromLocaleConfirm: copyFromLocaleConfirmBody:
'Verileri %{locale} dilinden mi doldurmak istiyorsun?\nVarolan bütün verilerin üzerine yazılacak.', 'Verileri %{locale} dilinden mi doldurmak istiyorsun?\nVarolan bütün verilerin üzerine yazılacak.',
}, },
}, },
editor: { editor: {
onLeavePage: 'Bu sayfadan ayrılmak istediğinize emin misiniz?', onLeavePage: 'Bu sayfadan ayrılmak istediğinize emin misiniz?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Kaydedilmemiş değişiklikleriniz var, lütfen içeriği güncellemeden önce kaydedin.', 'Kaydedilmemiş değişiklikleriniz var, lütfen içeriği güncellemeden önce kaydedin.',
onPublishingNotReady: 'Lütfen yayınlamadan önce içeriği "Hazır" olarak güncelleyin.', onPublishingNotReadyBody: 'Lütfen yayınlamadan önce içeriği "Hazır" olarak güncelleyin.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Kaydedilmemiş değişiklikleriniz var, lütfen yayınlamadan önce kaydedin.', 'Kaydedilmemiş değişiklikleriniz var, lütfen yayınlamadan önce kaydedin.',
onPublishing: 'Bu girdiyi yayınlamak istediğinize emin misiniz?', onPublishingBody: 'Bu girdiyi yayınlamak istediğinize emin misiniz?',
onUnpublishing: 'Bu girdiyi yayından kaldırmak istediğinizden emin misiniz?', onUnpublishing: 'Bu girdiyi yayından kaldırmak istediğinizden emin misiniz?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Bu oturumda kaydedilmiş değişikliklerin yanı sıra geçerli oturumdaki kaydedilmemiş değişikliklerinizi silmek istediğinize emin misiniz?', 'Bu oturumda kaydedilmiş değişikliklerin yanı sıra geçerli oturumdaki kaydedilmemiş değişikliklerinizi silmek istediğinize emin misiniz?',
onDeletePublishedEntry: 'Bu yayınlanmış girdiyi silmek istediğinize emin misiniz?', onDeletePublishedEntryBody: 'Bu yayınlanmış girdiyi silmek istediğinize emin misiniz?',
loadingEntry: 'Girdiler yükleniyor...', loadingEntry: 'Girdiler yükleniyor...',
confirmLoadBackup: 'Bu girdi için yerel bir yedekleme kurtarıldı, kullanmak ister misiniz?', confirmLoadBackupBody: 'Bu girdi için yerel bir yedekleme kurtarıldı, kullanmak ister misiniz?',
}, },
editorInterface: { editorInterface: {
toggleI18n: 'i18n değiştir', toggleI18n: 'i18n değiştir',
@ -213,8 +213,8 @@ const tr: LocalePhrasesRoot = {
copied: 'Kopyalandı', copied: 'Kopyalandı',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Seçilen medyayı silmek istediğinize emin misiniz?', onDeleteBody: 'Seçilen medyayı silmek istediğinize emin misiniz?',
fileTooLarge: fileTooLargeBody:
'Dosya çok büyük.\n%{size} kilobaytdan daha büyük dosyaların yüklenmemesi için ayarlanmış.', 'Dosya çok büyük.\n%{size} kilobaytdan daha büyük dosyaların yüklenmemesi için ayarlanmış.',
}, },
mediaLibraryModal: { mediaLibraryModal: {

View File

@ -52,17 +52,17 @@ const uk: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Ви дійсно бажаєте залишити сторінку?', onLeavePage: 'Ви дійсно бажаєте залишити сторінку?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Присутні незбережені зміни, будь ласка збережіть перед зміною статусу.', 'Присутні незбережені зміни, будь ласка збережіть перед зміною статусу.',
onPublishingNotReady: 'Будь ласка, встановіть статус "Готово" перед публікацією.', onPublishingNotReadyBody: 'Будь ласка, встановіть статус "Готово" перед публікацією.',
onPublishingWithUnsavedChanges: onPublishingWithUnsavedChangesBody:
'Присутні незбережені зміни, будь ласка збережіть їх перед публікацією.', 'Присутні незбережені зміни, будь ласка збережіть їх перед публікацією.',
onPublishing: 'Ви дійсно бажаєте опублікувати запис?', onPublishingBody: 'Ви дійсно бажаєте опублікувати запис?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Ви дійсно бажаєте видалити опублікований запис, як і всі незбережені зміни під час поточної сесії?', 'Ви дійсно бажаєте видалити опублікований запис, як і всі незбережені зміни під час поточної сесії?',
onDeletePublishedEntry: 'Ви дійсно бажаєте видалити опублікований запис?', onDeletePublishedEntryBody: 'Ви дійсно бажаєте видалити опублікований запис?',
loadingEntry: 'Завантаження...', loadingEntry: 'Завантаження...',
confirmLoadBackup: 'Відновлено резервну копію, бажаєте її використати?', confirmLoadBackupBody: 'Відновлено резервну копію, бажаєте її використати?',
}, },
editorToolbar: { editorToolbar: {
publishing: 'Публікація...', publishing: 'Публікація...',
@ -118,7 +118,7 @@ const uk: LocalePhrasesRoot = {
draft: 'В роботі', draft: 'В роботі',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Ви дійсно бажаєте видалити обрані матеріали?', onDeleteBody: 'Ви дійсно бажаєте видалити обрані матеріали?',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Завантаження...', loading: 'Завантаження...',

View File

@ -89,17 +89,17 @@ const vi: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: 'Bạn có chắc rằng bạn muốn rời khỏi trang này?', onLeavePage: 'Bạn có chắc rằng bạn muốn rời khỏi trang này?',
onUpdatingWithUnsavedChanges: onUpdatingWithUnsavedChangesBody:
'Bạn chưa lưu những thay đổi, hãy lưu trước khi thay đổi trạng thái.', 'Bạn chưa lưu những thay đổi, hãy lưu trước khi thay đổi trạng thái.',
onPublishingNotReady: 'Hãy thay đổi trạng thái thành "Sẵn sàng" trước khi công bố.', onPublishingNotReadyBody: 'Hãy thay đổi trạng thái thành "Sẵn sàng" trước khi công bố.',
onPublishingWithUnsavedChanges: 'Bạn có thay đổi chưa lưu, hãy lưu trước khi công bố.', onPublishingWithUnsavedChangesBody: 'Bạn có thay đổi chưa lưu, hãy lưu trước khi công bố.',
onPublishing: 'Bạn có chắc rằng bạn muốn công bố mục này?', onPublishingBody: 'Bạn có chắc rằng bạn muốn công bố mục này?',
onUnpublishing: 'Bạn có chắc rằng bạn muốn ngừng công bố mục này?', onUnpublishing: 'Bạn có chắc rằng bạn muốn ngừng công bố mục này?',
onDeleteWithUnsavedChanges: onDeleteWithUnsavedChangesBody:
'Bạn có chắc rằng bạn muốn xoá mục đã được công bố này, cũng như là những thay đổi chưa lưu của bạn trong phiên làm việc này?', 'Bạn có chắc rằng bạn muốn xoá mục đã được công bố này, cũng như là những thay đổi chưa lưu của bạn trong phiên làm việc này?',
onDeletePublishedEntry: 'Bạn có chắc rằng bạn muốn xoá mục đã được công bố này?', onDeletePublishedEntryBody: 'Bạn có chắc rằng bạn muốn xoá mục đã được công bố này?',
loadingEntry: 'Đang tải...', loadingEntry: 'Đang tải...',
confirmLoadBackup: confirmLoadBackupBody:
'Một bản sao lưu trên máy đã được phục hồi cho mục này, bạn có muốn tải lên không?', 'Một bản sao lưu trên máy đã được phục hồi cho mục này, bạn có muốn tải lên không?',
}, },
editorToolbar: { editorToolbar: {
@ -167,8 +167,8 @@ const vi: LocalePhrasesRoot = {
draft: 'Bản nháp', draft: 'Bản nháp',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: 'Bạn có chắc rằng bạn muốn xoá tập tin này?', onDeleteBody: 'Bạn có chắc rằng bạn muốn xoá tập tin này?',
fileTooLarge: 'Tập tin quá lớn.\nCấu hình không cho phép những tập tin lớn hơn %{size} kB.', fileTooLargeBody: 'Tập tin quá lớn.\nCấu hình không cho phép những tập tin lớn hơn %{size} kB.',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: 'Đang tải...', loading: 'Đang tải...',

View File

@ -97,15 +97,15 @@ const zh_Hans: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: '你确定要离开此页面吗?', onLeavePage: '你确定要离开此页面吗?',
onUpdatingWithUnsavedChanges: '你有尚未保存的修改,请在更新状态前进行保存', onUpdatingWithUnsavedChangesBody: '你有尚未保存的修改,请在更新状态前进行保存',
onPublishingNotReady: '请在发布之前将状态更新为“就绪”', onPublishingNotReadyBody: '请在发布之前将状态更新为“就绪”',
onPublishingWithUnsavedChanges: '你有尚未保存的修改,请在发布前进行保存', onPublishingWithUnsavedChangesBody: '你有尚未保存的修改,请在发布前进行保存',
onPublishing: '你确定要发布此内容吗?', onPublishingBody: '你确定要发布此内容吗?',
onUnpublishing: '你确定要撤销发布此内容吗?', onUnpublishing: '你确定要撤销发布此内容吗?',
onDeleteWithUnsavedChanges: '你确定要删除这个已经发布的内容,以及当前尚未保存的修改吗?', onDeleteWithUnsavedChangesBody: '你确定要删除这个已经发布的内容,以及当前尚未保存的修改吗?',
onDeletePublishedEntry: '你确定要删除这个已经发布的内容吗?', onDeletePublishedEntryBody: '你确定要删除这个已经发布的内容吗?',
loadingEntry: '正在加载内容...', loadingEntry: '正在加载内容...',
confirmLoadBackup: '发现了一个对应此内容的本地备份,你要加载它吗?', confirmLoadBackupBody: '发现了一个对应此内容的本地备份,你要加载它吗?',
}, },
editorInterface: { editorInterface: {
toggleI18n: '打开/关闭国际化', toggleI18n: '打开/关闭国际化',
@ -198,8 +198,8 @@ const zh_Hans: LocalePhrasesRoot = {
copied: '已复制', copied: '已复制',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: '你确定要删除此媒体项目吗?', onDeleteBody: '你确定要删除此媒体项目吗?',
fileTooLarge: '文件体积过大\n目前的配置中不允许文件体积超过 %{size} kB', fileTooLargeBody: '文件体积过大\n目前的配置中不允许文件体积超过 %{size} kB',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: '正在加载...', loading: '正在加载...',

View File

@ -92,15 +92,15 @@ const zh_Hant: LocalePhrasesRoot = {
}, },
editor: { editor: {
onLeavePage: '您確定要離開這頁嗎?', onLeavePage: '您確定要離開這頁嗎?',
onUpdatingWithUnsavedChanges: '您有未儲存的變更,在更新狀態前請先進行儲存。', onUpdatingWithUnsavedChangesBody: '您有未儲存的變更,在更新狀態前請先進行儲存。',
onPublishingNotReady: '在發布前,請先將狀態設定為:預備發布。', onPublishingNotReadyBody: '在發布前,請先將狀態設定為:預備發布。',
onPublishingWithUnsavedChanges: '您有未儲存的變更,在發布前請先進行儲存。', onPublishingWithUnsavedChangesBody: '您有未儲存的變更,在發布前請先進行儲存。',
onPublishing: '你確定要發表此內容嗎?', onPublishingBody: '你確定要發表此內容嗎?',
onUnpublishing: '你確定要取消發表此內容嗎?', onUnpublishing: '你確定要取消發表此內容嗎?',
onDeleteWithUnsavedChanges: '你確定要刪除這篇已發布的內容以及你尚未儲存的變更?', onDeleteWithUnsavedChangesBody: '你確定要刪除這篇已發布的內容以及你尚未儲存的變更?',
onDeletePublishedEntry: '你確定要刪除這篇已發布的內容?', onDeletePublishedEntryBody: '你確定要刪除這篇已發布的內容?',
loadingEntry: '載入內容中...', loadingEntry: '載入內容中...',
confirmLoadBackup: '此內容的本地備份已經還原,你想要使用嗎?', confirmLoadBackupBody: '此內容的本地備份已經還原,你想要使用嗎?',
}, },
editorToolbar: { editorToolbar: {
publishing: '發布中...', publishing: '發布中...',
@ -177,8 +177,8 @@ const zh_Hant: LocalePhrasesRoot = {
draft: '草稿', draft: '草稿',
}, },
mediaLibrary: { mediaLibrary: {
onDelete: '你確定要刪除已選擇的媒體嗎?', onDeleteBody: '你確定要刪除已選擇的媒體嗎?',
fileTooLarge: '檔案太大。\n已設定不允許大於 %{size} kB 的檔案。', fileTooLargeBody: '檔案太大。\n已設定不允許大於 %{size} kB 的檔案。',
}, },
mediaLibraryModal: { mediaLibraryModal: {
loading: '載入中...', loading: '載入中...',

View File

@ -21,7 +21,7 @@ import {
GROUP_ENTRIES_SUCCESS, GROUP_ENTRIES_SUCCESS,
SORT_ENTRIES_FAILURE, SORT_ENTRIES_FAILURE,
SORT_ENTRIES_REQUEST, SORT_ENTRIES_REQUEST,
SORT_ENTRIES_SUCCESS SORT_ENTRIES_SUCCESS,
} from '../actions/entries'; } from '../actions/entries';
import { SEARCH_ENTRIES_SUCCESS } from '../actions/search'; import { SEARCH_ENTRIES_SUCCESS } from '../actions/search';
import { SORT_DIRECTION_ASCENDING, SORT_DIRECTION_NONE } from '../constants'; import { SORT_DIRECTION_ASCENDING, SORT_DIRECTION_NONE } from '../constants';
@ -44,7 +44,7 @@ import type {
Pages, Pages,
Sort, Sort,
SortMap, SortMap,
SortObject SortObject,
} from '../interface'; } from '../interface';
import type { EntryDraftState } from './entryDraft'; import type { EntryDraftState } from './entryDraft';
@ -204,7 +204,7 @@ function entries(
pages[payload.collection] = { pages[payload.collection] = {
page: page ?? undefined, page: page ?? undefined,
ids: loadedEntries.map(entry => entry.slug), ids: [...(pages[payload.collection]?.ids ?? []), ...loadedEntries.map(entry => entry.slug)],
isFetching: false, isFetching: false,
}; };

View File

@ -26,6 +26,7 @@ import type { EntriesAction } from '../actions/entries';
import type { Entry, FieldsErrors } from '../interface'; import type { Entry, FieldsErrors } from '../interface';
export interface EntryDraftState { export interface EntryDraftState {
original?: Entry;
entry?: Entry; entry?: Entry;
fieldsErrors: FieldsErrors; fieldsErrors: FieldsErrors;
hasChanged: boolean; hasChanged: boolean;
@ -49,13 +50,16 @@ function entryDraftReducer(
case DRAFT_CREATE_FROM_ENTRY: { case DRAFT_CREATE_FROM_ENTRY: {
const newState = { ...state }; const newState = { ...state };
const entry: Entry = {
...action.payload.entry,
newRecord: false,
};
// Existing Entry // Existing Entry
return { return {
...newState, ...newState,
entry: { entry,
...action.payload.entry, original: entry,
newRecord: false,
},
fieldsErrors: {}, fieldsErrors: {},
hasChanged: false, hasChanged: false,
key: uuid(), key: uuid(),
@ -65,13 +69,16 @@ function entryDraftReducer(
const newState = { ...state }; const newState = { ...state };
delete newState.localBackup; delete newState.localBackup;
const entry: Entry = {
...action.payload,
newRecord: true,
};
// New Entry // New Entry
return { return {
...newState, ...newState,
entry: { entry,
...action.payload, original: entry,
newRecord: true,
},
fieldsErrors: {}, fieldsErrors: {},
hasChanged: false, hasChanged: false,
key: uuid(), key: uuid(),
@ -88,13 +95,16 @@ function entryDraftReducer(
const newState = { ...state }; const newState = { ...state };
delete newState.localBackup; delete newState.localBackup;
const entry: Entry = {
...backupEntry,
newRecord: !backupEntry?.path,
};
// Local Backup // Local Backup
return { return {
...state, ...state,
entry: { entry,
...backupEntry, original: entry,
newRecord: !backupEntry?.path,
},
fieldsErrors: {}, fieldsErrors: {},
hasChanged: true, hasChanged: true,
key: uuid(), key: uuid(),
@ -105,13 +115,16 @@ function entryDraftReducer(
const newState = { ...state }; const newState = { ...state };
delete newState.localBackup; delete newState.localBackup;
const entry: Entry = {
...action.payload,
newRecord: true,
};
// Duplicate Entry // Duplicate Entry
return { return {
...newState, ...newState,
entry: { entry,
...action.payload, original: entry,
newRecord: true,
},
fieldsErrors: {}, fieldsErrors: {},
hasChanged: true, hasChanged: true,
}; };
@ -157,7 +170,7 @@ function entryDraftReducer(
return { return {
...newState, ...newState,
hasChanged: !entry || !isEqual(newData, get(entry, dataPath)), hasChanged: !entry || !isEqual(newData, get(newState.original, dataPath)),
}; };
} }
@ -211,14 +224,17 @@ function entryDraftReducer(
const newState = { ...state }; const newState = { ...state };
delete newState.localBackup; delete newState.localBackup;
const entry: Entry = {
...state.entry,
slug: action.payload.slug,
isPersisting: false,
};
return { return {
...newState, ...newState,
hasChanged: false, hasChanged: false,
entry: { entry,
...state.entry, original: entry,
slug: action.payload.slug,
isPersisting: false,
},
}; };
} }
@ -230,13 +246,16 @@ function entryDraftReducer(
const newState = { ...state }; const newState = { ...state };
delete newState.localBackup; delete newState.localBackup;
const entry: Entry = {
...state.entry,
isPersisting: false,
};
return { return {
...newState, ...newState,
hasChanged: false, hasChanged: false,
entry: { entry,
...state.entry, original: entry
isPersisting: false,
},
}; };
} }

View File

@ -11,8 +11,9 @@ import formatDate from 'date-fns/format';
import formatISO from 'date-fns/formatISO'; import formatISO from 'date-fns/formatISO';
import parse from 'date-fns/parse'; import parse from 'date-fns/parse';
import parseISO from 'date-fns/parseISO'; import parseISO from 'date-fns/parseISO';
import React, { useCallback, useMemo, useState } from 'react'; import React, { useCallback, useEffect, useMemo, useState } from 'react';
import alert from '../../components/UI/Alert';
import { isNotEmpty } from '../../lib/util/string.util'; import { isNotEmpty } from '../../lib/util/string.util';
import type { MouseEvent } from 'react'; import type { MouseEvent } from 'react';
@ -113,13 +114,16 @@ const DateTimeControl = ({
: field.default; : field.default;
}, [field.default, field.picker_utc, format, inputFormat, localToUTC]); }, [field.default, field.picker_utc, format, inputFormat, localToUTC]);
const [internalValue, setInternalValue] = useState(value ?? defaultValue); const [internalValue, setInternalValue] = useState(value);
const dateValue = useMemo( const dateValue: Date = useMemo(() => {
() => let valueToParse = internalValue;
format ? parse(internalValue, format, new Date()) ?? defaultValue : parseISO(internalValue), if (!valueToParse) {
[defaultValue, format, internalValue], valueToParse = defaultValue;
); }
return format ? parse(valueToParse, format, new Date()) : parseISO(valueToParse);
}, [defaultValue, format, internalValue]);
const utcDate = useMemo(() => { const utcDate = useMemo(() => {
const dateTime = new Date(dateValue); const dateTime = new Date(dateValue);
@ -149,14 +153,40 @@ const DateTimeControl = ({
[defaultValue, field.picker_utc, format, localToUTC, onChange], [defaultValue, field.picker_utc, format, localToUTC, onChange],
); );
useEffect(() => {
if (isNotEmpty(internalValue)) {
return;
}
setInternalValue(defaultValue);
setTimeout(() => {
onChange(defaultValue);
});
}, [defaultValue, internalValue, onChange]);
const dateTimePicker = useMemo(() => { const dateTimePicker = useMemo(() => {
if (!internalValue) {
return null;
}
let formattedValue = defaultValue;
try {
formattedValue = formatDate(field.picker_utc ? utcDate : dateValue, inputFormat);
} catch (e) {
alert({
title: 'editor.editorWidgets.datetime.invalidDateTitle',
body: 'editor.editorWidgets.datetime.invalidDateBody',
});
console.error(e);
}
if (dateFormat && !timeFormat) { if (dateFormat && !timeFormat) {
return ( return (
<MobileDatePicker <MobileDatePicker
key="mobile-date-picker" key="mobile-date-picker"
inputFormat={inputFormat} inputFormat={inputFormat}
label={label} label={label}
value={formatDate(field.picker_utc ? utcDate : dateValue, inputFormat)} value={formattedValue}
onChange={handleChange} onChange={handleChange}
renderInput={params => ( renderInput={params => (
<TextField <TextField
@ -186,7 +216,7 @@ const DateTimeControl = ({
key="time-picker" key="time-picker"
label={label} label={label}
inputFormat={inputFormat} inputFormat={inputFormat}
value={formatDate(field.picker_utc ? utcDate : dateValue, inputFormat)} value={formattedValue}
onChange={handleChange} onChange={handleChange}
renderInput={params => ( renderInput={params => (
<TextField <TextField
@ -215,7 +245,7 @@ const DateTimeControl = ({
key="mobile-date-time-picker" key="mobile-date-time-picker"
inputFormat={inputFormat} inputFormat={inputFormat}
label={label} label={label}
value={formatDate(field.picker_utc ? utcDate : dateValue, inputFormat)} value={formattedValue}
onChange={handleChange} onChange={handleChange}
renderInput={params => ( renderInput={params => (
<TextField <TextField
@ -240,6 +270,7 @@ const DateTimeControl = ({
}, [ }, [
dateFormat, dateFormat,
dateValue, dateValue,
defaultValue,
field.picker_utc, field.picker_utc,
handleChange, handleChange,
hasErrors, hasErrors,

View File

@ -21,6 +21,11 @@ const MarkdownPreview = ({
const viewer = useRef<Viewer | null>(null); const viewer = useRef<Viewer | null>(null);
useEffect(() => {
viewer.current?.getInstance().setMarkdown(value ?? '');
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [value]);
useEffect(() => { useEffect(() => {
mediaHolder.setBulkMedia(media); mediaHolder.setBulkMedia(media);
viewer.current?.getInstance().setMarkdown(value ?? ''); viewer.current?.getInstance().setMarkdown(value ?? '');

View File

@ -7,6 +7,7 @@ import uniqBy from 'lodash/uniqBy';
import React, { useCallback, useEffect, useMemo, useState } from 'react'; import React, { useCallback, useEffect, useMemo, useState } from 'react';
import { QUERY_SUCCESS } from '../../actions/search'; import { QUERY_SUCCESS } from '../../actions/search';
import { isNotEmpty } from '../../lib/util/string.util';
import { import {
addFileTemplateFields, addFileTemplateFields,
compileStringTemplate, compileStringTemplate,
@ -113,7 +114,7 @@ const RelationControl = ({
query, query,
locale, locale,
label, label,
hasErrors hasErrors,
}: WidgetControlProps<string | string[], RelationField>) => { }: WidgetControlProps<string | string[], RelationField>) => {
const [internalValue, setInternalValue] = useState(value); const [internalValue, setInternalValue] = useState(value);
const [initialOptions, setInitialOptions] = useState<HitOption[]>([]); const [initialOptions, setInitialOptions] = useState<HitOption[]>([]);
@ -184,7 +185,14 @@ const RelationControl = ({
const [options, setOptions] = useState<HitOption[]>([]); const [options, setOptions] = useState<HitOption[]>([]);
const [open, setOpen] = React.useState(false); const [open, setOpen] = React.useState(false);
const loading = useMemo(() => open && options.length === 0, [open, options.length]); const valueNotEmpty = useMemo(
() => (Array.isArray(internalValue) ? internalValue.length > 0 : isNotEmpty(internalValue)),
[internalValue],
);
const loading = useMemo(
() => (open || valueNotEmpty) && options.length === 0,
[open, valueNotEmpty, options.length],
);
useEffect(() => { useEffect(() => {
let alive = true; let alive = true;

View File

@ -111,7 +111,7 @@ const useIntersectionObserver = (setActiveId: (activeId: string) => void) => {
const StyledNav = styled('nav')( const StyledNav = styled('nav')(
({ theme }) => ` ({ theme }) => `
width: 100%; width: 100%;
padding: 0 16px 16px 0; padding: 0 20px 16px 0;
align-self: flex-start; align-self: flex-start;
position: sticky; position: sticky;
top: 0; top: 0;
@ -120,7 +120,7 @@ const StyledNav = styled('nav')(
top: 16px; top: 16px;
${theme.breakpoints.between('md', 'lg')} { ${theme.breakpoints.between('md', 'lg')} {
top: 0; top: 24px;
} }
${theme.breakpoints.down('md')} { ${theme.breakpoints.down('md')} {

View File

@ -39,7 +39,6 @@ const StyledDocsView = styled('div')(
${theme.breakpoints.down('lg')} { ${theme.breakpoints.down('lg')} {
margin-left: 0; margin-left: 0;
padding-top: 24px; padding-top: 24px;
overflow-x: hidden;
width: 100vw; width: 100vw;
} }