update docs

This commit is contained in:
2026-01-23 00:17:43 +01:00
parent 28532fb109
commit bc120b197c
4 changed files with 176 additions and 23 deletions
+45 -23
View File
@@ -4,16 +4,23 @@
"Sanasto Wiki" is a web-based dictionary application for simultaneous translators in the living Christianity. The application provides publicly accessible translations while restricting editing and commenting to invited contributors.
---
## Core Concepts
### Supported languages
We currently support the following languages:
* Finnish
* English
* Swedish
* Norwegian
* Russian
* German
### Supported Languages
Initial seed data:
| Code | Name | Native Name | Sort Order |
|------|------|-------------|------------|
| fi | Finnish | Suomi | 1 |
| en | English | English | 2 |
| sv | Swedish | Svenska | 3 |
| no | Norwegian | Norsk | 4 |
| de | German | Deutsch | 5 |
| ru | Russian | Русский | 6 |
Language codes are fixed because translations are stored in columns on `entries`. The `supported_languages` table controls labels, ordering, and whether a language is active. To add a language, you must add a new column to `entries` and add a corresponding row to `supported_languages`.
@@ -32,6 +39,8 @@ Each entry has translations in multiple languages.
### Suggested Meaning
When translators disagree on a translation or want to suggest alternatives (regional variations, contextual meanings, etc.), they can submit a suggested meaning for community review.
---
## Technical Stack
* Framework: Rails 8
@@ -42,6 +51,34 @@ When translators disagree on a translation or want to suggest alternatives (regi
---
## Authentication Flow
### Public Access
- No authentication required for browsing and searching entries
- Read-only access to all dictionary content
### Invitation-Only Registration
- Admins send email invitations with unique tokens
- Invited users register by setting name and password
- `invitation_token` cleared after successful registration
### Login & Sessions
- Email + password authentication
- Session-based (encrypted cookies, Rails default)
- Optional "remember me" for extended sessions
### Authorization
- **Contributor**: Create/edit entries, add comments, suggest translations
- **Reviewer**: All contributor actions + review suggestions, verify entries
- **Admin**: All actions + invite users, manage roles
### Security
- Passwords hashed with bcrypt
- Rate limiting on login attempts
- Invitation tokens expire after 14 days
---
## Database Schema
```
# db/schema.rb
@@ -220,21 +257,6 @@ See 'public/Kristillisyyden sanasto ver 23.5.2013.xlsx'
---
## Supported Languages
Initial seed data:
| Code | Name | Native Name | Sort Order |
|------|------|-------------|------------|
| fi | Finnish | Suomi | 1 |
| en | English | English | 2 |
| sv | Swedish | Svenska | 3 |
| no | Norwegian | Norsk | 4 |
| de | German | Deutsch | 5 |
| ru | Russian | Русский | 6 |
---
## User Interface
### Pages