feat(i18n): full app + docs localization (de/en)
Build & Push Docker Image / build (push) Successful in 2m33s

- translate remaining pages/components (admin, analytics, redundancy,
  trash, compare, browse, watchlist, admin tools tab, category combobox,
  theme toggle, tool preview card, tool-new/edit) to t() calls
- locales: 453 keys each, parity verified
- docs: bilingual handbook + release notes via *.en.md variants,
  language-aware docs.tsx (markdown paths, nav titles, search index),
  LanguageSwitcher in docs header
- generate-docs: emit per-locale handbook/release/search output,
  localized index.json fields (fileEn/titleEn), en-aware snapshots
This commit is contained in:
opencode
2026-08-04 08:35:05 +02:00
parent a65e2eb92c
commit 3de59ccaaf
77 changed files with 3786 additions and 440 deletions
@@ -0,0 +1,70 @@
# Data model
This chapter explains the central data objects of toolr at the application
level. The complete, automatically generated reference of all fields,
types and constraints can be found in the
[API reference](/docs/reference/schemas/tool).
## Tool
The heart of it all: a tool recorded in the catalog.
| Property | Description |
| --- | --- |
| `id` | Unique identifier |
| `name` | Display name |
| `description` | Description (what does the tool do?) |
| `category` | Category assignment |
| `websiteUrl` | Official website (optional) |
| `iconUrl` | Logo/icon URL (optional) |
| `features` | List of capabilities |
| `tags` | List of keywords |
| `createdAt` / `updatedAt` | Timestamps |
| `createdBy` | Person who created it |
| `deletedAt` / `deletedBy` | Soft deletion (trash) |
Input forms use the derived schemas
[`ToolInput`](/docs/reference/schemas/toolinput) and
[`ToolUpdate`](/docs/reference/schemas/toolupdate).
Aggregated views are provided by [`ToolWithStats`](/docs/reference/schemas/toolwithstats)
(e.g. with average rating).
## Rating (Bewertung)
A single rating for a tool:
- `usefulness` (Nützlichkeit, 15) and `usability` (Bedienbarkeit, 15)
- optional `comment` and a display name (`reviewerName`)
- timestamp
Input schema: [`RatingInput`](/docs/reference/schemas/ratinginput).
## User & Auth
- [`User`](/docs/reference/schemas/user) — user account with role (User/Admin)
and plan (Free/Premium/Enterprise).
- [`AuthUser`](/docs/reference/schemas/authuser) — the logged-in profile
including `entitlements` (available features).
- [`UserPreferences`](/docs/reference/schemas/userpreferences) — view and
density preferences as well as the `watchlist` (list of tool IDs).
## Analytics
The statistics endpoints provide aggregated data:
- [`AnalyticsSummary`](/docs/reference/schemas/analyticssummary) — global
metrics (number of tools/ratings, categories, average).
- [`TopToolEntry`](/docs/reference/schemas/TopToolEntry) — an entry of the
top tools.- [`CategoryStats`](/docs/reference/schemas/categorystats) — number of tools per
category.
- [`RatingDistribution`](/docs/reference/schemas/ratingdistribution) —
score distribution (usefulness & usability).
- [`ScoreBucket`](/docs/reference/schemas/scorebucket) — a value bucket.
## Additional
- [`VersionInfo`](/docs/reference/schemas/versioninfo) — version, commit SHA,
build date and trash retention of the running instance.
- [`AuditLog`](/docs/reference/schemas/auditlog) — a log entry
(action, entity, timestamp, actor, changes).