i18n(instances): localize bulk operation toolbar buttons
All checks were successful
Deploy to Production / Trigger production update (push) Successful in 7s
All checks were successful
Deploy to Production / Trigger production update (push) Successful in 7s
Translate Start/Stop/Delete/Clear and the selected-count label in the bulk actions toolbar (add instances.selected_count key). Also includes node label display in the node filter/table. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1001,21 +1001,21 @@ export default function InstancesPage() {
|
|||||||
{/* Bulk actions toolbar */}
|
{/* Bulk actions toolbar */}
|
||||||
{selectedVMs.length > 0 && (
|
{selectedVMs.length > 0 && (
|
||||||
<div className="flex items-center gap-2 rounded-lg border bg-muted/50 p-2">
|
<div className="flex items-center gap-2 rounded-lg border bg-muted/50 p-2">
|
||||||
<span className="text-sm font-medium">{selectedVMs.length} selected</span>
|
<span className="text-sm font-medium">{t('instances.selected_count', '{{count}} выбрано', { count: selectedVMs.length })}</span>
|
||||||
<Button variant="outline" size="sm" onClick={() => handleBulk('start')} disabled={bulkOp.isPending}>
|
<Button variant="outline" size="sm" onClick={() => handleBulk('start')} disabled={bulkOp.isPending}>
|
||||||
<Play className="mr-1 h-3 w-3" /> Start
|
<Play className="mr-1 h-3 w-3" /> {t('common.start', 'Запустить')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="outline" size="sm" onClick={() => handleBulk('restart')} disabled={bulkOp.isPending}>
|
<Button variant="outline" size="sm" onClick={() => handleBulk('restart')} disabled={bulkOp.isPending}>
|
||||||
<RotateCcw className="mr-1 h-3 w-3" /> {t('common.restart', 'Перезагрузка')}
|
<RotateCcw className="mr-1 h-3 w-3" /> {t('common.restart', 'Перезагрузить')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="outline" size="sm" onClick={() => handleBulk('stop')} disabled={bulkOp.isPending}>
|
<Button variant="outline" size="sm" onClick={() => handleBulk('stop')} disabled={bulkOp.isPending}>
|
||||||
<Square className="mr-1 h-3 w-3" /> Stop
|
<Square className="mr-1 h-3 w-3" /> {t('common.stop', 'Остановить')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="destructive" size="sm" onClick={() => handleBulk('delete')} disabled={bulkOp.isPending}>
|
<Button variant="destructive" size="sm" onClick={() => handleBulk('delete')} disabled={bulkOp.isPending}>
|
||||||
<Trash2 className="mr-1 h-3 w-3" /> Delete
|
<Trash2 className="mr-1 h-3 w-3" /> {t('common.delete', 'Удалить')}
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="ghost" size="sm" onClick={() => setRowSelection({})}>
|
<Button variant="ghost" size="sm" onClick={() => setRowSelection({})}>
|
||||||
Clear
|
{t('common.clear', 'Очистить')}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -257,6 +257,7 @@
|
|||||||
"destroy": "Destroy",
|
"destroy": "Destroy",
|
||||||
"task_activity": "Task Activity",
|
"task_activity": "Task Activity",
|
||||||
"status_creating": "Creating",
|
"status_creating": "Creating",
|
||||||
|
"selected_count": "{{count}} selected",
|
||||||
"status_starting": "Starting",
|
"status_starting": "Starting",
|
||||||
"status_stopping": "Stopping",
|
"status_stopping": "Stopping",
|
||||||
"status_restarting": "Restarting",
|
"status_restarting": "Restarting",
|
||||||
|
|||||||
@@ -257,6 +257,7 @@
|
|||||||
"destroy": "Уничтожить",
|
"destroy": "Уничтожить",
|
||||||
"task_activity": "Активность задач",
|
"task_activity": "Активность задач",
|
||||||
"status_creating": "Создание",
|
"status_creating": "Создание",
|
||||||
|
"selected_count": "{{count}} выбрано",
|
||||||
"status_starting": "Запуск",
|
"status_starting": "Запуск",
|
||||||
"status_stopping": "Остановка",
|
"status_stopping": "Остановка",
|
||||||
"status_restarting": "Перезагрузка",
|
"status_restarting": "Перезагрузка",
|
||||||
|
|||||||
Reference in New Issue
Block a user