{ "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}} рёбер" }