Skip to content

Commit ced2837

Browse files
committed
chore(FR-2622): update ModelCardAndFolderDeleted translation to reflect associated folder phrasing in all languages
1 parent cc6a11a commit ced2837

22 files changed

Lines changed: 102 additions & 49 deletions

react/src/pages/AdminModelCardListPage.tsx

Lines changed: 62 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -466,11 +466,14 @@ const AdminModelCardListPage: React.FC = () => {
466466
})}
467467
requireConfirmInput
468468
extraContent={
469-
<Tooltip title={t('adminModelCard.AlsoDeleteModelFolderTooltip')}>
470-
<Checkbox
471-
checked={alsoDeleteFolder}
472-
onChange={(e) => setAlsoDeleteFolder(e.target.checked)}
473-
>
469+
<BAIFlex align="center" gap="xs">
470+
<Tooltip title={t('adminModelCard.AlsoDeleteModelFolderTooltip')}>
471+
<Checkbox
472+
checked={alsoDeleteFolder}
473+
onChange={(e) => setAlsoDeleteFolder(e.target.checked)}
474+
/>
475+
</Tooltip>
476+
<span>
474477
{t('adminModelCard.AlsoDeleteModelFolder')}
475478
{deletingModelCard?.vfolder && (
476479
<span style={{ marginLeft: token.marginXXS }}>
@@ -491,12 +494,21 @@ const AdminModelCardListPage: React.FC = () => {
491494
{')'}
492495
</span>
493496
)}
494-
</Checkbox>
495-
</Tooltip>
497+
</span>
498+
</BAIFlex>
496499
}
497500
onOk={() => {
498501
if (deletingModelCard) {
499502
return new Promise<void>((resolve, reject) => {
503+
const vfolderId = deletingModelCard.vfolderId;
504+
const folderName = deletingModelCard.vfolder?.metadata.name;
505+
const folderTrashSearch = new URLSearchParams({
506+
statusCategory: 'deleted',
507+
filter: folderName
508+
? `name == "${folderName}"`
509+
: `id == "${vfolderId}"`,
510+
}).toString();
511+
500512
commitDeleteModelCard({
501513
variables: {
502514
id: toLocalId(deletingModelCard.id),
@@ -513,14 +525,6 @@ const AdminModelCardListPage: React.FC = () => {
513525
}
514526

515527
if (alsoDeleteFolder) {
516-
const vfolderId = deletingModelCard.vfolderId;
517-
const folderName = deletingModelCard.vfolder?.metadata.name;
518-
const folderTrashSearch = new URLSearchParams({
519-
statusCategory: 'deleted',
520-
filter: folderName
521-
? `name == "${folderName}"`
522-
: `id == "${vfolderId}"`,
523-
}).toString();
524528
upsertNotification({
525529
type: 'success',
526530
message: t('adminModelCard.ModelCardAndFolderDeleted'),
@@ -530,7 +534,6 @@ const AdminModelCardListPage: React.FC = () => {
530534
},
531535
toText: t('adminModelCard.GoToTrash'),
532536
open: true,
533-
duration: 4,
534537
extraData: null,
535538
});
536539
} else {
@@ -560,6 +563,7 @@ const AdminModelCardListPage: React.FC = () => {
560563
/>
561564
<BAIDeleteConfirmModal
562565
open={isBulkDeleteOpen}
566+
confirmLoading={isBulkDeleteInFlight}
563567
items={selectedModelCards.map((mc) => ({
564568
key: mc.id,
565569
label: mc.name,
@@ -569,14 +573,15 @@ const AdminModelCardListPage: React.FC = () => {
569573
count: selectedModelCards.length,
570574
})}
571575
extraContent={
572-
<Tooltip title={t('adminModelCard.AlsoDeleteModelFolderTooltip')}>
573-
<Checkbox
574-
checked={alsoDeleteFoldersBulk}
575-
onChange={(e) => setAlsoDeleteFoldersBulk(e.target.checked)}
576-
>
577-
{t('adminModelCard.AlsoDeleteModelFolders')}
578-
</Checkbox>
579-
</Tooltip>
576+
<BAIFlex align="center" gap="xs">
577+
<Tooltip title={t('adminModelCard.AlsoDeleteModelFolderTooltip')}>
578+
<Checkbox
579+
checked={alsoDeleteFoldersBulk}
580+
onChange={(e) => setAlsoDeleteFoldersBulk(e.target.checked)}
581+
/>
582+
</Tooltip>
583+
<span>{t('adminModelCard.AlsoDeleteModelFolders')}</span>
584+
</BAIFlex>
580585
}
581586
onOk={() => {
582587
const ids = selectedModelCards.map((mc) => toLocalId(mc.id));
@@ -611,12 +616,42 @@ const AdminModelCardListPage: React.FC = () => {
611616
failedIds.has(toLocalId(mc.id)),
612617
),
613618
);
614-
message.warning(
615-
t('adminModelCard.BulkDeletePartiallyCompleted', {
619+
upsertNotification({
620+
type: 'warning',
621+
message: t('adminModelCard.BulkDeletePartiallyCompleted', {
616622
successCount: successes.length,
617623
failureCount: failed.length,
618624
}),
619-
);
625+
description: (
626+
<BAIFlex direction="column" gap="xs">
627+
{failed.map((f) => {
628+
const cardName =
629+
selectedModelCards.find(
630+
(mc) => toLocalId(mc.id) === f.cardId,
631+
)?.name ?? f.cardId;
632+
return (
633+
<div key={f.cardId}>
634+
<Typography.Text strong>
635+
{cardName}
636+
</Typography.Text>
637+
<Typography.Text type="secondary">
638+
{' — '}
639+
</Typography.Text>
640+
<Typography.Text
641+
type="danger"
642+
style={{ fontSize: token.fontSizeSM }}
643+
>
644+
{f.message}
645+
</Typography.Text>
646+
</div>
647+
);
648+
})}
649+
</BAIFlex>
650+
),
651+
open: true,
652+
duration: 0,
653+
extraData: null,
654+
});
620655
} else if (alsoDeleteFoldersBulk) {
621656
upsertNotification({
622657
type: 'success',
@@ -632,7 +667,6 @@ const AdminModelCardListPage: React.FC = () => {
632667
},
633668
toText: t('adminModelCard.GoToTrash'),
634669
open: true,
635-
duration: 4,
636670
extraData: null,
637671
});
638672
setSelectedModelCards([]);

resources/i18n/de.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
"BulkDeleteCompleted": "{{count}} Modellkarte(n) wurden gelöscht.",
136136
"BulkDeleteModelCards": "Modellkarten löschen",
137137
"BulkDeleteModelCardsAndFoldersCompleted": "{{count}} Modellkarte(n) und ihre Ordner wurden in den Papierkorb verschoben.",
138+
"BulkDeletePartiallyCompleted": "{{successCount}} Modellkarte(n) gelöscht. {{failureCount}} konnte(n) nicht gelöscht werden.",
138139
"Category": "Kategorien",
139140
"CategoryPlaceholder": "z.B. LLM",
140141
"CategoryTooltip": "Die Kategorie des Modells (z. B. LLM, Vision, Audio).",
@@ -155,7 +156,7 @@
155156
"LabelTooltip": "Benutzerdefinierte Tags zur Kategorisierung und Filterung von Modellen. Zum Hinzufügen Enter drücken.",
156157
"License": "Lizenz",
157158
"LicenseTooltip": "Die Lizenz, unter der das Modell vertrieben wird (z. B. MIT, Apache-2.0).",
158-
"ModelCardAndFolderDeleted": "Modellkarte und Ordner wurden in den Papierkorb verschoben.",
159+
"ModelCardAndFolderDeleted": "Modellkarte und der zugehörige Ordner wurden in den Papierkorb verschoben.",
159160
"ModelCardCreated": "Modellkarte wurde erstellt.",
160161
"ModelCardDeleted": "Modellkarte wurde gelöscht.",
161162
"ModelCardDeletedFolderKept": "Modellkarte wurde gelöscht. Der Modellordner wurde nicht gelöscht.",

resources/i18n/el.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
"BulkDeleteCompleted": "Διαγράφηκαν {{count}} κάρτα(ες) μοντέλου.",
136136
"BulkDeleteModelCards": "Διαγραφή καρτών μοντέλου",
137137
"BulkDeleteModelCardsAndFoldersCompleted": "{{count}} κάρτα(ες) μοντέλου και οι φάκελοί τους έχουν μετακινηθεί στα σκουπίδια.",
138+
"BulkDeletePartiallyCompleted": "Διαγράφηκε(αν) {{successCount}} κάρτα(ες) μοντέλου. {{failureCount}} απέτυχε(αν) να διαγραφεί.",
138139
"Category": "Κατηγορίες",
139140
"CategoryPlaceholder": "π.χ., LLM",
140141
"CategoryTooltip": "Η κατηγορία του μοντέλου (π.χ. LLM, Vision, Audio).",
@@ -155,7 +156,7 @@
155156
"LabelTooltip": "Προσαρμοσμένες ετικέτες για κατηγοριοποίηση και φιλτράρισμα μοντέλων. Πατήστε Enter για προσθήκη.",
156157
"License": "Άδεια χρήσης",
157158
"LicenseTooltip": "Η άδεια υπό την οποία διανέμεται το μοντέλο (π.χ. MIT, Apache-2.0).",
158-
"ModelCardAndFolderDeleted": "Η κάρτα μοντέλου και ο φάκελος έχουν μετακινηθεί στα σκουπίδια.",
159+
"ModelCardAndFolderDeleted": "Η κάρτα μοντέλου και ο συσχετισμένος φάκελός της έχουν μετακινηθεί στα σκουπίδια.",
159160
"ModelCardCreated": "Η κάρτα μοντέλου δημιουργήθηκε.",
160161
"ModelCardDeleted": "Η κάρτα μοντέλου διαγράφηκε.",
161162
"ModelCardDeletedFolderKept": "Η κάρτα μοντέλου διαγράφηκε. Ο φάκελος μοντέλου δεν διαγράφηκε.",

resources/i18n/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
"LabelTooltip": "Custom tags for categorizing and filtering models. Press Enter to add.",
157157
"License": "License",
158158
"LicenseTooltip": "The license under which the model is distributed (e.g., MIT, Apache-2.0).",
159-
"ModelCardAndFolderDeleted": "Model card and folder have been moved to trash.",
159+
"ModelCardAndFolderDeleted": "Model card and its associated folder have been moved to trash.",
160160
"ModelCardCreated": "Model card has been created.",
161161
"ModelCardDeleted": "Model card has been deleted.",
162162
"ModelCardDeletedFolderKept": "Model card has been deleted. The model folder was not deleted.",

resources/i18n/es.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
"BulkDeleteCompleted": "Se han eliminado {{count}} tarjeta(s) de modelo.",
136136
"BulkDeleteModelCards": "Eliminar tarjetas de modelo",
137137
"BulkDeleteModelCardsAndFoldersCompleted": "{{count}} tarjeta(s) de modelo y sus carpetas se han movido a la papelera.",
138+
"BulkDeletePartiallyCompleted": "Se eliminaron {{successCount}} tarjeta(s) de modelo. {{failureCount}} no se pudo(ieron) eliminar.",
138139
"Category": "Categorías",
139140
"CategoryPlaceholder": "ej., LLM",
140141
"CategoryTooltip": "La categoría del modelo (p. ej., LLM, Vision, Audio).",
@@ -155,7 +156,7 @@
155156
"LabelTooltip": "Etiquetas personalizadas para categorizar y filtrar modelos. Presione Enter para agregar.",
156157
"License": "Licencia",
157158
"LicenseTooltip": "La licencia bajo la cual se distribuye el modelo (p. ej., MIT, Apache-2.0).",
158-
"ModelCardAndFolderDeleted": "La tarjeta de modelo y la carpeta se han movido a la papelera.",
159+
"ModelCardAndFolderDeleted": "La tarjeta de modelo y su carpeta asociada se han movido a la papelera.",
159160
"ModelCardCreated": "La tarjeta de modelo ha sido creada.",
160161
"ModelCardDeleted": "La tarjeta de modelo ha sido eliminada.",
161162
"ModelCardDeletedFolderKept": "La tarjeta de modelo ha sido eliminada. La carpeta del modelo no fue eliminada.",

resources/i18n/fi.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
"BulkDeleteCompleted": "{{count}} mallikortti(a) on poistettu.",
136136
"BulkDeleteModelCards": "Poista mallikortit",
137137
"BulkDeleteModelCardsAndFoldersCompleted": "{{count}} mallikortti(a) ja niiden kansiot on siirretty roskakoriin.",
138+
"BulkDeletePartiallyCompleted": "{{successCount}} mallikortti(a) poistettu. {{failureCount}} poistaminen epäonnistui.",
138139
"Category": "Kategoria",
139140
"CategoryPlaceholder": "esim. LLM",
140141
"CategoryTooltip": "Mallin kategoria (esim. LLM, Vision, Audio).",
@@ -155,7 +156,7 @@
155156
"LabelTooltip": "Mukautetut tunnisteet mallien luokitteluun ja suodatukseen. Lisää painamalla Enter.",
156157
"License": "Lisenssi",
157158
"LicenseTooltip": "Lisenssi, jonka alaisena malli jaetaan (esim. MIT, Apache-2.0).",
158-
"ModelCardAndFolderDeleted": "Mallikortti ja kansio on siirretty roskakoriin.",
159+
"ModelCardAndFolderDeleted": "Mallikortti ja siihen liittyvä kansio on siirretty roskakoriin.",
159160
"ModelCardCreated": "Mallikortti on luotu.",
160161
"ModelCardDeleted": "Mallikortti on poistettu.",
161162
"ModelCardDeletedFolderKept": "Mallikortti on poistettu. Mallinkansiota ei poistettu.",

resources/i18n/fr.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
"BulkDeleteCompleted": "{{count}} fiche(s) modèle ont été supprimées.",
136136
"BulkDeleteModelCards": "Supprimer les fiches modèle",
137137
"BulkDeleteModelCardsAndFoldersCompleted": "{{count}} fiche(s) modèle et leurs dossiers ont été déplacés vers la poubelle.",
138+
"BulkDeletePartiallyCompleted": "{{successCount}} fiche(s) modèle supprimée(s). Échec de la suppression de {{failureCount}} fiche(s).",
138139
"Category": "Catégorie",
139140
"CategoryPlaceholder": "ex. LLM",
140141
"CategoryTooltip": "La catégorie du modèle (ex. : LLM, Vision, Audio).",
@@ -155,7 +156,7 @@
155156
"LabelTooltip": "Balises personnalisées pour catégoriser et filtrer les modèles. Appuyez sur Entrée pour ajouter.",
156157
"License": "Licence",
157158
"LicenseTooltip": "La licence sous laquelle le modèle est distribué (ex. : MIT, Apache-2.0).",
158-
"ModelCardAndFolderDeleted": "La fiche modèle et le dossier ont été déplacés vers la poubelle.",
159+
"ModelCardAndFolderDeleted": "La fiche modèle et son dossier associé ont été déplacés vers la poubelle.",
159160
"ModelCardCreated": "La fiche modèle a été créée.",
160161
"ModelCardDeleted": "La fiche modèle a été supprimée.",
161162
"ModelCardDeletedFolderKept": "La fiche modèle a été supprimée. Le dossier de modèle n'a pas été supprimé.",

resources/i18n/id.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
"BulkDeleteCompleted": "{{count}} kartu model telah dihapus.",
136136
"BulkDeleteModelCards": "Hapus kartu model",
137137
"BulkDeleteModelCardsAndFoldersCompleted": "{{count}} kartu model dan folder-foldernya telah dipindahkan ke tempat sampah.",
138+
"BulkDeletePartiallyCompleted": "{{successCount}} kartu model dihapus. {{failureCount}} gagal dihapus.",
138139
"Category": "Kategori",
139140
"CategoryPlaceholder": "mis., LLM",
140141
"CategoryTooltip": "Kategori model (mis. LLM, Vision, Audio).",
@@ -155,7 +156,7 @@
155156
"LabelTooltip": "Tag kustom untuk mengkategorikan dan memfilter model. Tekan Enter untuk menambahkan.",
156157
"License": "Lisensi",
157158
"LicenseTooltip": "Lisensi yang digunakan untuk mendistribusikan model (mis. MIT, Apache-2.0).",
158-
"ModelCardAndFolderDeleted": "Kartu model dan folder telah dipindahkan ke tempat sampah.",
159+
"ModelCardAndFolderDeleted": "Kartu model dan folder terkaitnya telah dipindahkan ke tempat sampah.",
159160
"ModelCardCreated": "Kartu model telah dibuat.",
160161
"ModelCardDeleted": "Kartu model telah dihapus.",
161162
"ModelCardDeletedFolderKept": "Kartu model telah dihapus. Folder model tidak dihapus.",

resources/i18n/it.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
"BulkDeleteCompleted": "{{count}} scheda/e modello sono state eliminate.",
136136
"BulkDeleteModelCards": "Elimina schede modello",
137137
"BulkDeleteModelCardsAndFoldersCompleted": "{{count}} scheda/e modello e le relative cartelle sono state spostate nel cestino.",
138+
"BulkDeletePartiallyCompleted": "{{successCount}} scheda/e modello eliminate. {{failureCount}} eliminazione/i non riuscita/e.",
138139
"Category": "Categorie",
139140
"CategoryPlaceholder": "es. LLM",
140141
"CategoryTooltip": "La categoria del modello (es. LLM, Vision, Audio).",
@@ -155,7 +156,7 @@
155156
"LabelTooltip": "Tag personalizzati per categorizzare e filtrare i modelli. Premere Invio per aggiungere.",
156157
"License": "Licenza",
157158
"LicenseTooltip": "La licenza con cui viene distribuito il modello (es. MIT, Apache-2.0).",
158-
"ModelCardAndFolderDeleted": "La scheda modello e la cartella sono state spostate nel cestino.",
159+
"ModelCardAndFolderDeleted": "La scheda modello e la cartella associata sono state spostate nel cestino.",
159160
"ModelCardCreated": "La scheda modello è stata creata.",
160161
"ModelCardDeleted": "La scheda modello è stata eliminata.",
161162
"ModelCardDeletedFolderKept": "La scheda modello è stata eliminata. La cartella del modello non è stata eliminata.",

resources/i18n/ja.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
"BulkDeleteCompleted": "{{count}}件のモデルカードが削除されました。",
136136
"BulkDeleteModelCards": "モデルカードを削除",
137137
"BulkDeleteModelCardsAndFoldersCompleted": "{{count}}件のモデルカードとそのフォルダがゴミ箱に移動されました。",
138+
"BulkDeletePartiallyCompleted": "{{successCount}}件のモデルカードが削除されました。{{failureCount}}件の削除に失敗しました。",
138139
"Category": "カテゴリー",
139140
"CategoryPlaceholder": "例: LLM",
140141
"CategoryTooltip": "モデルのカテゴリです (例: LLM, Vision, Audio)。",
@@ -155,7 +156,7 @@
155156
"LabelTooltip": "モデルを分類およびフィルタリングするためのタグです。Enterキーを押して追加してください。",
156157
"License": "ライセンス",
157158
"LicenseTooltip": "モデルが配布されるライセンスです (例: MIT, Apache-2.0)。",
158-
"ModelCardAndFolderDeleted": "モデルカードとフォルダがゴミ箱に移動されました",
159+
"ModelCardAndFolderDeleted": "モデルカードとそれに関連するフォルダがゴミ箱に移動されました",
159160
"ModelCardCreated": "モデルカードが作成されました。",
160161
"ModelCardDeleted": "モデルカードが削除されました。",
161162
"ModelCardDeletedFolderKept": "モデルカードが削除されました。モデルフォルダは削除されませんでした。",

0 commit comments

Comments
 (0)