update docs
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user