Backend: - Skill model + migration (with FK on chats.skill_id) - Personal + general skill CRUD services with access isolation - Admin skill CRUD endpoints (POST/GET/PATCH/DELETE /admin/skills) - User skill CRUD endpoints (POST/GET/PATCH/DELETE /skills/) - Personal context GET/PUT at /users/me/context - Extended context assembly: primary + personal context + skill prompt - Chat creation/update now accepts skill_id with validation Frontend: - Skill selector dropdown in chat header (grouped: general + personal) - Reusable skill editor form component - Admin skills management page (/admin/skills) - Personal skills page (/skills) - Personal context editor page (/profile/context) - Updated sidebar: Skills, My Context nav items + admin skills link - English + Russian translations for all skill/context UI Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
106 lines
3.4 KiB
JSON
106 lines
3.4 KiB
JSON
{
|
|
"auth": {
|
|
"login": "Log In",
|
|
"register": "Sign Up",
|
|
"email": "Email",
|
|
"password": "Password",
|
|
"confirmPassword": "Confirm Password",
|
|
"username": "Username",
|
|
"fullName": "Full Name",
|
|
"rememberMe": "Remember me",
|
|
"submit": "Submit",
|
|
"noAccount": "Don't have an account?",
|
|
"hasAccount": "Already have an account?",
|
|
"loginTitle": "Welcome Back",
|
|
"loginSubtitle": "Sign in to your account",
|
|
"registerTitle": "Create Account",
|
|
"registerSubtitle": "Get started with your personal AI assistant",
|
|
"errors": {
|
|
"invalidCredentials": "Invalid email or password",
|
|
"emailExists": "User with this email or username already exists",
|
|
"passwordMismatch": "Passwords do not match",
|
|
"passwordMinLength": "Password must be at least 8 characters",
|
|
"usernameFormat": "Username must be 3-50 characters (letters, numbers, _ or -)",
|
|
"required": "This field is required"
|
|
}
|
|
},
|
|
"layout": {
|
|
"dashboard": "Dashboard",
|
|
"chats": "Chats",
|
|
"documents": "Documents",
|
|
"memory": "Memory",
|
|
"notifications": "Notifications",
|
|
"profile": "Profile",
|
|
"logout": "Log Out",
|
|
"settings": "Settings",
|
|
"admin": "Admin",
|
|
"users": "Users",
|
|
"context": "Context",
|
|
"skills": "Skills",
|
|
"personal_context": "My Context"
|
|
},
|
|
"dashboard": {
|
|
"welcome": "Welcome, {{name}}",
|
|
"subtitle": "Your personal AI health assistant"
|
|
},
|
|
"chat": {
|
|
"new_chat": "New Chat",
|
|
"no_chats": "No chats yet. Create one to get started.",
|
|
"no_messages": "Start a conversation...",
|
|
"select_chat": "Select a chat to start messaging",
|
|
"type_message": "Type a message...",
|
|
"send": "Send",
|
|
"archive": "Archive",
|
|
"unarchive": "Unarchive",
|
|
"delete_confirm": "Are you sure you want to delete this chat?",
|
|
"limit_reached": "Chat limit reached",
|
|
"streaming": "AI is thinking..."
|
|
},
|
|
"admin": {
|
|
"context_editor": "Primary Context Editor",
|
|
"context_placeholder": "Enter the system prompt for the AI assistant...",
|
|
"save": "Save",
|
|
"saved": "Saved",
|
|
"unsaved_changes": "Unsaved changes",
|
|
"version": "Version",
|
|
"characters": "characters"
|
|
},
|
|
"skills": {
|
|
"my_skills": "My Skills",
|
|
"general_skills": "General Skills",
|
|
"no_skills": "No skills yet.",
|
|
"no_personal_skills": "You haven't created any personal skills yet.",
|
|
"create_personal": "Create Personal Skill",
|
|
"edit_personal": "Edit Personal Skill",
|
|
"create_general": "Create General Skill",
|
|
"edit_general": "Edit General Skill",
|
|
"name": "Name",
|
|
"name_placeholder": "e.g. Cardiologist",
|
|
"description": "Description",
|
|
"description_placeholder": "Brief description of this specialist",
|
|
"system_prompt": "System Prompt",
|
|
"prompt_placeholder": "Instructions for the AI when using this skill...",
|
|
"icon": "Icon",
|
|
"no_skill": "No specialist",
|
|
"general": "General",
|
|
"personal": "Personal"
|
|
},
|
|
"personal_context": {
|
|
"title": "Personal Context",
|
|
"subtitle": "This context is added to all your AI conversations",
|
|
"placeholder": "Add personal information that the AI should know about you..."
|
|
},
|
|
"common": {
|
|
"loading": "Loading...",
|
|
"error": "An error occurred",
|
|
"notFound": "Page not found",
|
|
"goHome": "Go to Dashboard",
|
|
"save": "Save",
|
|
"cancel": "Cancel",
|
|
"delete": "Delete",
|
|
"edit": "Edit",
|
|
"create": "Create",
|
|
"search": "Search"
|
|
}
|
|
}
|