From 9820a6d89e57181dd35fb4d4b69730c9d059b375 Mon Sep 17 00:00:00 2001 From: Patrik Kozak <35232443+PatrikKozak@users.noreply.github.com> Date: Wed, 27 May 2026 13:47:25 -0400 Subject: [PATCH 01/17] feat(ui): updates column selector to v4 design progress --- packages/translations/src/clientKeys.ts | 6 + packages/translations/src/languages/ar.ts | 6 + packages/translations/src/languages/az.ts | 6 + packages/translations/src/languages/bg.ts | 6 + packages/translations/src/languages/bnBd.ts | 6 + packages/translations/src/languages/bnIn.ts | 6 + packages/translations/src/languages/ca.ts | 6 + packages/translations/src/languages/cs.ts | 6 + packages/translations/src/languages/da.ts | 6 + packages/translations/src/languages/de.ts | 6 + packages/translations/src/languages/en.ts | 6 + packages/translations/src/languages/es.ts | 6 + packages/translations/src/languages/et.ts | 6 + packages/translations/src/languages/fa.ts | 6 + packages/translations/src/languages/fr.ts | 6 + packages/translations/src/languages/he.ts | 6 + packages/translations/src/languages/hr.ts | 6 + packages/translations/src/languages/hu.ts | 6 + packages/translations/src/languages/hy.ts | 6 + packages/translations/src/languages/id.ts | 6 + packages/translations/src/languages/is.ts | 6 + packages/translations/src/languages/it.ts | 6 + packages/translations/src/languages/ja.ts | 6 + packages/translations/src/languages/ko.ts | 6 + packages/translations/src/languages/lt.ts | 6 + packages/translations/src/languages/lv.ts | 6 + packages/translations/src/languages/my.ts | 6 + packages/translations/src/languages/nb.ts | 6 + packages/translations/src/languages/nl.ts | 6 + packages/translations/src/languages/pl.ts | 6 + packages/translations/src/languages/pt.ts | 6 + packages/translations/src/languages/ro.ts | 6 + packages/translations/src/languages/rs.ts | 6 + .../translations/src/languages/rsLatin.ts | 6 + packages/translations/src/languages/ru.ts | 6 + packages/translations/src/languages/sk.ts | 6 + packages/translations/src/languages/sl.ts | 6 + packages/translations/src/languages/sv.ts | 6 + packages/translations/src/languages/ta.ts | 6 + packages/translations/src/languages/th.ts | 6 + packages/translations/src/languages/tr.ts | 6 + packages/translations/src/languages/uk.ts | 6 + packages/translations/src/languages/vi.ts | 6 + packages/translations/src/languages/zh.ts | 6 + packages/translations/src/languages/zhTw.ts | 6 + .../ui/src/elements/ColumnSelector/index.css | 194 +++++++++++++ .../ui/src/elements/ColumnSelector/index.tsx | 256 +++++++++++++++--- .../useDraggableSortable/index.tsx | 13 +- .../useDraggableSortable/types.ts | 2 + .../ui/src/elements/ListControls/index.tsx | 44 ++- packages/ui/src/elements/Popup/index.tsx | 10 +- .../src/elements/RelationshipTable/index.tsx | 5 +- packages/ui/src/elements/Switch/index.css | 74 +++++ packages/ui/src/elements/Switch/index.tsx | 64 +++++ packages/ui/src/exports/client/index.ts | 2 + 55 files changed, 865 insertions(+), 69 deletions(-) create mode 100644 packages/ui/src/elements/ColumnSelector/index.css create mode 100644 packages/ui/src/elements/Switch/index.css create mode 100644 packages/ui/src/elements/Switch/index.tsx diff --git a/packages/translations/src/clientKeys.ts b/packages/translations/src/clientKeys.ts index 271c04cf8d1..a0f12af17ff 100644 --- a/packages/translations/src/clientKeys.ts +++ b/packages/translations/src/clientKeys.ts @@ -233,6 +233,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'general:deleting', 'general:descending', 'general:depth', + 'general:dragToReorder', 'general:deselectAllRows', 'general:document', 'general:documentIsTrashed', @@ -247,6 +248,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'general:editing', 'general:editingLabel', 'general:editingTakenOver', + 'general:editColumns', 'general:editLabel', 'general:editedSince', 'general:email', @@ -307,6 +309,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'general:noResultsDescription', 'general:noResultsFound', 'general:notFound', + 'general:notShownInTable', 'general:nothingFound', 'general:noTrashResults', 'general:noUpcomingEventsScheduled', @@ -349,6 +352,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'general:schedulePublishFor', 'general:saving', 'general:searchBy', + 'general:searchColumns', 'general:select', 'general:selectAll', 'general:selectAllRows', @@ -357,6 +361,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'general:selectValue', 'general:showAllLabel', 'general:showSidebar', + 'general:shownInTable', 'general:sorryNotFound', 'general:sort', 'general:sortByLabelDirection', @@ -372,6 +377,7 @@ export const clientTranslationKeys = createClientTranslationKeys([ 'general:thisLanguage', 'general:time', 'general:timezone', + 'general:toggle', 'general:titleDeleted', 'general:titleTrashed', 'general:titleRestored', diff --git a/packages/translations/src/languages/ar.ts b/packages/translations/src/languages/ar.ts index c03006cc6f2..18f35302139 100644 --- a/packages/translations/src/languages/ar.ts +++ b/packages/translations/src/languages/ar.ts @@ -288,10 +288,12 @@ export const arTranslations: DefaultTranslationsObject = { documentModified: 'تم تعديل المستند', documentOutOfDate: 'تم تحديث هذا المستند مؤخرًا بواسطة مستخدم آخر. عرضك غير محدث.', documents: 'وثائق', + dragToReorder: 'اسحب لإعادة الترتيب', duplicate: 'استنساخ', duplicateWithoutSaving: 'استنساخ بدون حفظ التغييرات', edit: 'تعديل', editAll: 'تحرير الكل', + editColumns: 'تحرير الأعمدة', editedSince: 'تم التحرير منذ', editing: 'جاري التعديل', editingLabel_many: 'تعديل {{count}} {{label}}', @@ -363,6 +365,7 @@ export const arTranslations: DefaultTranslationsObject = { notFound: 'غير موجود', nothingFound: 'لم يتم العثور على شيء', noTrashResults: 'لا {{label}} في المهملات.', + notShownInTable: 'غير معروض في الجدول', noUpcomingEventsScheduled: 'لا يوجد أحداث مقبلة مجدولة.', noValue: 'لا يوجد قيمة', of: 'من', @@ -405,6 +408,7 @@ export const arTranslations: DefaultTranslationsObject = { saving: 'جاري الحفظ...', schedulePublishFor: 'جدولة النشر لـ {{العنوان}}', searchBy: 'البحث عن طريق {{label}}', + searchColumns: 'أعمدة البحث', select: 'اختر', selectAll: 'تحديد كل {{count}} {{label}}', selectAllRows: 'حدد جميع الصفوف', @@ -412,6 +416,7 @@ export const arTranslations: DefaultTranslationsObject = { selectLabel: 'حدد {{label}}', selectValue: 'اختيار قيمة', showAllLabel: 'عرض كل {{label}}', + shownInTable: 'معروض في جدول', showSidebar: 'إظهار الشريط الجانبي', sorryNotFound: 'عذرًا - لا يوجد شيء يتوافق مع طلبك.', sort: 'ترتيب', @@ -432,6 +437,7 @@ export const arTranslations: DefaultTranslationsObject = { titleDeleted: 'تم حذف {{label}} "{{title}}" بنجاح.', titleRestored: 'تمت استعادة "{{title}}" "{{label}}" بنجاح.', titleTrashed: '"{{label}}" "{{title}}" تم نقلها إلى سلة المهملات.', + toggle: 'تبديل', trash: 'سلة المهملات', trashedCountSuccessfully: '{{count}} {{label}} تم نقلها إلى سلة المهملات.', true: 'صحيح', diff --git a/packages/translations/src/languages/az.ts b/packages/translations/src/languages/az.ts index 218b7cac820..be583ffddb5 100644 --- a/packages/translations/src/languages/az.ts +++ b/packages/translations/src/languages/az.ts @@ -300,10 +300,12 @@ export const azTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Bu sənəd yeni başqa bir istifadəçi tərəfindən yenilənib. Sizin baxışınız köhnədir.', documents: 'Sənədlər', + dragToReorder: 'Sıralamaq üçün sürükləyin', duplicate: 'Dublikat', duplicateWithoutSaving: 'Dəyişiklikləri saxlamadan dublikatla', edit: 'Redaktə et', editAll: 'Hamısını redaktə et', + editColumns: 'Sütunları Redaktə Et', editedSince: 'Redaktə edilib', editing: 'Redaktə olunur', editingLabel_many: '{{count}} {{label}} redaktə olunur', @@ -377,6 +379,7 @@ export const azTranslations: DefaultTranslationsObject = { notFound: 'Tapılmadı', nothingFound: 'Heç nə tapılmadı', noTrashResults: 'Çöplükdə heç bir {{label}} yoxdur.', + notShownInTable: 'Cədvəldə göstərilmir', noUpcomingEventsScheduled: 'Heç bir gələcək tədbir cədvələ alınmayıb.', noValue: 'Dəyər yoxdur', of: 'dən', @@ -418,6 +421,7 @@ export const azTranslations: DefaultTranslationsObject = { saving: 'Saxlanılır...', schedulePublishFor: '{{title}} üçün nəşr cədvəlini təyin edin', searchBy: '{{label}} ilə axtar', + searchColumns: 'Axtarış sütunları', select: 'Seçin', selectAll: 'Bütün {{count}} {{label}} seç', selectAllRows: 'Bütün sıraları seçin', @@ -425,6 +429,7 @@ export const azTranslations: DefaultTranslationsObject = { selectLabel: '{{label}} seçin', selectValue: 'Dəyər seçin', showAllLabel: 'Bütün {{label}}-ı göstər', + shownInTable: 'Cədvəldə göstərilir', showSidebar: 'Yan paneli göstər', sorryNotFound: 'Üzr istəyirik - sizin tələbinizə uyğun heç nə yoxdur.', sort: 'Sırala', @@ -445,6 +450,7 @@ export const azTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" uğurla silindi.', titleRestored: '"{{title}}" "{{label}}" uğurla bərpa edildi.', titleTrashed: '{{label}} "{{title}}" zibilə köçürüldü.', + toggle: 'Dəyişmək', trash: 'Zibil', trashedCountSuccessfully: '{{count}} {{label}} zibilə köçürüldü.', true: 'Doğru', diff --git a/packages/translations/src/languages/bg.ts b/packages/translations/src/languages/bg.ts index 45da7b94aea..8ad441fd589 100644 --- a/packages/translations/src/languages/bg.ts +++ b/packages/translations/src/languages/bg.ts @@ -296,10 +296,12 @@ export const bgTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Този документ беше наскоро обновен от друг потребител. Вашият изглед е неактуален.', documents: 'Документи', + dragToReorder: 'Плъзнете, за да пренаредите', duplicate: 'Дупликирай', duplicateWithoutSaving: 'Дупликирай без да запазваш промените', edit: 'Редактирай', editAll: 'Редактирай всички', + editColumns: 'Редактиране на колони', editedSince: 'Редактирано от', editing: 'Редактиране', editingLabel_many: 'Редактиране на {{count}} {{label}}', @@ -373,6 +375,7 @@ export const bgTranslations: DefaultTranslationsObject = { notFound: 'Няма открит', nothingFound: 'Нищо не беше открито', noTrashResults: 'Няма {{label}} в кошчето.', + notShownInTable: 'Не е показано в таблицата', noUpcomingEventsScheduled: 'Няма предстоящи събития.', noValue: 'Няма стойност', of: 'от', @@ -414,6 +417,7 @@ export const bgTranslations: DefaultTranslationsObject = { saving: 'Запазване...', schedulePublishFor: 'Планирано публикуване за {{title}}', searchBy: 'Търси по {{label}}', + searchColumns: 'Търсене на колони', select: 'Изберете', selectAll: 'Избери всички {{count}} {{label}}', selectAllRows: 'Избери всички редове', @@ -421,6 +425,7 @@ export const bgTranslations: DefaultTranslationsObject = { selectLabel: 'Изберете {{label}}', selectValue: 'Избери стойност', showAllLabel: 'Покажи всички {{label}}', + shownInTable: 'Показано в таблица', showSidebar: 'Показване на страничната лента', sorryNotFound: 'Съжаляваме-няма нищо, което да отговаря на търсенето ти.', sort: 'Сортирай', @@ -441,6 +446,7 @@ export const bgTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" успешно изтрит.', titleRestored: '{{label}} "{{title}}" беше успешно възстановено.', titleTrashed: '{{label}} "{{title}}" е преместено в кошчето.', + toggle: 'Превключване', trash: 'Боклук', trashedCountSuccessfully: '{{count}} {{label}} преместени в кошчето.', true: 'Вярно', diff --git a/packages/translations/src/languages/bnBd.ts b/packages/translations/src/languages/bnBd.ts index 4e6c8c8221d..43ae073fe1c 100644 --- a/packages/translations/src/languages/bnBd.ts +++ b/packages/translations/src/languages/bnBd.ts @@ -301,10 +301,12 @@ export const bnBdTranslations: DefaultTranslationsObject = { documentOutOfDate: 'এই নথিটি সাম্প্রতিকভাবে অন্য ব্যবহারকারীর দ্বারা আপডেট করা হয়েছে। আপনার দর্শন আপতিত।', documents: 'ডকুমেন্টগুলি', + dragToReorder: 'টেনে এনে পুনঃক্রমবিন্যাস করুন', duplicate: 'ডুপ্লিকেট করুন', duplicateWithoutSaving: 'পরিবর্তনগুলি সংরক্ষণ না করে ডুপ্লিকেট করুন', edit: 'সম্পাদনা করুন', editAll: 'সমস্ত সম্পাদনা করুন', + editColumns: 'কলাম সম্পাদনা করুন', editedSince: 'থেকে সম্পাদিত হয়েছে', editing: 'সম্পাদনা করা হচ্ছে', editingLabel_many: '{{count}} {{label}} সম্পাদনা করা হচ্ছে', @@ -378,6 +380,7 @@ export const bnBdTranslations: DefaultTranslationsObject = { notFound: 'পাওয়া যায়নি', nothingFound: 'কিছুই পাওয়া যায়নি', noTrashResults: 'ট্র্যাশে কোন {{label}} নেই।', + notShownInTable: 'সারণিতে প্রদর্শিত নয়', noUpcomingEventsScheduled: 'কোনো আসন্ন ইভেন্ট নির্ধারিত নেই।', noValue: 'কোনো মান নেই', of: 'এর', @@ -420,6 +423,7 @@ export const bnBdTranslations: DefaultTranslationsObject = { saving: 'সংরক্ষণ করা হচ্ছে...', schedulePublishFor: '{{title}} এর জন্য প্রকাশ নির্ধারণ করুন', searchBy: '{{label}} দ্বারা অনুসন্ধান করুন', + searchColumns: 'কলাম অনুসন্ধান করুন', select: 'নির্বাচন করুন', selectAll: 'সমস্ত {{count}} {{label}} নির্বাচন করুন', selectAllRows: 'সমস্ত সারি নির্বাচন করুন', @@ -427,6 +431,7 @@ export const bnBdTranslations: DefaultTranslationsObject = { selectLabel: '{{label}} নির্বাচন করুন', selectValue: 'একটি মান নির্বাচন করুন', showAllLabel: 'সমস্ত {{label}} দেখান', + shownInTable: 'টেবিলে প্রদর্শিত', showSidebar: 'সাইডবার দেখান', sorryNotFound: 'দুঃখিত—আপনার অনুরোধের সাথে মিলে এমন কিছুই নেই।', sort: 'সাজান', @@ -447,6 +452,7 @@ export const bnBdTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" সফলভাবে মুছে ফেলা হয়েছে।', titleRestored: '"{{label}}" "{{title}}" সফলভাবে পুনরুদ্ধার করা হয়েছে।', titleTrashed: '{{label}} "{{title}}" আবর্জনাস্থলে সরিয়ে নেওয়া হয়েছে।', + toggle: 'টগল', trash: 'আবর্জনা', trashedCountSuccessfully: '{{count}} {{label}} ট্র্যাশে মুভ করা হয়েছে।', true: 'সত্য', diff --git a/packages/translations/src/languages/bnIn.ts b/packages/translations/src/languages/bnIn.ts index 37decb707c8..f5b989c8e48 100644 --- a/packages/translations/src/languages/bnIn.ts +++ b/packages/translations/src/languages/bnIn.ts @@ -300,10 +300,12 @@ export const bnInTranslations: DefaultTranslationsObject = { documentOutOfDate: 'এই নথিটি সম্প্রতি অন্য ব্যবহারকারীর দ্বারা আপডেট করা হয়েছে। আপনার দেখানো ভার্সন আপ টু ডেট নয়।', documents: 'ডকুমেন্টগুলি', + dragToReorder: 'টেনে অর্ডার পরিবর্তন করুন', duplicate: 'ডুপ্লিকেট করুন', duplicateWithoutSaving: 'পরিবর্তনগুলি সংরক্ষণ না করে ডুপ্লিকেট করুন', edit: 'সম্পাদনা করুন', editAll: 'সমস্ত সম্পাদনা করুন', + editColumns: 'কলাম সম্পাদনা করুন', editedSince: 'থেকে সম্পাদিত হয়েছে', editing: 'সম্পাদনা করা হচ্ছে', editingLabel_many: '{{count}} {{label}} সম্পাদনা করা হচ্ছে', @@ -377,6 +379,7 @@ export const bnInTranslations: DefaultTranslationsObject = { notFound: 'পাওয়া যায়নি', nothingFound: 'কিছুই পাওয়া যায়নি', noTrashResults: 'ট্র্যাশে কোনো {{label}} নেই।', + notShownInTable: 'টেবিলে প্রদর্শিত নয়', noUpcomingEventsScheduled: 'কোনো আসন্ন ইভেন্ট নির্ধারিত নেই।', noValue: 'কোনো মান নেই', of: 'এর', @@ -419,6 +422,7 @@ export const bnInTranslations: DefaultTranslationsObject = { saving: 'সংরক্ষণ করা হচ্ছে...', schedulePublishFor: '{{title}} এর জন্য প্রকাশ নির্ধারণ করুন', searchBy: '{{label}} দ্বারা অনুসন্ধান করুন', + searchColumns: 'অনুসন্ধান কলামসমূহ', select: 'নির্বাচন করুন', selectAll: 'সমস্ত {{count}} {{label}} নির্বাচন করুন', selectAllRows: 'সমস্ত সারি নির্বাচন করুন', @@ -426,6 +430,7 @@ export const bnInTranslations: DefaultTranslationsObject = { selectLabel: '{{label}} নির্বাচন করুন', selectValue: 'একটি মান নির্বাচন করুন', showAllLabel: 'সমস্ত {{label}} দেখান', + shownInTable: 'সারণিতে প্রদর্শিত', showSidebar: 'সাইডবার দেখান', sorryNotFound: 'দুঃখিত—আপনার অনুরোধের সাথে মিলে এমন কিছুই নেই।', sort: 'সাজান', @@ -446,6 +451,7 @@ export const bnInTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" সফলভাবে মুছে ফেলা হয়েছে।', titleRestored: '"{{label}}" "{{title}}" সফলভাবে পুনরুদ্ধার করা হয়েছে।', titleTrashed: '"{{label}}" "{{title}}" ট্র্যাশে সরিয়ে দেওয়া হয়েছে।', + toggle: 'টগল', trash: 'আবর্জনা', trashedCountSuccessfully: '{{count}} {{label}} ট্র্যাশে সরানো হয়েছে।', true: 'সত্য', diff --git a/packages/translations/src/languages/ca.ts b/packages/translations/src/languages/ca.ts index 89f6f9d726c..1f5fe24c42a 100644 --- a/packages/translations/src/languages/ca.ts +++ b/packages/translations/src/languages/ca.ts @@ -298,10 +298,12 @@ export const caTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Aquest document ha estat actualitzat recentment per un altre usuari. La seva vista està desactualitzada.', documents: 'Documents', + dragToReorder: 'Arrossegueu per reordenar', duplicate: 'Duplicar', duplicateWithoutSaving: 'Duplica sense desar', edit: 'Edita', editAll: 'Edita-ho tot', + editColumns: 'Edita columnes', editedSince: 'Editat des de', editing: 'Editant', editingLabel_many: 'Editent {{count}} {{label}}', @@ -375,6 +377,7 @@ export const caTranslations: DefaultTranslationsObject = { notFound: 'No trobat', nothingFound: 'Res trobat', noTrashResults: 'No hi ha cap {{label}} a la paperera.', + notShownInTable: 'No es mostra a la taula', noUpcomingEventsScheduled: 'No hi ha esdeveniments programats.', noValue: 'No hi ha cap valor', of: 'de', @@ -417,6 +420,7 @@ export const caTranslations: DefaultTranslationsObject = { saving: 'Desant...', schedulePublishFor: 'Programa la publicacio {{title}}', searchBy: 'Cerca per {{label}}', + searchColumns: 'Cercar columnes', select: 'Selecciona', selectAll: 'Selecciona totes les {{count}} {{label}}', selectAllRows: 'Selecciona totes les files', @@ -424,6 +428,7 @@ export const caTranslations: DefaultTranslationsObject = { selectLabel: 'Selecciona {{label}}', selectValue: 'Selecciona un valor', showAllLabel: 'Mostra totes {{label}}', + shownInTable: 'Mostrat en taula', showSidebar: 'Mostra la barra lateral', sorryNotFound: "Ho sento, no s'ha trobat la pàgina que busques.", sort: 'Ordena', @@ -444,6 +449,7 @@ export const caTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" eliminat correctament.', titleRestored: '{{label}} "{{title}}" s\'ha restaurat correctament.', titleTrashed: '{{label}} "{{title}}" s\'ha traslladat a la paperera.', + toggle: 'Commuta', trash: 'Brossa', trashedCountSuccessfully: "{{count}} {{label}} s'ha mogut a la paperera.", true: 'Veritat', diff --git a/packages/translations/src/languages/cs.ts b/packages/translations/src/languages/cs.ts index 0ccbe7993ec..ec77ce05196 100644 --- a/packages/translations/src/languages/cs.ts +++ b/packages/translations/src/languages/cs.ts @@ -295,10 +295,12 @@ export const csTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Tento dokument byl nedávno aktualizován jiným uživatelem. Váš pohled je zastaralý.', documents: 'Dokumenty', + dragToReorder: 'Přetáhněte pro změnu pořadí', duplicate: 'Duplikovat', duplicateWithoutSaving: 'Duplikovat bez uložení změn', edit: 'Upravit', editAll: 'Upravit vše', + editColumns: 'Upravit sloupce', editedSince: 'Upraveno od', editing: 'Úprava', editingLabel_many: 'Úprava {{count}} {{label}}', @@ -372,6 +374,7 @@ export const csTranslations: DefaultTranslationsObject = { notFound: 'Nenalezeno', nothingFound: 'Nic nenalezeno', noTrashResults: 'Žádný {{label}} v koši.', + notShownInTable: 'Není zobrazeno v tabulce', noUpcomingEventsScheduled: 'Žádné nadcházející události nejsou naplánovány.', noValue: 'Žádná hodnota', of: 'z', @@ -413,6 +416,7 @@ export const csTranslations: DefaultTranslationsObject = { saving: 'Ukládání...', schedulePublishFor: 'Naplánovat publikaci pro {{title}}', searchBy: 'Vyhledat podle {{label}}', + searchColumns: 'Hledat sloupce', select: 'Vyberte', selectAll: 'Vybrat vše {{count}} {{label}}', selectAllRows: 'Vyberte všechny řádky', @@ -420,6 +424,7 @@ export const csTranslations: DefaultTranslationsObject = { selectLabel: 'Vyberte {{label}}', selectValue: 'Vyberte hodnotu', showAllLabel: 'Zobrazit všechny {{label}}', + shownInTable: 'Zobrazeno v tabulce', showSidebar: 'Zobrazit postranní panel', sorryNotFound: 'Je nám líto, ale neexistuje nic, co by odpovídalo vašemu požadavku.', sort: 'Třídit', @@ -440,6 +445,7 @@ export const csTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" úspěšně smazáno.', titleRestored: '{{label}} "{{title}}" úspěšně obnoveno.', titleTrashed: '{{label}} "{{title}}" přesunuto do koše.', + toggle: 'Přepnout', trash: 'Koš', trashedCountSuccessfully: '{{count}} {{label}} přesunuto do koše.', true: 'Pravda', diff --git a/packages/translations/src/languages/da.ts b/packages/translations/src/languages/da.ts index 707df012b52..9a19c26da50 100644 --- a/packages/translations/src/languages/da.ts +++ b/packages/translations/src/languages/da.ts @@ -296,10 +296,12 @@ export const daTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Dette dokument er for nylig blevet opdateret af en anden bruger. Din visning er forældet.', documents: 'Dokumenter', + dragToReorder: 'Træk for at ændre rækkefølgen', duplicate: 'Duplikér', duplicateWithoutSaving: 'Dupliker uden at gemme ændringer', edit: 'Redigere', editAll: 'Rediger alle', + editColumns: 'Rediger kolonner', editedSince: 'Dette dokument er blevet redigeret siden du startede', editing: 'Rediger', editingLabel_many: 'Rediger {{count}} {{label}}', @@ -373,6 +375,7 @@ export const daTranslations: DefaultTranslationsObject = { notFound: 'Ikke fundet', nothingFound: 'Intet fundet', noTrashResults: 'Ingen {{label}} i papirkurven.', + notShownInTable: 'Ikke vist i tabellen', noUpcomingEventsScheduled: 'Ingen kommende begivenheder planlagt.', noValue: 'Ingen værdi', of: 'Af', @@ -415,6 +418,7 @@ export const daTranslations: DefaultTranslationsObject = { saving: 'Gemmer...', schedulePublishFor: 'Planlæg offentliggørelse for {{title}}', searchBy: 'Søg efter {{label}}', + searchColumns: 'Søg kolonner', select: 'Vælg', selectAll: 'Vælg alle {{count}} {{label}}', selectAllRows: 'Vælg alle rækker', @@ -422,6 +426,7 @@ export const daTranslations: DefaultTranslationsObject = { selectLabel: 'Vælg {{label}}', selectValue: 'Vælg en værdi', showAllLabel: 'Vis alle {{label}}', + shownInTable: 'Vises i tabel', showSidebar: 'Vis sidepanel', sorryNotFound: 'Beklager—der er intet, der svarer til din handling.', sort: 'Sorter', @@ -442,6 +447,7 @@ export const daTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" slettet.', titleRestored: '{{label}} "{{title}}" succesfuldt genoprettet.', titleTrashed: '{{label}} "{{title}}" flyttet til papirkurven.', + toggle: 'Skift', trash: 'Affald', trashedCountSuccessfully: '{{count}} {{label}} flyttet til papirkurven.', true: 'Sandt', diff --git a/packages/translations/src/languages/de.ts b/packages/translations/src/languages/de.ts index 71117cf7f87..1b69c33f3b7 100644 --- a/packages/translations/src/languages/de.ts +++ b/packages/translations/src/languages/de.ts @@ -305,10 +305,12 @@ export const deTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Dieses Dokument wurde kürzlich von einem anderen Benutzer aktualisiert. Deine Ansicht ist veraltet.', documents: 'Dokumente', + dragToReorder: 'Ziehen, um die Reihenfolge zu ändern', duplicate: 'Duplizieren', duplicateWithoutSaving: 'Duplizieren ohne Änderungen zu speichern', edit: 'Bearbeiten', editAll: 'Alle bearbeiten', + editColumns: 'Spalten bearbeiten', editedSince: 'Bearbeitet seit', editing: 'Bearbeiten', editingLabel_many: 'Bearbeiten von {{count}} {{label}}', @@ -382,6 +384,7 @@ export const deTranslations: DefaultTranslationsObject = { notFound: 'Nicht gefunden', nothingFound: 'Keine Ergebnisse', noTrashResults: 'Kein {{label}} im Papierkorb.', + notShownInTable: 'Nicht in der Tabelle angezeigt', noUpcomingEventsScheduled: 'Keine bevorstehenden Ereignisse geplant.', noValue: 'Kein Wert', of: 'von', @@ -422,6 +425,7 @@ export const deTranslations: DefaultTranslationsObject = { saving: 'Speichern...', schedulePublishFor: 'Veröffentlichung für {{title}} planen', searchBy: 'Suche nach {{label}}', + searchColumns: 'Suchspalten', select: 'Auswählen', selectAll: 'Alle {{count}} {{label}} auswählen', selectAllRows: 'Alle Zeilen auswählen', @@ -429,6 +433,7 @@ export const deTranslations: DefaultTranslationsObject = { selectLabel: '{{label}} auswählen', selectValue: 'Wert auswählen', showAllLabel: 'Alle {{label}} anzeigen', + shownInTable: 'In Tabelle angezeigt', showSidebar: 'Seitenleiste anzeigen', sorryNotFound: 'Es tut uns leid, aber wir haben nichts gefunden, was deiner Anfrage entspricht.', @@ -450,6 +455,7 @@ export const deTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} {{title}} wurde erfolgreich gelöscht.', titleRestored: '{{label}} "{{title}}" erfolgreich wiederhergestellt.', titleTrashed: '{{label}} "{{title}}" wurde in den Papierkorb verschoben.', + toggle: 'Umschalten', trash: 'Papierkorb', trashedCountSuccessfully: '{{count}} {{label}} wurde in den Papierkorb verschoben.', true: 'Wahr', diff --git a/packages/translations/src/languages/en.ts b/packages/translations/src/languages/en.ts index b5a80fa0005..6bf7e7c6788 100644 --- a/packages/translations/src/languages/en.ts +++ b/packages/translations/src/languages/en.ts @@ -298,10 +298,12 @@ export const enTranslations = { documentOutOfDate: 'This document was recently updated by another user. Your view is out of date.', documents: 'Documents', + dragToReorder: 'Drag to reorder', duplicate: 'Duplicate', duplicateWithoutSaving: 'Duplicate without saving changes', edit: 'Edit', editAll: 'Edit all', + editColumns: 'Edit Columns', editedSince: 'Edited since', editing: 'Editing', editingLabel_many: 'Editing {{count}} {{label}}', @@ -374,6 +376,7 @@ export const enTranslations = { notFound: 'Not Found', nothingFound: 'Nothing found', noTrashResults: 'No {{label}} in trash.', + notShownInTable: 'Not shown in table', noUpcomingEventsScheduled: 'No upcoming events scheduled.', noValue: 'No value', of: 'of', @@ -415,6 +418,7 @@ export const enTranslations = { saving: 'Saving...', schedulePublishFor: 'Schedule publish for {{title}}', searchBy: 'Search by {{label}}', + searchColumns: 'Search columns', select: 'Select', selectAll: 'Select all {{count}} {{label}}', selectAllRows: 'Select all rows', @@ -422,6 +426,7 @@ export const enTranslations = { selectLabel: 'Select {{label}}', selectValue: 'Select a value', showAllLabel: 'Show all {{label}}', + shownInTable: 'Shown in table', showSidebar: 'Show sidebar', sorryNotFound: 'Sorry—there is nothing to correspond with your request.', sort: 'Sort', @@ -442,6 +447,7 @@ export const enTranslations = { titleDeleted: '{{label}} "{{title}}" successfully deleted.', titleRestored: '{{label}} "{{title}}" successfully restored.', titleTrashed: '{{label}} "{{title}}" moved to trash.', + toggle: 'Toggle', trash: 'Trash', trashedCountSuccessfully: '{{count}} {{label}} moved to trash.', true: 'True', diff --git a/packages/translations/src/languages/es.ts b/packages/translations/src/languages/es.ts index 43b0bf0ce32..a68e3b1b93b 100644 --- a/packages/translations/src/languages/es.ts +++ b/packages/translations/src/languages/es.ts @@ -301,10 +301,12 @@ export const esTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Este documento ha sido actualizado recientemente por otro usuario. Su vista está desactualizada.', documents: 'Documentos', + dragToReorder: 'Arrastre para reordenar', duplicate: 'Duplicar', duplicateWithoutSaving: 'Duplicar sin guardar cambios', edit: 'Editar', editAll: 'Editar Todo', + editColumns: 'Editar columnas', editedSince: 'Editado desde', editing: 'Editando', editingLabel_many: 'Editando {{count}} {{label}}', @@ -378,6 +380,7 @@ export const esTranslations: DefaultTranslationsObject = { notFound: 'No encontrado', nothingFound: 'No se encontró nada', noTrashResults: 'No hay {{label}} en la papelera.', + notShownInTable: 'No se muestra en la tabla', noUpcomingEventsScheduled: 'No hay eventos próximos programados.', noValue: 'Sin valor', of: 'de', @@ -420,6 +423,7 @@ export const esTranslations: DefaultTranslationsObject = { saving: 'Guardando...', schedulePublishFor: 'Programar publicación para {{title}}', searchBy: 'Buscar por {{label}}', + searchColumns: 'Buscar columnas', select: 'Seleccionar', selectAll: 'Seleccionar {{count}} {{label}}', selectAllRows: 'Seleccionar todas las filas', @@ -427,6 +431,7 @@ export const esTranslations: DefaultTranslationsObject = { selectLabel: 'Seleccionar {{label}}', selectValue: 'Seleccionar un valor', showAllLabel: 'Mostrar todos los elementos de {{label}}', + shownInTable: 'Mostrado en tabla', showSidebar: 'Mostrar barra lateral', sorryNotFound: 'Lo sentimos, no hay nada que coincida con tu solicitud.', sort: 'Ordenar', @@ -447,6 +452,7 @@ export const esTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" se eliminó con éxito.', titleRestored: '{{label}} "{{title}}" se restauró con éxito.', titleTrashed: '{{label}} "{{title}}" se movió a la papelera.', + toggle: 'Alternar', trash: 'Basura', trashedCountSuccessfully: '{{count}} {{label}} movidos a la papelera.', true: 'Verdadero', diff --git a/packages/translations/src/languages/et.ts b/packages/translations/src/languages/et.ts index c4af2a37fcd..4caf23f42de 100644 --- a/packages/translations/src/languages/et.ts +++ b/packages/translations/src/languages/et.ts @@ -295,10 +295,12 @@ export const etTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Seda dokumenti on hiljuti värskendanud teine kasutaja. Teie vaade on aegunud.', documents: 'Dokumendid', + dragToReorder: 'Lohistage, et ümber järjestada', duplicate: 'Dubleeri', duplicateWithoutSaving: 'Dubleeri ilma muudatusi salvestamata', edit: 'Muuda', editAll: 'Muuda kõiki', + editColumns: 'Muuda veerge', editedSince: 'Muudetud alates', editing: 'Muutmine', editingLabel_many: 'Muudan {{count}} {{label}}', @@ -371,6 +373,7 @@ export const etTranslations: DefaultTranslationsObject = { notFound: 'Ei leitud', nothingFound: 'Midagi ei leitud', noTrashResults: 'Pole {{label}} prügikastis.', + notShownInTable: 'Tabelis ei ole kuvatud', noUpcomingEventsScheduled: 'Eelseisvaid sündmusi ei ole plaanitud.', noValue: 'Väärtus puudub', of: '/', @@ -411,6 +414,7 @@ export const etTranslations: DefaultTranslationsObject = { saving: 'Salvestamine...', schedulePublishFor: 'Planeeri avaldamine {{title}} jaoks', searchBy: 'Otsi {{label}} järgi', + searchColumns: 'Otsingutulbad', select: 'Vali', selectAll: 'Vali kõik {{count}} {{label}}', selectAllRows: 'Vali kõik read', @@ -418,6 +422,7 @@ export const etTranslations: DefaultTranslationsObject = { selectLabel: 'Valige {{label}}', selectValue: 'Vali väärtus', showAllLabel: 'Näita kõiki {{label}}', + shownInTable: 'Kuvatud tabelis', showSidebar: 'Kuva külgriba', sorryNotFound: 'Vabandust - teie päringule vastavat sisu ei leitud.', sort: 'Sorteeri', @@ -438,6 +443,7 @@ export const etTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" edukalt kustutatud.', titleRestored: '{{label}} "{{title}}" edukalt taastatud.', titleTrashed: '{{label}} "{{title}}" viidi prügikasti.', + toggle: 'Lüliti', trash: 'Prügi', trashedCountSuccessfully: '{{count}} {{label}} kanti prügikasti.', true: 'Tõene', diff --git a/packages/translations/src/languages/fa.ts b/packages/translations/src/languages/fa.ts index 95933477105..b8531d9ff20 100644 --- a/packages/translations/src/languages/fa.ts +++ b/packages/translations/src/languages/fa.ts @@ -291,10 +291,12 @@ export const faTranslations: DefaultTranslationsObject = { documentModified: 'سند تغییر یافته', documentOutOfDate: 'این سند اخیراً توسط کاربر دیگری به روز شده است. نمایش شما به روز نیست.', documents: 'اسناد', + dragToReorder: 'برای تغییر ترتیب، بکشید و رها کنید', duplicate: 'ایجاد کپی', duplicateWithoutSaving: 'ایجاد کپی بدون ذخیره تغییرات', edit: 'ویرایش', editAll: 'ویرایش همه', + editColumns: 'ویرایش ستون‌ها', editedSince: 'ویرایش شده از', editing: 'در حال ویرایش...', editingLabel_many: 'در حال ویرایش {{count}} {{label}}', @@ -367,6 +369,7 @@ export const faTranslations: DefaultTranslationsObject = { notFound: 'یافت نشد', nothingFound: 'موردی یافت نشد', noTrashResults: 'هیچ {{label}} در سطل زباله وجود ندارد.', + notShownInTable: 'در جدول نمایش داده نشده است', noUpcomingEventsScheduled: 'رویداد آینده‌ای برنامه‌ریزی نشده است.', noValue: 'بدون مقدار', of: 'از', @@ -407,6 +410,7 @@ export const faTranslations: DefaultTranslationsObject = { saving: 'در حال ذخیره...', schedulePublishFor: 'زمان‌بندی انتشار برای "{{title}}"', searchBy: 'جستجو بر اساس {{label}}', + searchColumns: 'جستجوی ستون‌ها', select: 'انتخاب', selectAll: 'انتخاب همه {{count}} {{label}}', selectAllRows: 'انتخاب همه ردیف‌ها', @@ -414,6 +418,7 @@ export const faTranslations: DefaultTranslationsObject = { selectLabel: 'انتخاب {{label}}', selectValue: 'یک مقدار انتخاب کنید', showAllLabel: 'نمایش همه {{label}}', + shownInTable: 'نمایش داده شده در جدول', showSidebar: 'نمایش نوار کناری', sorryNotFound: 'متأسفانه، موردی مطابق با درخواست شما پیدا نشد.', sort: 'مرتب‌سازی', @@ -434,6 +439,7 @@ export const faTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" با موفقیت حذف شد.', titleRestored: '{{label}} "{{title}}" با موفقیت بازیابی شد.', titleTrashed: '{{label}} "{{title}}" به سطل زباله منتقل شد.', + toggle: 'تغییر وضعیت', trash: 'سطل زباله', trashedCountSuccessfully: '{{count}} {{label}} به سطل زباله منتقل شد.', true: 'بله', diff --git a/packages/translations/src/languages/fr.ts b/packages/translations/src/languages/fr.ts index cc188b18e8f..27a07a46d61 100644 --- a/packages/translations/src/languages/fr.ts +++ b/packages/translations/src/languages/fr.ts @@ -307,10 +307,12 @@ export const frTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Ce document a récemment été mis à jour par un autre utilisateur. Votre vue est obsolète.', documents: 'Documents', + dragToReorder: 'Faites glisser pour réorganiser', duplicate: 'Dupliquer', duplicateWithoutSaving: 'Dupliquer sans enregistrer les modifications', edit: 'Éditer', editAll: 'Modifier tout', + editColumns: 'Modifier les colonnes', editedSince: 'Modifié depuis', editing: 'Modification en cours', editingLabel_many: 'Modification des {{count}} {{label}}', @@ -384,6 +386,7 @@ export const frTranslations: DefaultTranslationsObject = { notFound: 'Pas trouvé', nothingFound: 'Rien n’a été trouvé', noTrashResults: 'Aucun {{label}} dans la corbeille.', + notShownInTable: 'Non affiché dans le tableau', noUpcomingEventsScheduled: 'Aucun événement à venir prévu.', noValue: 'Aucune valeur', of: 'de', @@ -425,6 +428,7 @@ export const frTranslations: DefaultTranslationsObject = { saving: 'Sauvegarde en cours...', schedulePublishFor: 'Programmer la publication pour {{titre}}', searchBy: 'Rechercher par {{label}}', + searchColumns: 'Colonnes de recherche', select: 'Sélectionner', selectAll: 'Tout sélectionner {{count}} {{label}}', selectAllRows: 'Sélectionnez toutes les lignes', @@ -432,6 +436,7 @@ export const frTranslations: DefaultTranslationsObject = { selectLabel: 'Sélectionnez {{label}}', selectValue: 'Sélectionnez une valeur', showAllLabel: 'Afficher tous les {{label}}', + shownInTable: 'Affiché dans un tableau', showSidebar: 'Afficher la barre latérale', sorryNotFound: 'Désolé, rien ne correspond à votre demande.', sort: 'Trier', @@ -452,6 +457,7 @@ export const frTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" supprimé(e) avec succès.', titleRestored: '{{label}} "{{title}}" restauré avec succès.', titleTrashed: '{{label}} "{{title}}" déplacé vers la corbeille.', + toggle: 'Basculer', trash: 'Corbeille', trashedCountSuccessfully: '{{count}} {{label}} déplacé à la corbeille.', true: 'Vrai', diff --git a/packages/translations/src/languages/he.ts b/packages/translations/src/languages/he.ts index bd2df53a580..8c2d91e9814 100644 --- a/packages/translations/src/languages/he.ts +++ b/packages/translations/src/languages/he.ts @@ -287,10 +287,12 @@ export const heTranslations: DefaultTranslationsObject = { documentModified: 'מסמך שונה', documentOutOfDate: 'מסמך זה עודכן לאחרונה על ידי משתמש אחר. התצוגה שלך אינה מעודכנת.', documents: 'מסמכים', + dragToReorder: 'גרור לסידור מחדש', duplicate: 'שכפול', duplicateWithoutSaving: 'שכפול ללא שמירת שינויים', edit: 'עריכה', editAll: 'עריכה הכל', + editColumns: 'עריכת עמודות', editedSince: 'נערך מאז', editing: 'עריכה', editingLabel_many: 'עריכת {{count}} {{label}}', @@ -361,6 +363,7 @@ export const heTranslations: DefaultTranslationsObject = { notFound: 'לא נמצא', nothingFound: 'לא נמצא כלום', noTrashResults: 'אין {{label}} בפח.', + notShownInTable: 'לא מוצג בטבלה', noUpcomingEventsScheduled: 'אין אירועים מתוכנתים בהמשך.', noValue: 'אין ערך', of: 'מתוך', @@ -402,6 +405,7 @@ export const heTranslations: DefaultTranslationsObject = { saving: 'שומר...', schedulePublishFor: 'לתזמן פרסום עבור {{כותרת}}', searchBy: 'חיפוש לפי {{label}}', + searchColumns: 'חיפוש עמודות', select: 'בחר', selectAll: 'בחר את כל {{count}} ה{{label}}', selectAllRows: 'בחר את כל השורות', @@ -409,6 +413,7 @@ export const heTranslations: DefaultTranslationsObject = { selectLabel: '{{label}} בחר', selectValue: 'בחר ערך', showAllLabel: 'הצג את כל ה{{label}}', + shownInTable: 'מוצג בטבלה', showSidebar: 'הצג סרגל צד', sorryNotFound: 'מצטערים - אין תוצאות התואמות את הבקשה.', sort: 'מיין', @@ -429,6 +434,7 @@ export const heTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" נמחק בהצלחה.', titleRestored: 'התווית "{{title}}" שוחזרה בהצלחה.', titleTrashed: '{{label}} "{{title}}" הועבר לפח.', + toggle: 'החלף', trash: 'זבל', trashedCountSuccessfully: '{{count}} {{label}} הועברו לפח.', true: 'True', diff --git a/packages/translations/src/languages/hr.ts b/packages/translations/src/languages/hr.ts index 62597ae8b73..ac8194f4e4f 100644 --- a/packages/translations/src/languages/hr.ts +++ b/packages/translations/src/languages/hr.ts @@ -296,10 +296,12 @@ export const hrTranslations: DefaultTranslationsObject = { documentModified: 'Dokument izmijenjen', documentOutOfDate: 'Ovaj dokument je nedavno ažurirao drugi korisnik. Vaš pogled je zastario.', documents: 'Dokumenti', + dragToReorder: 'Povucite za promjenu redoslijeda', duplicate: 'Duplikat', duplicateWithoutSaving: 'Dupliciraj bez spremanja promjena', edit: 'Uredi', editAll: 'Uredi sve', + editColumns: 'Uredi stupce', editedSince: 'Uređeno od', editing: 'Uređivanje', editingLabel_many: 'Uređivanje {{count}} {{label}}', @@ -373,6 +375,7 @@ export const hrTranslations: DefaultTranslationsObject = { notFound: 'Nije pronađeno', nothingFound: 'Ništa nije pronađeno', noTrashResults: 'Nema {{label}} u smeću.', + notShownInTable: 'Nije prikazano u tablici', noUpcomingEventsScheduled: 'Nema zakazanih nadolazećih događanja.', noValue: 'Bez vrijednosti', of: 'od', @@ -414,6 +417,7 @@ export const hrTranslations: DefaultTranslationsObject = { saving: 'Spremanje...', schedulePublishFor: 'Zakazano objavljivanje za {{title}}', searchBy: 'Traži po {{label}}', + searchColumns: 'Pretraži stupce', select: 'Odaberite', selectAll: 'Odaberite sve {{count}} {{label}}', selectAllRows: 'Odaberite sve redove', @@ -421,6 +425,7 @@ export const hrTranslations: DefaultTranslationsObject = { selectLabel: 'Odaberite {{label}}', selectValue: 'Odaberi vrijednost', showAllLabel: 'Prikaži sve {{label}}', + shownInTable: 'Prikazano u tablici', showSidebar: 'Prikaži bočnu traku', sorryNotFound: 'Nažalost, ne postoji ništa što odgovara vašem zahtjevu.', sort: 'Sortiraj', @@ -441,6 +446,7 @@ export const hrTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" uspješno izbrisano.', titleRestored: '{{label}} "{{title}}" uspješno je obnovljeno.', titleTrashed: '{{label}} "{{title}}" premješteno u smeće.', + toggle: 'Preklop', trash: 'Otpad', trashedCountSuccessfully: '{{count}} {{label}} premješteno u smeće.', true: 'Istinito', diff --git a/packages/translations/src/languages/hu.ts b/packages/translations/src/languages/hu.ts index 259d537c049..002672aae45 100644 --- a/packages/translations/src/languages/hu.ts +++ b/packages/translations/src/languages/hu.ts @@ -301,10 +301,12 @@ export const huTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Ezt a dokumentumot nemrégiben frissítette egy másik felhasználó. A megtekintése elavult.', documents: 'Dokumentumok', + dragToReorder: 'Húzza át a rendezéshez', duplicate: 'Duplikálás', duplicateWithoutSaving: 'Duplikálás a módosítások mentése nélkül', edit: 'Szerkesztés', editAll: 'Összes szerkesztése', + editColumns: 'Edit Columns', editedSince: 'Szerkesztve', editing: 'Szerkesztés', editingLabel_many: '{{count}} {{label}} szerkesztése', @@ -377,6 +379,7 @@ export const huTranslations: DefaultTranslationsObject = { notFound: 'Nem található', nothingFound: 'Nincs találat', noTrashResults: 'Nincs {{label}} a szemetesben.', + notShownInTable: 'Nem jelenik meg a táblázatban', noUpcomingEventsScheduled: 'Nincsenek közelgő események.', noValue: 'Nincs érték', of: 'a', @@ -419,6 +422,7 @@ export const huTranslations: DefaultTranslationsObject = { saving: 'Mentés...', schedulePublishFor: 'Tervezett közzététel a(z) {{title}} című számára', searchBy: 'Keresés a következő szerint: {{label}}', + searchColumns: 'Oszlopok keresése', select: 'Válasszon', selectAll: 'Az összes kijelölése: {{count}} {{label}}', selectAllRows: 'Válassza ki az összes sort', @@ -426,6 +430,7 @@ export const huTranslations: DefaultTranslationsObject = { selectLabel: 'Válassza ki a(z) {{label}} opciót', selectValue: 'Válasszon ki egy értéket', showAllLabel: 'Mutasd az összes {{címke}}', + shownInTable: 'Táblázatban megjelenítve', showSidebar: 'Oldalsáv megjelenítése', sorryNotFound: 'Sajnáljuk – nincs semmi, ami megfelelne a kérésének.', sort: 'Rendezés', @@ -446,6 +451,7 @@ export const huTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" sikeresen törölve.', titleRestored: '"{{label}}" "{{title}}" sikeresen visszaállítva.', titleTrashed: '"{{label}}" "{{title}}" a szemétbe került.', + toggle: 'Váltás', trash: 'Szemét', trashedCountSuccessfully: '{{count}} {{label}} átkerült a szemeteskukába.', true: 'Igaz', diff --git a/packages/translations/src/languages/hy.ts b/packages/translations/src/languages/hy.ts index 35971d9c0db..5ee73429109 100644 --- a/packages/translations/src/languages/hy.ts +++ b/packages/translations/src/languages/hy.ts @@ -296,10 +296,12 @@ export const hyTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Այս փաստաթուղթը վերջերս թարմացրել է մեկ այլ օգտագործող։ Ձեր տեսքը անթարմացած է։', documents: 'Փաստաթղթեր', + dragToReorder: 'Քաշել և վերադասավորել', duplicate: 'Կրկնօրինակել', duplicateWithoutSaving: 'Կրկնօրինակել առանց փոփոխությունները պահպանելու', edit: 'Խմբագրել', editAll: 'Խմբագրել բոլորը', + editColumns: 'Խմբագրել Սյունակները', editedSince: 'Խմբագրվել է սկսած', editing: 'Խմբագրում', editingLabel_many: 'Խմբագրվում է {{count}} {{label}}', @@ -373,6 +375,7 @@ export const hyTranslations: DefaultTranslationsObject = { notFound: 'Չի գտնվել', nothingFound: 'Ոչինչ չի գտնվել', noTrashResults: 'Ոչ մի {{label}} աղբարկղում:', + notShownInTable: 'Չի ցուցադրվում աղյուսակում', noUpcomingEventsScheduled: 'Իրադարձություններ նախատեսված չեն։', noValue: 'Արժեք չկա', of: 'ի', @@ -415,6 +418,7 @@ export const hyTranslations: DefaultTranslationsObject = { saving: 'Պահպանվում է...', schedulePublishFor: 'Հրապարակման ժամանակ նշանակել {{title}}-ի համար', searchBy: 'Որոնել ըստ {{label}}-ի', + searchColumns: 'Որոնել սյունակներ', select: 'Ընտրել', selectAll: 'Ընտրել բոլոր {{count}} {{label}}', selectAllRows: 'Ընտրել բոլոր տողերը', @@ -422,6 +426,7 @@ export const hyTranslations: DefaultTranslationsObject = { selectLabel: 'ընտրել {{label}}', selectValue: 'Ընտրեք արժեք', showAllLabel: 'Ցուցադրել բոլոր {{label}}-ները', + shownInTable: 'Արտացոլված է աղյուսակում', showSidebar: 'Ցուցադրել կողային վահանակը', sorryNotFound: 'Ներողություն, Ձեր հարցմանը համապատասխան ոչինչ չկա։', sort: 'Տեսակավորել', @@ -442,6 +447,7 @@ export const hyTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" հաջողությամբ ջնջվել է։', titleRestored: '"{{label}}" "{{title}}" հաջողությամբ վերականգնվել է։', titleTrashed: '«{{label}}» «{{title}}» տեղափոխվել է աղբարկղում:', + toggle: 'Այրվարձել', trash: 'աղբ', trashedCountSuccessfully: '{{count}} {{label}} տեղափոխվել է աղբարկղում։', true: 'Ճիշտ', diff --git a/packages/translations/src/languages/id.ts b/packages/translations/src/languages/id.ts index d1aafd9646d..4b62a0b07cb 100644 --- a/packages/translations/src/languages/id.ts +++ b/packages/translations/src/languages/id.ts @@ -299,10 +299,12 @@ export const idTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Dokumen ini baru-baru ini diperbarui oleh pengguna lain. Tampilan Anda sudah usang.', documents: 'Dokumen', + dragToReorder: 'Seret untuk mengurutkan ulang', duplicate: 'Duplikat', duplicateWithoutSaving: 'Duplikat tanpa menyimpan perubahan', edit: 'Edit', editAll: 'Edit semua', + editColumns: 'Edit Kolom', editedSince: 'Diedit sejak', editing: 'Mengedit', editingLabel_many: 'Mengedit {{count}} {{label}}', @@ -376,6 +378,7 @@ export const idTranslations: DefaultTranslationsObject = { notFound: 'Tidak Ditemukan', nothingFound: 'Tidak ada yang ditemukan', noTrashResults: 'Tidak ada {{label}} di tempat sampah.', + notShownInTable: 'Tidak ditampilkan dalam tabel', noUpcomingEventsScheduled: 'Tidak ada acara mendatang yang dijadwalkan.', noValue: 'Tidak ada nilai', of: 'dari', @@ -417,6 +420,7 @@ export const idTranslations: DefaultTranslationsObject = { saving: 'Menyimpan...', schedulePublishFor: 'Jadwalkan publikasi untuk {{title}}', searchBy: 'Cari berdasarkan {{label}}', + searchColumns: 'Kolom pencarian', select: 'Pilih', selectAll: 'Pilih semua {{count}} {{label}}', selectAllRows: 'Pilih semua baris', @@ -424,6 +428,7 @@ export const idTranslations: DefaultTranslationsObject = { selectLabel: 'Pilih {{label}}', selectValue: 'Pilih nilai', showAllLabel: 'Tampilkan semua {{label}}', + shownInTable: 'Ditampilkan dalam tabel', showSidebar: 'Tampilkan bilah samping', sorryNotFound: 'Maaf—tidak ada yang sesuai dengan permintaan Anda.', sort: 'Urutkan', @@ -444,6 +449,7 @@ export const idTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" berhasil dihapus.', titleRestored: '{{label}} "{{title}}" berhasil dipulihkan.', titleTrashed: '{{label}} "{{title}}" dipindahkan ke tempat sampah.', + toggle: 'Alihkan', trash: 'Tempat Sampah', trashedCountSuccessfully: '{{count}} {{label}} dipindahkan ke tempat sampah.', true: 'Benar', diff --git a/packages/translations/src/languages/is.ts b/packages/translations/src/languages/is.ts index 66d9363ef69..c5a1c32e493 100644 --- a/packages/translations/src/languages/is.ts +++ b/packages/translations/src/languages/is.ts @@ -295,10 +295,12 @@ export const isTranslations: DefaultTranslationsObject = { documentModified: 'Skjal breytt', documentOutOfDate: 'Þetta skjal var nýlega uppfært af öðrum notanda. Yfirlitið þitt er úrelt.', documents: 'Færslur', + dragToReorder: 'Dragðu til að endurraða', duplicate: 'Tvöfalda', duplicateWithoutSaving: 'Tvöfalda án þess að vista breytingar', edit: 'Breyta', editAll: 'Breyta öllu', + editColumns: 'Breyta dálkum', editedSince: 'Breytt síðan', editing: 'Breyti', editingLabel_many: 'Breyti {{count}} {{label}}', @@ -371,6 +373,7 @@ export const isTranslations: DefaultTranslationsObject = { notFound: 'Fannst ekki', nothingFound: 'Ekkert fannst', noTrashResults: 'Ekkert {{label}} í rusli.', + notShownInTable: 'Ekki sýnt í töflu', noUpcomingEventsScheduled: 'Engir komandi viðburðir áætlaðir.', noValue: 'Ekkert gildi', of: 'af', @@ -412,6 +415,7 @@ export const isTranslations: DefaultTranslationsObject = { saving: 'Vista...', schedulePublishFor: 'Áætla útgáfu fyrir {{title}}', searchBy: 'Leita eftir {{label}}', + searchColumns: 'Leitar dálkar', select: 'Velja', selectAll: 'Velja allar {{count}} {{label}}', selectAllRows: 'Velja allar raðir', @@ -419,6 +423,7 @@ export const isTranslations: DefaultTranslationsObject = { selectLabel: 'Velja {{label}}', selectValue: 'Veldu gildi', showAllLabel: 'Sýna allar {{label}}', + shownInTable: 'Sýnt í töflu', showSidebar: 'Sýna hliðarstiku', sorryNotFound: 'Því miður, það er ekkert sem samsvarar beiðninni þinni.', sort: 'Raða', @@ -439,6 +444,7 @@ export const isTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" var eytt.', titleRestored: '{{label}} "{{title}}" endurheimt.', titleTrashed: '{{label}} "{{title}}" fært í rusl.', + toggle: 'Breyta', trash: 'Rusl', trashedCountSuccessfully: '{{count}} {{label}} færð í rusl.', true: 'Satt', diff --git a/packages/translations/src/languages/it.ts b/packages/translations/src/languages/it.ts index 3f42220f287..9cce2f5a00b 100644 --- a/packages/translations/src/languages/it.ts +++ b/packages/translations/src/languages/it.ts @@ -300,10 +300,12 @@ export const itTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Questo documento è stato recentemente aggiornato da un altro utente. La tua visualizzazione non è aggiornata.', documents: 'Documenti', + dragToReorder: 'Trascina per riordinare', duplicate: 'Duplica', duplicateWithoutSaving: 'Duplica senza salvare le modifiche', edit: 'Modificare', editAll: 'Modifica Tutto', + editColumns: 'Modifica colonne', editedSince: 'Modificato da', editing: 'Modifica', editingLabel_many: 'Modificare {{count}} {{label}}', @@ -376,6 +378,7 @@ export const itTranslations: DefaultTranslationsObject = { notFound: 'Non Trovato', nothingFound: 'Non è stato trovato nulla', noTrashResults: 'Nessun {{label}} nel cestino.', + notShownInTable: 'Non visualizzato nella tabella', noUpcomingEventsScheduled: 'Nessun evento in programma.', noValue: 'Nessun valore', of: 'di', @@ -419,6 +422,7 @@ export const itTranslations: DefaultTranslationsObject = { saving: 'Salvo...', schedulePublishFor: 'Pianifica la pubblicazione per {{title}}', searchBy: 'Cerca per {{label}}', + searchColumns: 'Cerca colonne', select: 'Seleziona', selectAll: 'Seleziona tutto {{count}} {{label}}', selectAllRows: 'Seleziona tutte le righe', @@ -426,6 +430,7 @@ export const itTranslations: DefaultTranslationsObject = { selectLabel: 'Seleziona {{label}}', selectValue: 'Seleziona un valore', showAllLabel: 'Mostra tutti {{label}}', + shownInTable: 'Visualizzato in tabella', showSidebar: 'Mostra barra laterale', sorryNotFound: "Siamo spiacenti, non c'è nulla che corrisponda alla tua richiesta.", sort: 'Ordina', @@ -446,6 +451,7 @@ export const itTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} {{title}} eliminato con successo.', titleRestored: '{{label}} "{{title}}" ripristinato con successo.', titleTrashed: '{{label}} "{{title}}" spostato nel cestino.', + toggle: 'Attiva/disattiva', trash: 'Cestino', trashedCountSuccessfully: '{{count}} {{label}} spostati nel cestino.', true: 'Vero', diff --git a/packages/translations/src/languages/ja.ts b/packages/translations/src/languages/ja.ts index a912fb5d5bc..3ee6d5c2c5e 100644 --- a/packages/translations/src/languages/ja.ts +++ b/packages/translations/src/languages/ja.ts @@ -299,10 +299,12 @@ export const jaTranslations: DefaultTranslationsObject = { documentOutOfDate: 'このドキュメントは最近別のユーザーによって更新されました。あなたのビューは古いものです。', documents: 'ドキュメント', + dragToReorder: 'ドラッグして並べ替え', duplicate: '複製', duplicateWithoutSaving: '変更を保存せずに複製', edit: '編集', editAll: 'すべてを編集', + editColumns: '列を編集', editedSince: 'から編集', editing: '編集', editingLabel_many: '{{count}}つの{{label}}を編集しています', @@ -375,6 +377,7 @@ export const jaTranslations: DefaultTranslationsObject = { notFound: 'Not Found', nothingFound: 'Nothing found', noTrashResults: 'ゴミ箱に{{label}}はありません。', + notShownInTable: '表には表示されていません', noUpcomingEventsScheduled: '予定されているイベントはありません。', noValue: '未設定', of: '/', @@ -415,6 +418,7 @@ export const jaTranslations: DefaultTranslationsObject = { saving: '保存しています...', schedulePublishFor: '{{title}}の公開を予定する', searchBy: '{{label}} で検索', + searchColumns: '検索列', select: '選択してください。', selectAll: 'すべての{{count}}つの{{label}}を選択', selectAllRows: 'すべての行を選択します', @@ -422,6 +426,7 @@ export const jaTranslations: DefaultTranslationsObject = { selectLabel: '{{label}}を選択してください', selectValue: '値を選択', showAllLabel: 'すべての{{label}}を表示する', + shownInTable: '表に表示', showSidebar: 'サイドバーを表示', sorryNotFound: '申し訳ありません。リクエストに対応する内容が見つかりませんでした。', sort: '並び替え', @@ -442,6 +447,7 @@ export const jaTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" が削除されました。', titleRestored: '「{{label}}」"{{title}}" が正常に復元されました。', titleTrashed: '{{label}} "{{title}}"がゴミ箱へ移動されました。', + toggle: 'トグル', trash: 'ゴミ箱', trashedCountSuccessfully: '{{count}} {{label}}がゴミ箱に移動しました。', true: 'true', diff --git a/packages/translations/src/languages/ko.ts b/packages/translations/src/languages/ko.ts index 6e4fe63629b..79990018dd5 100644 --- a/packages/translations/src/languages/ko.ts +++ b/packages/translations/src/languages/ko.ts @@ -295,10 +295,12 @@ export const koTranslations: DefaultTranslationsObject = { documentOutOfDate: '이 문서는 최근에 다른 사용자에 의해 업데이트되었습니다. 귀하의 보기는 낡았습니다.', documents: '문서들', + dragToReorder: '드래그하여 순서 변경', duplicate: '복제', duplicateWithoutSaving: '변경 사항 저장 없이 복제', edit: '수정', editAll: '모두 수정', + editColumns: '열 편집', editedSince: '편집됨', editing: '수정 중', editingLabel_many: '{{count}}개의 {{label}} 수정 중', @@ -371,6 +373,7 @@ export const koTranslations: DefaultTranslationsObject = { notFound: '찾을 수 없음', nothingFound: '찾을 수 없습니다', noTrashResults: '휴지통에 {{label}}이 없습니다.', + notShownInTable: '표에 표시되지 않음', noUpcomingEventsScheduled: '예정된 행사가 없습니다.', noValue: '값 없음', of: '의', @@ -413,6 +416,7 @@ export const koTranslations: DefaultTranslationsObject = { saving: '저장 중...', schedulePublishFor: '{{title}}에 대한 게시 일정 설정', searchBy: '{{label}}로 검색', + searchColumns: '검색 열', select: '선택하십시오', selectAll: '{{count}}개 {{label}} 모두 선택', selectAllRows: '모든 행 선택', @@ -420,6 +424,7 @@ export const koTranslations: DefaultTranslationsObject = { selectLabel: '{{label}}을 선택하십시오.', selectValue: '값 선택', showAllLabel: '{{label}} 모두 표시', + shownInTable: '표에 표시됨', showSidebar: '사이드바 표시', sorryNotFound: '죄송합니다. 요청과 일치하는 항목이 없습니다.', sort: '정렬', @@ -440,6 +445,7 @@ export const koTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}"을(를) 삭제했습니다.', titleRestored: '"{{label}}" "{{title}}"이(가) 성공적으로 복원되었습니다.', titleTrashed: '"{{label}}" "{{title}}"이(가) 휴지통으로 이동되었습니다.', + toggle: '토글', trash: '휴지통', trashedCountSuccessfully: '{{count}} {{label}}가 휴지통으로 이동했습니다.', true: '참', diff --git a/packages/translations/src/languages/lt.ts b/packages/translations/src/languages/lt.ts index 642eda1d1d3..0845dc88e21 100644 --- a/packages/translations/src/languages/lt.ts +++ b/packages/translations/src/languages/lt.ts @@ -300,10 +300,12 @@ export const ltTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Šis dokumentas neseniai buvo atnaujintas kitos naudotojo. Jūsų vaizdas yra pasenusi.', documents: 'Dokumentai', + dragToReorder: 'Vilkite, kad pakeistumėte eilės tvarką', duplicate: 'Dublikatas', duplicateWithoutSaving: 'Dubliuoti be įrašytų pakeitimų', edit: 'Redaguoti', editAll: 'Redaguoti viską', + editColumns: 'Redaguoti stulpelius', editedSince: 'Redaguota nuo', editing: 'Redagavimas', editingLabel_many: 'Redaguojama {{count}} {{label}}', @@ -376,6 +378,7 @@ export const ltTranslations: DefaultTranslationsObject = { notFound: 'Nerasta', nothingFound: 'Nieko nerasta', noTrashResults: 'Nėra {{label}} šiukšliadėžėje.', + notShownInTable: 'Nerodoma lentelėje', noUpcomingEventsScheduled: 'Nėra suplanuotų būsimų renginių.', noValue: 'Nėra vertės', of: 'apie', @@ -416,6 +419,7 @@ export const ltTranslations: DefaultTranslationsObject = { saving: 'Išsaugoti...', schedulePublishFor: 'Suplanuokite publikaciją „{{title}}“', searchBy: 'Ieškokite pagal {{label}}', + searchColumns: 'Search columns', select: 'Pasirinkite', selectAll: 'Pasirinkite visus {{count}} {{label}}', selectAllRows: 'Pasirinkite visas eilutes', @@ -423,6 +427,7 @@ export const ltTranslations: DefaultTranslationsObject = { selectLabel: 'Pasirinkite {{label}}', selectValue: 'Pasirinkite reikšmę', showAllLabel: 'Rodyti visus {{label}}', + shownInTable: 'Rodoma lentelėje', showSidebar: 'Rodyti šoninę juostą', sorryNotFound: 'Atsiprašau - nėra nieko, atitinkančio jūsų užklausą.', sort: 'Rūšiuoti', @@ -443,6 +448,7 @@ export const ltTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" sėkmingai ištrinta.', titleRestored: '{{label}} "{{title}}" sėkmingai atkurta.', titleTrashed: '{{label}} "{{title}}" perkeltas į šiukšliadėžę.', + toggle: 'Perjungti', trash: 'Šiukšlės', trashedCountSuccessfully: '{{count}} {{label}} perkeltas į šiukšlinę.', true: 'Tiesa', diff --git a/packages/translations/src/languages/lv.ts b/packages/translations/src/languages/lv.ts index 60874d148cc..28d5d135c5a 100644 --- a/packages/translations/src/languages/lv.ts +++ b/packages/translations/src/languages/lv.ts @@ -298,10 +298,12 @@ export const lvTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Šis dokuments nesen tika atjaunināts ar citu lietotāju. Jūsu skatījums ir novecojis.', documents: 'Dokumenti', + dragToReorder: 'Velciet, lai pārkārtotu', duplicate: 'Dublēt', duplicateWithoutSaving: 'Dublēt bez izmaiņu saglabāšanas', edit: 'Rediģēt', editAll: 'Rediģēt visus', + editColumns: 'Rediģēt kolonnas', editedSince: 'Rediģēts kopš', editing: 'Rediģē', editingLabel_many: 'Rediģē {{count}} {{label}}', @@ -375,6 +377,7 @@ export const lvTranslations: DefaultTranslationsObject = { notFound: 'Nav atrasts', nothingFound: 'Nekas nav atrasts', noTrashResults: 'Nav {{label}} miskastē.', + notShownInTable: 'Nav parādīts tabulā', noUpcomingEventsScheduled: 'Nav ieplānotu notikumu.', noValue: 'Nav vērtības', of: 'no', @@ -415,6 +418,7 @@ export const lvTranslations: DefaultTranslationsObject = { saving: 'Saglabā...', schedulePublishFor: 'Ieplānot publicēšanu priekš {{title}}', searchBy: 'Meklēt pēc {{label}}', + searchColumns: 'Meklēt kolonnas', select: 'Izvēlieties', selectAll: 'Atlasīt visus {{count}} {{label}}', selectAllRows: 'Atlasīt visas rindas', @@ -422,6 +426,7 @@ export const lvTranslations: DefaultTranslationsObject = { selectLabel: 'Atlasīt {{label}}', selectValue: 'Atlasīt vērtību', showAllLabel: 'Rādīt visus {{label}}', + shownInTable: 'Parādīts tabulā', showSidebar: 'Rādīt sānu joslu', sorryNotFound: 'Atvainojiet — jūsu pieprasījumam neatbilst nekas.', sort: 'Kārtot', @@ -442,6 +447,7 @@ export const lvTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" veiksmīgi izdzēsts.', titleRestored: '{{label}} "{{title}}" veiksmīgi atjaunots.', titleTrashed: '{{label}} "{{title}}" pārvietots uz miskasti.', + toggle: 'Pārslēgt', trash: 'Atkritumi', trashedCountSuccessfully: '{{count}} {{label}} pārvietoti uz miskasti.', true: 'Patiesi', diff --git a/packages/translations/src/languages/my.ts b/packages/translations/src/languages/my.ts index 49bebc35e3a..7b2bb461343 100644 --- a/packages/translations/src/languages/my.ts +++ b/packages/translations/src/languages/my.ts @@ -300,10 +300,12 @@ export const myTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Dokumen ini baru-baru ini dikemas kini oleh pengguna lain. Pandangan anda adalah ketinggalan zaman.', documents: 'စာရွက်စာတမ်းများ', + dragToReorder: 'ဆွဲ၍ အမျိုးအစား ပြန်စဉ်ပါ', duplicate: 'ပုံတူပွားမည်။', duplicateWithoutSaving: 'သေချာပါပြီ။', edit: 'တည်းဖြတ်ပါ။', editAll: 'အားလုံးကို တည်းဖြတ်ပါ။', + editColumns: 'ကော်လံများကိုတည်းဖြတ်ပါ', editedSince: 'ကစပြီးတည်းဖြတ်ခဲ့သည်', editing: 'ပြင်ဆင်နေသည်။', editingLabel_many: 'တည်းဖြတ်ခြင်း {{count}} {{label}}', @@ -377,6 +379,7 @@ export const myTranslations: DefaultTranslationsObject = { notFound: 'ဘာမှ မရှိတော့ဘူး။', nothingFound: 'ဘာမှလည်း မတွေ့ဘူး။', noTrashResults: 'Tiada {{label}} dalam tong sampah.', + notShownInTable: 'ဇယားတွင် ပြသထားခြင်း မရှိပါ', noUpcomingEventsScheduled: 'Tiada acara yang akan datang dijadualkan.', noValue: 'တန်ဖိုး မရှိပါ။', of: '၏', @@ -420,6 +423,7 @@ export const myTranslations: DefaultTranslationsObject = { saving: 'သိမ်းနေဆဲ ...', schedulePublishFor: 'Jadualkan penerbitan untuk {{title}}', searchBy: 'ရှာဖွေပါ။', + searchColumns: 'ကော်လံများကို ရှာဖွေပါ', select: 'Pilih', selectAll: '{{count}} {{label}} အားလုံးကို ရွေးပါ', selectAllRows: 'အားလုံးကိုရွေးချယ်ပါ', @@ -427,6 +431,7 @@ export const myTranslations: DefaultTranslationsObject = { selectLabel: 'Pilih {{label}}', selectValue: 'တစ်ခုခုကို ရွေးချယ်ပါ။', showAllLabel: 'Tunjukkan semua {{label}}', + shownInTable: 'ဇယားတွင် ပြသထားသည်။', showSidebar: 'ဘေးဘက်လမ်းညွှန်ပြရန်', sorryNotFound: 'ဝမ်းနည်းပါသည်။ သင်ရှာနေတဲ့ဟာ ဒီမှာမရှိပါ။', sort: 'အစဉ်လိုက်', @@ -447,6 +452,7 @@ export const myTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} {{title}} အောင်မြင်စွာ ဖျက်သိမ်းခဲ့သည်။', titleRestored: '"{{label}}" "{{title}}" အောင်မြင်စွာ ပြန်လည် ထည့်သွင်းပြီး ဖြစ်ပါတယ်။', titleTrashed: '"{{label}}" "{{title}}" dipindahkan ke tong sampah.', + toggle: 'အဖွင့်/အပိတ်', trash: 'ဖျက်သိမ်းခြင်း', trashedCountSuccessfully: '{{count}} {{label}} သို့ ဖယ်ရှားလိုက်သည်။', true: 'အမှန်', diff --git a/packages/translations/src/languages/nb.ts b/packages/translations/src/languages/nb.ts index b1474b354bc..e09ae78e794 100644 --- a/packages/translations/src/languages/nb.ts +++ b/packages/translations/src/languages/nb.ts @@ -298,10 +298,12 @@ export const nbTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Dette dokumentet ble nylig oppdatert av en annen bruker. Visningen din er utdatert.', documents: 'Dokumenter', + dragToReorder: 'Dra for å endre rekkefølge', duplicate: 'Dupliser', duplicateWithoutSaving: 'Dupliser uten å lagre endringer', edit: 'Redigere', editAll: 'Rediger alle', + editColumns: 'Rediger kolonner', editedSince: 'Redigert siden', editing: 'Redigerer', editingLabel_many: 'Redigerer {{count}} {{label}}', @@ -375,6 +377,7 @@ export const nbTranslations: DefaultTranslationsObject = { notFound: 'Ikke funnet', nothingFound: 'Ingenting funnet', noTrashResults: 'Ingen {{label}} i søppelkassen.', + notShownInTable: 'Ikke vist i tabellen', noUpcomingEventsScheduled: 'Ingen kommende hendelser planlagt.', noValue: 'Ingen verdi', of: 'av', @@ -417,6 +420,7 @@ export const nbTranslations: DefaultTranslationsObject = { saving: 'Lagrer...', schedulePublishFor: 'Planlegg publisering for {{title}}', searchBy: 'Søk etter {{label}}', + searchColumns: 'Søkekolonner', select: 'Velg', selectAll: 'Velg alle {{count}} {{label}}', selectAllRows: 'Velg alle rader', @@ -424,6 +428,7 @@ export const nbTranslations: DefaultTranslationsObject = { selectLabel: 'Velg {{label}}', selectValue: 'Velg en verdi', showAllLabel: 'Vis alle {{label}}', + shownInTable: 'Vist i tabell', showSidebar: 'Vis sidepanel', sorryNotFound: 'Beklager, det er ingenting som samsvarer med forespørselen din.', sort: 'Sortér', @@ -444,6 +449,7 @@ export const nbTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" ble slettet.', titleRestored: '{{label}} "{{title}}" ble gjenopprettet.', titleTrashed: '{{label}} "{{title}}" flyttet til søppel.', + toggle: 'Veksle', trash: 'Søppel', trashedCountSuccessfully: '{{count}} {{label}} flyttet til søppel.', true: 'Sann', diff --git a/packages/translations/src/languages/nl.ts b/packages/translations/src/languages/nl.ts index da99480f7fe..e41bce81ec8 100644 --- a/packages/translations/src/languages/nl.ts +++ b/packages/translations/src/languages/nl.ts @@ -304,10 +304,12 @@ export const nlTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Dit document is onlangs bijgewerkt door een andere gebruiker. Uw weergave is verouderd.', documents: 'Documenten', + dragToReorder: 'Sleep om opnieuw te rangschikken', duplicate: 'Dupliceren', duplicateWithoutSaving: 'Dupliceren zonder wijzigingen te bewaren', edit: 'Bewerk', editAll: 'Bewerk alles', + editColumns: 'Kolommen bewerken', editedSince: 'Bewerkt sinds', editing: 'Bewerken', editingLabel_many: 'Bewerken {{count}} {{label}}', @@ -381,6 +383,7 @@ export const nlTranslations: DefaultTranslationsObject = { notFound: 'Niet gevonden', nothingFound: 'Niets gevonden', noTrashResults: 'Geen {{label}} in prullenbak.', + notShownInTable: 'Niet weergegeven in tabel', noUpcomingEventsScheduled: 'Geen aankomende evenementen gepland.', noValue: 'Geen waarde', of: 'van', @@ -423,6 +426,7 @@ export const nlTranslations: DefaultTranslationsObject = { saving: 'Bewaren...', schedulePublishFor: 'Plan publicatie voor {{title}}', searchBy: 'Zoeken op {{label}}', + searchColumns: 'Zoekkolommen', select: 'Selecteer', selectAll: 'Alles selecteren {{count}} {{label}}', selectAllRows: 'Selecteer alle rijen', @@ -430,6 +434,7 @@ export const nlTranslations: DefaultTranslationsObject = { selectLabel: 'Selecteer {{label}}', selectValue: 'Selecteer een waarde', showAllLabel: 'Toon alle {{label}}', + shownInTable: 'Weergegeven in tabel', showSidebar: 'Zijbalk weergeven', sorryNotFound: 'Sorry, er is niets dat overeen komt met uw verzoek.', sort: 'Sorteer', @@ -450,6 +455,7 @@ export const nlTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" succesvol verwijderd.', titleRestored: '{{label}} "{{title}}" succesvol hersteld.', titleTrashed: '{{label}} "{{title}}" verplaatst naar prullenbak.', + toggle: 'Schakelaar', trash: 'Prullenbak', trashedCountSuccessfully: '{{count}} {{label}} verplaatst naar prullenbak.', true: 'Waar', diff --git a/packages/translations/src/languages/pl.ts b/packages/translations/src/languages/pl.ts index 810ea190fdc..967245f58e2 100644 --- a/packages/translations/src/languages/pl.ts +++ b/packages/translations/src/languages/pl.ts @@ -296,10 +296,12 @@ export const plTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Ten dokument został niedawno zaktualizowany przez innego użytkownika. Twoja wersja jest nieaktualna.', documents: 'Dokumenty', + dragToReorder: 'Przeciągnij, aby zmienić kolejność', duplicate: 'Zduplikuj', duplicateWithoutSaving: 'Zduplikuj bez zapisywania zmian', edit: 'Edytuj', editAll: 'Edytuj wszystko', + editColumns: 'Edytuj kolumny', editedSince: 'Edytowano od', editing: 'Edycja', editingLabel_many: 'Edytowanie {{count}} {{label}}', @@ -373,6 +375,7 @@ export const plTranslations: DefaultTranslationsObject = { notFound: 'Nie znaleziono', nothingFound: 'Nic nie znaleziono', noTrashResults: 'Brak {{label}} w koszu.', + notShownInTable: 'Nie wyświetlono w tabeli', noUpcomingEventsScheduled: 'Nie zaplanowano żadnych nadchodzących wydarzeń.', noValue: 'Brak wartości', of: 'z', @@ -413,6 +416,7 @@ export const plTranslations: DefaultTranslationsObject = { saving: 'Zapisywanie...', schedulePublishFor: 'Zaplanuj publikację dla {{title}}', searchBy: 'Szukaj według', + searchColumns: 'Przeszukuj kolumny', select: 'Wybierz', selectAll: 'Wybierz wszystkie {{count}} {{label}}', selectAllRows: 'Wybierz wszystkie wiersze', @@ -420,6 +424,7 @@ export const plTranslations: DefaultTranslationsObject = { selectLabel: 'Wybierz {{label}}', selectValue: 'Wybierz wartość', showAllLabel: 'Pokaż wszystkie {{label}}', + shownInTable: 'Wyświetlane w tabeli', showSidebar: 'Pokaż pasek boczny', sorryNotFound: 'Przepraszamy — nie ma nic, co odpowiadałoby twojemu zapytaniu.', sort: 'Sortuj', @@ -440,6 +445,7 @@ export const plTranslations: DefaultTranslationsObject = { titleDeleted: 'Pomyślnie usunięto {{label}} {{title}}', titleRestored: 'Etykieta "{{title}}" została pomyślnie przywrócona.', titleTrashed: '{{label}} "{{title}}" przeniesiony do kosza.', + toggle: 'Przełącznik', trash: 'Śmieci', trashedCountSuccessfully: '{{count}} {{label}} przeniesiono do kosza.', true: 'Prawda', diff --git a/packages/translations/src/languages/pt.ts b/packages/translations/src/languages/pt.ts index 528ef031f97..79d6f1672f1 100644 --- a/packages/translations/src/languages/pt.ts +++ b/packages/translations/src/languages/pt.ts @@ -298,10 +298,12 @@ export const ptTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Este documento foi recentemente atualizado por outro usuário. Sua visualização está desatualizada.', documents: 'Documentos', + dragToReorder: 'Arraste para reordenar', duplicate: 'Duplicar', duplicateWithoutSaving: 'Duplicar sem salvar alterações', edit: 'Editar', editAll: 'Editar todos', + editColumns: 'Editar Colunas', editedSince: 'Editado desde', editing: 'Editando', editingLabel_many: 'Editando {{count}} {{label}}', @@ -375,6 +377,7 @@ export const ptTranslations: DefaultTranslationsObject = { notFound: 'Não Encontrado', nothingFound: 'Nada encontrado', noTrashResults: 'Não há {{label}} no lixo.', + notShownInTable: 'Não exibido na tabela', noUpcomingEventsScheduled: 'Não há eventos futuros agendados.', noValue: 'Nenhum valor', of: 'de', @@ -417,6 +420,7 @@ export const ptTranslations: DefaultTranslationsObject = { saving: 'Salvando...', schedulePublishFor: 'Agendar publicação para {{title}}', searchBy: 'Buscar por {{label}}', + searchColumns: 'Pesquisar colunas', select: 'Selecionar', selectAll: 'Selecione tudo {{count}} {{label}}', selectAllRows: 'Selecione todas as linhas', @@ -424,6 +428,7 @@ export const ptTranslations: DefaultTranslationsObject = { selectLabel: 'Selecione {{label}}', selectValue: 'Selecione um valor', showAllLabel: 'Mostre todos {{label}}', + shownInTable: 'Exibido em tabela', showSidebar: 'Mostrar barra lateral', sorryNotFound: 'Desculpe—não há nada que corresponda à sua requisição.', sort: 'Ordenar', @@ -444,6 +449,7 @@ export const ptTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} {{title}} excluído com sucesso.', titleRestored: '{{label}} "{{title}}" restaurado com sucesso.', titleTrashed: '{{label}} "{{title}}" movido para a lixeira.', + toggle: 'Alternar', trash: 'Lixo', trashedCountSuccessfully: '{{count}} {{label}} movido para o lixo.', true: 'Verdadeiro', diff --git a/packages/translations/src/languages/ro.ts b/packages/translations/src/languages/ro.ts index aef4ddf9726..c761795c8f1 100644 --- a/packages/translations/src/languages/ro.ts +++ b/packages/translations/src/languages/ro.ts @@ -302,10 +302,12 @@ export const roTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Acest document a fost actualizat recent de un alt utilizator. Vizualizarea dvs. este depășită.', documents: 'Documente', + dragToReorder: 'Trage pentru a reordona', duplicate: 'Duplicați', duplicateWithoutSaving: 'Duplicați fără salvarea modificărilor', edit: 'Editează', editAll: 'Editează toate', + editColumns: 'Editați coloanele', editedSince: 'Editat din', editing: 'Editare', editingLabel_many: 'Editare {{count}} {{label}}', @@ -379,6 +381,7 @@ export const roTranslations: DefaultTranslationsObject = { notFound: 'Nu a fost găsit', nothingFound: 'Nimic găsit', noTrashResults: 'Niciun {{label}} în coșul de gunoi.', + notShownInTable: 'Nu este afișat în tabel', noUpcomingEventsScheduled: 'Nu sunt evenimente programate în viitor.', noValue: 'Nici o valoare', of: 'de', @@ -420,6 +423,7 @@ export const roTranslations: DefaultTranslationsObject = { saving: 'Salvare...', schedulePublishFor: 'Planificați publicarea pentru {{title}}', searchBy: 'Căutați după {{label}}', + searchColumns: 'Căutați coloane', select: 'Selectați', selectAll: 'Selectați toate {{count}} {{label}}', selectAllRows: 'Selectează toate rândurile', @@ -427,6 +431,7 @@ export const roTranslations: DefaultTranslationsObject = { selectLabel: 'Selectați {{label}}', selectValue: 'Selectați o valoare', showAllLabel: 'Afișează toate {{eticheta}}', + shownInTable: 'Afișat în tabel', showSidebar: 'Afișați bara laterală', sorryNotFound: 'Ne pare rău - nu există nimic care să corespundă cu cererea dvs.', sort: 'Sortează', @@ -447,6 +452,7 @@ export const roTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" șters cu succes.', titleRestored: '{{label}} "{{title}}" a fost restaurat cu succes.', titleTrashed: '{{label}} "{{title}}" a fost mutat la coșul de gunoi.', + toggle: 'Comutare', trash: 'Gunoi', trashedCountSuccessfully: '{{count}} {{label}} mutate la coșul de gunoi.', true: 'Adevărat', diff --git a/packages/translations/src/languages/rs.ts b/packages/translations/src/languages/rs.ts index d9340b55585..f11f02cdaa1 100644 --- a/packages/translations/src/languages/rs.ts +++ b/packages/translations/src/languages/rs.ts @@ -297,10 +297,12 @@ export const rsTranslations: DefaultTranslationsObject = { documentModified: 'Izmenjen dokument', documentOutOfDate: 'Ovaj dokument je nedavno ažurirao drugi korisnik. Vaš pogled je zastareo.', documents: 'Dokumenti', + dragToReorder: 'Prevucite da biste promenili redosled', duplicate: 'Дупликат', duplicateWithoutSaving: 'Понови без чувања промена', edit: 'Уреди', editAll: 'Уреди све', + editColumns: 'Uredi kolone', editedSince: 'Измењено од', editing: 'Уређивање', editingLabel_many: 'Уређивање {{count}} {{label}}', @@ -374,6 +376,7 @@ export const rsTranslations: DefaultTranslationsObject = { notFound: 'Није пронађено', nothingFound: 'Ништа није пронађено', noTrashResults: 'Nema {{label}} u otpadu.', + notShownInTable: 'Nije prikazano u tabeli', noUpcomingEventsScheduled: 'Nema zakazanih predstojećih događaja.', noValue: 'Без вредности', of: 'Од', @@ -414,6 +417,7 @@ export const rsTranslations: DefaultTranslationsObject = { saving: 'Чување у току...', schedulePublishFor: 'Zakažite objavljivanje za {{title}}', searchBy: 'Тражи по {{label}}', + searchColumns: 'Pretraži kolone', select: 'Izaberite', selectAll: 'Одаберите све {{count}} {{label}}', selectAllRows: 'Одаберите све редове', @@ -421,6 +425,7 @@ export const rsTranslations: DefaultTranslationsObject = { selectLabel: 'Izaberite {{label}}', selectValue: 'Одабери вредност', showAllLabel: 'Прикажи све {{label}}', + shownInTable: 'Prikazano u tabeli', showSidebar: 'Prikaži bočnu traku', sorryNotFound: 'Нажалост, не постоји ништа што одговара вашем захтеву.', sort: 'Сортирај', @@ -441,6 +446,7 @@ export const rsTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" успешно обрисано.', titleRestored: '{{label}} "{{title}}" uspešno obnovljen.', titleTrashed: '{{label}} "{{title}}" premešten u otpad.', + toggle: 'Prekidač', trash: 'Smeće', trashedCountSuccessfully: '{{count}} {{label}} premješteno u smeće.', true: 'Istinito', diff --git a/packages/translations/src/languages/rsLatin.ts b/packages/translations/src/languages/rsLatin.ts index 7f4d9fe752b..e517493f48d 100644 --- a/packages/translations/src/languages/rsLatin.ts +++ b/packages/translations/src/languages/rsLatin.ts @@ -297,10 +297,12 @@ export const rsLatinTranslations: DefaultTranslationsObject = { documentModified: 'Dokument izmenjen', documentOutOfDate: 'Ovaj dokument je nedavno ažurirao drugi korisnik. Vaš pregled je zastareo.', documents: 'Dokumenti', + dragToReorder: 'Prevucite za promenu redosleda', duplicate: 'Duplikat', duplicateWithoutSaving: 'Ponovi bez čuvanja promena', edit: 'Uredi', editAll: 'Uredi sve', + editColumns: 'Uredi kolone', editedSince: 'Izmenjeno od', editing: 'Uređivanje', editingLabel_many: 'Uređivanje {{count}} {{label}}', @@ -374,6 +376,7 @@ export const rsLatinTranslations: DefaultTranslationsObject = { notFound: 'Nije pronađeno', nothingFound: 'Ništa nije pronađeno', noTrashResults: 'Nema {{label}} u otpadu.', + notShownInTable: 'Nije prikazano u tabeli', noUpcomingEventsScheduled: 'Nema zakazanih predstojećih događaja.', noValue: 'Bez vrednosti', of: 'Od', @@ -415,6 +418,7 @@ export const rsLatinTranslations: DefaultTranslationsObject = { saving: 'Čuvanje u toku...', schedulePublishFor: 'Zakaži objavljivanje za {{title}}', searchBy: 'Traži po {{label}}', + searchColumns: 'Pretraži kolone', select: 'Izaberite', selectAll: 'Odaberite sve {{count}} {{label}}', selectAllRows: 'Odaberite sve redove', @@ -422,6 +426,7 @@ export const rsLatinTranslations: DefaultTranslationsObject = { selectLabel: 'Izaberite {{label}}', selectValue: 'Odaberi vrednost', showAllLabel: 'Prikaži sve {{label}}', + shownInTable: 'Prikazano u tabeli', showSidebar: 'Prikaži bočnu traku', sorryNotFound: 'Nažalost, ne postoji ništa što odgovara vašem zahtevu.', sort: 'Sortiraj', @@ -442,6 +447,7 @@ export const rsLatinTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" uspešno obrisano.', titleRestored: 'Oznaka "{{title}}" uspešno obnovljena.', titleTrashed: '{{label}} "{{title}}" premešteno u smeće.', + toggle: 'Prekidač', trash: 'Otpad', trashedCountSuccessfully: '{{count}} {{label}} premešteno u kantu za smeće.', true: 'Istinito', diff --git a/packages/translations/src/languages/ru.ts b/packages/translations/src/languages/ru.ts index 61b76d8f568..04535f30f69 100644 --- a/packages/translations/src/languages/ru.ts +++ b/packages/translations/src/languages/ru.ts @@ -299,10 +299,12 @@ export const ruTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Этот документ недавно был обновлен другим пользователем. Ваш просмотр устарел.', documents: 'Документы', + dragToReorder: 'Перетащите для изменения порядка', duplicate: 'Дублировать', duplicateWithoutSaving: 'Дублирование без сохранения изменений', edit: 'Редактировать', editAll: 'Редактировать все', + editColumns: 'Редактировать столбцы', editedSince: 'Отредактировано с', editing: 'Редактирование', editingLabel_many: 'Редактирование {{count}} {{label}}', @@ -376,6 +378,7 @@ export const ruTranslations: DefaultTranslationsObject = { notFound: 'Не найдено', nothingFound: 'Ничего не найдено', noTrashResults: 'Нет {{label}} в корзине.', + notShownInTable: 'Не отображается в таблице', noUpcomingEventsScheduled: 'Нет запланированных предстоящих событий.', noValue: 'Нет значения', of: 'из', @@ -416,6 +419,7 @@ export const ruTranslations: DefaultTranslationsObject = { saving: 'Сохранение...', schedulePublishFor: 'Запланировать публикацию для {{title}}', searchBy: 'Искать по', + searchColumns: 'Поиск по столбцам', select: 'Выбрать', selectAll: 'Выбрать все {{count}} {{label}}', selectAllRows: 'Выбрать все строки', @@ -423,6 +427,7 @@ export const ruTranslations: DefaultTranslationsObject = { selectLabel: 'Выберите {{label}}', selectValue: 'Выбрать значение', showAllLabel: 'Показать все {{label}}', + shownInTable: 'Показано в таблице', showSidebar: 'Показать боковую панель', sorryNotFound: 'К сожалению, ничего подходящего под ваш запрос нет.', sort: 'Сортировать', @@ -443,6 +448,7 @@ export const ruTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} {{title}} успешно удалено.', titleRestored: '{{label}} "{{title}}" успешно восстановлен.', titleTrashed: '{{label}} "{{title}}" перемещен в корзину.', + toggle: 'Переключатель', trash: 'Мусор', trashedCountSuccessfully: '{{count}} {{label}} перемещено в корзину.', true: 'Правда', diff --git a/packages/translations/src/languages/sk.ts b/packages/translations/src/languages/sk.ts index f3b7ada9828..598426d1896 100644 --- a/packages/translations/src/languages/sk.ts +++ b/packages/translations/src/languages/sk.ts @@ -298,10 +298,12 @@ export const skTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Tento dokument bol nedávno aktualizovaný iným používateľom. Váš pohľad je zastaraný.', documents: 'Dokumenty', + dragToReorder: 'Potiahnite pre zmenu poradia', duplicate: 'Duplikovať', duplicateWithoutSaving: 'Duplikovať bez uloženia zmien', edit: 'Upraviť', editAll: 'Upraviť všetko', + editColumns: 'Upraviť stĺpce', editedSince: 'Upravené od', editing: 'Úpravy', editingLabel_many: 'Úprava {{count}} {{label}}', @@ -373,6 +375,7 @@ export const skTranslations: DefaultTranslationsObject = { notFound: 'Nenájdené', nothingFound: 'Nič nenájdené', noTrashResults: 'Žiadne {{label}} v koši.', + notShownInTable: 'Nie je zobrazené v tabuľke', noUpcomingEventsScheduled: 'Nie sú naplánované žiadne nadchádzajúce udalosti.', noValue: 'Žiadna hodnota', of: 'z', @@ -413,6 +416,7 @@ export const skTranslations: DefaultTranslationsObject = { saving: 'Ukladanie...', schedulePublishFor: 'Naplánovať publikovanie pre {{title}}', searchBy: 'Vyhľadať podľa {{label}}', + searchColumns: 'Vyhľadávacie stĺpce', select: 'Vyberte', selectAll: 'Vybrať všetko {{count}} {{label}}', selectAllRows: 'Vybrať všetky riadky', @@ -420,6 +424,7 @@ export const skTranslations: DefaultTranslationsObject = { selectLabel: 'Vyberte {{label}}', selectValue: 'Vybrať hodnotu', showAllLabel: 'Zobraziť všetky {{label}}', + shownInTable: 'Zobrazené v tabuľke', showSidebar: 'Zobraziť bočný panel', sorryNotFound: 'Je nám ľúto, ale neexistuje nič, čo by zodpovedalo vášmu požiadavku.', sort: 'Zoradiť', @@ -440,6 +445,7 @@ export const skTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" úspešne zmazané.', titleRestored: '{{label}} "{{title}}" úspešne obnovený.', titleTrashed: '{{label}} "{{title}}" presunuté do koša.', + toggle: 'Prepnúť', trash: 'Koš', trashedCountSuccessfully: '{{count}} {{label}} presunuté do koša.', true: 'Pravda', diff --git a/packages/translations/src/languages/sl.ts b/packages/translations/src/languages/sl.ts index aa262958ed3..a9221751fe0 100644 --- a/packages/translations/src/languages/sl.ts +++ b/packages/translations/src/languages/sl.ts @@ -296,10 +296,12 @@ export const slTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Ta dokument je bil pred kratkim posodobljen od drugega uporabnika. Vaš pogled je zastarel.', documents: 'Dokumenti', + dragToReorder: 'Povlecite za spremembo vrstnega reda', duplicate: 'Podvoji', duplicateWithoutSaving: 'Podvoji brez shranjevanja sprememb', edit: 'Uredi', editAll: 'Uredi vse', + editColumns: 'Edit Columns', editedSince: 'Urejeno od', editing: 'Urejanje', editingLabel_many: 'Urejanje {{count}} {{label}}', @@ -373,6 +375,7 @@ export const slTranslations: DefaultTranslationsObject = { notFound: 'Ni najdeno', nothingFound: 'Nič ni najdeno', noTrashResults: 'Ni {{label}} v smetnjaku.', + notShownInTable: 'Ni prikazano v tabeli', noUpcomingEventsScheduled: 'Ni načrtovanih prihajajočih dogodkov.', noValue: 'Ni vrednosti', of: 'od', @@ -414,6 +417,7 @@ export const slTranslations: DefaultTranslationsObject = { saving: 'Shranjevanje...', schedulePublishFor: 'Načrtujte objavo za {{naslov}}', searchBy: 'Išči po {{label}}', + searchColumns: 'Iskalni stolpci', select: 'Izberi', selectAll: 'Izberi vse {{count}} {{label}}', selectAllRows: 'Izberi vse vrstice', @@ -421,6 +425,7 @@ export const slTranslations: DefaultTranslationsObject = { selectLabel: 'Izberite {{label}}', selectValue: 'Izberi vrednost', showAllLabel: 'Pokaži vse {{label}}', + shownInTable: 'Prikazano v tabeli', showSidebar: 'Prikaži stransko vrstico', sorryNotFound: 'Oprostite - ničesar ni mogoče najti, kar bi ustrezalo vaši zahtevi.', sort: 'Razvrsti', @@ -441,6 +446,7 @@ export const slTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" uspešno izbrisan.', titleRestored: 'Oznaka "{{title}}" je bila uspešno obnovljena.', titleTrashed: '{{label}} "{{title}}" premaknjeno v smeti.', + toggle: 'Preklopi', trash: 'Smeti', trashedCountSuccessfully: '{{count}} {{label}} premaknjeno v smeti.', true: 'Da', diff --git a/packages/translations/src/languages/sv.ts b/packages/translations/src/languages/sv.ts index 565824e6e34..e43a0524fe1 100644 --- a/packages/translations/src/languages/sv.ts +++ b/packages/translations/src/languages/sv.ts @@ -298,10 +298,12 @@ export const svTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Detta dokument har nyligen uppdaterats av en annan användare. Din vy är föråldrad.', documents: 'Dokument', + dragToReorder: 'Dra för att ändra ordningen', duplicate: 'Duplicera', duplicateWithoutSaving: 'Duplicera utan att spara ändringar', edit: 'Redigera', editAll: 'Redigera alla', + editColumns: 'Redigera kolumner', editedSince: 'Redigerad sedan', editing: 'Redigerar', editingLabel_many: 'Redigerar {{count}} {{label}}', @@ -375,6 +377,7 @@ export const svTranslations: DefaultTranslationsObject = { notFound: 'Hittades inte', nothingFound: 'Inget hittades', noTrashResults: 'Inget {{label}} i papperskorgen.', + notShownInTable: 'Visas inte i tabellen', noUpcomingEventsScheduled: 'Inga kommande händelser är planerade.', noValue: 'Inget värde', of: 'av', @@ -417,6 +420,7 @@ export const svTranslations: DefaultTranslationsObject = { saving: 'Sparar...', schedulePublishFor: 'Schemalägg publicering för {{title}}', searchBy: 'Sök efter {{label}}', + searchColumns: 'Sök kolumner', select: 'Välj', selectAll: 'Välj alla {{count}} {{label}}', selectAllRows: 'Välj alla rader', @@ -424,6 +428,7 @@ export const svTranslations: DefaultTranslationsObject = { selectLabel: 'Välj {{label}}', selectValue: 'Välj ett värde', showAllLabel: 'Visa alla {{label}}', + shownInTable: 'Visas i tabell', showSidebar: 'Visa sidofält', sorryNotFound: 'Tyvärr, det finns inget som motsvarar din begäran.', sort: 'Sortera', @@ -444,6 +449,7 @@ export const svTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" togs bort', titleRestored: '{{label}} "{{title}}" återställdes.', titleTrashed: '{{label}} "{{title}}" flyttades till papperskorgen.', + toggle: 'Växla', trash: 'Papperskorg', trashedCountSuccessfully: '{{count}} {{label}} flyttades till papperskorgen.', true: 'Sann', diff --git a/packages/translations/src/languages/ta.ts b/packages/translations/src/languages/ta.ts index 05c102647e6..a8306953852 100644 --- a/packages/translations/src/languages/ta.ts +++ b/packages/translations/src/languages/ta.ts @@ -295,10 +295,12 @@ export const taTranslations: DefaultTranslationsObject = { documentOutOfDate: 'இந்த ஆவணம் விரைவில் மற்றொரு பயனரால் மேம்படுத்தப்பட்டது. உங்கள் காட்சி காலாவதியானது.', documents: 'ஆவணங்கள்', + dragToReorder: 'இழுத்து மறுவரிசைப்படுத்தவும்', duplicate: 'நகலெடு', duplicateWithoutSaving: 'மாற்றங்களைச் சேமிக்காமல் நகலெடு', edit: 'தொகு', editAll: 'அனைத்தையும் தொகு', + editColumns: 'நிரல்கள் திருத்து', editedSince: 'இதிலிருந்து தொகுக்கப்பட்டது', editing: 'தொகுக்கிறது', editingLabel_many: '{{count}} {{label}}-ஐத் தொகுக்கிறது', @@ -372,6 +374,7 @@ export const taTranslations: DefaultTranslationsObject = { notFound: 'கிடைக்கவில்லை', nothingFound: 'எதுவும் கிடைக்கவில்லை', noTrashResults: 'குப்பையில் {{label}} எதுவும் இல்லை.', + notShownInTable: 'அட்டவணையில் காட்டப்படவில்லை', noUpcomingEventsScheduled: 'எந்த வரவிருக்கும் நிகழ்ச்சிகளும் இல்லை.', noValue: 'மதிப்பு இல்லை', of: 'இன்', @@ -413,6 +416,7 @@ export const taTranslations: DefaultTranslationsObject = { saving: 'சேமிக்கிறது...', schedulePublishFor: '{{title}} வெளியீட்டை திட்டமிடு', searchBy: '{{label}} மூலம் தேடு', + searchColumns: 'தேடல் நெடுவரிசைகள்', select: 'தேர்வு செய்', selectAll: 'அனைத்து {{count}} {{label}}-ஐத் தேர்ந்தெடு', selectAllRows: 'அனைத்து வரிசைகளையும் தேர்ந்தெடு', @@ -420,6 +424,7 @@ export const taTranslations: DefaultTranslationsObject = { selectLabel: '{{label}}-ஐத் தேர்ந்தெடு', selectValue: 'ஒரு மதிப்பைத் தேர்ந்தெடு', showAllLabel: 'அனைத்து {{label}}-ஐக் காட்டு', + shownInTable: 'அட்டவணையில் காண்பிக்கப்பட்டுள்ளது', showSidebar: 'விளைவு பட்டியலை காட்டு', sorryNotFound: 'மன்னிக்கவும் — உங்கள் கோரிக்கைக்கு பொருந்த எதுவும் இல்லை.', sort: 'வரிசைப்படுத்து', @@ -440,6 +445,7 @@ export const taTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" வெற்றிகரமாக நீக்கப்பட்டது.', titleRestored: '{{label}} "{{title}}" வெற்றிகரமாக மீட்டமைக்கப்பட்டது.', titleTrashed: '{{label}} "{{title}}" குப்பைக்குச் செலுத்தப்பட்டது.', + toggle: 'மாற்று', trash: 'குப்பை', trashedCountSuccessfully: '{{count}} {{label}} குப்பைக்குச் செலுத்தப்பட்டது.', true: 'உண்மை', diff --git a/packages/translations/src/languages/th.ts b/packages/translations/src/languages/th.ts index 1efc99ceaa4..887a9253f63 100644 --- a/packages/translations/src/languages/th.ts +++ b/packages/translations/src/languages/th.ts @@ -291,10 +291,12 @@ export const thTranslations: DefaultTranslationsObject = { documentOutOfDate: 'เอกสารนี้ได้รับการปรับปรุงเมื่อเร็ว ๆ นี้โดยผู้ใช้คนอื่น มุมมองของคุณล้าสมัยแล้ว', documents: 'เอกสาร', + dragToReorder: 'ลากเพื่อจัดลำดับใหม่', duplicate: 'สำเนา', duplicateWithoutSaving: 'สำเนาโดยไม่บันทึกการแก้ไข', edit: 'แก้ไข', editAll: 'แก้ไขทั้งหมด', + editColumns: 'Edit Columns', editedSince: 'แก้ไขตั้งแต่', editing: 'แก้ไข', editingLabel_many: 'กำลังแก้ไข {{count}} {{label}}', @@ -366,6 +368,7 @@ export const thTranslations: DefaultTranslationsObject = { notFound: 'ไม่พบ', nothingFound: 'ไม่พบสิ่งใด', noTrashResults: 'ไม่มี {{label}} ในถังขยะ.', + notShownInTable: 'ไม่ได้แสดงในตาราง', noUpcomingEventsScheduled: 'ไม่มีกิจกรรมที่จะมาถึงถูกกำหนดไว้', noValue: 'ไม่มีค่า', of: 'จาก', @@ -407,6 +410,7 @@ export const thTranslations: DefaultTranslationsObject = { saving: 'กำลังบันทึก...', schedulePublishFor: 'ตั้งเวลาเผยแพร่สำหรับ {{title}}', searchBy: 'ค้นหาด้วย {{label}}', + searchColumns: 'ค้นหาคอลัมน์', select: 'เลือก', selectAll: 'เลือกทั้งหมด {{count}} {{label}}', selectAllRows: 'เลือกทุกแถว', @@ -414,6 +418,7 @@ export const thTranslations: DefaultTranslationsObject = { selectLabel: 'เลือก {{label}}', selectValue: 'เลือกค่า', showAllLabel: 'แสดง {{label}} ทั้งหมด', + shownInTable: 'แสดงในตาราง', showSidebar: 'แสดงแถบด้านข้าง', sorryNotFound: 'ขออภัย ไม่สามารถทำตามคำขอของคุณได้', sort: 'เรียง', @@ -434,6 +439,7 @@ export const thTranslations: DefaultTranslationsObject = { titleDeleted: 'ลบ {{label}} "{{title}}" สำเร็จ', titleRestored: '{{label}} "{{title}}" ถูกกู้คืนสำเร็จแล้ว.', titleTrashed: '{{label}} "{{title}}" ถูกย้ายไปถังขยะ', + toggle: 'สลับ', trash: 'ถังขยะ', trashedCountSuccessfully: '{{count}} {{label}} ถูกย้ายไปยังถังขยะ', true: 'จริง', diff --git a/packages/translations/src/languages/tr.ts b/packages/translations/src/languages/tr.ts index 1254fd104da..817c49e0e77 100644 --- a/packages/translations/src/languages/tr.ts +++ b/packages/translations/src/languages/tr.ts @@ -300,10 +300,12 @@ export const trTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Bu belge yakın zamanda başka bir kullanıcı tarafından güncellendi. Görünümünüz güncel değil.', documents: 'Belgeler', + dragToReorder: 'Sürükleyerek yeniden sıralayın', duplicate: 'Çoğalt', duplicateWithoutSaving: 'Ayarları kaydetmeden çoğalt', edit: 'Düzenle', editAll: 'Hepsini düzenle', + editColumns: 'Sütunları Düzenle', editedSince: 'O tarihten itibaren düzenlendi', editing: 'Düzenleniyor', editingLabel_many: '{{count}} {{label}} düzenleniyor', @@ -377,6 +379,7 @@ export const trTranslations: DefaultTranslationsObject = { notFound: 'Bulunamadı', nothingFound: 'Hiçbir şey bulunamadı', noTrashResults: 'Çöpte hiç {{label}} yok.', + notShownInTable: 'Tabloda gösterilmemektedir', noUpcomingEventsScheduled: 'Planlanan gelecek etkinlik yok.', noValue: 'Değer yok', of: 'of', @@ -419,6 +422,7 @@ export const trTranslations: DefaultTranslationsObject = { saving: 'Kaydediliyor...', schedulePublishFor: '{{title}} için yayınlama programı ayarlayın.', searchBy: 'Şuna göre sırala: {{label}}', + searchColumns: 'Arama sütunları', select: 'Seçiniz', selectAll: "Tüm {{count}} {{label}}'ı seçin", selectAllRows: 'Tüm satırları seçin', @@ -426,6 +430,7 @@ export const trTranslations: DefaultTranslationsObject = { selectLabel: '{{label}} seçin', selectValue: 'Bir değer seçin', showAllLabel: 'Tüm {{label}} göster', + shownInTable: 'Tablo olarak gösterildi', showSidebar: 'Kenar çubuğunu göster', sorryNotFound: 'Üzgünüz, isteğinizle eşleşen bir sonuç bulunamadı.', sort: 'Sırala', @@ -446,6 +451,7 @@ export const trTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} {{title}} başarıyla silindi.', titleRestored: '"{{title}}" başarıyla geri yüklendi.', titleTrashed: '{{label}} "{{title}}" çöpe taşındı.', + toggle: 'Geçiş', trash: 'Çöp', trashedCountSuccessfully: '{{count}} {{label}} çöp kutusuna taşındı.', true: 'Doğru', diff --git a/packages/translations/src/languages/uk.ts b/packages/translations/src/languages/uk.ts index 3c2235313bf..3df01aba3f2 100644 --- a/packages/translations/src/languages/uk.ts +++ b/packages/translations/src/languages/uk.ts @@ -295,10 +295,12 @@ export const ukTranslations: DefaultTranslationsObject = { documentModified: 'Документ змінено', documentOutOfDate: 'Цей документ нещодавно оновив інший користувач. Ваш перегляд застарів.', documents: 'Документи', + dragToReorder: 'Перетягніть, щоб змінити порядок', duplicate: 'Дублювати', duplicateWithoutSaving: 'Дублювання без збереження змін', edit: 'Редагувати', editAll: 'Редагувати все', + editColumns: 'Редагувати стовпці', editedSince: 'Відредаговано з', editing: 'Редагування', editingLabel_many: 'Редагування {{count}} {{label}}', @@ -372,6 +374,7 @@ export const ukTranslations: DefaultTranslationsObject = { notFound: 'Не знайдено', nothingFound: 'Нічого не знайдено', noTrashResults: 'Немає {{label}} у смітнику.', + notShownInTable: 'Не відображається в таблиці', noUpcomingEventsScheduled: 'Не заплановано жодних майбутніх подій.', noValue: 'Немає значення', of: 'з', @@ -412,6 +415,7 @@ export const ukTranslations: DefaultTranslationsObject = { saving: 'Збереження...', schedulePublishFor: 'Запланувати публікацію для {{title}}', searchBy: 'Шукати по {{label}}', + searchColumns: 'Пошук колонок', select: 'Вибрати', selectAll: 'Вибрати всі {{count}} {{label}}', selectAllRows: 'Обрати всі рядки', @@ -419,6 +423,7 @@ export const ukTranslations: DefaultTranslationsObject = { selectLabel: 'Виберіть {{label}}', selectValue: 'Обрати значення', showAllLabel: 'Показати всі {{label}}', + shownInTable: 'Показано у таблиці', showSidebar: 'Показати бічну панель', sorryNotFound: 'Вибачте, немає нічого, що відповідало б Вашому запиту.', sort: 'Сортувати', @@ -439,6 +444,7 @@ export const ukTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} "{{title}}" успішно видалено.', titleRestored: '{{label}} "{{title}}" успішно відновлено.', titleTrashed: '{{label}} "{{title}}" переміщено до кошика.', + toggle: 'Перемикач', trash: 'Сміття', trashedCountSuccessfully: '{{count}} {{label}} перенесено в кошик.', true: 'Так', diff --git a/packages/translations/src/languages/vi.ts b/packages/translations/src/languages/vi.ts index b5d35d39e58..9eb49f3f6da 100644 --- a/packages/translations/src/languages/vi.ts +++ b/packages/translations/src/languages/vi.ts @@ -297,10 +297,12 @@ export const viTranslations: DefaultTranslationsObject = { documentOutOfDate: 'Tài liệu này đã được cập nhật gần đây bởi một người dùng khác. Chế độ xem của bạn đã lỗi thời.', documents: 'Tài liệu', + dragToReorder: 'Kéo để sắp xếp lại', duplicate: 'Tạo bản sao', duplicateWithoutSaving: 'Không lưu dữ liệu và tạo bản sao', edit: 'Chỉnh sửa', editAll: 'Chỉnh sửa tất cả', + editColumns: 'Chỉnh sửa Cột', editedSince: 'Được chỉnh sửa từ', editing: 'Đang chỉnh sửa', editingLabel_many: 'Đang chỉnh sửa {{count}} {{label}}', @@ -374,6 +376,7 @@ export const viTranslations: DefaultTranslationsObject = { notFound: 'Không tìm thấy', nothingFound: 'Không tìm thấy', noTrashResults: 'Không có {{label}} trong thùng rác.', + notShownInTable: 'Không hiển thị trong bảng', noUpcomingEventsScheduled: 'Không có sự kiện sắp tới được lên lịch.', noValue: 'Không có giá trị', of: 'trong số', @@ -414,6 +417,7 @@ export const viTranslations: DefaultTranslationsObject = { saving: 'Đang lưu...', schedulePublishFor: 'Lên lịch xuất bản cho {{title}}', searchBy: 'Tìm với {{label}}', + searchColumns: 'Tìm kiếm các cột', select: 'Chọn', selectAll: 'Chọn tất cả {{count}} {{label}}', selectAllRows: 'Chọn tất cả các hàng', @@ -421,6 +425,7 @@ export const viTranslations: DefaultTranslationsObject = { selectLabel: 'Chọn {{label}}', selectValue: 'Chọn một giá trị', showAllLabel: 'Hiển thị tất cả {{label}}', + shownInTable: 'Hiển thị trong bảng', showSidebar: 'Hiển thị thanh bên', sorryNotFound: 'Xin lỗi, không có kết quả nào tương ứng với yêu cầu của bạn.', sort: 'Sắp xếp', @@ -441,6 +446,7 @@ export const viTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}} {{title}} đã được xóa thành công.', titleRestored: '{{label}} "{{title}}" được khôi phục thành công.', titleTrashed: '{{label}} "{{title}}" đã được chuyển vào thùng rác.', + toggle: 'Chuyển đổi', trash: 'Rác', trashedCountSuccessfully: '{{count}} {{label}} đã được chuyển vào thùng rác.', true: 'Đúng', diff --git a/packages/translations/src/languages/zh.ts b/packages/translations/src/languages/zh.ts index 443f95ac8df..7529e621591 100644 --- a/packages/translations/src/languages/zh.ts +++ b/packages/translations/src/languages/zh.ts @@ -281,10 +281,12 @@ export const zhTranslations: DefaultTranslationsObject = { documentModified: '文档已修改', documentOutOfDate: '此文档最近已由其他用户更新。您当前的视图已过期。', documents: '文档', + dragToReorder: '拖动以重新排序', duplicate: '复制', duplicateWithoutSaving: '复制副本(不保存更改)。', edit: '编辑', editAll: '编辑全部', + editColumns: '编辑列', editedSince: '上次编辑时间', editing: '编辑中', editingLabel_many: '正在编辑 {{count}} 个{{label}}', @@ -355,6 +357,7 @@ export const zhTranslations: DefaultTranslationsObject = { notFound: '未找到', nothingFound: '没有找到任何东西', noTrashResults: '回收站中没有 {{label}}。', + notShownInTable: '未在表格中显示', noUpcomingEventsScheduled: '没有即将进行的活动计划。', noValue: '没有值', of: '共', @@ -395,6 +398,7 @@ export const zhTranslations: DefaultTranslationsObject = { saving: '保存中...', schedulePublishFor: '为 {{title}} 安排发布时间', searchBy: '搜索 {{label}}', + searchColumns: '搜索列', select: '选择', selectAll: '选择所有 {{count}} 个 {{label}}', selectAllRows: '选择所有行', @@ -402,6 +406,7 @@ export const zhTranslations: DefaultTranslationsObject = { selectLabel: '选择 {{label}}', selectValue: '选择一个值', showAllLabel: '显示所有 {{label}}', + shownInTable: '在表格中显示', showSidebar: '显示侧边栏', sorryNotFound: '对不起,没有与您的请求相对应的东西。', sort: '排序', @@ -422,6 +427,7 @@ export const zhTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}}「{{title}}」已被成功删除。', titleRestored: '{{label}}「{{title}}」成功恢复。', titleTrashed: '{{label}}「{{title}}」已移至垃圾箱。', + toggle: '切换', trash: '垃圾箱', trashedCountSuccessfully: '{{count}} {{label}} 被移至垃圾箱。', true: '是', diff --git a/packages/translations/src/languages/zhTw.ts b/packages/translations/src/languages/zhTw.ts index 5cdf62226af..00550079264 100644 --- a/packages/translations/src/languages/zhTw.ts +++ b/packages/translations/src/languages/zhTw.ts @@ -279,10 +279,12 @@ export const zhTwTranslations: DefaultTranslationsObject = { documentModified: '已修改的文件', documentOutOfDate: '這份文件最近被另一位使用者更新。您的視圖已過期。', documents: '文件', + dragToReorder: '拖曳以重新排序', duplicate: '複製', duplicateWithoutSaving: '不儲存變更直接複製', edit: '編輯', editAll: '全部編輯', + editColumns: '編輯欄位', editedSince: '上次編輯時間', editing: '編輯中', editingLabel_many: '正在編輯 {{count}} 個 {{label}}', @@ -353,6 +355,7 @@ export const zhTwTranslations: DefaultTranslationsObject = { notFound: '找不到', nothingFound: '查無資料', noTrashResults: '{{label}} 垃圾桶為空。', + notShownInTable: '未在表格中顯示', noUpcomingEventsScheduled: '沒有即將到來的事件。', noValue: '無值', of: '之', @@ -393,6 +396,7 @@ export const zhTwTranslations: DefaultTranslationsObject = { saving: '儲存中…', schedulePublishFor: '排程發佈 {{title}}', searchBy: '依 {{label}} 搜尋', + searchColumns: '搜尋欄位', select: '選取', selectAll: '選取全部 {{count}} 個 {{label}}', selectAllRows: '選取所有列', @@ -400,6 +404,7 @@ export const zhTwTranslations: DefaultTranslationsObject = { selectLabel: '選取 {{label}}', selectValue: '請選取一個值', showAllLabel: '顯示所有 {{label}}', + shownInTable: '以表格方式顯示', showSidebar: '顯示側邊欄', sorryNotFound: '很抱歉,找不到符合條件的內容。', sort: '排序', @@ -420,6 +425,7 @@ export const zhTwTranslations: DefaultTranslationsObject = { titleDeleted: '{{label}}「{{title}}」已成功刪除。', titleRestored: '{{label}}「{{title}}」已成功還原。', titleTrashed: '{{label}}「{{title}}」已移至垃圾桶。', + toggle: '切換', trash: '垃圾桶', trashedCountSuccessfully: '{{count}} 個 {{label}} 已移至垃圾桶。', true: '是', diff --git a/packages/ui/src/elements/ColumnSelector/index.css b/packages/ui/src/elements/ColumnSelector/index.css new file mode 100644 index 00000000000..9137c907e2b --- /dev/null +++ b/packages/ui/src/elements/ColumnSelector/index.css @@ -0,0 +1,194 @@ +@layer payload-default { + /* Remove default popup padding when column selector is inside */ + .popup__scroll-container:has(.column-selector) { + padding: 0; + } + + .column-selector { + display: flex; + flex-direction: column; + width: 240px; + overflow: hidden; + } + + .column-selector__header { + display: flex; + align-items: center; + justify-content: space-between; + height: 40px; + padding-inline-start: var(--spacer-2); + padding-inline-end: var(--spacer-2); + border-bottom: var(--stroke-width-small) solid var(--color-border); + } + + .column-selector__title { + padding-inline-start: var(--spacer-2); + font-family: var(--text-body-medium-strong-font-family); + font-size: var(--text-body-medium-strong-font-size); + font-weight: var(--text-body-medium-strong-font-weight); + line-height: var(--text-body-medium-strong-line-height); + color: var(--color-text); + } + + .column-selector__close { + padding: 0; + color: var(--color-icon); + } + + .column-selector__search { + display: flex; + align-items: center; + height: 40px; + padding-inline: var(--spacer-2-5); + border-bottom: var(--stroke-width-small) solid var(--color-border); + } + + .column-selector__search-bar { + display: flex; + align-items: center; + flex: 1; + height: 24px; + padding-inline-end: var(--spacer-2); + background: var(--color-bg-secondary); + border-radius: var(--radius-medium); + } + + .column-selector__search-bar svg { + flex-shrink: 0; + color: var(--color-icon-secondary); + } + + .column-selector__search-input { + flex: 1; + height: 100%; + padding: 0; + background: transparent; + border: none; + font-family: var(--text-body-medium-font-family); + font-size: var(--text-body-medium-font-size); + font-weight: var(--text-body-medium-font-weight); + line-height: var(--text-body-medium-line-height); + color: var(--color-text); + + &::placeholder { + color: var(--color-text-tertiary); + } + + &:focus { + outline: none; + } + } + + .column-selector__content { + display: flex; + flex-direction: column; + max-height: 400px; + overflow-y: auto; + } + + .column-selector__section { + display: flex; + flex-direction: column; + padding-block: var(--spacer-2); + border-bottom: var(--stroke-width-small) solid var(--color-border); + + &:last-child { + border-bottom: none; + } + } + + .column-selector__section-header { + display: flex; + align-items: center; + height: 32px; + padding-inline: var(--spacer-3); + font-family: var(--text-body-medium-strong-font-family); + font-size: var(--text-body-medium-strong-font-size); + font-weight: var(--text-body-medium-strong-font-weight); + line-height: var(--text-body-medium-strong-line-height); + color: var(--color-text-secondary); + } + + .column-selector__item { + position: relative; + display: flex; + align-items: center; + gap: var(--spacer-0); + padding-inline: var(--spacer-3); + padding-block: var(--spacer-1); + cursor: pointer; + + &:hover { + background: var(--color-bg-secondary); + } + + &:focus-visible { + outline: var(--stroke-width-small) solid var(--accessibility-focus-color); + outline-offset: -1px; + } + } + + .column-selector__item-label { + flex: 1; + min-width: 0; + font-family: var(--text-body-medium-font-family); + font-size: var(--text-body-medium-font-size); + font-weight: var(--text-body-medium-font-weight); + line-height: var(--text-body-medium-line-height); + color: var(--color-text); + } + + .column-selector__item--inactive .column-selector__item-label { + color: var(--color-text-secondary); + } + + .column-selector__drag-handle { + position: absolute; + inset-inline-start: 0; + display: flex; + align-items: center; + justify-content: center; + width: var(--spacer-3); + height: 100%; + color: var(--color-icon-secondary); + cursor: grab; + opacity: 0; + + &:active { + cursor: grabbing; + } + } + + .column-selector__item:hover .column-selector__drag-handle { + opacity: 1; + } + + .column-selector__item--dragging { + background: var(--color-bg-pressed); + } + + .column-selector__item--dragging .column-selector__drag-handle { + opacity: 1; + cursor: grabbing; + } + + .column-selector__item--over { + position: relative; + + &::before { + content: ''; + position: absolute; + inset-inline: 0; + top: -1px; + height: 2px; + background: var(--color-icon); + border-radius: 1px; + } + } + + .column-selector__drop-indicator { + height: 2px; + background: var(--color-icon); + margin-inline: var(--spacer-3); + } +} diff --git a/packages/ui/src/elements/ColumnSelector/index.tsx b/packages/ui/src/elements/ColumnSelector/index.tsx index 3816ea77d27..25653145a9a 100644 --- a/packages/ui/src/elements/ColumnSelector/index.tsx +++ b/packages/ui/src/elements/ColumnSelector/index.tsx @@ -1,23 +1,87 @@ 'use client' + import type { SanitizedCollectionConfig, StaticLabel } from 'payload' +import { getTranslation } from '@payloadcms/translations' import { fieldIsHiddenOrDisabled, fieldIsID, isFieldDisabled } from 'payload/shared' -import React, { useId, useMemo } from 'react' +import React, { useCallback, useId, useMemo, useState } from 'react' import { FieldLabel } from '../../fields/FieldLabel/index.js' +import { AlignJustifiedIcon } from '../../icons/AlignJustified/index.js' +import { SearchIcon } from '../../icons/Search/index.js' +import { XIcon } from '../../icons/X/index.js' import { useEditDepth } from '../../providers/EditDepth/index.js' import { useTableColumns } from '../../providers/TableColumns/index.js' -import { PillSelector, type SelectablePill } from '../PillSelector/index.js' +import { useTranslation } from '../../providers/Translation/index.js' +import { Button } from '../Button/index.js' +import { DraggableSortable } from '../DraggableSortable/index.js' +import { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js' +import { Switch } from '../Switch/index.js' +import './index.css' + +const baseClass = 'column-selector' export type Props = { readonly collectionSlug: SanitizedCollectionConfig['slug'] + readonly onClose?: () => void +} + +type ColumnItemProps = { + readonly active: boolean + readonly id: string + readonly label: StaticLabel | string + readonly labelText: string + readonly onToggle: () => void +} + +const ColumnItem: React.FC = ({ id, active, label, labelText, onToggle }) => { + const { t } = useTranslation() + const { attributes, isDragging, isOver, isSorting, listeners, setNodeRef, transform } = + useDraggableSortable({ + id, + }) + + return ( +
+ + + + + + + +
+ ) } -export const ColumnSelector: React.FC = ({ collectionSlug }) => { +export const ColumnSelector: React.FC = ({ collectionSlug, onClose }) => { const { columns, moveColumn, toggleColumn } = useTableColumns() + const { i18n, t } = useTranslation() const uuid = useId() const editDepth = useEditDepth() + const [searchQuery, setSearchQuery] = useState('') const filteredColumns = useMemo( () => @@ -29,48 +93,156 @@ export const ColumnSelector: React.FC = ({ collectionSlug }) => { [columns], ) - const pills: SelectablePill[] = useMemo(() => { - return filteredColumns - ? filteredColumns.map((col, i) => { - const { accessor, active, field } = col - - const label = - 'labelWithPrefix' in field && field.labelWithPrefix !== undefined - ? field.labelWithPrefix - : 'label' in field && field.label !== undefined - ? field.label - : 'name' in field && field.name !== undefined - ? field.name - : undefined - - return { - name: accessor, - key: `${collectionSlug}-${accessor}-${i}${editDepth ? `-${editDepth}-` : ''}${uuid}`, - Label: , - selected: active, - } as SelectablePill - }) - : null - }, [collectionSlug, editDepth, filteredColumns, uuid]) - - if (!pills) { + const columnItems = useMemo(() => { + if (!filteredColumns) { + return { all: [], hidden: [], shown: [] } + } + + const items = filteredColumns.map((col, i) => { + const { accessor, active, field } = col + + const label = + 'labelWithPrefix' in field && field.labelWithPrefix !== undefined + ? field.labelWithPrefix + : 'label' in field && field.label !== undefined + ? field.label + : 'name' in field && field.name !== undefined + ? field.name + : accessor + + const labelText = + typeof label === 'string' ? label : getTranslation(label as StaticLabel, i18n) + + return { + id: `${collectionSlug}-${accessor}-${i}${editDepth ? `-${editDepth}-` : ''}${uuid}`, + accessor, + active, + index: i, + label, + labelText, + } + }) + + // Filter by search query + const filtered = searchQuery + ? items.filter((item) => item.labelText.toLowerCase().includes(searchQuery.toLowerCase())) + : items + + return { + all: items, + hidden: filtered.filter((item) => !item.active), + shown: filtered.filter((item) => item.active), + } + }, [collectionSlug, editDepth, filteredColumns, i18n, searchQuery, uuid]) + + const handleDragEnd = useCallback( + ({ moveFromIndex, moveToIndex }: { moveFromIndex: number; moveToIndex: number }) => { + if (moveFromIndex === moveToIndex) { + return + } + + // All shown items first, then all hidden items + const allItems = [...columnItems.shown, ...columnItems.hidden] + const shownCount = columnItems.shown.length + const fromItem = allItems[moveFromIndex] + const toItem = allItems[moveToIndex] + + if (!fromItem || !toItem) { + return + } + + // Determine if crossing sections + const fromIsShown = moveFromIndex < shownCount + const toIsShown = moveToIndex < shownCount + + if (fromIsShown !== toIsShown) { + // Cross-section move: just toggle the column's active state (show/hide) + void toggleColumn(fromItem.accessor) + // Don't reorder when crossing sections - the toggle handles the change + return + } + + // Same-section move: perform the reorder + void moveColumn({ + fromIndex: fromItem.index, + toIndex: toItem.index, + }) + }, + [columnItems.shown, columnItems.hidden, moveColumn, toggleColumn], + ) + + if (!filteredColumns) { return null } + // Combined IDs: shown items first, then hidden items + const allIds = [...columnItems.shown, ...columnItems.hidden].map((item) => item.id) + return ( - { - void moveColumn({ - fromIndex: moveFromIndex, - toIndex: moveToIndex, - }) - }, - }} - onClick={({ pill }) => { - void toggleColumn(pill.name) - }} - pills={pills} - /> +
+
+ {t('general:editColumns')} + {onClose && ( +
+
+
+ + setSearchQuery(e.target.value)} + placeholder={t('general:searchColumns')} + type="text" + value={searchQuery} + /> +
+
+
+ + {columnItems.shown.length > 0 && ( +
+
{t('general:shownInTable')}
+ {columnItems.shown.map((item) => ( + { + void toggleColumn(item.accessor) + }} + /> + ))} +
+ )} + {columnItems.hidden.length > 0 && ( +
+
{t('general:notShownInTable')}
+ {columnItems.hidden.map((item) => ( + { + void toggleColumn(item.accessor) + }} + /> + ))} +
+ )} +
+
+
) } diff --git a/packages/ui/src/elements/DraggableSortable/useDraggableSortable/index.tsx b/packages/ui/src/elements/DraggableSortable/useDraggableSortable/index.tsx index 74aa9f34fe8..2596fca35d3 100644 --- a/packages/ui/src/elements/DraggableSortable/useDraggableSortable/index.tsx +++ b/packages/ui/src/elements/DraggableSortable/useDraggableSortable/index.tsx @@ -8,7 +8,16 @@ import type { UseDraggableSortableReturn } from './types.js' export const useDraggableSortable = (props: UseDraggableArguments): UseDraggableSortableReturn => { const { id, disabled } = props - const { attributes, isDragging, listeners, setNodeRef, transform, transition } = useSortable({ + const { + attributes, + isDragging, + isOver, + isSorting, + listeners, + setNodeRef, + transform, + transition, + } = useSortable({ id, disabled, transition: { @@ -25,6 +34,8 @@ export const useDraggableSortable = (props: UseDraggableArguments): UseDraggable }, }, isDragging, + isOver, + isSorting, listeners, setNodeRef, transform: transform && `translate3d(${transform.x}px, ${transform.y}px, 0)`, // translate3d is faster than translate in most browsers diff --git a/packages/ui/src/elements/DraggableSortable/useDraggableSortable/types.ts b/packages/ui/src/elements/DraggableSortable/useDraggableSortable/types.ts index 4a9f78ff5e0..185ec7eef18 100644 --- a/packages/ui/src/elements/DraggableSortable/useDraggableSortable/types.ts +++ b/packages/ui/src/elements/DraggableSortable/useDraggableSortable/types.ts @@ -4,6 +4,8 @@ import type { HTMLAttributes } from 'react' export type UseDraggableSortableReturn = { readonly attributes: HTMLAttributes readonly isDragging?: boolean + readonly isOver?: boolean + readonly isSorting?: boolean readonly listeners: SyntheticListenerMap readonly setNodeRef: (node: HTMLElement | null) => void readonly transform: string diff --git a/packages/ui/src/elements/ListControls/index.tsx b/packages/ui/src/elements/ListControls/index.tsx index e184c3a9a45..74d00d485ae 100644 --- a/packages/ui/src/elements/ListControls/index.tsx +++ b/packages/ui/src/elements/ListControls/index.tsx @@ -132,22 +132,27 @@ export const ListControls: React.FC = (props) => { )} {enableColumns && ( - } - id="toggle-list-columns" - onClick={() => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)} - size="medium" - > - {t('general:columns')} - + buttonType="custom" + className={`${baseClass}__columns-popup`} + horizontalAlign="right" + id="list-columns" + render={({ close }) => ( + + )} + verticalAlign="bottom" + /> )} {enableSort && ( + )} + theme="auto" + verticalAlign="bottom" + /> + ) +} diff --git a/packages/ui/src/elements/ListControls/index.tsx b/packages/ui/src/elements/ListControls/index.tsx index ae3e0686e25..612056becb3 100644 --- a/packages/ui/src/elements/ListControls/index.tsx +++ b/packages/ui/src/elements/ListControls/index.tsx @@ -13,7 +13,7 @@ import { useListQuery } from '../../providers/ListQuery/index.js' import { useTranslation } from '../../providers/Translation/index.js' import { AnimateHeight } from '../AnimateHeight/index.js' import { Button } from '../Button/index.js' -import { ColumnSelector } from '../ColumnSelector/index.js' +import { ColumnsButton } from '../ColumnsButton/index.js' import { GroupByControl } from '../GroupByControl/index.js' import { QueryPresetBar } from '../QueryPresets/QueryPresetBar/index.js' import { SearchBar } from '../SearchBar/index.js' @@ -115,30 +115,7 @@ export const ListControls: React.FC = (props) => { fields={collectionConfig.fields} /> )} - {enableColumns && ( - } - id="toggle-list-columns" - size="medium" - > - {t('general:columns')} - - } - buttonType="custom" - className={`${baseClass}__columns-popup`} - horizontalAlign="right" - id="list-columns" - render={({ close }) => ( - - )} - theme="auto" - verticalAlign="bottom" - /> - )} + {enableColumns && } {enableSort && ( - - - {BeforeInput} {isLoadingTable ? ( -

{t('general:loading')}

+ +
+ {Label} +
{addNewButton}
+
+ {BeforeInput} +

{t('general:loading')}

+
) : ( {data?.docs && data.docs.length === 0 && ( - , - ] - : [] - } - description={i18n.t('general:noResults', { - label: isPolymorphic - ? i18n.t('general:documents') - : getTranslation(collectionConfig?.labels?.plural, i18n), - })} - title={i18n.t('general:noResultsFound')} - /> + +
+ {Label} +
{addNewButton}
+
+ {BeforeInput} + , + ] + : [] + } + description={i18n.t('general:noResults', { + label: isPolymorphic + ? i18n.t('general:documents') + : getTranslation(collectionConfig?.labels?.plural, i18n), + })} + title={i18n.t('general:noResultsFound')} + /> +
)} {data?.docs && data.docs.length > 0 && ( @@ -384,20 +378,14 @@ export const RelationshipTable: React.FC = (pro } > - -
- {collectionConfig && ( - setOpenColumnSelector(false)} - /> - )} +
+ {Label} +
+ {addNewButton} + {columnsButton}
- +
+ {BeforeInput} {Table} diff --git a/test/__helpers/e2e/columns/clickPillSelectorItem.ts b/test/__helpers/e2e/columns/clickPillSelectorItem.ts index 19fc51fa563..b0df91468c1 100644 --- a/test/__helpers/e2e/columns/clickPillSelectorItem.ts +++ b/test/__helpers/e2e/columns/clickPillSelectorItem.ts @@ -51,21 +51,6 @@ export const getPillSelectorItem = ({ }) } -/** - * Check if a pill selector item is selected (has chip--selected class) - */ -export const isPillSelectorItemSelected = async ({ - container, - label, -}: { - container: Locator | Page - label: string -}): Promise => { - const pill = getPillSelectorItem({ container, label }) - const classes = await pill.getAttribute('class') - return classes?.includes('chip--selected') ?? false -} - /** * Get a locator for a column selector item (v4 design). * The new column selector uses `.column-selector__item` with aria-label for the label text. @@ -103,19 +88,3 @@ export const clickColumnSelectorItem = async ({ await item.locator('.switch').click() return item } - -/** - * Check if a column selector item is active (shown in table) - */ -export const isColumnSelectorItemActive = async ({ - container, - label, -}: { - container: Locator | Page - label: string -}): Promise => { - const item = getColumnSelectorItem({ container, label }) - const classes = await item.getAttribute('class') - // Item is active if it does NOT have the --inactive modifier - return !classes?.includes('column-selector__item--inactive') -} diff --git a/test/__helpers/e2e/columns/index.ts b/test/__helpers/e2e/columns/index.ts index 30e9af19681..9aad9c99f52 100644 --- a/test/__helpers/e2e/columns/index.ts +++ b/test/__helpers/e2e/columns/index.ts @@ -3,8 +3,6 @@ export { clickPillSelectorItem, getColumnSelectorItem, getPillSelectorItem, - isColumnSelectorItemActive, - isPillSelectorItemSelected, } from './clickPillSelectorItem.js' export { openListColumns } from './openListColumns.js' export { reorderColumns } from './reorderColumns.js' diff --git a/test/__helpers/e2e/columns/openListColumns.ts b/test/__helpers/e2e/columns/openListColumns.ts index 2b34c050cdc..697d8382903 100644 --- a/test/__helpers/e2e/columns/openListColumns.ts +++ b/test/__helpers/e2e/columns/openListColumns.ts @@ -5,12 +5,12 @@ import { expect } from '@playwright/test' export const openListColumns = async ( page: Page, { - togglerSelector = '.list-controls__toggle-columns', - columnContainerSelector = '.column-selector', + togglerSelector = '.columns-button__button', + columnContainerSelector = '.popup__content .column-selector', }: { columnContainerSelector?: string togglerSelector?: string - }, + } = {}, ): Promise<{ columnContainer: Locator }> => { diff --git a/test/__helpers/e2e/columns/reorderColumns.ts b/test/__helpers/e2e/columns/reorderColumns.ts index 7515ae0cf7e..a03c38e9002 100644 --- a/test/__helpers/e2e/columns/reorderColumns.ts +++ b/test/__helpers/e2e/columns/reorderColumns.ts @@ -8,8 +8,8 @@ import { getColumnSelectorItem } from './clickPillSelectorItem.js' export const reorderColumns = async ( page: Page, { - togglerSelector = '.list-controls__toggle-columns', - columnContainerSelector = '.column-selector', + togglerSelector = '.columns-button__button', + columnContainerSelector = '.popup__content .column-selector', fromColumn = 'Number', toColumn = 'ID', }: { diff --git a/test/__helpers/e2e/helpers.ts b/test/__helpers/e2e/helpers.ts index a65bec31b01..29b34286fbc 100644 --- a/test/__helpers/e2e/helpers.ts +++ b/test/__helpers/e2e/helpers.ts @@ -389,8 +389,8 @@ export async function switchTab(page: Page, selector: string) { } export const openColumnControls = async (page: Page) => { - await page.locator('.list-controls__toggle-columns').click() - await expect(page.locator('.column-selector')).toBeVisible() + await page.locator('.columns-button__button').click() + await expect(page.locator('.popup__content .column-selector')).toBeVisible() } /** diff --git a/test/fields-relationship/e2e.spec.ts b/test/fields-relationship/e2e.spec.ts index aae3730a322..000ceaeaa3e 100644 --- a/test/fields-relationship/e2e.spec.ts +++ b/test/fields-relationship/e2e.spec.ts @@ -752,7 +752,7 @@ describe('Relationship Field', () => { await page.goto(versionedRelationshipFieldURL.list) await wait(300) - await page.locator('.list-controls__toggle-columns').click() + await page.locator('.columns-button__button').click() await addListFilter({ page, diff --git a/test/fields/collections/Date/e2e.spec.ts b/test/fields/collections/Date/e2e.spec.ts index 1a0fe2dc372..b5c15f0f233 100644 --- a/test/fields/collections/Date/e2e.spec.ts +++ b/test/fields/collections/Date/e2e.spec.ts @@ -845,7 +845,7 @@ const createTimezoneContextTests = (contextName: string, timezoneId: string) => const timezoneColumnCell = page.locator('.cell-dateWithTimezoneWithDisabledColumns_tz') await expect(timezoneColumnCell).toHaveCount(0) - await page.locator('.list-controls__toggle-columns').click() + await page.locator('.columns-button__button').click() const dateColumnOption = page.locator('#dateWithTimezoneWithDisabledColumns') await expect(dateColumnOption).toBeVisible() diff --git a/test/i18n/e2e.spec.ts b/test/i18n/e2e.spec.ts index cd72c2137ed..92c4f589c14 100644 --- a/test/i18n/e2e.spec.ts +++ b/test/i18n/e2e.spec.ts @@ -175,10 +175,14 @@ describe('i18n', () => { await setUserLanguage('es') await page.goto(collection1URL.list) - await page.locator('.list-controls__toggle-columns').click() + await page.locator('.columns-button__button').click() // expecting the label to fall back to english as default fallbackLng +<<<<<<< Updated upstream await expect(getColumnSelectorItem({ container: page, label: 'es-label' })).toBeVisible() +======= + await expect(getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'es-label' })).toBeVisible() +>>>>>>> Stashed changes }) test('should show fallback pill field label', async () => { @@ -186,10 +190,14 @@ describe('i18n', () => { await setUserLanguage('de') await page.goto(collection1URL.list) - await page.locator('.list-controls__toggle-columns').click() + await page.locator('.columns-button__button').click() // expecting the label to fall back to english as default fallbackLng +<<<<<<< Updated upstream await expect(getColumnSelectorItem({ container: page, label: 'en-label' })).toBeVisible() +======= + await expect(getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'en-label' })).toBeVisible() +>>>>>>> Stashed changes }) test('should show translated field label in where builder', async () => { diff --git a/test/joins/e2e.spec.ts b/test/joins/e2e.spec.ts index 6a04cb3b6da..941509d345a 100644 --- a/test/joins/e2e.spec.ts +++ b/test/joins/e2e.spec.ts @@ -1,7 +1,6 @@ import type { Page } from '@playwright/test' import { expect, test } from '@playwright/test' -import { waitForAutoSaveToRunAndComplete } from '../__helpers/e2e/waitForAutoSaveToRunAndComplete.js' import * as path from 'path' import { fileURLToPath } from 'url' @@ -18,6 +17,7 @@ import { // throttleTest, } from '../__helpers/e2e/helpers.js' import { navigateToDoc } from '../__helpers/e2e/navigateToDoc.js' +import { waitForAutoSaveToRunAndComplete } from '../__helpers/e2e/waitForAutoSaveToRunAndComplete.js' import { AdminUrlUtil } from '../__helpers/shared/adminUrlUtil.js' import { reInitializeDB } from '../__helpers/shared/clearAndSeed/reInitializeDB.js' import { initPayloadE2ENoConfig } from '../__helpers/shared/initPayloadE2ENoConfig.js' @@ -305,8 +305,7 @@ describe('Join Field', () => { await expect(link).toBeHidden() await reorderColumns(page, { - togglerSelector: '.relationship-table__toggle-columns', - columnContainerSelector: '.relationship-table__columns', + togglerSelector: '#field-relatedPosts .columns-button__button', fromColumn: 'Category', toColumn: 'Title', }) @@ -319,8 +318,7 @@ describe('Join Field', () => { // put columns back in original order for the next test await reorderColumns(page, { - togglerSelector: '.relationship-table__toggle-columns', - columnContainerSelector: '.relationship-table__columns', + togglerSelector: '#field-relatedPosts .columns-button__button', fromColumn: 'Title', toColumn: 'Category', }) diff --git a/test/uploads/e2e.spec.ts b/test/uploads/e2e.spec.ts index 52aede68162..89eec42aa47 100644 --- a/test/uploads/e2e.spec.ts +++ b/test/uploads/e2e.spec.ts @@ -2148,6 +2148,7 @@ describe('Uploads', () => { await openListColumns(page, {}) +<<<<<<< Updated upstream await expect( getColumnSelectorItem({ container: page, label: 'Sizes > one > URL' }), ).toBeHidden() @@ -2184,6 +2185,40 @@ describe('Uploads', () => { ).toBeHidden() await expect( getColumnSelectorItem({ container: page, label: 'Sizes > two > File Name' }), +======= + await expect(getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > URL' })).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > Width' }), + ).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > Height' }), + ).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > MIME Type' }), + ).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > File Size' }), + ).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > File Name' }), + ).toBeHidden() + + await expect(getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > URL' })).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > Width' }), + ).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > Height' }), + ).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > MIME Type' }), + ).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > File Size' }), + ).toBeHidden() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > File Name' }), +>>>>>>> Stashed changes ).toBeHidden() }) @@ -2193,6 +2228,7 @@ describe('Uploads', () => { await openListColumns(page, {}) await expect( +<<<<<<< Updated upstream getColumnSelectorItem({ container: page, label: 'Sizes > three > URL' }), ).toBeVisible() await expect( @@ -2228,6 +2264,43 @@ describe('Uploads', () => { ).toBeVisible() await expect( getColumnSelectorItem({ container: page, label: 'Sizes > four > File Name' }), +======= + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > URL' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > Width' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > Height' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > MIME Type' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > File Size' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > File Name' }), + ).toBeVisible() + + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > URL' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > Width' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > Height' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > MIME Type' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > File Size' }), + ).toBeVisible() + await expect( + getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > File Name' }), +>>>>>>> Stashed changes ).toBeVisible() }) diff --git a/tsconfig.base.json b/tsconfig.base.json index 7f53ae18fd5..7076c91967e 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -32,7 +32,7 @@ ], "paths": { "@payloadcms/figma": ["../enterprise-plugins/packages/figma/src/index.ts"], - "@payload-config": ["./test/_community/config.ts"], + "@payload-config": ["./test/v4/config.ts"], "@payloadcms/admin-bar": ["./packages/admin-bar/src"], "@payloadcms/live-preview": ["./packages/live-preview/src"], "@payloadcms/live-preview-react": ["./packages/live-preview-react/src/index.ts"], From c7162fd95eeb4897703aa31e59d61235b4fe03d3 Mon Sep 17 00:00:00 2001 From: Jarrod Flesch Date: Thu, 28 May 2026 15:41:07 -0400 Subject: [PATCH 09/17] convert date field e2e column selection test --- test/fields/collections/Date/e2e.spec.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/test/fields/collections/Date/e2e.spec.ts b/test/fields/collections/Date/e2e.spec.ts index b5c15f0f233..e3a077a22c2 100644 --- a/test/fields/collections/Date/e2e.spec.ts +++ b/test/fields/collections/Date/e2e.spec.ts @@ -8,6 +8,7 @@ import { fileURLToPath } from 'url' import type { PayloadTestSDK } from '../../../__helpers/shared/sdk/index.js' import type { Config } from '../../payload-types.js' +import { getColumnSelectorItem } from '../../../__helpers/e2e/columns/index.js' import { addListFilter } from '../../../__helpers/e2e/filters/addListFilter.js' import { ensureCompilationIsDone, @@ -847,10 +848,19 @@ const createTimezoneContextTests = (contextName: string, timezoneId: string) => await page.locator('.columns-button__button').click() - const dateColumnOption = page.locator('#dateWithTimezoneWithDisabledColumns') + const columnSelector = page.locator('.popup__content .column-selector') + await expect(columnSelector).toBeVisible() + + const dateColumnOption = getColumnSelectorItem({ + container: columnSelector, + label: 'Date With Timezone With Disabled Columns', + }) await expect(dateColumnOption).toBeVisible() - const timezoneColumnOption = page.locator('#dateWithTimezoneWithDisabledColumns_tz') + const timezoneColumnOption = getColumnSelectorItem({ + container: columnSelector, + label: 'Date With Timezone With Disabled Columns Tz', + }) await expect(timezoneColumnOption).toBeHidden() }) From 4b010866fa63d967bb159c9aab57844bb3a42726 Mon Sep 17 00:00:00 2001 From: Jarrod Flesch Date: Thu, 28 May 2026 15:43:59 -0400 Subject: [PATCH 10/17] fix jsx label e2e --- test/fields/collections/Select/e2e.spec.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/fields/collections/Select/e2e.spec.ts b/test/fields/collections/Select/e2e.spec.ts index d4a9c3da601..60c38d894f0 100644 --- a/test/fields/collections/Select/e2e.spec.ts +++ b/test/fields/collections/Select/e2e.spec.ts @@ -8,6 +8,7 @@ import type { PayloadTestSDK } from '../../../__helpers/shared/sdk/index.js' import type { Config } from '../../payload-types.js' import { checkFocusIndicators } from '../../../__helpers/e2e/checkFocusIndicators.js' +import { clickColumnSelectorItem, openListColumns } from '../../../__helpers/e2e/columns/index.js' import { ensureCompilationIsDone, initPageConsoleErrorCatch, @@ -91,11 +92,12 @@ describe('Select', () => { test('should show custom JSX option label in list', async () => { await page.goto(url.list) - const columnsButton = page.locator('button:has-text("Columns")') + const { columnContainer } = await openListColumns(page) - await columnsButton.click() - - await page.locator('text=Select with JSX label option').click() + await clickColumnSelectorItem({ + container: columnContainer, + label: 'Select with JSX label option', + }) await expect(page.locator('.cell-selectWithJsxLabelOption svg#payload-logo')).toBeVisible() }) From 4463edad4e8c5fa2807e485ec7240ddb3000bab5 Mon Sep 17 00:00:00 2001 From: Jarrod Flesch Date: Thu, 28 May 2026 15:50:17 -0400 Subject: [PATCH 11/17] fix e2e selectors --- .../ui/src/elements/ListControls/index.css | 1 - test/access-control/e2e.spec.ts | 97 ++++++++++--------- test/admin/e2e/list-view/e2e.spec.ts | 43 ++++---- 3 files changed, 69 insertions(+), 72 deletions(-) diff --git a/packages/ui/src/elements/ListControls/index.css b/packages/ui/src/elements/ListControls/index.css index eb370e1023a..5032a796e8f 100644 --- a/packages/ui/src/elements/ListControls/index.css +++ b/packages/ui/src/elements/ListControls/index.css @@ -69,7 +69,6 @@ } } - .list-controls__toggle-columns, .list-controls__toggle-where, .list-controls__toggle-sort, .list-controls__toggle-group-by { diff --git a/test/access-control/e2e.spec.ts b/test/access-control/e2e.spec.ts index 64726a5d6d3..31d8a76c7db 100644 --- a/test/access-control/e2e.spec.ts +++ b/test/access-control/e2e.spec.ts @@ -11,7 +11,7 @@ import type { Config, ReadOnlyCollection, RestrictedVersion } from './payload-ty import { assertNetworkRequests } from '../__helpers/e2e/assertNetworkRequests.js' import { login } from '../__helpers/e2e/auth/login.js' -import { getColumnSelectorItem } from '../__helpers/e2e/columns/index.js' +import { getColumnSelectorItem, openListColumns } from '../__helpers/e2e/columns/index.js' import { openListFilters } from '../__helpers/e2e/filters/index.js' import { openGroupBy } from '../__helpers/e2e/groupBy/index.js' import { @@ -920,82 +920,78 @@ describe('Access Control', () => { describe('column selector', () => { test('should hide top-level field with read: false in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide restrictedTopLevel field await expect( - getColumnSelectorItem({ container: page, label: 'Restricted Top Level' }), + getColumnSelectorItem({ container: columnContainer, label: 'Restricted Top Level' }), ).toBeHidden() // Should show visibleTopLevel field await expect( - getColumnSelectorItem({ container: page, label: 'Visible Top Level' }), + getColumnSelectorItem({ container: columnContainer, label: 'Visible Top Level' }), ).toBeVisible() }) test('should hide nested field with read: false inside group in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide secretPhone field inside contactInfo group await expect( - getColumnSelectorItem({ container: page, label: 'Contact Info > Secret Phone' }), + getColumnSelectorItem({ + container: columnContainer, + label: 'Contact Info > Secret Phone', + }), ).toBeHidden() // Should show publicPhone field await expect( - getColumnSelectorItem({ container: page, label: 'Contact Info > Public Phone' }), + getColumnSelectorItem({ + container: columnContainer, + label: 'Contact Info > Public Phone', + }), ).toBeVisible() }) test('should hide field with read: false inside row in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide restrictedInRow field await expect( - getColumnSelectorItem({ container: page, label: 'Restricted In Row' }), + getColumnSelectorItem({ container: columnContainer, label: 'Restricted In Row' }), ).toBeHidden() // Should show visibleInRow field await expect( - getColumnSelectorItem({ container: page, label: 'Visible In Row' }), + getColumnSelectorItem({ container: columnContainer, label: 'Visible In Row' }), ).toBeVisible() }) test('should hide field with read: false inside collapsible in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide restrictedInCollapsible field await expect( - getColumnSelectorItem({ container: page, label: 'Restricted In Collapsible' }), + getColumnSelectorItem({ container: columnContainer, label: 'Restricted In Collapsible' }), ).toBeHidden() // Should show visibleInCollapsible field await expect( - getColumnSelectorItem({ container: page, label: 'Visible In Collapsible' }), + getColumnSelectorItem({ container: columnContainer, label: 'Visible In Collapsible' }), ).toBeVisible() }) test('should hide deeply nested field with read: false in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide metadata.analytics.restrictedMetric field await expect( getColumnSelectorItem({ - container: page, + container: columnContainer, label: 'Metadata > Analytics > Restricted Metric', }), ).toBeHidden() @@ -1003,7 +999,7 @@ describe('Access Control', () => { // Should show metadata.analytics.visibleMetric field await expect( getColumnSelectorItem({ - container: page, + container: columnContainer, label: 'Metadata > Analytics > Visible Metric', }), ).toBeVisible() @@ -1011,67 +1007,76 @@ describe('Access Control', () => { test('should hide field with read: false inside unnamed tab in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide secretInPublicTab field await expect( - getColumnSelectorItem({ container: page, label: 'Secret In Public Tab' }), + getColumnSelectorItem({ container: columnContainer, label: 'Secret In Public Tab' }), ).toBeHidden() // Should show publicData field - await expect(getColumnSelectorItem({ container: page, label: 'Public Data' })).toBeVisible() + await expect( + getColumnSelectorItem({ container: columnContainer, label: 'Public Data' }), + ).toBeVisible() }) test('should hide field with read: false inside named tab in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide restrictedSetting field await expect( - getColumnSelectorItem({ container: page, label: 'Settings > Restricted Setting' }), + getColumnSelectorItem({ + container: columnContainer, + label: 'Settings > Restricted Setting', + }), ).toBeHidden() // Should show visibleSetting field await expect( - getColumnSelectorItem({ container: page, label: 'Settings > Visible Setting' }), + getColumnSelectorItem({ + container: columnContainer, + label: 'Settings > Visible Setting', + }), ).toBeVisible() }) test('should hide field with read: false inside row within group in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide secretPostalCode field await expect( - getColumnSelectorItem({ container: page, label: 'Address > Secret Postal Code' }), + getColumnSelectorItem({ + container: columnContainer, + label: 'Address > Secret Postal Code', + }), ).toBeHidden() // Should show city field await expect( - getColumnSelectorItem({ container: page, label: 'Address > City' }), + getColumnSelectorItem({ container: columnContainer, label: 'Address > City' }), ).toBeVisible() }) test('should hide field with read: false inside group within collapsible in column selector', async () => { await page.goto(readRestrictedUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Should hide restrictedAdvanced field await expect( - getColumnSelectorItem({ container: page, label: 'Advanced > Restricted Advanced' }), + getColumnSelectorItem({ + container: columnContainer, + label: 'Advanced > Restricted Advanced', + }), ).toBeHidden() // Should show visibleAdvanced field await expect( - getColumnSelectorItem({ container: page, label: 'Advanced > Visible Advanced' }), + getColumnSelectorItem({ + container: columnContainer, + label: 'Advanced > Visible Advanced', + }), ).toBeVisible() }) }) diff --git a/test/admin/e2e/list-view/e2e.spec.ts b/test/admin/e2e/list-view/e2e.spec.ts index 87981f8abe9..d97422b8ea7 100644 --- a/test/admin/e2e/list-view/e2e.spec.ts +++ b/test/admin/e2e/list-view/e2e.spec.ts @@ -180,10 +180,9 @@ describe('List View', () => { `${adminRoutes.routes?.admin}/collections/posts/${id}`, ) - await page.locator('.list-controls__toggle-columns').click() - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) - await clickColumnSelectorItem({ container: page, label: 'ID' }) + await clickColumnSelectorItem({ container: columnContainer, label: 'ID' }) await page.locator('#heading-id').waitFor({ state: 'detached' }) await page.locator('.cell-id').first().waitFor({ state: 'detached' }) @@ -369,14 +368,14 @@ describe('List View', () => { test('should filter rows', async () => { // open the column controls - await page.locator('.list-controls__toggle-columns').click() + const { columnContainer } = await openListColumns(page) // wait until the column toggle UI is visible and fully expanded await expect(page.locator('.column-selector')).toBeVisible() await expect(page.locator('table > thead > tr > th:nth-child(2)')).toHaveText('ID') // ensure the ID column is active - const idButton = getColumnSelectorItem({ container: page, label: 'ID' }) + const idButton = getColumnSelectorItem({ container: columnContainer, label: 'ID' }) const id = (await page.locator('.cell-id').first().innerText()).replace('ID: ', '') @@ -899,45 +898,39 @@ describe('List View', () => { describe('table columns', () => { test('should hide field column when field.hidden is true', async () => { await page.goto(postsUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) - await expect(getColumnSelectorItem({ container: page, label: 'Hidden Field' })).toBeHidden() + await expect( + getColumnSelectorItem({ container: columnContainer, label: 'Hidden Field' }), + ).toBeHidden() }) test('should show field column despite admin.hidden being true', async () => { await page.goto(postsUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) await expect( - getColumnSelectorItem({ container: page, label: 'Admin Hidden Field' }), + getColumnSelectorItem({ container: columnContainer, label: 'Admin Hidden Field' }), ).toBeVisible() }) test('should hide field in column selector when admin.disableListColumn is true', async () => { await page.goto(postsUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Check if "Disable List Column Text" is not present in the column options await expect( - getColumnSelectorItem({ container: page, label: 'Disable List Column Text' }), + getColumnSelectorItem({ container: columnContainer, label: 'Disable List Column Text' }), ).toBeHidden() }) test('should display field in column selector despite admin.disableListFilter', async () => { await page.goto(postsUrl.list) - await page.locator('.list-controls__toggle-columns').click() - - await expect(page.locator('.column-selector')).toBeVisible() + const { columnContainer } = await openListColumns(page) // Check if "Disable List Filter Text" is present in the column options await expect( - getColumnSelectorItem({ container: page, label: 'Disable List Filter Text' }), + getColumnSelectorItem({ container: columnContainer, label: 'Disable List Filter Text' }), ).toBeVisible() }) @@ -1260,7 +1253,7 @@ describe('List View', () => { await openListColumns(page, { columnContainerSelector: '.column-selector', - togglerSelector: '[id^=list-drawer_1_] .list-controls__toggle-columns', + togglerSelector: '[id^=list-drawer_1_] .columns-button__button', }) // ensure that the columns are in the correct order @@ -1286,11 +1279,11 @@ describe('List View', () => { await openListColumns(page, { columnContainerSelector: '.column-selector', - togglerSelector: '[id^=list-drawer_1_] .list-controls__toggle-columns', + togglerSelector: '[id^=list-drawer_1_] .columns-button__button', }) await toggleColumn(page, { - togglerSelector: '[id^=list-drawer_1_] .list-controls__toggle-columns', + togglerSelector: '[id^=list-drawer_1_] .columns-button__button', columnContainerSelector: '.column-selector', columnLabel: 'ID', targetState: 'off', @@ -1308,7 +1301,7 @@ describe('List View', () => { await openListColumns(page, { columnContainerSelector: '.column-selector', - togglerSelector: '[id^=list-drawer_1_] .list-controls__toggle-columns', + togglerSelector: '[id^=list-drawer_1_] .columns-button__button', }) const columnContainer = page.locator('.column-selector').first() From 06a5ac5c6e7463ba0b7e5cf1dcc8531a029183b0 Mon Sep 17 00:00:00 2001 From: Patrik Kozak <35232443+PatrikKozak@users.noreply.github.com> Date: Thu, 28 May 2026 16:39:54 -0400 Subject: [PATCH 12/17] test: fix i18n, uploads, and list view tests --- .../ui/src/providers/TableColumns/index.tsx | 27 +-- test/i18n/e2e.spec.ts | 22 +- test/i18n/payload-types.ts | 13 ++ test/uploads/e2e.spec.ts | 193 +++++++++--------- 4 files changed, 128 insertions(+), 127 deletions(-) diff --git a/packages/ui/src/providers/TableColumns/index.tsx b/packages/ui/src/providers/TableColumns/index.tsx index fd230fcd3a8..b9afb2b19e2 100644 --- a/packages/ui/src/providers/TableColumns/index.tsx +++ b/packages/ui/src/providers/TableColumns/index.tsx @@ -52,26 +52,13 @@ export const TableColumnsProvider: React.FC = ({ return } - const targetColumn = currentColumns[columnIndex] - const isBeingShown = !targetColumn.active - - let newColumnState: typeof currentColumns - - if (isBeingShown) { - // When showing a column, move it to the end of shown columns - const otherColumns = currentColumns.filter((col) => col.accessor !== column) - const shownColumns = otherColumns.filter((col) => col.active) - const hiddenColumns = otherColumns.filter((col) => !col.active) - newColumnState = [...shownColumns, { ...targetColumn, active: true }, ...hiddenColumns] - } else { - // When hiding a column, just toggle it in place - newColumnState = currentColumns.map((col) => { - if (col.accessor === column) { - return { ...col, active: false } - } - return col - }) - } + // Toggle the column's active state in place, preserving its position + const newColumnState = currentColumns.map((col) => { + if (col.accessor === column) { + return { ...col, active: !col.active } + } + return col + }) startTransition(() => { setOptimisticColumnState(newColumnState) diff --git a/test/i18n/e2e.spec.ts b/test/i18n/e2e.spec.ts index 92c4f589c14..7febff70b58 100644 --- a/test/i18n/e2e.spec.ts +++ b/test/i18n/e2e.spec.ts @@ -178,11 +178,12 @@ describe('i18n', () => { await page.locator('.columns-button__button').click() // expecting the label to fall back to english as default fallbackLng -<<<<<<< Updated upstream - await expect(getColumnSelectorItem({ container: page, label: 'es-label' })).toBeVisible() -======= - await expect(getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'es-label' })).toBeVisible() ->>>>>>> Stashed changes + await expect( + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'es-label', + }), + ).toBeVisible() }) test('should show fallback pill field label', async () => { @@ -193,11 +194,12 @@ describe('i18n', () => { await page.locator('.columns-button__button').click() // expecting the label to fall back to english as default fallbackLng -<<<<<<< Updated upstream - await expect(getColumnSelectorItem({ container: page, label: 'en-label' })).toBeVisible() -======= - await expect(getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'en-label' })).toBeVisible() ->>>>>>> Stashed changes + await expect( + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'en-label', + }), + ).toBeVisible() }) test('should show translated field label in where builder', async () => { diff --git a/test/i18n/payload-types.ts b/test/i18n/payload-types.ts index c7c100ca534..649178bce73 100644 --- a/test/i18n/payload-types.ts +++ b/test/i18n/payload-types.ts @@ -94,6 +94,9 @@ export interface Config { global: GlobalSelect | GlobalSelect; }; locale: null; + widgets: { + collections: CollectionsWidget; + }; user: User; jobs: { tasks: unknown; @@ -328,6 +331,16 @@ export interface GlobalSelect { createdAt?: T; globalType?: T; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "collections_widget". + */ +export interface CollectionsWidget { + data?: { + [k: string]: unknown; + }; + width: 'full'; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "auth". diff --git a/test/uploads/e2e.spec.ts b/test/uploads/e2e.spec.ts index 89eec42aa47..28af7763290 100644 --- a/test/uploads/e2e.spec.ts +++ b/test/uploads/e2e.spec.ts @@ -2148,77 +2148,78 @@ describe('Uploads', () => { await openListColumns(page, {}) -<<<<<<< Updated upstream await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > one > URL' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > one > URL', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > one > Width' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > one > Width', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > one > Height' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > one > Height', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > one > MIME Type' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > one > MIME Type', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > one > File Size' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > one > File Size', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > one > File Name' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > one > File Name', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > two > URL' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > two > URL', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > two > Width' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > two > Width', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > two > Height' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > two > Height', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > two > MIME Type' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > two > MIME Type', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > two > File Size' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > two > File Size', + }), ).toBeHidden() await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > two > File Name' }), -======= - await expect(getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > URL' })).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > Width' }), - ).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > Height' }), - ).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > MIME Type' }), - ).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > File Size' }), - ).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > one > File Name' }), - ).toBeHidden() - - await expect(getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > URL' })).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > Width' }), - ).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > Height' }), - ).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > MIME Type' }), - ).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > File Size' }), - ).toBeHidden() - await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > two > File Name' }), ->>>>>>> Stashed changes + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > two > File Name', + }), ).toBeHidden() }) @@ -2228,79 +2229,77 @@ describe('Uploads', () => { await openListColumns(page, {}) await expect( -<<<<<<< Updated upstream - getColumnSelectorItem({ container: page, label: 'Sizes > three > URL' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > three > Width' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > three > Height' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > three > MIME Type' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > three > File Size' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > three > File Name' }), - ).toBeVisible() - - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > four > URL' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > four > Width' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > four > Height' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > four > MIME Type' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > four > File Size' }), - ).toBeVisible() - await expect( - getColumnSelectorItem({ container: page, label: 'Sizes > four > File Name' }), -======= - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > URL' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > three > URL', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > Width' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > three > Width', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > Height' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > three > Height', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > MIME Type' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > three > MIME Type', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > File Size' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > three > File Size', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > three > File Name' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > three > File Name', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > URL' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > four > URL', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > Width' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > four > Width', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > Height' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > four > Height', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > MIME Type' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > four > MIME Type', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > File Size' }), + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > four > File Size', + }), ).toBeVisible() await expect( - getColumnSelectorItem({ container: page.locator('.popup__content .column-selector'), label: 'Sizes > four > File Name' }), ->>>>>>> Stashed changes + getColumnSelectorItem({ + container: page.locator('.popup__content .column-selector'), + label: 'Sizes > four > File Name', + }), ).toBeVisible() }) From d5591c06b78315ef8b3cc5fe75dd5827460c4ec2 Mon Sep 17 00:00:00 2001 From: Patrik Kozak <35232443+PatrikKozak@users.noreply.github.com> Date: Thu, 28 May 2026 16:48:35 -0400 Subject: [PATCH 13/17] test: fix joins field test --- test/__helpers/e2e/columns/reorderColumns.ts | 27 ++++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/test/__helpers/e2e/columns/reorderColumns.ts b/test/__helpers/e2e/columns/reorderColumns.ts index a03c38e9002..26f7e390d2e 100644 --- a/test/__helpers/e2e/columns/reorderColumns.ts +++ b/test/__helpers/e2e/columns/reorderColumns.ts @@ -19,34 +19,39 @@ export const reorderColumns = async ( togglerSelector?: string }, ) => { + // Scroll toggler to top of viewport so popup renders below it (fully visible) + const toggler = page.locator(togglerSelector).first() + await toggler.evaluate((el) => { + const rect = el.getBoundingClientRect() + window.scrollBy({ top: rect.top - 100, behavior: 'instant' }) + }) + await wait(100) + const columnContainer = page.locator(columnContainerSelector).first() const isAlreadyOpen = await columnContainer.isVisible() if (!isAlreadyOpen) { - await page.locator(togglerSelector).first().click() + await toggler.click() } await expect(columnContainer).toBeVisible() - const fromBoundingBox = await getColumnSelectorItem({ - container: columnContainer, - label: fromColumn, - }).boundingBox() + // V4 column selector: drag listeners are on .column-selector__drag-handle + const fromItem = getColumnSelectorItem({ container: columnContainer, label: fromColumn }) + const toItem = getColumnSelectorItem({ container: columnContainer, label: toColumn }) - const toBoundingBox = await getColumnSelectorItem({ - container: columnContainer, - label: toColumn, - }).boundingBox() + const fromBoundingBox = await fromItem.locator('.column-selector__drag-handle').boundingBox() + const toBoundingBox = await toItem.boundingBox() if (!fromBoundingBox || !toBoundingBox) { return } - // drag the "from" column to the left of the "to" column + // Drag the "from" column to the "to" column position await page.mouse.move(fromBoundingBox.x + 2, fromBoundingBox.y + 2, { steps: 10 }) await page.mouse.down() await wait(300) - await page.mouse.move(toBoundingBox.x - 2, toBoundingBox.y - 2, { steps: 10 }) + await page.mouse.move(toBoundingBox.x + 2, toBoundingBox.y + 2, { steps: 10 }) await page.mouse.up() await expect(columnContainer.locator('.column-selector__item').first()).toHaveText(fromColumn) From 2d6d9c88e8f168d8a144079a29b8aaf7c528e706 Mon Sep 17 00:00:00 2001 From: Jarrod Flesch Date: Fri, 29 May 2026 09:18:34 -0400 Subject: [PATCH 14/17] chore: fix scss to css migration and add network error exclusion --- .../WhereBuilder/Condition/Relationship/index.css | 9 +++++++++ .../WhereBuilder/Condition/Relationship/index.scss | 13 ------------- .../WhereBuilder/Condition/Relationship/index.tsx | 2 +- test/__helpers/e2e/helpers.ts | 1 + 4 files changed, 11 insertions(+), 14 deletions(-) create mode 100644 packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.css delete mode 100644 packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.scss diff --git a/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.css b/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.css new file mode 100644 index 00000000000..063430e8e7f --- /dev/null +++ b/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.css @@ -0,0 +1,9 @@ +@layer payload-default { + .condition-value-relationship__error-loading { + border: var(--stroke-width-small) solid var(--color-border-danger); + min-height: base(2); + padding: base(0.5) base(0.75); + background-color: var(--color-bg-danger); + color: var(--color-text); + } +} diff --git a/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.scss b/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.scss deleted file mode 100644 index 0686ce4998c..00000000000 --- a/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.scss +++ /dev/null @@ -1,13 +0,0 @@ -@import '../../../../scss/styles.scss'; - -@layer payload-default { - .condition-value-relationship { - &__error-loading { - border: var(--stroke-width-small) solid var(--theme-error-600); - min-height: base(2); - padding: base(0.5) base(0.75); - background-color: var(--theme-error-100); - color: var(--theme-elevation-0); - } - } -} diff --git a/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.tsx b/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.tsx index cbf2c33c0cc..f6cb848bc4f 100644 --- a/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.tsx +++ b/packages/ui/src/elements/WhereBuilder/Condition/Relationship/index.tsx @@ -14,7 +14,7 @@ import { useConfig } from '../../../../providers/Config/index.js' import { useLocale } from '../../../../providers/Locale/index.js' import { useTranslation } from '../../../../providers/Translation/index.js' import { ReactSelect } from '../../../ReactSelect/index.js' -import './index.scss' +import './index.css' import optionsReducer from './optionsReducer.js' const baseClass = 'condition-value-relationship' diff --git a/test/__helpers/e2e/helpers.ts b/test/__helpers/e2e/helpers.ts index 29b34286fbc..b2f1fd228ca 100644 --- a/test/__helpers/e2e/helpers.ts +++ b/test/__helpers/e2e/helpers.ts @@ -422,6 +422,7 @@ export function initPageConsoleErrorCatch(page: Page, options?: { ignoreCORS?: b !msg.text().includes('Error getting document data') && !msg.text().includes('Failed trying to load default language strings') && !msg.text().includes('TypeError: Failed to fetch') && // This happens when server actions are aborted + !msg.text().includes('TypeError: network error') && // Transient network errors during chunk loading !msg.text().includes('der-radius: 2px Server Error: Error getting do') && // This is a weird error that happens in the console // Conditionally ignore CORS errors based on the `ignoreCORS` option !( From 2f850cea7115379bf0752a744177961cc3ce9dfb Mon Sep 17 00:00:00 2001 From: Jarrod Flesch Date: Fri, 29 May 2026 09:39:37 -0400 Subject: [PATCH 15/17] chore: wait for join table before add-new interaction --- test/joins/e2e.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/test/joins/e2e.spec.ts b/test/joins/e2e.spec.ts index 941509d345a..aa4fda4d69e 100644 --- a/test/joins/e2e.spec.ts +++ b/test/joins/e2e.spec.ts @@ -652,6 +652,7 @@ describe('Join Field', () => { await page.goto(foldersURL.edit(rootParentID)) const joinField = page.locator('#field-children.field-type.join') await expect(joinField).toBeVisible() + await expect(joinField.locator('.relationship-table table')).toBeVisible() const addNewPopupBtn = joinField.locator('.relationship-table__add-new-polymorphic') await expect(addNewPopupBtn).toBeVisible() From cc9564c39cae8f4ae904ec11e69bf8fdbc41ab14 Mon Sep 17 00:00:00 2001 From: Jarrod Flesch Date: Fri, 29 May 2026 09:43:21 -0400 Subject: [PATCH 16/17] chore: wait for relationship table in joins default sort test --- test/joins/e2e.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/test/joins/e2e.spec.ts b/test/joins/e2e.spec.ts index aa4fda4d69e..81ddb704c19 100644 --- a/test/joins/e2e.spec.ts +++ b/test/joins/e2e.spec.ts @@ -167,6 +167,7 @@ describe('Join Field', () => { await navigateToDoc(page, categoriesURL) const joinField = page.locator('#field-relatedPosts.field-type.join') + await expect(joinField.locator('.relationship-table table')).toBeVisible() await expect(joinField.locator('.row-1 > .cell-title')).toContainText('z') await expect(joinField.locator('.relationship-table-pagination')).toBeVisible() const rows = joinField.locator('.relationship-table tbody tr') From 791f42c5cfaba8f638bf7078bf8cdff10e3c7fe7 Mon Sep 17 00:00:00 2001 From: Jarrod Flesch Date: Fri, 29 May 2026 09:50:30 -0400 Subject: [PATCH 17/17] ts error fix in v4 test suite --- test/v4/baseConfig.ts | 2 +- test/v4/collections/SearchBarTest/index.ts | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/test/v4/baseConfig.ts b/test/v4/baseConfig.ts index 50513e40583..0971a217136 100644 --- a/test/v4/baseConfig.ts +++ b/test/v4/baseConfig.ts @@ -60,7 +60,7 @@ import RadioFields from './collections/Radio/index.js' import RelationshipFields from './collections/Relationship/index.js' import RichTextFields from './collections/RichText/index.js' import RowFields from './collections/Row/index.js' -import SearchBarTest from './collections/SearchBarTest/index.js' +import { SearchBarTest } from './collections/SearchBarTest/index.js' import SelectFields from './collections/Select/index.js' import SlugFields from './collections/Slug/index.js' import TabsFields from './collections/Tabs/index.js' diff --git a/test/v4/collections/SearchBarTest/index.ts b/test/v4/collections/SearchBarTest/index.ts index 29b25f76e60..a554280b769 100644 --- a/test/v4/collections/SearchBarTest/index.ts +++ b/test/v4/collections/SearchBarTest/index.ts @@ -1,12 +1,10 @@ import type { CollectionConfig } from 'payload' -const SearchBarTest: CollectionConfig = { +export const SearchBarTest: CollectionConfig = { slug: 'search-bar-test', admin: { useAsTitle: 'title', - groupBy: { - fields: ['category', 'status'], - }, + groupBy: true, listSearchableFields: ['title', 'description'], components: { afterList: ['./collections/SearchBarTest/AfterList.js#AfterList'], @@ -49,5 +47,3 @@ const SearchBarTest: CollectionConfig = { }, ], } - -export default SearchBarTest