CSV/JSON/XLSX mapping wizard expands artist-level rows to all paintings, blocks duplicate file/data imports via content and payload hashes, and documents the workflow in influence-import.md. Co-authored-by: Cursor <cursoragent@cursor.com>
71 lines
4.0 KiB
JSON
71 lines
4.0 KiB
JSON
{
|
|
"title": "Связи влияния",
|
|
"back": "← Назад в галерею",
|
|
"tabList": "Список",
|
|
"tabImport": "Импорт",
|
|
"tabGraph": "Граф",
|
|
"loadFailed": "Не удалось загрузить связи",
|
|
"searchPlaceholder": "Поиск: художник, картина, источник…",
|
|
"refresh": "Обновить",
|
|
"loading": "Загрузка…",
|
|
"loadingParse": "Чтение файла…",
|
|
"loadingPreview": "Проверка связей влияния…",
|
|
"loadingCommit": "Импорт связей в базу…",
|
|
"loadingSave": "Сохранение связи…",
|
|
"addEdge": "Добавить связь",
|
|
"cancelAdd": "Отмена",
|
|
"total": "{{count}} связей",
|
|
"filtered": "фильтр по художнику",
|
|
"clearFilter": "Сбросить фильтр",
|
|
"subjectPainting": "Картина (субъект)",
|
|
"searchPainting": "Поиск картины…",
|
|
"sourceType": "Тип источника",
|
|
"typeArtist": "Художник",
|
|
"typePainting": "Картина",
|
|
"typeMovement": "Направление",
|
|
"sourceEntity": "Источник",
|
|
"searchSource": "Поиск источника…",
|
|
"notes": "Заметки",
|
|
"saveEdge": "Сохранить связь",
|
|
"addRequiresIds": "Выберите картину и источник",
|
|
"colSubject": "Субъект",
|
|
"colSource": "Источник",
|
|
"colType": "Тип",
|
|
"colNotes": "Заметки",
|
|
"colActions": "Действия",
|
|
"colAction": "Действие",
|
|
"colDirection": "Направление",
|
|
"delete": "Удалить",
|
|
"confirmDelete": "Удалить эту связь влияния?",
|
|
"noEdges": "Связи не найдены.",
|
|
"stepUpload": "1. Файл",
|
|
"stepMapping": "2. Столбцы",
|
|
"stepPreview": "3. Проверка",
|
|
"stepDone": "4. Готово",
|
|
"uploadHelp": "Выберите CSV, JSON или XLSX со связями влияния (например Inputs/artist_influences_web_sources.xlsx).",
|
|
"parseFailed": "Не удалось разобрать файл",
|
|
"previewFailed": "Не удалось построить превью",
|
|
"commitFailed": "Не удалось выполнить импорт",
|
|
"rowsMissing": "Строки файла не получены (слишком большой файл). Используйте ≤2000 строк.",
|
|
"fileInfo": "{{name}} · {{rows}} строк · {{format}}",
|
|
"sheet": "Лист",
|
|
"preset": "Шаблон сопоставления",
|
|
"column": "Столбец",
|
|
"role": "Роль",
|
|
"sample": "Пример",
|
|
"backStep": "Назад",
|
|
"runPreview": "Проверить",
|
|
"previewCounts": "Создать {{create}} · пропустить {{skip}} · ошибки строк {{errors}} · предложений {{proposals}}",
|
|
"warnings": "{{count}} предупреждений",
|
|
"commitImport": "Импортировать {{count}} связей",
|
|
"commitSummary": "Импортировано {{inserted}} (пропущено {{skipped}}).",
|
|
"alreadyImportedWarn": "Уже импортировано {{when}} пользователем {{who}} ({{match}}: {{file}}). Импорт заблокирован, пока не включите принудительный повтор.",
|
|
"alreadyImportedBlock": "Этот файл или те же данные уже импортировались. Включите «Импортировать всё равно» или отмените.",
|
|
"forceImport": "Импортировать всё равно (принудительно — существующие связи остаются уникальными)",
|
|
"matchFile": "те же байты файла",
|
|
"matchData": "те же сопоставленные данные",
|
|
"searchArtist": "Поиск художника для графа…",
|
|
"graphEmpty": "Выберите художника, чтобы увидеть соседей по влиянию.",
|
|
"graphStats": "{{nodes}} узлов · {{edges}} рёбер"
|
|
}
|