dorfteich/packages/shared/i18n/en/common.json
Claude Fable 5 6c98a71d34
Some checks failed
CD / Build and push images (push) Successful in 3m57s
CD / Deploy to Test (push) Successful in 11s
CI / Lint, typecheck, test (push) Successful in 4m32s
CI / Build container images (push) Has been skipped
CD / Smoke tests against Test (push) Successful in 1m14s
CD / Promote to Int (push) Successful in 11s
CI / Auth e2e pack (push) Failing after 2m51s
CI / Import/export fidelity gate (push) Has been skipped
Favorites: personal page stars, golden icons, sidebar filter (#132)
Semantics changed from the issue during planning (documented there,
comment 1192): favorites are PERSONAL per user, not pond-wide — the
sys-fav label approach is dropped entirely. Storage is a page_favorites
table (userId+pageId, FK cascade); PUT/DELETE /pages/:id/favorite
toggles idempotently and needs read access only (#60 404 semantics —
a star is a note-to-self, not a page modification), GET
/ponds/:id/favorites lists the account's stars sliced to still-readable
pages. Trashed pages keep their rows, so restore keeps the star; purge
cascades it away.

Web: one shared ['favorites', pondId] query feeds the TopBar star
(between labels and history, golden when set), the golden tree icons in
the sidebar, and a latching "Favorites" filter button next to the view
switch that narrows either view (combinable with the label filter).
No public-API/MCP exposure — with the label approach gone, that parity
is no longer free; favorites stay UI-only for now.

New favorites e2e pack (star toggle, golden icon, filter, per-user
isolation) wired into CI; DB suite covers the round-trip, read gating,
and the trash/restore/purge lifecycle.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fb2VzvcoBPHkjh8bZ6PzQn
2026-07-16 12:03:55 +02:00

90 lines
2.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"layout": {
"sidebar": {
"expand": "Show sidebar",
"collapse": "Hide sidebar",
"resize": "Resize sidebar",
"label": "Pages",
"placeholder": "Your ponds and pages will appear here.",
"empty": "No pages yet.",
"sortLabel": "Sort pages",
"sortMode": {
"alpha": "AZ",
"created": "Creation date",
"manual": "Manual order"
},
"reorder": {
"up": "Move up",
"down": "Move down",
"dragHint": "Drag to reorder",
"moved": "Moved {{title}} to position {{position}} of {{count}}.",
"reparented": "Moved {{title}} under {{parent}}."
},
"newPage": "+ New page",
"newPageHint": "New page",
"newPageTitle": "Title",
"newPageUnder": "Will be created under “{{title}}”.",
"create": "Create",
"cancel": "Cancel",
"view": {
"toggleLabel": "Sidebar view",
"folders": "Folders",
"labels": "Labels",
"unlabeled": "Unlabeled",
"expand": "Expand subpages",
"collapseNode": "Collapse subpages",
"defaultTitle": "Sidebar view",
"defaultLabel": "Default view",
"defaultHint": "The default for all members; everyone can switch their own sidebar locally.",
"saved": "Saved."
},
"favorites": {
"filter": "Favorites",
"empty": "No favorites in this pond yet."
}
},
"pondSwitcher": {
"label": "Switch pond",
"trigger": "Select a pond"
},
"user": {
"anonymous": "Not signed in"
}
},
"pondHome": {
"empty": "This pond doesn't have any pages yet — create one from the sidebar."
},
"home": {
"title": "Welcome to Dorfteich",
"intro": "Dorfteich is an open-source wiki with real-time collaboration. This instance is being set up.",
"api": {
"checking": "Checking API …",
"ok": "API reachable",
"error": "API not reachable"
}
},
"notFound": {
"title": "Page not found",
"body": "The address you opened does not exist.",
"home": "Back to the start page"
},
"pond": {
"create": {
"menuItem": "+ New pond",
"title": "Create a shared pond",
"nameLabel": "Name",
"descriptionLabel": "Description (optional)",
"submit": "Create pond",
"cancel": "Cancel",
"quotaHint": "Shared ponds count against your quota — ask a site admin if creation is rejected."
},
"delete": {
"title": "Delete pond",
"hint": "Moves this pond with all of its pages to the site-level trash. A site admin can restore it. Your personal pond cannot be deleted.",
"confirmLabel": "Type the pond name to confirm: {{name}}",
"submit": "Delete pond",
"deleted": "Pond deleted."
}
}
}