Persist lineage in PostgreSQL, seed documented edges, and keep timeline/tree consumers API-backed with a static fallback. Co-authored-by: Cursor <cursoragent@cursor.com>
53 lines
2.2 KiB
JSON
53 lines
2.2 KiB
JSON
{
|
|
"title": "Movement links",
|
|
"back": "← Back to gallery",
|
|
"intro": "Predecessor → successor edges used by the timeline flow and Tree of Art. Every link needs a proof URL (museum essay, literature, or other web reference).",
|
|
"introCurator": "Curators can vote to delete a link and must give a reason. Only an admin can perform the final delete after reviewing votes.",
|
|
"introAdmin": "As admin you can delete links directly. Review curator delete votes (reasons) before confirming.",
|
|
"loadFailed": "Failed to load movement links",
|
|
"saveFailed": "Failed to save movement link",
|
|
"deleteFailed": "Failed to delete movement link",
|
|
"voteFailed": "Failed to cast delete vote",
|
|
"withdrawFailed": "Failed to withdraw vote",
|
|
"searchPlaceholder": "Search source, target, proof…",
|
|
"refresh": "Refresh",
|
|
"loading": "Loading…",
|
|
"loadingVotes": "Loading votes…",
|
|
"votesLoadFailed": "Could not load votes.",
|
|
"total": "{{count}} links",
|
|
"noLinks": "No movement links yet.",
|
|
"addLink": "Add link",
|
|
"cancelAdd": "Cancel",
|
|
"addTitle": "New movement link",
|
|
"source": "Source (from)",
|
|
"target": "Target (to)",
|
|
"pickMovement": "Select movement…",
|
|
"proofUrl": "Proof URL",
|
|
"proofLabel": "Proof label",
|
|
"proofLabelPlaceholder": "e.g. Met — Cubism",
|
|
"linkYear": "Link date ≈",
|
|
"linkYearPlaceholder": "e.g. 1907",
|
|
"notes": "Notes",
|
|
"saveLink": "Save link",
|
|
"saving": "Saving…",
|
|
"addRequiresMovements": "Pick both source and target movements",
|
|
"proofRequired": "Proof URL is required",
|
|
"voteTitle": "Vote to delete",
|
|
"voteReason": "Reason",
|
|
"voteReasonPlaceholder": "Explain why this link should be removed (min. 10 characters)…",
|
|
"voteReasonRequired": "Reason must be at least 10 characters",
|
|
"submitVote": "Submit vote",
|
|
"cancelVote": "Cancel",
|
|
"voteDelete": "Vote to delete",
|
|
"withdrawVote": "Withdraw vote",
|
|
"voteCount": "{{count}} vote(s)",
|
|
"colSource": "Source",
|
|
"colTarget": "Target",
|
|
"colYear": "Link date ≈",
|
|
"colProof": "Reference / proof",
|
|
"colVotes": "Delete votes",
|
|
"colActions": "Actions",
|
|
"delete": "Delete",
|
|
"confirmDelete": "Delete this movement link? Curator vote reasons will be recorded in the audit log."
|
|
}
|