Spaces:
Runtime error
Runtime error
T-K-O-H commited on
Commit ·
d184dfc
0
Parent(s):
Initial commit without node_modules
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .dockerignore +59 -0
- .gitattributes +56 -0
- .gitignore +52 -0
- Dockerfile +38 -0
- README.md +64 -0
- aimakerspace/__init__.py +0 -0
- aimakerspace/openai_utils/__init__.py +0 -0
- aimakerspace/openai_utils/chatmodel.py +59 -0
- aimakerspace/openai_utils/embedding.py +59 -0
- aimakerspace/openai_utils/prompts.py +78 -0
- aimakerspace/text_utils.py +171 -0
- aimakerspace/vectordatabase.py +81 -0
- app.py +139 -0
- backend/.chainlit/config.toml +88 -0
- backend/.chainlit/translations/bn.json +244 -0
- backend/.chainlit/translations/en-US.json +269 -0
- backend/.chainlit/translations/gu.json +244 -0
- backend/.chainlit/translations/he-IL.json +244 -0
- backend/.chainlit/translations/hi.json +244 -0
- backend/.chainlit/translations/ja.json +242 -0
- backend/.chainlit/translations/kn.json +244 -0
- backend/.chainlit/translations/ml.json +244 -0
- backend/.chainlit/translations/mr.json +244 -0
- backend/.chainlit/translations/nl-NL.json +242 -0
- backend/.chainlit/translations/ta.json +244 -0
- backend/.chainlit/translations/te.json +244 -0
- backend/.chainlit/translations/zh-CN.json +243 -0
- backend/Dockerfile +24 -0
- backend/aimakerspace/__init__.py +5 -0
- backend/aimakerspace/openai_utils/chatmodel.py +51 -0
- backend/aimakerspace/openai_utils/embedding.py +55 -0
- backend/aimakerspace/openai_utils/prompts.py +25 -0
- backend/aimakerspace/text_utils.py +156 -0
- backend/aimakerspace/vectordatabase.py +53 -0
- backend/main.py +277 -0
- backend/pyproject.toml +21 -0
- backend/requirements.txt +9 -0
- backend/test.py +7 -0
- backend/test.txt +33 -0
- backend/test_app.py +7 -0
- backend/test_rag.py +85 -0
- chainlit.md +3 -0
- docker-compose.yml +23 -0
- frontend/Dockerfile +16 -0
- frontend/package-lock.json +0 -0
- frontend/package.json +39 -0
- frontend/public/index.html +18 -0
- frontend/src/App.css +3 -0
- frontend/src/App.js +3 -0
- frontend/src/index.js +3 -0
.dockerignore
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Git
|
| 2 |
+
.git
|
| 3 |
+
.gitignore
|
| 4 |
+
.gitattributes
|
| 5 |
+
|
| 6 |
+
# Python
|
| 7 |
+
__pycache__/
|
| 8 |
+
*.py[cod]
|
| 9 |
+
*$py.class
|
| 10 |
+
*.so
|
| 11 |
+
.Python
|
| 12 |
+
build/
|
| 13 |
+
develop-eggs/
|
| 14 |
+
dist/
|
| 15 |
+
downloads/
|
| 16 |
+
eggs/
|
| 17 |
+
.eggs/
|
| 18 |
+
lib/
|
| 19 |
+
lib64/
|
| 20 |
+
parts/
|
| 21 |
+
sdist/
|
| 22 |
+
var/
|
| 23 |
+
wheels/
|
| 24 |
+
*.egg-info/
|
| 25 |
+
.installed.cfg
|
| 26 |
+
*.egg
|
| 27 |
+
MANIFEST
|
| 28 |
+
.env
|
| 29 |
+
|
| 30 |
+
# Node
|
| 31 |
+
node_modules/
|
| 32 |
+
npm-debug.log*
|
| 33 |
+
yarn-debug.log*
|
| 34 |
+
yarn-error.log*
|
| 35 |
+
.env
|
| 36 |
+
.env.local
|
| 37 |
+
.env.development.local
|
| 38 |
+
.env.test.local
|
| 39 |
+
.env.production.local
|
| 40 |
+
|
| 41 |
+
# IDE
|
| 42 |
+
.idea/
|
| 43 |
+
.vscode/
|
| 44 |
+
*.swp
|
| 45 |
+
*.swo
|
| 46 |
+
*~
|
| 47 |
+
|
| 48 |
+
# OS
|
| 49 |
+
.DS_Store
|
| 50 |
+
Thumbs.db
|
| 51 |
+
|
| 52 |
+
# Other
|
| 53 |
+
.chainlit/
|
| 54 |
+
.venv/
|
| 55 |
+
.files/
|
| 56 |
+
.cache/
|
| 57 |
+
frontend/node_modules/
|
| 58 |
+
frontend/.cache/
|
| 59 |
+
*.pyc
|
.gitattributes
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
# Frontend specific large files
|
| 37 |
+
frontend/node_modules/.cache/** filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
frontend/node_modules/typescript/lib/*.js filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
frontend/node_modules/**/dist/** filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
frontend/node_modules/**/build/** filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
frontend/build/** filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
*.js filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
*.js.map filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
*.css filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
*.css.map filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
*.png filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
*.jpg filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 49 |
+
*.gif filter=lfs diff=lfs merge=lfs -text
|
| 50 |
+
*.ico filter=lfs diff=lfs merge=lfs -text
|
| 51 |
+
*.svg filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
*.woff filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
*.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
*.ttf filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
*.eot filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
*.otf filter=lfs diff=lfs merge=lfs -text
|
.gitignore
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Python
|
| 2 |
+
__pycache__/
|
| 3 |
+
*.py[cod]
|
| 4 |
+
*.so
|
| 5 |
+
.Python
|
| 6 |
+
build/
|
| 7 |
+
develop-eggs/
|
| 8 |
+
dist/
|
| 9 |
+
downloads/
|
| 10 |
+
eggs/
|
| 11 |
+
.eggs/
|
| 12 |
+
lib/
|
| 13 |
+
lib64/
|
| 14 |
+
parts/
|
| 15 |
+
sdist/
|
| 16 |
+
var/
|
| 17 |
+
wheels/
|
| 18 |
+
*.egg-info/
|
| 19 |
+
.installed.cfg
|
| 20 |
+
*.egg
|
| 21 |
+
MANIFEST
|
| 22 |
+
.env
|
| 23 |
+
|
| 24 |
+
# Node
|
| 25 |
+
node_modules/
|
| 26 |
+
npm-debug.log*
|
| 27 |
+
yarn-debug.log*
|
| 28 |
+
yarn-error.log*
|
| 29 |
+
.env.local
|
| 30 |
+
.env.development.local
|
| 31 |
+
.env.test.local
|
| 32 |
+
.env.production.local
|
| 33 |
+
|
| 34 |
+
# IDE
|
| 35 |
+
.idea/
|
| 36 |
+
.vscode/
|
| 37 |
+
*.swp
|
| 38 |
+
*.swo
|
| 39 |
+
|
| 40 |
+
# OS
|
| 41 |
+
.DS_Store
|
| 42 |
+
Thumbs.db
|
| 43 |
+
|
| 44 |
+
# Virtual Environment
|
| 45 |
+
venv/
|
| 46 |
+
env/
|
| 47 |
+
ENV/
|
| 48 |
+
|
| 49 |
+
# Misc
|
| 50 |
+
*.log
|
| 51 |
+
.cache/
|
| 52 |
+
.pytest_cache/
|
Dockerfile
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.9-slim
|
| 2 |
+
|
| 3 |
+
WORKDIR /app
|
| 4 |
+
|
| 5 |
+
# Install system dependencies
|
| 6 |
+
RUN apt-get update && apt-get install -y \
|
| 7 |
+
build-essential \
|
| 8 |
+
nodejs \
|
| 9 |
+
npm \
|
| 10 |
+
&& rm -rf /var/lib/apt/lists/*
|
| 11 |
+
|
| 12 |
+
# Install Python dependencies
|
| 13 |
+
COPY backend/requirements.txt .
|
| 14 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 15 |
+
|
| 16 |
+
# Copy frontend source and install dependencies
|
| 17 |
+
COPY frontend/ ./frontend/
|
| 18 |
+
WORKDIR /app/frontend
|
| 19 |
+
RUN npm install
|
| 20 |
+
RUN npm run build
|
| 21 |
+
|
| 22 |
+
# Copy backend source
|
| 23 |
+
WORKDIR /app
|
| 24 |
+
COPY backend/ .
|
| 25 |
+
|
| 26 |
+
# Install serve to run the frontend
|
| 27 |
+
RUN npm install -g serve
|
| 28 |
+
|
| 29 |
+
# Expose the port (Hugging Face requires 7860)
|
| 30 |
+
EXPOSE 7860
|
| 31 |
+
|
| 32 |
+
# Set environment variables
|
| 33 |
+
ENV PYTHONUNBUFFERED=1
|
| 34 |
+
ENV PORT=7860
|
| 35 |
+
ENV REACT_APP_API_URL=https://shipmaster1-pythonicragreact.hf.space
|
| 36 |
+
|
| 37 |
+
# Start both services
|
| 38 |
+
CMD ["sh", "-c", "serve -s frontend/build -l 3000 & uvicorn main:app --host 0.0.0.0 --port 7860"]
|
README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: PythonicRAG
|
| 3 |
+
emoji: 🔍
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: purple
|
| 6 |
+
sdk: docker
|
| 7 |
+
pinned: false
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# PythonicRAG
|
| 11 |
+
|
| 12 |
+
A RAG (Retrieval-Augmented Generation) application that allows you to upload PDF documents and ask questions about their content.
|
| 13 |
+
|
| 14 |
+
## Features
|
| 15 |
+
|
| 16 |
+
- Upload PDF documents
|
| 17 |
+
- Ask questions about the content
|
| 18 |
+
- Get AI-powered answers with relevant context
|
| 19 |
+
- Modern React frontend with Material UI
|
| 20 |
+
- FastAPI backend with vector search
|
| 21 |
+
|
| 22 |
+
## How to Use
|
| 23 |
+
|
| 24 |
+
1. Upload a PDF document (up to 2MB in size)
|
| 25 |
+
2. Wait for the document to be processed
|
| 26 |
+
3. Ask questions about the content
|
| 27 |
+
4. View the answers and relevant context
|
| 28 |
+
|
| 29 |
+
## Environment Variables
|
| 30 |
+
|
| 31 |
+
The following environment variables need to be set in the Hugging Face Space settings:
|
| 32 |
+
|
| 33 |
+
- `OPENAI_API_KEY`: Your OpenAI API key for the AI model
|
| 34 |
+
|
| 35 |
+
## Technical Details
|
| 36 |
+
|
| 37 |
+
- Frontend: React with Material UI
|
| 38 |
+
- Backend: FastAPI with vector search
|
| 39 |
+
- Database: Vector database for semantic search
|
| 40 |
+
- AI Model: OpenAI's GPT model
|
| 41 |
+
|
| 42 |
+
## Local Development
|
| 43 |
+
|
| 44 |
+
To run locally:
|
| 45 |
+
|
| 46 |
+
1. Clone the repository
|
| 47 |
+
2. Install dependencies:
|
| 48 |
+
```bash
|
| 49 |
+
cd frontend && npm install
|
| 50 |
+
cd ../backend && pip install -r requirements.txt
|
| 51 |
+
```
|
| 52 |
+
3. Set environment variables
|
| 53 |
+
4. Run the services:
|
| 54 |
+
```bash
|
| 55 |
+
# Terminal 1 (Backend)
|
| 56 |
+
cd backend && uvicorn main:app --host 0.0.0.0 --port 7860
|
| 57 |
+
|
| 58 |
+
# Terminal 2 (Frontend)
|
| 59 |
+
cd frontend && npm start
|
| 60 |
+
```
|
| 61 |
+
|
| 62 |
+
## License
|
| 63 |
+
|
| 64 |
+
MIT
|
aimakerspace/__init__.py
ADDED
|
File without changes
|
aimakerspace/openai_utils/__init__.py
ADDED
|
File without changes
|
aimakerspace/openai_utils/chatmodel.py
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from openai import OpenAI, AsyncOpenAI
|
| 2 |
+
from dotenv import load_dotenv
|
| 3 |
+
import os
|
| 4 |
+
|
| 5 |
+
load_dotenv()
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
class ChatOpenAI:
|
| 9 |
+
def __init__(self, model_name: str = "gpt-4-1106-preview"):
|
| 10 |
+
self.model_name = model_name
|
| 11 |
+
self.openai_api_key = os.getenv("OPENAI_API_KEY")
|
| 12 |
+
if self.openai_api_key is None:
|
| 13 |
+
raise ValueError("OPENAI_API_KEY is not set")
|
| 14 |
+
self.client = OpenAI()
|
| 15 |
+
self.async_client = AsyncOpenAI()
|
| 16 |
+
|
| 17 |
+
def run(self, messages, text_only: bool = True, **kwargs):
|
| 18 |
+
if not isinstance(messages, list):
|
| 19 |
+
raise ValueError("messages must be a list")
|
| 20 |
+
|
| 21 |
+
response = self.client.chat.completions.create(
|
| 22 |
+
model=self.model_name, messages=messages, **kwargs
|
| 23 |
+
)
|
| 24 |
+
|
| 25 |
+
if text_only:
|
| 26 |
+
return response.choices[0].message.content
|
| 27 |
+
|
| 28 |
+
return response
|
| 29 |
+
|
| 30 |
+
async def agenerate(self, messages, **kwargs):
|
| 31 |
+
if not isinstance(messages, list):
|
| 32 |
+
raise ValueError("messages must be a list")
|
| 33 |
+
|
| 34 |
+
try:
|
| 35 |
+
response = await self.async_client.chat.completions.create(
|
| 36 |
+
model=self.model_name,
|
| 37 |
+
messages=[{"role": "system" if i == 0 else "user", "content": msg} for i, msg in enumerate(messages)],
|
| 38 |
+
**kwargs
|
| 39 |
+
)
|
| 40 |
+
return response.choices[0].message.content
|
| 41 |
+
except Exception as e:
|
| 42 |
+
print(f"Error in agenerate: {str(e)}")
|
| 43 |
+
raise
|
| 44 |
+
|
| 45 |
+
async def astream(self, messages, **kwargs):
|
| 46 |
+
if not isinstance(messages, list):
|
| 47 |
+
raise ValueError("messages must be a list")
|
| 48 |
+
|
| 49 |
+
stream = await self.async_client.chat.completions.create(
|
| 50 |
+
model=self.model_name,
|
| 51 |
+
messages=messages,
|
| 52 |
+
stream=True,
|
| 53 |
+
**kwargs
|
| 54 |
+
)
|
| 55 |
+
|
| 56 |
+
async for chunk in stream:
|
| 57 |
+
content = chunk.choices[0].delta.content
|
| 58 |
+
if content is not None:
|
| 59 |
+
yield content
|
aimakerspace/openai_utils/embedding.py
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from dotenv import load_dotenv
|
| 2 |
+
from openai import AsyncOpenAI, OpenAI
|
| 3 |
+
import openai
|
| 4 |
+
from typing import List
|
| 5 |
+
import os
|
| 6 |
+
import asyncio
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
class EmbeddingModel:
|
| 10 |
+
def __init__(self, embeddings_model_name: str = "text-embedding-3-small"):
|
| 11 |
+
load_dotenv()
|
| 12 |
+
self.openai_api_key = os.getenv("OPENAI_API_KEY")
|
| 13 |
+
self.async_client = AsyncOpenAI()
|
| 14 |
+
self.client = OpenAI()
|
| 15 |
+
|
| 16 |
+
if self.openai_api_key is None:
|
| 17 |
+
raise ValueError(
|
| 18 |
+
"OPENAI_API_KEY environment variable is not set. Please set it to your OpenAI API key."
|
| 19 |
+
)
|
| 20 |
+
openai.api_key = self.openai_api_key
|
| 21 |
+
self.embeddings_model_name = embeddings_model_name
|
| 22 |
+
|
| 23 |
+
async def async_get_embeddings(self, list_of_text: List[str]) -> List[List[float]]:
|
| 24 |
+
embedding_response = await self.async_client.embeddings.create(
|
| 25 |
+
input=list_of_text, model=self.embeddings_model_name
|
| 26 |
+
)
|
| 27 |
+
|
| 28 |
+
return [embeddings.embedding for embeddings in embedding_response.data]
|
| 29 |
+
|
| 30 |
+
async def async_get_embedding(self, text: str) -> List[float]:
|
| 31 |
+
embedding = await self.async_client.embeddings.create(
|
| 32 |
+
input=text, model=self.embeddings_model_name
|
| 33 |
+
)
|
| 34 |
+
|
| 35 |
+
return embedding.data[0].embedding
|
| 36 |
+
|
| 37 |
+
def get_embeddings(self, list_of_text: List[str]) -> List[List[float]]:
|
| 38 |
+
embedding_response = self.client.embeddings.create(
|
| 39 |
+
input=list_of_text, model=self.embeddings_model_name
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
return [embeddings.embedding for embeddings in embedding_response.data]
|
| 43 |
+
|
| 44 |
+
def get_embedding(self, text: str) -> List[float]:
|
| 45 |
+
embedding = self.client.embeddings.create(
|
| 46 |
+
input=text, model=self.embeddings_model_name
|
| 47 |
+
)
|
| 48 |
+
|
| 49 |
+
return embedding.data[0].embedding
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
if __name__ == "__main__":
|
| 53 |
+
embedding_model = EmbeddingModel()
|
| 54 |
+
print(asyncio.run(embedding_model.async_get_embedding("Hello, world!")))
|
| 55 |
+
print(
|
| 56 |
+
asyncio.run(
|
| 57 |
+
embedding_model.async_get_embeddings(["Hello, world!", "Goodbye, world!"])
|
| 58 |
+
)
|
| 59 |
+
)
|
aimakerspace/openai_utils/prompts.py
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import re
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
class BasePrompt:
|
| 5 |
+
def __init__(self, prompt):
|
| 6 |
+
"""
|
| 7 |
+
Initializes the BasePrompt object with a prompt template.
|
| 8 |
+
|
| 9 |
+
:param prompt: A string that can contain placeholders within curly braces
|
| 10 |
+
"""
|
| 11 |
+
self.prompt = prompt
|
| 12 |
+
self._pattern = re.compile(r"\{([^}]+)\}")
|
| 13 |
+
|
| 14 |
+
def format_prompt(self, **kwargs):
|
| 15 |
+
"""
|
| 16 |
+
Formats the prompt string using the keyword arguments provided.
|
| 17 |
+
|
| 18 |
+
:param kwargs: The values to substitute into the prompt string
|
| 19 |
+
:return: The formatted prompt string
|
| 20 |
+
"""
|
| 21 |
+
matches = self._pattern.findall(self.prompt)
|
| 22 |
+
return self.prompt.format(**{match: kwargs.get(match, "") for match in matches})
|
| 23 |
+
|
| 24 |
+
def get_input_variables(self):
|
| 25 |
+
"""
|
| 26 |
+
Gets the list of input variable names from the prompt string.
|
| 27 |
+
|
| 28 |
+
:return: List of input variable names
|
| 29 |
+
"""
|
| 30 |
+
return self._pattern.findall(self.prompt)
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
class RolePrompt(BasePrompt):
|
| 34 |
+
def __init__(self, prompt, role: str):
|
| 35 |
+
"""
|
| 36 |
+
Initializes the RolePrompt object with a prompt template and a role.
|
| 37 |
+
|
| 38 |
+
:param prompt: A string that can contain placeholders within curly braces
|
| 39 |
+
:param role: The role for the message ('system', 'user', or 'assistant')
|
| 40 |
+
"""
|
| 41 |
+
super().__init__(prompt)
|
| 42 |
+
self.role = role
|
| 43 |
+
|
| 44 |
+
def create_message(self, format=True, **kwargs):
|
| 45 |
+
"""
|
| 46 |
+
Creates a message dictionary with a role and a formatted message.
|
| 47 |
+
|
| 48 |
+
:param kwargs: The values to substitute into the prompt string
|
| 49 |
+
:return: Dictionary containing the role and the formatted message
|
| 50 |
+
"""
|
| 51 |
+
if format:
|
| 52 |
+
return {"role": self.role, "content": self.format_prompt(**kwargs)}
|
| 53 |
+
|
| 54 |
+
return {"role": self.role, "content": self.prompt}
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
class SystemRolePrompt(RolePrompt):
|
| 58 |
+
def __init__(self, prompt: str):
|
| 59 |
+
super().__init__(prompt, "system")
|
| 60 |
+
|
| 61 |
+
|
| 62 |
+
class UserRolePrompt(RolePrompt):
|
| 63 |
+
def __init__(self, prompt: str):
|
| 64 |
+
super().__init__(prompt, "user")
|
| 65 |
+
|
| 66 |
+
|
| 67 |
+
class AssistantRolePrompt(RolePrompt):
|
| 68 |
+
def __init__(self, prompt: str):
|
| 69 |
+
super().__init__(prompt, "assistant")
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
if __name__ == "__main__":
|
| 73 |
+
prompt = BasePrompt("Hello {name}, you are {age} years old")
|
| 74 |
+
print(prompt.format_prompt(name="John", age=30))
|
| 75 |
+
|
| 76 |
+
prompt = SystemRolePrompt("Hello {name}, you are {age} years old")
|
| 77 |
+
print(prompt.create_message(name="John", age=30))
|
| 78 |
+
print(prompt.get_input_variables())
|
aimakerspace/text_utils.py
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
from typing import List
|
| 3 |
+
import PyPDF2
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
class TextFileLoader:
|
| 7 |
+
def __init__(self, path: str, encoding: str = "utf-8"):
|
| 8 |
+
self.documents = []
|
| 9 |
+
self.path = path
|
| 10 |
+
self.encoding = encoding
|
| 11 |
+
|
| 12 |
+
def load(self):
|
| 13 |
+
if os.path.isdir(self.path):
|
| 14 |
+
self.load_directory()
|
| 15 |
+
elif os.path.isfile(self.path) and self.path.endswith(".txt"):
|
| 16 |
+
self.load_file()
|
| 17 |
+
else:
|
| 18 |
+
raise ValueError(
|
| 19 |
+
"Provided path is neither a valid directory nor a .txt file."
|
| 20 |
+
)
|
| 21 |
+
|
| 22 |
+
def load_file(self):
|
| 23 |
+
with open(self.path, "r", encoding=self.encoding) as f:
|
| 24 |
+
self.documents.append(f.read())
|
| 25 |
+
|
| 26 |
+
def load_directory(self):
|
| 27 |
+
for root, _, files in os.walk(self.path):
|
| 28 |
+
for file in files:
|
| 29 |
+
if file.endswith(".txt"):
|
| 30 |
+
with open(
|
| 31 |
+
os.path.join(root, file), "r", encoding=self.encoding
|
| 32 |
+
) as f:
|
| 33 |
+
self.documents.append(f.read())
|
| 34 |
+
|
| 35 |
+
def load_documents(self):
|
| 36 |
+
self.load()
|
| 37 |
+
return self.documents
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
class CharacterTextSplitter:
|
| 41 |
+
def __init__(
|
| 42 |
+
self,
|
| 43 |
+
chunk_size: int = 1000,
|
| 44 |
+
chunk_overlap: int = 200,
|
| 45 |
+
):
|
| 46 |
+
assert (
|
| 47 |
+
chunk_size > chunk_overlap
|
| 48 |
+
), "Chunk size must be greater than chunk overlap"
|
| 49 |
+
|
| 50 |
+
self.chunk_size = chunk_size
|
| 51 |
+
self.chunk_overlap = chunk_overlap
|
| 52 |
+
|
| 53 |
+
def split(self, text: str) -> List[str]:
|
| 54 |
+
chunks = []
|
| 55 |
+
for i in range(0, len(text), self.chunk_size - self.chunk_overlap):
|
| 56 |
+
chunks.append(text[i : i + self.chunk_size])
|
| 57 |
+
return chunks
|
| 58 |
+
|
| 59 |
+
def split_texts(self, texts: List[str]) -> List[str]:
|
| 60 |
+
chunks = []
|
| 61 |
+
for text in texts:
|
| 62 |
+
chunks.extend(self.split(text))
|
| 63 |
+
return chunks
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
class PDFLoader:
|
| 67 |
+
def __init__(self, path: str):
|
| 68 |
+
self.documents = []
|
| 69 |
+
self.path = path
|
| 70 |
+
print(f"PDFLoader initialized with path: {self.path}")
|
| 71 |
+
|
| 72 |
+
def load(self):
|
| 73 |
+
print(f"Loading PDF from path: {self.path}")
|
| 74 |
+
print(f"Path exists: {os.path.exists(self.path)}")
|
| 75 |
+
print(f"Is file: {os.path.isfile(self.path)}")
|
| 76 |
+
print(f"Is directory: {os.path.isdir(self.path)}")
|
| 77 |
+
print(f"File permissions: {oct(os.stat(self.path).st_mode)[-3:]}")
|
| 78 |
+
|
| 79 |
+
try:
|
| 80 |
+
# Try to open the file first to verify access
|
| 81 |
+
with open(self.path, 'rb') as test_file:
|
| 82 |
+
pass
|
| 83 |
+
|
| 84 |
+
# If we can open it, proceed with loading
|
| 85 |
+
self.load_file()
|
| 86 |
+
|
| 87 |
+
except IOError as e:
|
| 88 |
+
print(f"IOError accessing file at '{self.path}': {str(e)}")
|
| 89 |
+
raise ValueError(f"Cannot access file at '{self.path}': {str(e)}")
|
| 90 |
+
except Exception as e:
|
| 91 |
+
print(f"Error processing file at '{self.path}': {str(e)}")
|
| 92 |
+
raise ValueError(f"Error processing file at '{self.path}': {str(e)}")
|
| 93 |
+
|
| 94 |
+
def load_file(self):
|
| 95 |
+
try:
|
| 96 |
+
with open(self.path, 'rb') as file:
|
| 97 |
+
# Create PDF reader object
|
| 98 |
+
pdf_reader = PyPDF2.PdfReader(file)
|
| 99 |
+
|
| 100 |
+
if len(pdf_reader.pages) == 0:
|
| 101 |
+
raise ValueError("PDF file is empty")
|
| 102 |
+
|
| 103 |
+
# Extract text from each page
|
| 104 |
+
text = ""
|
| 105 |
+
for page in pdf_reader.pages:
|
| 106 |
+
try:
|
| 107 |
+
page_text = page.extract_text()
|
| 108 |
+
if page_text:
|
| 109 |
+
text += page_text + "\n"
|
| 110 |
+
except Exception as e:
|
| 111 |
+
print(f"Error extracting text from page: {str(e)}")
|
| 112 |
+
|
| 113 |
+
if not text.strip():
|
| 114 |
+
raise ValueError("No text could be extracted from the PDF")
|
| 115 |
+
|
| 116 |
+
self.documents.append(text)
|
| 117 |
+
print(f"Successfully extracted {len(text)} characters from PDF")
|
| 118 |
+
|
| 119 |
+
except PyPDF2.PdfReadError as e:
|
| 120 |
+
print(f"PDF read error: {str(e)}")
|
| 121 |
+
raise ValueError(f"Error reading PDF file: {str(e)}")
|
| 122 |
+
except Exception as e:
|
| 123 |
+
print(f"Error in load_file: {str(e)}")
|
| 124 |
+
raise ValueError(f"Error processing PDF file: {str(e)}")
|
| 125 |
+
|
| 126 |
+
def load_directory(self):
|
| 127 |
+
for root, _, files in os.walk(self.path):
|
| 128 |
+
for file in files:
|
| 129 |
+
if file.lower().endswith('.pdf'):
|
| 130 |
+
file_path = os.path.join(root, file)
|
| 131 |
+
try:
|
| 132 |
+
with open(file_path, 'rb') as f:
|
| 133 |
+
pdf_reader = PyPDF2.PdfReader(f)
|
| 134 |
+
|
| 135 |
+
# Extract text from each page
|
| 136 |
+
text = ""
|
| 137 |
+
for page in pdf_reader.pages:
|
| 138 |
+
try:
|
| 139 |
+
page_text = page.extract_text()
|
| 140 |
+
if page_text:
|
| 141 |
+
text += page_text + "\n"
|
| 142 |
+
except Exception as e:
|
| 143 |
+
print(f"Error extracting text from page in {file}: {str(e)}")
|
| 144 |
+
|
| 145 |
+
if text.strip():
|
| 146 |
+
self.documents.append(text)
|
| 147 |
+
print(f"Successfully extracted {len(text)} characters from {file}")
|
| 148 |
+
else:
|
| 149 |
+
print(f"No text could be extracted from {file}")
|
| 150 |
+
|
| 151 |
+
except Exception as e:
|
| 152 |
+
print(f"Error processing {file}: {str(e)}")
|
| 153 |
+
|
| 154 |
+
def load_documents(self):
|
| 155 |
+
self.load()
|
| 156 |
+
return self.documents
|
| 157 |
+
|
| 158 |
+
|
| 159 |
+
if __name__ == "__main__":
|
| 160 |
+
loader = TextFileLoader("data/KingLear.txt")
|
| 161 |
+
loader.load()
|
| 162 |
+
splitter = CharacterTextSplitter()
|
| 163 |
+
chunks = splitter.split_texts(loader.documents)
|
| 164 |
+
print(len(chunks))
|
| 165 |
+
print(chunks[0])
|
| 166 |
+
print("--------")
|
| 167 |
+
print(chunks[1])
|
| 168 |
+
print("--------")
|
| 169 |
+
print(chunks[-2])
|
| 170 |
+
print("--------")
|
| 171 |
+
print(chunks[-1])
|
aimakerspace/vectordatabase.py
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import numpy as np
|
| 2 |
+
from collections import defaultdict
|
| 3 |
+
from typing import List, Tuple, Callable
|
| 4 |
+
from aimakerspace.openai_utils.embedding import EmbeddingModel
|
| 5 |
+
import asyncio
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def cosine_similarity(vector_a: np.array, vector_b: np.array) -> float:
|
| 9 |
+
"""Computes the cosine similarity between two vectors."""
|
| 10 |
+
dot_product = np.dot(vector_a, vector_b)
|
| 11 |
+
norm_a = np.linalg.norm(vector_a)
|
| 12 |
+
norm_b = np.linalg.norm(vector_b)
|
| 13 |
+
return dot_product / (norm_a * norm_b)
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
class VectorDatabase:
|
| 17 |
+
def __init__(self, embedding_model: EmbeddingModel = None):
|
| 18 |
+
self.vectors = defaultdict(np.array)
|
| 19 |
+
self.embedding_model = embedding_model or EmbeddingModel()
|
| 20 |
+
|
| 21 |
+
def insert(self, key: str, vector: np.array) -> None:
|
| 22 |
+
self.vectors[key] = vector
|
| 23 |
+
|
| 24 |
+
def search(
|
| 25 |
+
self,
|
| 26 |
+
query_vector: np.array,
|
| 27 |
+
k: int,
|
| 28 |
+
distance_measure: Callable = cosine_similarity,
|
| 29 |
+
) -> List[Tuple[str, float]]:
|
| 30 |
+
scores = [
|
| 31 |
+
(key, distance_measure(query_vector, vector))
|
| 32 |
+
for key, vector in self.vectors.items()
|
| 33 |
+
]
|
| 34 |
+
return sorted(scores, key=lambda x: x[1], reverse=True)[:k]
|
| 35 |
+
|
| 36 |
+
def search_by_text(
|
| 37 |
+
self,
|
| 38 |
+
query_text: str,
|
| 39 |
+
k: int,
|
| 40 |
+
distance_measure: Callable = cosine_similarity,
|
| 41 |
+
return_as_text: bool = False,
|
| 42 |
+
) -> List[Tuple[str, float]]:
|
| 43 |
+
query_vector = self.embedding_model.get_embedding(query_text)
|
| 44 |
+
results = self.search(query_vector, k, distance_measure)
|
| 45 |
+
return [result[0] for result in results] if return_as_text else results
|
| 46 |
+
|
| 47 |
+
def retrieve_from_key(self, key: str) -> np.array:
|
| 48 |
+
return self.vectors.get(key, None)
|
| 49 |
+
|
| 50 |
+
async def abuild_from_list(self, list_of_text: List[str]) -> "VectorDatabase":
|
| 51 |
+
embeddings = await self.embedding_model.async_get_embeddings(list_of_text)
|
| 52 |
+
for text, embedding in zip(list_of_text, embeddings):
|
| 53 |
+
self.insert(text, np.array(embedding))
|
| 54 |
+
return self
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
if __name__ == "__main__":
|
| 58 |
+
list_of_text = [
|
| 59 |
+
"I like to eat broccoli and bananas.",
|
| 60 |
+
"I ate a banana and spinach smoothie for breakfast.",
|
| 61 |
+
"Chinchillas and kittens are cute.",
|
| 62 |
+
"My sister adopted a kitten yesterday.",
|
| 63 |
+
"Look at this cute hamster munching on a piece of broccoli.",
|
| 64 |
+
]
|
| 65 |
+
|
| 66 |
+
vector_db = VectorDatabase()
|
| 67 |
+
vector_db = asyncio.run(vector_db.abuild_from_list(list_of_text))
|
| 68 |
+
k = 2
|
| 69 |
+
|
| 70 |
+
searched_vector = vector_db.search_by_text("I think fruit is awesome!", k=k)
|
| 71 |
+
print(f"Closest {k} vector(s):", searched_vector)
|
| 72 |
+
|
| 73 |
+
retrieved_vector = vector_db.retrieve_from_key(
|
| 74 |
+
"I like to eat broccoli and bananas."
|
| 75 |
+
)
|
| 76 |
+
print("Retrieved vector:", retrieved_vector)
|
| 77 |
+
|
| 78 |
+
relevant_texts = vector_db.search_by_text(
|
| 79 |
+
"I think fruit is awesome!", k=k, return_as_text=True
|
| 80 |
+
)
|
| 81 |
+
print(f"Closest {k} text(s):", relevant_texts)
|
app.py
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
from typing import List
|
| 3 |
+
from chainlit.types import AskFileResponse
|
| 4 |
+
from aimakerspace.text_utils import CharacterTextSplitter, TextFileLoader, PDFLoader
|
| 5 |
+
from aimakerspace.openai_utils.prompts import (
|
| 6 |
+
UserRolePrompt,
|
| 7 |
+
SystemRolePrompt,
|
| 8 |
+
AssistantRolePrompt,
|
| 9 |
+
)
|
| 10 |
+
from aimakerspace.openai_utils.embedding import EmbeddingModel
|
| 11 |
+
from aimakerspace.vectordatabase import VectorDatabase
|
| 12 |
+
from aimakerspace.openai_utils.chatmodel import ChatOpenAI
|
| 13 |
+
import chainlit as cl
|
| 14 |
+
|
| 15 |
+
system_template = """\
|
| 16 |
+
Use the following context to answer a users question. If you cannot find the answer in the context, say you don't know the answer."""
|
| 17 |
+
system_role_prompt = SystemRolePrompt(system_template)
|
| 18 |
+
|
| 19 |
+
user_prompt_template = """\
|
| 20 |
+
Context:
|
| 21 |
+
{context}
|
| 22 |
+
|
| 23 |
+
Question:
|
| 24 |
+
{question}
|
| 25 |
+
"""
|
| 26 |
+
user_role_prompt = UserRolePrompt(user_prompt_template)
|
| 27 |
+
|
| 28 |
+
class RetrievalAugmentedQAPipeline:
|
| 29 |
+
def __init__(self, llm: ChatOpenAI(), vector_db_retriever: VectorDatabase) -> None:
|
| 30 |
+
self.llm = llm
|
| 31 |
+
self.vector_db_retriever = vector_db_retriever
|
| 32 |
+
|
| 33 |
+
async def arun_pipeline(self, user_query: str):
|
| 34 |
+
context_list = self.vector_db_retriever.search_by_text(user_query, k=4)
|
| 35 |
+
|
| 36 |
+
context_prompt = ""
|
| 37 |
+
for context in context_list:
|
| 38 |
+
context_prompt += context[0] + "\n"
|
| 39 |
+
|
| 40 |
+
formatted_system_prompt = system_role_prompt.create_message()
|
| 41 |
+
|
| 42 |
+
formatted_user_prompt = user_role_prompt.create_message(question=user_query, context=context_prompt)
|
| 43 |
+
|
| 44 |
+
async def generate_response():
|
| 45 |
+
async for chunk in self.llm.astream([formatted_system_prompt, formatted_user_prompt]):
|
| 46 |
+
yield chunk
|
| 47 |
+
|
| 48 |
+
return {"response": generate_response(), "context": context_list}
|
| 49 |
+
|
| 50 |
+
text_splitter = CharacterTextSplitter()
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
def process_file(file: AskFileResponse):
|
| 54 |
+
import tempfile
|
| 55 |
+
import shutil
|
| 56 |
+
|
| 57 |
+
print(f"Processing file: {file.name}")
|
| 58 |
+
|
| 59 |
+
# Create a temporary file with the correct extension
|
| 60 |
+
suffix = f".{file.name.split('.')[-1]}"
|
| 61 |
+
with tempfile.NamedTemporaryFile(delete=False, suffix=suffix) as temp_file:
|
| 62 |
+
# Copy the uploaded file content to the temporary file
|
| 63 |
+
shutil.copyfile(file.path, temp_file.name)
|
| 64 |
+
print(f"Created temporary file at: {temp_file.name}")
|
| 65 |
+
|
| 66 |
+
# Create appropriate loader
|
| 67 |
+
if file.name.lower().endswith('.pdf'):
|
| 68 |
+
loader = PDFLoader(temp_file.name)
|
| 69 |
+
else:
|
| 70 |
+
loader = TextFileLoader(temp_file.name)
|
| 71 |
+
|
| 72 |
+
try:
|
| 73 |
+
# Load and process the documents
|
| 74 |
+
documents = loader.load_documents()
|
| 75 |
+
texts = text_splitter.split_texts(documents)
|
| 76 |
+
return texts
|
| 77 |
+
finally:
|
| 78 |
+
# Clean up the temporary file
|
| 79 |
+
try:
|
| 80 |
+
os.unlink(temp_file.name)
|
| 81 |
+
except Exception as e:
|
| 82 |
+
print(f"Error cleaning up temporary file: {e}")
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
@cl.on_chat_start
|
| 86 |
+
async def on_chat_start():
|
| 87 |
+
files = None
|
| 88 |
+
|
| 89 |
+
# Wait for the user to upload a file
|
| 90 |
+
while files == None:
|
| 91 |
+
files = await cl.AskFileMessage(
|
| 92 |
+
content="Please upload a Text or PDF file to begin!",
|
| 93 |
+
accept=["text/plain", "application/pdf"],
|
| 94 |
+
max_size_mb=2,
|
| 95 |
+
timeout=180,
|
| 96 |
+
).send()
|
| 97 |
+
|
| 98 |
+
file = files[0]
|
| 99 |
+
|
| 100 |
+
msg = cl.Message(
|
| 101 |
+
content=f"Processing `{file.name}`..."
|
| 102 |
+
)
|
| 103 |
+
await msg.send()
|
| 104 |
+
|
| 105 |
+
# load the file
|
| 106 |
+
texts = process_file(file)
|
| 107 |
+
|
| 108 |
+
print(f"Processing {len(texts)} text chunks")
|
| 109 |
+
|
| 110 |
+
# Create a dict vector store
|
| 111 |
+
vector_db = VectorDatabase()
|
| 112 |
+
vector_db = await vector_db.abuild_from_list(texts)
|
| 113 |
+
|
| 114 |
+
chat_openai = ChatOpenAI()
|
| 115 |
+
|
| 116 |
+
# Create a chain
|
| 117 |
+
retrieval_augmented_qa_pipeline = RetrievalAugmentedQAPipeline(
|
| 118 |
+
vector_db_retriever=vector_db,
|
| 119 |
+
llm=chat_openai
|
| 120 |
+
)
|
| 121 |
+
|
| 122 |
+
# Let the user know that the system is ready
|
| 123 |
+
msg.content = f"Processing `{file.name}` done. You can now ask questions!"
|
| 124 |
+
await msg.update()
|
| 125 |
+
|
| 126 |
+
cl.user_session.set("chain", retrieval_augmented_qa_pipeline)
|
| 127 |
+
|
| 128 |
+
|
| 129 |
+
@cl.on_message
|
| 130 |
+
async def main(message):
|
| 131 |
+
chain = cl.user_session.get("chain")
|
| 132 |
+
|
| 133 |
+
msg = cl.Message(content="")
|
| 134 |
+
result = await chain.arun_pipeline(message.content)
|
| 135 |
+
|
| 136 |
+
async for stream_resp in result["response"]:
|
| 137 |
+
await msg.stream_token(stream_resp)
|
| 138 |
+
|
| 139 |
+
await msg.send()
|
backend/.chainlit/config.toml
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[project]
|
| 2 |
+
# Whether to enable telemetry (default: true). No personal data is collected.
|
| 3 |
+
enable_telemetry = true
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
# List of environment variables to be provided by each user to use the app.
|
| 7 |
+
user_env = []
|
| 8 |
+
|
| 9 |
+
# Duration (in seconds) during which the session is saved when the connection is lost
|
| 10 |
+
session_timeout = 3600
|
| 11 |
+
|
| 12 |
+
# Duration (in seconds) of the user session expiry
|
| 13 |
+
user_session_timeout = 1296000 # 15 days
|
| 14 |
+
|
| 15 |
+
# Enable third parties caching (e.g LangChain cache)
|
| 16 |
+
cache = false
|
| 17 |
+
|
| 18 |
+
# Authorized origins
|
| 19 |
+
allow_origins = ["*"]
|
| 20 |
+
|
| 21 |
+
[features]
|
| 22 |
+
# Process and display HTML in messages. This can be a security risk (see https://stackoverflow.com/questions/19603097/why-is-it-dangerous-to-render-user-generated-html-or-javascript)
|
| 23 |
+
unsafe_allow_html = false
|
| 24 |
+
|
| 25 |
+
# Process and display mathematical expressions. This can clash with "$" characters in messages.
|
| 26 |
+
latex = false
|
| 27 |
+
|
| 28 |
+
# Automatically tag threads with the current chat profile (if a chat profile is used)
|
| 29 |
+
auto_tag_thread = true
|
| 30 |
+
|
| 31 |
+
# Allow users to edit their own messages
|
| 32 |
+
edit_message = true
|
| 33 |
+
|
| 34 |
+
# Authorize users to spontaneously upload files with messages
|
| 35 |
+
[features.spontaneous_file_upload]
|
| 36 |
+
enabled = true
|
| 37 |
+
# Define accepted file types using MIME types
|
| 38 |
+
# Examples:
|
| 39 |
+
# 1. For specific file types:
|
| 40 |
+
# accept = ["image/jpeg", "image/png", "application/pdf"]
|
| 41 |
+
# 2. For all files of certain type:
|
| 42 |
+
# accept = ["image/*", "audio/*", "video/*"]
|
| 43 |
+
# 3. For specific file extensions:
|
| 44 |
+
# accept = { "application/octet-stream" = [".xyz", ".pdb"] }
|
| 45 |
+
# Note: Using "*/*" is not recommended as it may cause browser warnings
|
| 46 |
+
accept = ["*/*"]
|
| 47 |
+
max_files = 20
|
| 48 |
+
max_size_mb = 500
|
| 49 |
+
|
| 50 |
+
[features.audio]
|
| 51 |
+
# Sample rate of the audio
|
| 52 |
+
sample_rate = 24000
|
| 53 |
+
|
| 54 |
+
[UI]
|
| 55 |
+
# Name of the assistant.
|
| 56 |
+
name = "Assistant"
|
| 57 |
+
|
| 58 |
+
# default_theme = "dark"
|
| 59 |
+
|
| 60 |
+
# layout = "wide"
|
| 61 |
+
|
| 62 |
+
# Description of the assistant. This is used for HTML tags.
|
| 63 |
+
# description = ""
|
| 64 |
+
|
| 65 |
+
# Chain of Thought (CoT) display mode. Can be "hidden", "tool_call" or "full".
|
| 66 |
+
cot = "full"
|
| 67 |
+
|
| 68 |
+
# Link to your github repo. This will add a github button in the UI's header.
|
| 69 |
+
# github = ""
|
| 70 |
+
|
| 71 |
+
# Specify a CSS file that can be used to customize the user interface.
|
| 72 |
+
# The CSS file can be served from the public directory or via an external link.
|
| 73 |
+
# custom_css = "/public/test.css"
|
| 74 |
+
|
| 75 |
+
# Specify a Javascript file that can be used to customize the user interface.
|
| 76 |
+
# The Javascript file can be served from the public directory.
|
| 77 |
+
# custom_js = "/public/test.js"
|
| 78 |
+
|
| 79 |
+
# Specify a custom meta image url.
|
| 80 |
+
# custom_meta_image_url = "https://chainlit-cloud.s3.eu-west-3.amazonaws.com/logo/chainlit_banner.png"
|
| 81 |
+
|
| 82 |
+
# Specify a custom build directory for the frontend.
|
| 83 |
+
# This can be used to customize the frontend code.
|
| 84 |
+
# Be careful: If this is a relative path, it should not start with a slash.
|
| 85 |
+
# custom_build = "./public/build"
|
| 86 |
+
|
| 87 |
+
[meta]
|
| 88 |
+
generated_by = "2.0.4"
|
backend/.chainlit/translations/bn.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "\u098f\u09aa\u09bf\u0986\u0987 \u0995\u09c0",
|
| 10 |
+
"logout": "\u09b2\u0997\u0986\u0989\u099f"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u09a8\u09a4\u09c1\u09a8 \u0986\u09a1\u09cd\u09a1\u09be"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u0995\u09be\u09b0\u09cd\u09af \u09a4\u09be\u09b2\u09bf\u0995\u09be",
|
| 22 |
+
"loading": "\u09b2\u09cb\u09a1\u0964\u0964\u0964",
|
| 23 |
+
"error": "\u098f\u0995\u099f\u09bf \u09a4\u09cd\u09b0\u09c1\u099f\u09bf \u09b8\u0982\u0998\u099f\u09bf\u09a4 \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u0986\u09aa\u09b2\u09cb\u09a1 \u09ac\u09be\u09a4\u09bf\u09b2 \u0995\u09b0\u09c1\u09a8",
|
| 28 |
+
"removeAttachment": "\u09b8\u0982\u09af\u09c1\u0995\u09cd\u09a4\u09bf \u09b8\u09b0\u09be\u09a8"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09ac\u09c7\u09a8?",
|
| 32 |
+
"clearChat": "\u098f\u099f\u09bf \u09ac\u09b0\u09cd\u09a4\u09ae\u09be\u09a8 \u09ac\u09be\u09b0\u09cd\u09a4\u09be\u0997\u09c1\u09b2\u09bf \u09b8\u09be\u09ab \u0995\u09b0\u09ac\u09c7 \u098f\u09ac\u0982 \u098f\u0995\u099f\u09bf \u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09ac\u09c7\u0964",
|
| 33 |
+
"cancel": "\u09ac\u09be\u09a4\u09bf\u09b2",
|
| 34 |
+
"confirm": "\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8",
|
| 38 |
+
"expandMessages": "\u09ac\u09be\u09b0\u09cd\u09a4\u09be\u0997\u09c1\u09b2\u09bf \u09aa\u09cd\u09b0\u09b8\u09be\u09b0\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8",
|
| 39 |
+
"hideChainOfThought": "\u099a\u09bf\u09a8\u09cd\u09a4\u09be\u09b0 \u09b6\u09c3\u0999\u09cd\u0996\u09b2 \u09b2\u09c1\u0995\u09be\u09a8",
|
| 40 |
+
"darkMode": "\u09a1\u09be\u09b0\u09cd\u0995 \u09ae\u09cb\u09a1"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0",
|
| 44 |
+
"running": "\u099a\u09b2\u09ae\u09be\u09a8",
|
| 45 |
+
"took_one": "{{count}} \u09aa\u09a6\u0995\u09cd\u09b7\u09c7\u09aa \u09a8\u09bf\u09af\u09bc\u09c7\u099b\u09c7",
|
| 46 |
+
"took_other": "{{count}}\u099f\u09bf \u09aa\u09a6\u0995\u09cd\u09b7\u09c7\u09aa \u09a8\u09bf\u09af\u09bc\u09c7\u099b\u09c7"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u0985\u09cd\u09af\u09be\u09aa\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09cd\u09b8\u09c7\u09b8 \u0995\u09b0\u09a4\u09c7 \u09b2\u0997\u0987\u09a8 \u0995\u09b0\u09c1\u09a8\u0964",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u0987-\u09ae\u09c7\u0987\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be",
|
| 53 |
+
"password": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1",
|
| 54 |
+
"noAccount": "\u0995\u09cb\u09a8\u0993 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a8\u09c7\u0987?",
|
| 55 |
+
"alreadyHaveAccount": "\u0987\u09a4\u09bf\u09ae\u09a7\u09cd\u09af\u09c7 \u098f\u0995\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u0986\u099b\u09c7?",
|
| 56 |
+
"signup": "\u09b8\u09be\u0987\u09a8 \u0986\u09aa \u0995\u09b0\u09cb",
|
| 57 |
+
"signin": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09cb",
|
| 58 |
+
"or": "\u09ac\u09be",
|
| 59 |
+
"continue": "\u0985\u09ac\u09bf\u09b0\u09a4",
|
| 60 |
+
"forgotPassword": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09ad\u09c1\u09b2\u09c7 \u0997\u09c7\u099b\u09c7\u09a8?",
|
| 61 |
+
"passwordMustContain": "\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1\u09c7 \u0985\u09ac\u09b6\u09cd\u09af\u0987 \u09a5\u09be\u0995\u09a4\u09c7 \u09b9\u09ac\u09c7:",
|
| 62 |
+
"emailRequired": "\u0987\u09ae\u09c7\u09b2 \u098f\u0995\u099f\u09bf \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u09c0\u09af\u09bc \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0",
|
| 63 |
+
"passwordRequired": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09a4\u09c7 \u0985\u0995\u09cd\u09b7\u09ae\u0964",
|
| 67 |
+
"signin": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
|
| 68 |
+
"oauthsignin": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
|
| 69 |
+
"redirect_uri_mismatch": "\u09aa\u09c1\u09a8\u0983\u09a8\u09bf\u09b0\u09cd\u09a6\u09c7\u09b6\u09bf\u09a4 URI OAUTH \u0985\u09cd\u09af\u09be\u09aa \u0995\u09a8\u09ab\u09bf\u0997\u09be\u09b0\u09c7\u09b6\u09a8\u09c7\u09b0 \u09b8\u09be\u09a5\u09c7 \u09ae\u09bf\u09b2\u099b\u09c7 \u09a8\u09be\u0964",
|
| 70 |
+
"oauthcallbackerror": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
|
| 71 |
+
"oauthcreateaccount": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
|
| 72 |
+
"emailcreateaccount": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
|
| 73 |
+
"callback": "\u098f\u0995\u099f\u09bf \u09ad\u09bf\u09a8\u09cd\u09a8 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8\u0964",
|
| 74 |
+
"oauthaccountnotlinked": "\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09b0\u09bf\u099a\u09af\u09bc \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09a4\u09c7, \u0986\u09aa\u09a8\u09bf \u09ae\u09c2\u09b2\u09a4 \u09af\u09c7 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f\u099f\u09bf \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c7\u099b\u09c7\u09a8 \u09b8\u09c7\u0987 \u098f\u0995\u0987 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8\u0964",
|
| 75 |
+
"emailsignin": "\u0987-\u09ae\u09c7\u0987\u09b2\u099f\u09bf \u09aa\u09cd\u09b0\u09c7\u09b0\u09a3 \u0995\u09b0\u09be \u09af\u09be\u09af\u09bc\u09a8\u09bf\u0964",
|
| 76 |
+
"emailverify": "\u0985\u09a8\u09c1\u0997\u09cd\u09b0\u09b9 \u0995\u09b0\u09c7 \u0986\u09aa\u09a8\u09be\u09b0 \u0987\u09ae\u09c7\u09b2\u099f\u09bf \u09af\u09be\u099a\u09be\u0987 \u0995\u09b0\u09c1\u09a8, \u098f\u0995\u099f\u09bf \u09a8\u09a4\u09c1\u09a8 \u0987\u09ae\u09c7\u09b2 \u09aa\u09cd\u09b0\u09c7\u09b0\u09a3 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7\u0964",
|
| 77 |
+
"credentialssignin": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5 \u09b9\u09af\u09bc\u09c7\u099b\u09c7\u0964 \u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09cd\u09b0\u09a6\u09a4\u09cd\u09a4 \u09ac\u09bf\u09ac\u09b0\u09a3\u0997\u09c1\u09b2\u09bf \u09b8\u09a0\u09bf\u0995 \u0995\u09bf\u09a8\u09be \u09a4\u09be \u09aa\u09b0\u09c0\u0995\u09cd\u09b7\u09be \u0995\u09b0\u09c1\u09a8\u0964",
|
| 78 |
+
"sessionrequired": "\u098f\u0987 \u09aa\u09c3\u09b7\u09cd\u09a0\u09be\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09cd\u09b8\u09c7\u09b8 \u0995\u09b0\u09a4\u09c7 \u09a6\u09af\u09bc\u09be \u0995\u09b0\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8\u0964"
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u0986\u09aa\u09a8\u09bf \u09aa\u09cd\u09b0\u09be\u09af\u09bc \u09b8\u09c7\u0996\u09be\u09a8\u09c7 \u09aa\u09cc\u0981\u099b\u09c7\u099b\u09c7\u09a8! \u0986\u09ae\u09b0\u09be \u098f\u0995\u099f\u09bf \u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09be\u09a0\u09bf\u09af\u09bc\u09c7\u099b\u09bf ",
|
| 83 |
+
"verifyEmailLink": "\u0986\u09aa\u09a8\u09be\u09b0 \u09b8\u09be\u0987\u09a8\u0986\u09aa \u09b8\u09ae\u09cd\u09aa\u09c2\u09b0\u09cd\u09a3 \u0995\u09b0\u09a4\u09c7 \u09a6\u09af\u09bc\u09be \u0995\u09b0\u09c7 \u09b8\u09c7\u0987 \u0987\u09ae\u09c7\u09b2\u09c7\u09b0 \u09b2\u09bf\u0999\u09cd\u0995\u099f\u09bf\u09a4\u09c7 \u0995\u09cd\u09b2\u09bf\u0995 \u0995\u09b0\u09c1\u09a8\u0964",
|
| 84 |
+
"didNotReceive": "\u0987\u09ae\u09c7\u0987\u09b2 \u0996\u09c1\u0981\u099c\u09c7 \u09aa\u09be\u099a\u09cd\u099b\u09c7\u09a8 \u09a8\u09be?",
|
| 85 |
+
"resendEmail": "\u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09aa\u09be\u09a0\u09be\u09a8",
|
| 86 |
+
"goBack": "\u09ab\u09bf\u09b0\u09c7 \u09af\u09be\u0993",
|
| 87 |
+
"emailSent": "\u0987\u09ae\u09c7\u09b2 \u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09aa\u09be\u09a0\u09be\u09a8\u09cb \u09b9\u09af\u09bc\u09c7\u099b\u09c7\u0964",
|
| 88 |
+
"verifyEmail": "\u0986\u09aa\u09a8\u09be\u09b0 \u0987\u09ae\u09c7\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be \u09af\u09be\u099a\u09be\u0987 \u0995\u09b0\u09c1\u09a8"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "{{provider}} \u09a6\u09bf\u09af\u09bc\u09c7 \u099a\u09be\u09b2\u09bf\u09af\u09bc\u09c7 \u09af\u09be\u09a8",
|
| 92 |
+
"signup": "{{provider}} \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0986\u09aa \u0995\u09b0\u09c1\u09a8"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u09a8\u09a4\u09c1\u09a8 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0",
|
| 96 |
+
"passwordsMustMatch": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u0985\u09ac\u09b6\u09cd\u09af\u0987 \u09ae\u09bf\u09b2\u09a4\u09c7 \u09b9\u09ac\u09c7",
|
| 97 |
+
"confirmPasswordRequired": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09be \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0",
|
| 98 |
+
"newPassword": "\u09a8\u09a4\u09c1\u09a8 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1",
|
| 99 |
+
"confirmPassword": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8",
|
| 100 |
+
"resetPassword": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09b0\u09bf\u09b8\u09c7\u099f \u0995\u09b0\u09c1\u09a8"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u0987-\u09ae\u09c7\u0987\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be",
|
| 104 |
+
"emailRequired": "\u0987\u09ae\u09c7\u09b2 \u098f\u0995\u099f\u09bf \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u09c0\u09af\u09bc \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0",
|
| 105 |
+
"emailSent": "\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1\u099f\u09bf \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09b8\u09c7\u099f \u0995\u09b0\u09be\u09b0 \u09a8\u09bf\u09b0\u09cd\u09a6\u09c7\u09b6\u09be\u09ac\u09b2\u09c0\u09b0 \u099c\u09a8\u09cd\u09af \u09a6\u09af\u09bc\u09be \u0995\u09b0\u09c7 \u0987\u09ae\u09c7\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be {{email}} \u09aa\u09b0\u09c0\u0995\u09cd\u09b7\u09be \u0995\u09b0\u09c1\u09a8\u0964",
|
| 106 |
+
"enterEmail": "\u0986\u09aa\u09a8\u09be\u09b0 \u0987\u09ae\u09c7\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be \u09b2\u09bf\u0996\u09c1\u09a8 \u098f\u09ac\u0982 \u0986\u09ae\u09b0\u09be \u0986\u09aa\u09a8\u09be\u0995\u09c7 \u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09b8\u09c7\u099f \u0995\u09b0\u09a4\u09c7 \u09a8\u09bf\u09b0\u09cd\u09a6\u09c7\u09b6\u09be\u09ac\u09b2\u09c0 \u09aa\u09be\u09a0\u09be\u09ac\u0964",
|
| 107 |
+
"resendEmail": "\u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09aa\u09be\u09a0\u09be\u09a8",
|
| 108 |
+
"continue": "\u0985\u09ac\u09bf\u09b0\u09a4",
|
| 109 |
+
"goBack": "\u09ab\u09bf\u09b0\u09c7 \u09af\u09be\u0993"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u0987\u09a4\u09bf\u09b9\u09be\u09b8 \u09a6\u09c7\u0996\u09be\u09a8",
|
| 118 |
+
"lastInputs": "\u09b8\u09b0\u09cd\u09ac\u09b6\u09c7\u09b7 \u0987\u09a8\u09aa\u09c1\u099f",
|
| 119 |
+
"noInputs": "\u098f\u09a4 \u09ab\u09be\u0981\u0995\u09be...",
|
| 120 |
+
"loading": "\u09b2\u09cb\u09a1\u0964\u0964\u0964"
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u098f\u0996\u09be\u09a8\u09c7 \u0986\u09aa\u09a8\u09be\u09b0 \u09ac\u09be\u09b0\u09cd\u09a4\u09be \u099f\u09be\u0987\u09aa \u0995\u09b0\u09c1\u09a8..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u09b0\u09c7\u0995\u09b0\u09cd\u09a1\u09bf\u0982 \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09c1\u09a8",
|
| 129 |
+
"stop": "\u09b0\u09c7\u0995\u09b0\u09cd\u09a1\u09bf\u0982 \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u09ac\u09be\u09b0\u09cd\u09a4\u09be \u09aa\u09cd\u09b0\u09c7\u09b0\u09a3 \u0995\u09b0\u09c1\u09a8",
|
| 133 |
+
"stopTask": "\u09b8\u09cd\u099f\u09aa \u099f\u09be\u09b8\u09cd\u0995"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u09ab\u09be\u0987\u09b2 \u09b8\u0982\u09af\u09c1\u0995\u09cd\u09a4 \u0995\u09b0\u09c1\u09a8"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u09b8\u0999\u09cd\u0997\u09c7 \u09a8\u09bf\u09b0\u09cd\u09ae\u09bf\u09a4"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u099a\u09b2\u09ae\u09be\u09a8",
|
| 145 |
+
"executedSuccessfully": "\u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09b8\u09ae\u09cd\u09aa\u09be\u09a6\u09bf\u09a4 \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
|
| 146 |
+
"failed": "\u09ac\u09cd\u09af\u09b0\u09cd\u09a5",
|
| 147 |
+
"feedbackUpdated": "\u09ab\u09bf\u09a1\u09ac\u09cd\u09af\u09be\u0995 \u0986\u09aa\u09a1\u09c7\u099f \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
|
| 148 |
+
"updating": "\u0986\u09a7\u09c1\u09a8\u09bf\u0995\u09c0\u0995\u09b0\u09a3"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u0986\u09aa\u09a8\u09be\u09b0 \u09ab\u09be\u0987\u09b2\u0997\u09c1\u09b2\u09bf \u098f\u0996\u09be\u09a8\u09c7 \u09ab\u09c7\u09b2\u09c7 \u09a6\u09bf\u09a8"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u0986\u09aa\u09b2\u09cb\u09a1 \u0995\u09b0\u09a4\u09c7 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5 \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
|
| 169 |
+
"cancelledUploadOf": "\u098f\u09b0 \u0986\u09aa\u09b2\u09cb\u09a1 \u09ac\u09be\u09a4\u09bf\u09b2",
|
| 170 |
+
"couldNotReachServer": "\u09b8\u09be\u09b0\u09cd\u09ad\u09be\u09b0\u09c7 \u09aa\u09cc\u0981\u099b\u09be\u09a8\u09cb \u09af\u09be\u09af\u09bc\u09a8\u09bf",
|
| 171 |
+
"continuingChat": "\u09aa\u09c2\u09b0\u09cd\u09ac\u09ac\u09b0\u09cd\u09a4\u09c0 \u099a\u09cd\u09af\u09be\u099f \u0985\u09ac\u09bf\u09b0\u09a4 \u09b0\u09be\u0996\u09be"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8 \u09aa\u09cd\u09af\u09be\u09a8\u09c7\u09b2",
|
| 175 |
+
"reset": "\u09b0\u09bf\u09b8\u09c7\u099f",
|
| 176 |
+
"cancel": "\u09ac\u09be\u09a4\u09bf\u09b2",
|
| 177 |
+
"confirm": "\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be: \u09b8\u09ac",
|
| 185 |
+
"feedbackPositive": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be: \u0987\u09a4\u09bf\u09ac\u09be\u099a\u0995",
|
| 186 |
+
"feedbackNegative": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be: \u09a8\u09c7\u09a4\u09bf\u09ac\u09be\u099a\u0995"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u09b8\u09a8\u09cd\u09a7\u09be\u09a8"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u098f\u099f\u09bf \u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u09aa\u09be\u09b6\u09be\u09aa\u09be\u09b6\u09bf \u098f\u09b0 \u09ac\u09be\u09b0\u09cd\u09a4\u09be \u098f\u09ac\u0982 \u0989\u09aa\u09be\u09a6\u09be\u09a8\u0997\u09c1\u09b2\u09bf\u0993 \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09ac\u09c7\u0964",
|
| 194 |
+
"cancel": "\u09ac\u09be\u09a4\u09bf\u09b2",
|
| 195 |
+
"confirm": "\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4",
|
| 196 |
+
"deletingChat": "\u099a\u09cd\u09af\u09be\u099f \u09ae\u09cb\u099b\u09be \u09b9\u099a\u09cd\u099b\u09c7",
|
| 197 |
+
"chatDeleted": "\u099a\u09cd\u09af\u09be\u099f \u09ae\u09cb\u099b\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "\u0985\u09a4\u09c0\u09a4 \u099a\u09cd\u09af\u09be\u099f"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u0996\u09be\u09b2\u09bf\u0964\u0964\u0964",
|
| 204 |
+
"today": "\u0986\u099c",
|
| 205 |
+
"yesterday": "\u0997\u09a4\u0995\u09be\u09b2",
|
| 206 |
+
"previous7days": "Previous 7 \u09a6\u09bf\u09a8",
|
| 207 |
+
"previous30days": "\u09aa\u09c2\u09b0\u09cd\u09ac\u09ac\u09b0\u09cd\u09a4\u09c0 30 \u09a6\u09bf\u09a8"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u09b8\u09be\u0987\u09a1\u09ac\u09be\u09b0 \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8",
|
| 211 |
+
"openSidebar": "\u09b8\u09be\u0987\u09a1\u09ac\u09be\u09b0 \u0996\u09c1\u09b2\u09c1\u09a8"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u099a\u09cd\u09af\u09be\u099f\u09c7 \u09ab\u09bf\u09b0\u09c7 \u09af\u09be\u09a8",
|
| 216 |
+
"chatCreatedOn": "\u098f\u0987 \u099a\u09cd\u09af\u09be\u099f\u099f\u09bf \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09bf\u09b2"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u0986\u09b2\u09be\u09aa",
|
| 221 |
+
"readme": "\u09b0\u09bf\u09a1\u09ae\u09bf"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u09b8\u09b0\u09ac\u09b0\u09be\u09b9\u0995\u09be\u09b0\u09c0\u09a6\u09c7\u09b0 \u0986\u09a8\u09a4\u09c7 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09b8\u0982\u09b0\u0995\u09cd\u09b7\u09a3 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
|
| 234 |
+
"requiredApiKeys": "\u0986\u09ac\u09b6\u09cd\u09af\u0995 API \u0995\u09c0",
|
| 235 |
+
"requiredApiKeysInfo": "\u098f\u0987 \u0985\u09cd\u09af\u09be\u09aa\u099f\u09bf \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09a4\u09c7, \u09a8\u09bf\u09ae\u09cd\u09a8\u09b2\u09bf\u0996\u09bf\u09a4 API \u0995\u09c0\u0997\u09c1\u09b2\u09bf\u09b0 \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u0964 \u0995\u09c0\u0997\u09c1\u09b2\u09bf \u0986\u09aa\u09a8\u09be\u09b0 \u09a1\u09bf\u09ad\u09be\u0987\u09b8\u09c7\u09b0 \u09b8\u09cd\u09a5\u09be\u09a8\u09c0\u09af\u09bc \u09b8\u09cd\u099f\u09cb\u09b0\u09c7\u099c\u09c7 \u09b8\u099e\u09cd\u099a\u09bf\u09a4 \u09b0\u09af\u09bc\u09c7\u099b\u09c7\u0964"
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u0986\u09aa\u09a8\u09bf \u098f\u0987 \u09aa\u09cd\u09b0\u0995\u09b2\u09cd\u09aa\u09c7\u09b0 \u0985\u0982\u09b6 \u09a8\u09a8\u0964"
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u099a\u09cd\u09af\u09be\u099f \u09aa\u09c1\u09a8\u09b0\u09be\u09af\u09bc \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09c1\u09a8"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/en-US.json
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "Settings",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API Keys",
|
| 10 |
+
"logout": "Logout"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "New Chat"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f Task List",
|
| 22 |
+
"loading": "Loading...",
|
| 23 |
+
"error": "An error occurred"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "Cancel upload",
|
| 28 |
+
"removeAttachment": "Remove attachment"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"title": "Create New Chat",
|
| 32 |
+
"description": "This will clear your current chat history. Are you sure you want to continue?",
|
| 33 |
+
"cancelButton": "Cancel",
|
| 34 |
+
"confirmButton": "Confirm",
|
| 35 |
+
"tooltip": "New Chat"
|
| 36 |
+
},
|
| 37 |
+
"settingsModal": {
|
| 38 |
+
"settings": "Settings",
|
| 39 |
+
"expandMessages": "Expand Messages",
|
| 40 |
+
"hideChainOfThought": "Hide Chain of Thought",
|
| 41 |
+
"darkMode": "Dark Mode"
|
| 42 |
+
},
|
| 43 |
+
"detailsButton": {
|
| 44 |
+
"using": "Using",
|
| 45 |
+
"used": "Used"
|
| 46 |
+
},
|
| 47 |
+
"auth": {
|
| 48 |
+
"authLogin": {
|
| 49 |
+
"title": "Login to access the app.",
|
| 50 |
+
"form": {
|
| 51 |
+
"email": "Email address",
|
| 52 |
+
"password": "Password",
|
| 53 |
+
"noAccount": "Don't have an account?",
|
| 54 |
+
"alreadyHaveAccount": "Already have an account?",
|
| 55 |
+
"signup": "Sign Up",
|
| 56 |
+
"signin": "Sign In",
|
| 57 |
+
"or": "OR",
|
| 58 |
+
"continue": "Continue",
|
| 59 |
+
"forgotPassword": "Forgot password?",
|
| 60 |
+
"passwordMustContain": "Your password must contain:",
|
| 61 |
+
"emailRequired": "email is a required field",
|
| 62 |
+
"passwordRequired": "password is a required field"
|
| 63 |
+
},
|
| 64 |
+
"error": {
|
| 65 |
+
"default": "Unable to sign in.",
|
| 66 |
+
"signin": "Try signing in with a different account.",
|
| 67 |
+
"oauthsignin": "Try signing in with a different account.",
|
| 68 |
+
"redirect_uri_mismatch": "The redirect URI is not matching the oauth app configuration.",
|
| 69 |
+
"oauthcallbackerror": "Try signing in with a different account.",
|
| 70 |
+
"oauthcreateaccount": "Try signing in with a different account.",
|
| 71 |
+
"emailcreateaccount": "Try signing in with a different account.",
|
| 72 |
+
"callback": "Try signing in with a different account.",
|
| 73 |
+
"oauthaccountnotlinked": "To confirm your identity, sign in with the same account you used originally.",
|
| 74 |
+
"emailsignin": "The e-mail could not be sent.",
|
| 75 |
+
"emailverify": "Please verify your email, a new email has been sent.",
|
| 76 |
+
"credentialssignin": "Sign in failed. Check the details you provided are correct.",
|
| 77 |
+
"sessionrequired": "Please sign in to access this page."
|
| 78 |
+
}
|
| 79 |
+
},
|
| 80 |
+
"authVerifyEmail": {
|
| 81 |
+
"almostThere": "You're almost there! We've sent an email to ",
|
| 82 |
+
"verifyEmailLink": "Please click on the link in that email to complete your signup.",
|
| 83 |
+
"didNotReceive": "Can't find the email?",
|
| 84 |
+
"resendEmail": "Resend email",
|
| 85 |
+
"goBack": "Go Back",
|
| 86 |
+
"emailSent": "Email sent successfully.",
|
| 87 |
+
"verifyEmail": "Verify your email address"
|
| 88 |
+
},
|
| 89 |
+
"providerButton": {
|
| 90 |
+
"continue": "Continue with {{provider}}",
|
| 91 |
+
"signup": "Sign up with {{provider}}"
|
| 92 |
+
},
|
| 93 |
+
"authResetPassword": {
|
| 94 |
+
"newPasswordRequired": "New password is a required field",
|
| 95 |
+
"passwordsMustMatch": "Passwords must match",
|
| 96 |
+
"confirmPasswordRequired": "Confirm password is a required field",
|
| 97 |
+
"newPassword": "New password",
|
| 98 |
+
"confirmPassword": "Confirm password",
|
| 99 |
+
"resetPassword": "Reset Password"
|
| 100 |
+
},
|
| 101 |
+
"authForgotPassword": {
|
| 102 |
+
"email": "Email address",
|
| 103 |
+
"emailRequired": "email is a required field",
|
| 104 |
+
"emailSent": "Please check the email address {{email}} for instructions to reset your password.",
|
| 105 |
+
"enterEmail": "Enter your email address and we will send you instructions to reset your password.",
|
| 106 |
+
"resendEmail": "Resend email",
|
| 107 |
+
"continue": "Continue",
|
| 108 |
+
"goBack": "Go Back"
|
| 109 |
+
}
|
| 110 |
+
}
|
| 111 |
+
},
|
| 112 |
+
"organisms": {
|
| 113 |
+
"chat": {
|
| 114 |
+
"askFileButton": {
|
| 115 |
+
"dragAndDrop": "Drag and drop files here",
|
| 116 |
+
"sizeLimit": "Limit:",
|
| 117 |
+
"browseFiles": "Browse Files"
|
| 118 |
+
},
|
| 119 |
+
"history": {
|
| 120 |
+
"index": {
|
| 121 |
+
"showHistory": "Show history",
|
| 122 |
+
"lastInputs": "Last Inputs",
|
| 123 |
+
"noInputs": "Such empty...",
|
| 124 |
+
"loading": "Loading..."
|
| 125 |
+
}
|
| 126 |
+
},
|
| 127 |
+
"inputBox": {
|
| 128 |
+
"input": {
|
| 129 |
+
"placeholder": "Type your message here..."
|
| 130 |
+
},
|
| 131 |
+
"speechButton": {
|
| 132 |
+
"start": "Start recording",
|
| 133 |
+
"stop": "Stop recording",
|
| 134 |
+
"loading": "Connecting"
|
| 135 |
+
},
|
| 136 |
+
"SubmitButton": {
|
| 137 |
+
"sendMessage": "Send message",
|
| 138 |
+
"stopTask": "Stop Task"
|
| 139 |
+
},
|
| 140 |
+
"UploadButton": {
|
| 141 |
+
"attachFiles": "Attach files"
|
| 142 |
+
},
|
| 143 |
+
"waterMark": {
|
| 144 |
+
"text": "Built with"
|
| 145 |
+
}
|
| 146 |
+
},
|
| 147 |
+
"Messages": {
|
| 148 |
+
"index": {
|
| 149 |
+
"running": "Running",
|
| 150 |
+
"executedSuccessfully": "executed successfully",
|
| 151 |
+
"failed": "failed",
|
| 152 |
+
"feedbackUpdated": "Feedback updated",
|
| 153 |
+
"updating": "Updating"
|
| 154 |
+
},
|
| 155 |
+
"copyButton": {
|
| 156 |
+
"copyToClipboard": "Copy to clipboard",
|
| 157 |
+
"copied": "Copied!"
|
| 158 |
+
},
|
| 159 |
+
"feedbackButton": {
|
| 160 |
+
"helpful": "Helpful",
|
| 161 |
+
"notHelpful": "Not helpful",
|
| 162 |
+
"editFeedback": "Edit feedback"
|
| 163 |
+
},
|
| 164 |
+
"feedbackDialog": {
|
| 165 |
+
"dialogTitle": "Add a comment",
|
| 166 |
+
"submitButton": "Submit feedback"
|
| 167 |
+
}
|
| 168 |
+
},
|
| 169 |
+
"dropScreen": {
|
| 170 |
+
"dropYourFilesHere": "Drop your files here"
|
| 171 |
+
},
|
| 172 |
+
"index": {
|
| 173 |
+
"failedToUpload": "Failed to upload",
|
| 174 |
+
"cancelledUploadOf": "Cancelled upload of",
|
| 175 |
+
"couldNotReachServer": "Could not reach the server",
|
| 176 |
+
"continuingChat": "Continuing previous chat"
|
| 177 |
+
},
|
| 178 |
+
"settings": {
|
| 179 |
+
"settingsPanel": "Settings panel",
|
| 180 |
+
"reset": "Reset",
|
| 181 |
+
"cancel": "Cancel",
|
| 182 |
+
"confirm": "Confirm"
|
| 183 |
+
}
|
| 184 |
+
},
|
| 185 |
+
"threadHistory": {
|
| 186 |
+
"sidebar": {
|
| 187 |
+
"filters": {
|
| 188 |
+
"FeedbackSelect": {
|
| 189 |
+
"feedbackAll": "Feedback: All",
|
| 190 |
+
"feedbackPositive": "Feedback: Positive",
|
| 191 |
+
"feedbackNegative": "Feedback: Negative"
|
| 192 |
+
},
|
| 193 |
+
"SearchBar": {
|
| 194 |
+
"search": "Search"
|
| 195 |
+
}
|
| 196 |
+
},
|
| 197 |
+
"DeleteThreadButton": {
|
| 198 |
+
"confirmMessage": "This will delete the thread as well as its messages and elements.",
|
| 199 |
+
"cancel": "Cancel",
|
| 200 |
+
"confirm": "Confirm",
|
| 201 |
+
"deletingChat": "Deleting chat",
|
| 202 |
+
"chatDeleted": "Chat deleted"
|
| 203 |
+
},
|
| 204 |
+
"index": {
|
| 205 |
+
"pastChats": "Past Chats"
|
| 206 |
+
},
|
| 207 |
+
"ThreadList": {
|
| 208 |
+
"empty": "Empty...",
|
| 209 |
+
"today": "Today",
|
| 210 |
+
"yesterday": "Yesterday",
|
| 211 |
+
"previous7days": "Previous 7 days",
|
| 212 |
+
"previous30days": "Previous 30 days",
|
| 213 |
+
"noThreads": "No threads found",
|
| 214 |
+
"DeleteDialog": {
|
| 215 |
+
"title": "Confirm deletion",
|
| 216 |
+
"description": "This action cannot be undone",
|
| 217 |
+
"cancel": "Cancel",
|
| 218 |
+
"confirm": "Confirm"
|
| 219 |
+
},
|
| 220 |
+
"RenameDialog": {
|
| 221 |
+
"title": "Rename Thread",
|
| 222 |
+
"description": "Enter a new name for this thread",
|
| 223 |
+
"nameLabel": "Name",
|
| 224 |
+
"namePlaceholder": "Enter new name",
|
| 225 |
+
"cancel": "Cancel",
|
| 226 |
+
"confirm": "Rename"
|
| 227 |
+
},
|
| 228 |
+
"RenameThreadButton": {
|
| 229 |
+
"renamingThread": "Renaming thread",
|
| 230 |
+
"threadRenamed": "Thread renamed!"
|
| 231 |
+
},
|
| 232 |
+
"untitledConversation": "Untitled Conversation"
|
| 233 |
+
},
|
| 234 |
+
"TriggerButton": {
|
| 235 |
+
"closeSidebar": "Close sidebar",
|
| 236 |
+
"openSidebar": "Open sidebar"
|
| 237 |
+
}
|
| 238 |
+
},
|
| 239 |
+
"Thread": {
|
| 240 |
+
"backToChat": "Go back to chat",
|
| 241 |
+
"chatCreatedOn": "This chat was created on"
|
| 242 |
+
}
|
| 243 |
+
},
|
| 244 |
+
"header": {
|
| 245 |
+
"chat": "Chat",
|
| 246 |
+
"readme": "Readme"
|
| 247 |
+
}
|
| 248 |
+
}
|
| 249 |
+
},
|
| 250 |
+
"hooks": {
|
| 251 |
+
"useLLMProviders": {
|
| 252 |
+
"failedToFetchProviders": "Failed to fetch providers:"
|
| 253 |
+
}
|
| 254 |
+
},
|
| 255 |
+
"pages": {
|
| 256 |
+
"Design": {},
|
| 257 |
+
"Env": {
|
| 258 |
+
"savedSuccessfully": "Saved successfully",
|
| 259 |
+
"requiredApiKeys": "Required API Keys",
|
| 260 |
+
"requiredApiKeysInfo": "To use this app, the following API keys are required. The keys are stored on your device's local storage."
|
| 261 |
+
},
|
| 262 |
+
"Page": {
|
| 263 |
+
"notPartOfProject": "You are not part of this project."
|
| 264 |
+
},
|
| 265 |
+
"ResumeButton": {
|
| 266 |
+
"resumeChat": "Resume Chat"
|
| 267 |
+
}
|
| 268 |
+
}
|
| 269 |
+
}
|
backend/.chainlit/translations/gu.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u0ab8\u0ac1\u0aaf\u0acb\u0a9c\u0aa8\u0acb",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API \u0a95\u0ac0\u0a93",
|
| 10 |
+
"logout": "\u0aac\u0ab9\u0abe\u0ab0 \u0aa8\u0ac0\u0a95\u0ab3\u0acb"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u0aa8\u0ab5\u0acb \u0ab8\u0a82\u0ab5\u0abe\u0aa6"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u0a95\u0abe\u0ab0\u0acd\u0aaf \u0aaf\u0abe\u0aa6\u0ac0",
|
| 22 |
+
"loading": "\u0ab2\u0acb\u0aa1 \u0a95\u0ab0\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac7...",
|
| 23 |
+
"error": "\u0aad\u0ac2\u0ab2 \u0a89\u0aa6\u0acd\u0aad\u0ab5\u0ac0"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u0a85\u0aaa\u0ab2\u0acb\u0aa1 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0ac1\u0a82 \u0ab0\u0aa6 \u0a95\u0ab0\u0acb",
|
| 28 |
+
"removeAttachment": "\u0a9c\u0acb\u0aa1\u0abe\u0aa3\u0aa8\u0ac7 \u0aa6\u0ac2\u0ab0 \u0a95\u0ab0\u0acb"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u0ab6\u0ac1\u0a82 \u0aa8\u0ab5\u0ac1\u0a82 \u0ab8\u0a82\u0ab5\u0abe\u0aa6 \u0aac\u0aa8\u0abe\u0ab5\u0ab5\u0ac1\u0a82 \u0a9b\u0ac7?",
|
| 32 |
+
"clearChat": "\u0a86 \u0ab5\u0ab0\u0acd\u0aa4\u0aae\u0abe\u0aa8 \u0ab8\u0a82\u0aa6\u0ac7\u0ab6\u0abe\u0a93\u0aa8\u0ac7 \u0ab8\u0abe\u0aab \u0a95\u0ab0\u0ab6\u0ac7 \u0a85\u0aa8\u0ac7 \u0aa8\u0ab5\u0ac0 \u0ab5\u0abe\u0aa4\u0a9a\u0ac0\u0aa4 \u0ab6\u0ab0\u0ac2 \u0a95\u0ab0\u0ab6\u0ac7.",
|
| 33 |
+
"cancel": "\u0ab0\u0aa6\u0acd\u0aa6",
|
| 34 |
+
"confirm": "\u0a96\u0abe\u0aa4\u0ab0\u0ac0 \u0a95\u0ab0\u0acb"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u0ab8\u0ac1\u0aaf\u0acb\u0a9c\u0aa8\u0acb",
|
| 38 |
+
"expandMessages": "\u0ab8\u0a82\u0aa6\u0ac7\u0ab6\u0abe\u0a93 \u0ab5\u0abf\u0ab8\u0acd\u0aa4\u0ac3\u0aa4 \u0a95\u0ab0\u0acb",
|
| 39 |
+
"hideChainOfThought": "\u0ab5\u0abf\u0a9a\u0abe\u0ab0\u0aa8\u0ac0 \u0ab8\u0abe\u0a82\u0a95\u0ab3 \u0a9b\u0ac1\u0aaa\u0abe\u0ab5\u0acb",
|
| 40 |
+
"darkMode": "\u0a98\u0abe\u0a9f\u0ac0 \u0ab8\u0acd\u0aa5\u0abf\u0aa4\u0abf"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u0ab5\u0abe\u0aaa\u0ab0\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac0\u0a8f",
|
| 44 |
+
"running": "\u0a9a\u0abe\u0ab2\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0ac1 \u0a9b\u0ac7",
|
| 45 |
+
"took_one": "{{count}} \u0aaa\u0a97\u0ab2\u0ac1\u0a82 \u0aad\u0ab0\u0acd\u0aaf\u0ac1\u0a82",
|
| 46 |
+
"took_other": "{{count}} \u0aaa\u0a97\u0ab2\u0abe\u0a82\u0a93 \u0ab2\u0ac0\u0aa7\u0abe"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u0a8f\u0aaa\u0acd\u0ab2\u0abf\u0a95\u0ac7\u0ab6\u0aa8\u0aa8\u0ac7 \u0a8d\u0a95\u0acd\u0ab8\u0ac7\u0ab8 \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 \u0ab2\u0acb\u0a97\u0abf\u0aa8 \u0a95\u0ab0\u0acb.",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u0a88-\u0aae\u0ac7\u0a88\u0ab2 \u0ab8\u0ab0\u0aa8\u0abe\u0aae\u0ac1\u0a82",
|
| 53 |
+
"password": "\u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1",
|
| 54 |
+
"noAccount": "\u0a96\u0abe\u0aa4\u0ac1\u0a82 \u0aa8\u0aa5\u0ac0?",
|
| 55 |
+
"alreadyHaveAccount": "\u0aaa\u0ab9\u0ac7\u0ab2\u0ac7\u0aa5\u0ac0 \u0a9c \u0a96\u0abe\u0aa4\u0ac1\u0a82 \u0a9b\u0ac7?",
|
| 56 |
+
"signup": "\u0ab8\u0abe\u0a87\u0aa8 \u0a85\u0aaa \u0a95\u0ab0\u0acb",
|
| 57 |
+
"signin": "\u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0acb",
|
| 58 |
+
"or": "\u0a85\u0aa5\u0ab5\u0abe",
|
| 59 |
+
"continue": "\u0a9a\u0abe\u0ab2\u0ac1 \u0ab0\u0abe\u0a96\u0acb",
|
| 60 |
+
"forgotPassword": "\u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1 \u0aad\u0ac2\u0ab2\u0ac0 \u0a97\u0aaf\u0abe?",
|
| 61 |
+
"passwordMustContain": "\u0aa4\u0aae\u0abe\u0ab0\u0acb \u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1 \u0ab8\u0aae\u0abe\u0ab5\u0aa4\u0acb \u0a9c \u0ab9\u0acb\u0ab5\u0acb \u0a9c\u0acb\u0a87\u0a8f:",
|
| 62 |
+
"emailRequired": "\u0a88-\u0aae\u0ac7\u0a88\u0ab2 \u0a8f \u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 \u0a95\u0acd\u0ab7\u0ac7\u0aa4\u0acd\u0ab0 \u0a9b\u0ac7",
|
| 63 |
+
"passwordRequired": "\u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1 \u0a8f \u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 \u0a95\u0acd\u0ab7\u0ac7\u0aa4\u0acd\u0ab0 \u0a9b\u0ac7"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u0aaa\u0acd\u0ab0\u0ab5\u0ac7\u0ab6 \u0a95\u0ab0\u0ab5\u0abe\u0aae\u0abe\u0a82 \u0a85\u0ab8\u0aae\u0ab0\u0acd\u0aa5.",
|
| 67 |
+
"signin": "\u0a85\u0ab2\u0a97 \u0a96\u0abe\u0aa4\u0abe \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0aa4\u0acd\u0aa8 \u0a95\u0ab0\u0acb.",
|
| 68 |
+
"oauthsignin": "\u0a85\u0ab2\u0a97 \u0a96\u0abe\u0aa4\u0abe \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0aa4\u0acd\u0aa8 \u0a95\u0ab0\u0acb.",
|
| 69 |
+
"redirect_uri_mismatch": "\u0ab0\u0ac0\u0aa1\u0abe\u0aaf\u0ab0\u0ac7\u0a95\u0acd\u0a9f URI \u0a8f oauth \u0a8f\u0aaa\u0acd\u0ab2\u0abf\u0a95\u0ac7\u0ab6\u0aa8 \u0ab0\u0ac2\u0aaa\u0ab0\u0ac7\u0a96\u0abe\u0a82\u0a95\u0aa8 \u0ab8\u0abe\u0aa5\u0ac7 \u0aac\u0a82\u0aa7\u0aac\u0ac7\u0ab8\u0aa4\u0ac0 \u0aa8\u0aa5\u0ac0.",
|
| 70 |
+
"oauthcallbackerror": "\u0a85\u0ab2\u0a97 \u0a96\u0abe\u0aa4\u0abe \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0aa4\u0acd\u0aa8 \u0a95\u0ab0\u0acb.",
|
| 71 |
+
"oauthcreateaccount": "\u0a85\u0ab2\u0a97 \u0a96\u0abe\u0aa4\u0abe \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0aa4\u0acd\u0aa8 \u0a95\u0ab0\u0acb.",
|
| 72 |
+
"emailcreateaccount": "\u0a85\u0ab2\u0a97 \u0a96\u0abe\u0aa4\u0abe \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0aa4\u0acd\u0aa8 \u0a95\u0ab0\u0acb.",
|
| 73 |
+
"callback": "\u0a85\u0ab2\u0a97 \u0a96\u0abe\u0aa4\u0abe \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0aa4\u0acd\u0aa8 \u0a95\u0ab0\u0acb.",
|
| 74 |
+
"oauthaccountnotlinked": "\u0aa4\u0aae\u0abe\u0ab0\u0ac0 \u0a93\u0ab3\u0a96\u0aa8\u0ac0 \u0aaa\u0ac1\u0ab7\u0acd\u0a9f\u0abf \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7, \u0aa4\u0aae\u0ac7 \u0a9c\u0ac7 \u0aae\u0ac2\u0ab3\u0aad\u0ac2\u0aa4 \u0ab0\u0ac0\u0aa4\u0ac7 \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acd\u0aaf\u0acb \u0ab9\u0aa4\u0acb \u0aa4\u0ac7 \u0a9c \u0a8f\u0a95\u0abe\u0a89\u0aa8\u0acd\u0a9f \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0acb.",
|
| 75 |
+
"emailsignin": "\u0a88-\u0aae\u0ac7\u0a88\u0ab2 \u0aae\u0acb\u0a95\u0ab2\u0ac0 \u0ab6\u0a95\u0abe\u0aaf\u0acb \u0aa8\u0ab9\u0abf.",
|
| 76 |
+
"emailverify": "\u0a95\u0ac3\u0aaa\u0abe \u0a95\u0ab0\u0ac0\u0aa8\u0ac7 \u0aa4\u0aae\u0abe\u0ab0\u0abe \u0a87\u0aae\u0ac7\u0a87\u0ab2\u0aa8\u0ac0 \u0a96\u0abe\u0aa4\u0acd\u0ab0\u0ac0 \u0a95\u0ab0\u0acb, \u0a8f\u0a95 \u0aa8\u0ab5\u0ac1\u0a82 \u0a87\u0aae\u0ac7\u0a87\u0ab2 \u0aae\u0acb\u0a95\u0ab2\u0ab5\u0abe\u0aae\u0abe\u0a82 \u0a86\u0ab5\u0acd\u0aaf\u0ac1\u0a82 \u0a9b\u0ac7.",
|
| 77 |
+
"credentialssignin": "\u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0aa8\u0abf\u0ab7\u0acd\u0aab\u0ab3. \u0aa4\u0aae\u0ac7 \u0aaa\u0ac2\u0ab0\u0ac0 \u0aaa\u0abe\u0aa1\u0ac7\u0ab2\u0ac0 \u0ab5\u0abf\u0a97\u0aa4\u0acb \u0ab8\u0abe\u0a9a\u0ac0 \u0a9b\u0ac7 \u0aa4\u0ac7 \u0a9a\u0a95\u0abe\u0ab8\u0acb.",
|
| 78 |
+
"sessionrequired": "\u0a95\u0ac3\u0aaa\u0abe \u0a95\u0ab0\u0ac0\u0aa8\u0ac7 \u0a86 \u0aaa\u0ac3\u0ab7\u0acd\u0aa0\u0aa8\u0ac7 \u0a8d\u0a95\u0acd\u0ab8\u0ac7\u0ab8 \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0acb."
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u0aa4\u0aae\u0ac7 \u0aa4\u0acb \u0ab2\u0a97\u0aad\u0a97 \u0aa4\u0acd\u0aaf\u0abe\u0a82 \u0a9c \u0a9b\u0acb! \u0a85\u0aae\u0ac7 \u0a86\u0aa8\u0abe \u0aaa\u0ab0 \u0a87\u0aae\u0ac7\u0a87\u0ab2 \u0aae\u0acb\u0a95\u0ab2\u0acd\u0aaf\u0acb \u0a9b\u0ac7 ",
|
| 83 |
+
"verifyEmailLink": "\u0aa4\u0aae\u0abe\u0ab0\u0ac1\u0a82 \u0ab8\u0abe\u0a87\u0aa8\u0a85\u0aaa \u0aaa\u0ac2\u0ab0\u0acd\u0aa3 \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 \u0a95\u0ac3\u0aaa\u0abe \u0a95\u0ab0\u0ac0\u0aa8\u0ac7 \u0aa4\u0ac7 \u0a87\u0aae\u0ac7\u0a87\u0ab2\u0aa8\u0ac0 \u0ab2\u0abf\u0a82\u0a95 \u0aaa\u0ab0 \u0a95\u0acd\u0ab2\u0abf\u0a95 \u0a95\u0ab0\u0acb.",
|
| 84 |
+
"didNotReceive": "\u0a88-\u0aae\u0ac7\u0a88\u0ab2 \u0ab6\u0acb\u0aa7\u0ac0 \u0ab6\u0a95\u0aa4\u0abe \u0aa8\u0aa5\u0ac0?",
|
| 85 |
+
"resendEmail": "\u0a87\u0aae\u0ac7\u0a87\u0ab2 \u0aab\u0ab0\u0ac0 \u0aae\u0acb\u0a95\u0ab2\u0acb",
|
| 86 |
+
"goBack": "\u0aaa\u0abe\u0a9b\u0abe \u0a9c\u0abe\u0a93",
|
| 87 |
+
"emailSent": "\u0a88-\u0aae\u0ac7\u0a88\u0ab2 \u0ab8\u0aab\u0ab3\u0aa4\u0abe\u0aaa\u0ac2\u0ab0\u0acd\u0ab5\u0a95 \u0aae\u0acb\u0a95\u0ab2\u0abe\u0a88 \u0a97\u0aaf\u0acb.",
|
| 88 |
+
"verifyEmail": "\u0aa4\u0aae\u0abe\u0ab0\u0abe \u0a87\u0aae\u0ac7\u0a87\u0ab2 \u0a8f\u0aa1\u0acd\u0ab0\u0ac7\u0ab8\u0aa8\u0ac0 \u0a96\u0abe\u0aa4\u0acd\u0ab0\u0ac0 \u0a95\u0ab0\u0acb"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "{{provider}} \u0ab8\u0abe\u0aa5\u0ac7 \u0a9a\u0abe\u0ab2\u0ac1 \u0ab0\u0abe\u0a96\u0acb",
|
| 92 |
+
"signup": "{{provider}} \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0a87\u0aa8 \u0a85\u0aaa \u0a95\u0ab0\u0acb"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u0aa8\u0ab5\u0acb \u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1 \u0a8f \u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 \u0a95\u0acd\u0ab7\u0ac7\u0aa4\u0acd\u0ab0 \u0a9b\u0ac7",
|
| 96 |
+
"passwordsMustMatch": "\u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1\u0acb \u0aac\u0a82\u0aa7\u0aac\u0ac7\u0ab8\u0aa4\u0abe \u0a9c \u0ab9\u0acb\u0ab5\u0abe \u0a9c\u0acb\u0a88\u0a8f",
|
| 97 |
+
"confirmPasswordRequired": "\u0a96\u0abe\u0aa4\u0ab0\u0ac0 \u0a95\u0ab0\u0acb \u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1 \u0a8f \u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 \u0a95\u0acd\u0ab7\u0ac7\u0aa4\u0acd\u0ab0 \u0a9b\u0ac7",
|
| 98 |
+
"newPassword": "\u0aa8\u0ab5\u0acb \u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1",
|
| 99 |
+
"confirmPassword": "\u0a96\u0abe\u0aa4\u0ab0\u0ac0 \u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1",
|
| 100 |
+
"resetPassword": "\u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1\u0aa8\u0ac7 \u0aaa\u0ac1\u0aa8:\u0ab8\u0ac1\u0aaf\u0acb\u0a9c\u0abf\u0aa4 \u0a95\u0ab0\u0acb"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u0a88-\u0aae\u0ac7\u0a88\u0ab2 \u0ab8\u0ab0\u0aa8\u0abe\u0aae\u0ac1\u0a82",
|
| 104 |
+
"emailRequired": "\u0a88-\u0aae\u0ac7\u0a88\u0ab2 \u0a8f \u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 \u0a95\u0acd\u0ab7\u0ac7\u0aa4\u0acd\u0ab0 \u0a9b\u0ac7",
|
| 105 |
+
"emailSent": "\u0ab8\u0ac2\u0a9a\u0aa8\u0abe\u0a93 \u0aae\u0abe\u0a9f\u0ac7 \u0a95\u0ac3\u0aaa\u0abe \u0a95\u0ab0\u0ac0\u0aa8\u0ac7 \u0aa4\u0aae\u0abe\u0ab0\u0ac1\u0a82 \u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1 \u0ab0\u0abf\u0ab8\u0ac5\u0a9f \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 \u0a87\u0aae\u0ac7\u0a87\u0ab2 \u0a8f\u0aa1\u0acd\u0ab0\u0ac7\u0ab8 {{email}} \u0a9a\u0a95\u0abe\u0ab8\u0acb.",
|
| 106 |
+
"enterEmail": "\u0aa4\u0aae\u0abe\u0ab0\u0ac1\u0a82 \u0a87\u0aae\u0ac7\u0a87\u0ab2 \u0a8f\u0aa1\u0acd\u0ab0\u0ac7\u0ab8 \u0aa6\u0abe\u0a96\u0ab2 \u0a95\u0ab0\u0acb \u0a85\u0aa8\u0ac7 \u0a85\u0aae\u0ac7 \u0aa4\u0aae\u0abe\u0ab0\u0acb \u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1 \u0ab0\u0ac0\u0ab8\u0ac7\u0a9f \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 \u0aa4\u0aae\u0aa8\u0ac7 \u0ab8\u0ac2\u0a9a\u0aa8\u0abe\u0a93 \u0aae\u0acb\u0a95\u0ab2\u0ac0\u0ab6\u0ac1\u0a82.",
|
| 107 |
+
"resendEmail": "\u0a87\u0aae\u0ac7\u0a87\u0ab2 \u0aab\u0ab0\u0ac0 \u0aae\u0acb\u0a95\u0ab2\u0acb",
|
| 108 |
+
"continue": "\u0a9a\u0abe\u0ab2\u0ac1 \u0ab0\u0abe\u0a96\u0acb",
|
| 109 |
+
"goBack": "\u0aaa\u0abe\u0a9b\u0abe \u0a9c\u0abe\u0a93"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u0a87\u0aa4\u0abf\u0ab9\u0abe\u0ab8 \u0aac\u0aa4\u0abe\u0ab5\u0acb",
|
| 118 |
+
"lastInputs": "\u0a9b\u0ac7\u0ab2\u0acd\u0ab2\u0abe \u0a87\u0aa8\u0aaa\u0ac1\u0a9f\u0acd\u0ab8",
|
| 119 |
+
"noInputs": "\u0a86\u0ab5\u0abe \u0a96\u0abe\u0ab2\u0ac0...",
|
| 120 |
+
"loading": "\u0ab2\u0acb\u0aa1 \u0a95\u0ab0\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac7..."
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u0aa4\u0aae\u0abe\u0ab0\u0acb \u0ab8\u0a82\u0aa6\u0ac7\u0ab6\u0acb \u0a85\u0ab9\u0ac0\u0a82 \u0a9f\u0abe\u0a87\u0aaa \u0a95\u0ab0\u0acb..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u0ab0\u0ac7\u0a95\u0acb\u0ab0\u0acd\u0aa1 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0ac1\u0a82 \u0ab6\u0ab0\u0ac2 \u0a95\u0ab0\u0acb",
|
| 129 |
+
"stop": "\u0ab0\u0ac7\u0a95\u0acb\u0ab0\u0acd\u0aa1 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0ac1\u0a82 \u0aac\u0a82\u0aa7 \u0a95\u0ab0\u0acb"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u0ab8\u0a82\u0aa6\u0ac7\u0ab6\u0acb \u0aae\u0acb\u0a95\u0ab2\u0acb",
|
| 133 |
+
"stopTask": "\u0a95\u0abe\u0ab0\u0acd\u0aaf\u0aa8\u0ac7 \u0a85\u0a9f\u0a95\u0abe\u0ab5\u0acb"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u0aab\u0abe\u0a87\u0ab2\u0acb\u0aa8\u0ac7 \u0a9c\u0acb\u0aa1\u0acb"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u0aa8\u0ac0 \u0ab8\u0abe\u0aa5\u0ac7 \u0aac\u0abf\u0ab2\u0acd\u0a9f \u0aa5\u0aaf\u0ac7\u0ab2"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u0a9a\u0abe\u0ab2\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0ac1 \u0a9b\u0ac7",
|
| 145 |
+
"executedSuccessfully": "\u0ab8\u0aab\u0ab3\u0aa4\u0abe\u0aaa\u0ac2\u0ab0\u0acd\u0ab5\u0a95 \u0a9a\u0ab2\u0abe\u0ab5\u0acd\u0aaf\u0ac7\u0ab2 \u0a9b\u0ac7",
|
| 146 |
+
"failed": "\u0aa8\u0abf\u0ab7\u0acd\u0aab\u0ab3",
|
| 147 |
+
"feedbackUpdated": "\u0aaa\u0acd\u0ab0\u0aa4\u0abf\u0ab8\u0abe\u0aa6 \u0ab8\u0ac1\u0aa7\u0abe\u0ab0\u0ac7\u0ab2 \u0a9b\u0ac7",
|
| 148 |
+
"updating": "\u0ab8\u0ac1\u0aa7\u0abe\u0ab0\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac0\u0a8f"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u0aa4\u0aae\u0abe\u0ab0\u0ac0 \u0aab\u0abe\u0a87\u0ab2\u0acb\u0aa8\u0ac7 \u0a85\u0a82\u0ab9\u0abf \u0aae\u0ac2\u0a95\u0acb"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u0a85\u0aaa\u0ab2\u0acb\u0aa1 \u0a95\u0ab0\u0ab5\u0abe\u0aae\u0abe\u0a82 \u0aa8\u0abf\u0ab7\u0acd\u0aab\u0ab3",
|
| 169 |
+
"cancelledUploadOf": "\u0aa8\u0ac1\u0a82 \u0a85\u0aaa\u0ab2\u0acb\u0aa1 \u0ab0\u0aa6 \u0aa5\u0aaf\u0ac7\u0ab2 \u0a9b\u0ac7",
|
| 170 |
+
"couldNotReachServer": "\u0ab8\u0ab0\u0acd\u0ab5\u0ab0 \u0ab8\u0ac1\u0aa7\u0ac0 \u0aaa\u0ab9\u0acb\u0a82\u0a9a\u0ac0 \u0ab6\u0a95\u0acd\u0aaf\u0abe \u0aa8\u0ab9\u0abf\u0a82",
|
| 171 |
+
"continuingChat": "\u0aaa\u0ab9\u0ac7\u0ab2\u0abe\u0aa8\u0ac0 \u0ab5\u0abe\u0aa4\u0a9a\u0ac0\u0aa4\u0aa8\u0ac7 \u0a9a\u0abe\u0ab2\u0ac1 \u0ab0\u0abe\u0a96\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac7"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u0aaa\u0ac7\u0aa8\u0ab2 \u0ab8\u0ac1\u0aaf\u0acb\u0a9c\u0aa8\u0acb",
|
| 175 |
+
"reset": "\u0aaa\u0ac1\u0aa8:\u0ab8\u0ac1\u0aaf\u0acb\u0a9c\u0abf\u0aa4 \u0a95\u0ab0\u0acb",
|
| 176 |
+
"cancel": "\u0ab0\u0aa6\u0acd\u0aa6",
|
| 177 |
+
"confirm": "\u0a96\u0abe\u0aa4\u0ab0\u0ac0 \u0a95\u0ab0\u0acb"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "\u0aaa\u0acd\u0ab0\u0aa4\u0abf\u0ab8\u0abe\u0aa6: \u0aac\u0aa7\u0abe",
|
| 185 |
+
"feedbackPositive": "\u0aaa\u0acd\u0ab0\u0aa4\u0abf\u0ab8\u0abe\u0aa6: \u0ab9\u0a95\u0abe\u0ab0\u0abe\u0aa4\u0acd\u0aae\u0a95",
|
| 186 |
+
"feedbackNegative": "\u0aaa\u0acd\u0ab0\u0aa4\u0abf\u0ab8\u0abe\u0aa6: \u0aa8\u0a95\u0abe\u0ab0\u0abe\u0aa4\u0acd\u0aae\u0a95"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u0ab6\u0acb\u0aa7\u0ab5\u0ac1\u0a82"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u0a86 \u0aa5\u0acd\u0ab0\u0ac7\u0aa1\u0aa8\u0ac0 \u0ab8\u0abe\u0aa5\u0ac7 \u0ab8\u0abe\u0aa5\u0ac7 \u0aa4\u0ac7\u0aa8\u0abe \u0ab8\u0a82\u0aa6\u0ac7\u0ab6\u0abe \u0a85\u0aa8\u0ac7 \u0aa4\u0aa4\u0acd\u0ab5\u0acb\u0aa8\u0ac7 \u0aaa\u0aa3 \u0a95\u0abe\u0aa2\u0ac0 \u0aa8\u0abe\u0a96\u0ab6\u0ac7.",
|
| 194 |
+
"cancel": "\u0ab0\u0aa6\u0acd\u0aa6",
|
| 195 |
+
"confirm": "\u0a96\u0abe\u0aa4\u0ab0\u0ac0 \u0a95\u0ab0\u0acb",
|
| 196 |
+
"deletingChat": "\u0a9a\u0ac5\u0a9f\u0aa8\u0ac7 \u0a95\u0abe\u0aa2\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac0\u0a8f",
|
| 197 |
+
"chatDeleted": "\u0a9a\u0ac5\u0a9f \u0aa1\u0abf\u0ab2\u0ac0\u0a9f \u0aa5\u0a88 \u0a97\u0a88"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "\u0aad\u0ac2\u0aa4\u0a95\u0abe\u0ab3\u0aa8\u0ac0 \u0ab5\u0abe\u0aa4\u0a9a\u0ac0\u0aa4\u0acb"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u0a96\u0abe\u0ab2\u0ac0...",
|
| 204 |
+
"today": "\u0a86\u0a9c\u0ac7",
|
| 205 |
+
"yesterday": "\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7",
|
| 206 |
+
"previous7days": "\u0aaa\u0ab9\u0ac7\u0ab2\u0abe\u0aa8\u0abe \u0aed \u0aa6\u0abf\u0ab5\u0ab8\u0acb",
|
| 207 |
+
"previous30days": "\u0aaa\u0ab9\u0ac7\u0ab2\u0abe\u0aa8\u0abe \u0ae9\u0ae6 \u0aa6\u0abf\u0ab5\u0ab8\u0acb"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u0aac\u0abe\u0a9c\u0ac1\u0aaa\u0a9f\u0acd\u0a9f\u0ac0\u0aa8\u0ac7 \u0aac\u0a82\u0aa7 \u0a95\u0ab0\u0acb",
|
| 211 |
+
"openSidebar": "\u0aac\u0abe\u0a9c\u0ac1\u0aaa\u0a9f\u0acd\u0a9f\u0ac0 \u0a96\u0acb\u0ab2\u0acb"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u0ab8\u0a82\u0ab5\u0abe\u0aa6\u0aae\u0abe\u0a82 \u0aaa\u0abe\u0a9b\u0abe \u0a9c\u0abe\u0a93",
|
| 216 |
+
"chatCreatedOn": "\u0a86 \u0ab5\u0abe\u0aa4\u0a9a\u0ac0\u0aa4 \u0aa4\u0ac7\u0aa8\u0ac0 \u0aaa\u0ab0 \u0aac\u0aa8\u0abe\u0ab5\u0ac7\u0ab2 \u0ab9\u0aa4\u0ac0"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u0ab8\u0a82\u0ab5\u0abe\u0aa6",
|
| 221 |
+
"readme": "\u0ab0\u0ac0\u0aa1\u0aae\u0ac7"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u0aaa\u0acd\u0ab0\u0aa6\u0abe\u0aa4\u0abe\u0a93\u0aa8\u0ac7 \u0ab2\u0abe\u0ab5\u0ab5\u0abe\u0aae\u0abe\u0a82 \u0aa8\u0abf\u0ab7\u0acd\u0aab\u0ab3\u0aa4\u0abe:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u0ab8\u0aab\u0ab3\u0aa4\u0abe\u0aaa\u0ac2\u0ab0\u0acd\u0ab5\u0a95 \u0ab8\u0a82\u0a97\u0acd\u0ab0\u0ab9\u0abe\u0aaf\u0ac7\u0ab2",
|
| 234 |
+
"requiredApiKeys": "\u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 API \u0a95\u0ac0\u0a93",
|
| 235 |
+
"requiredApiKeysInfo": "\u0a86 \u0a8f\u0aaa\u0acd\u0ab2\u0abf\u0a95\u0ac7\u0ab6\u0aa8\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7, \u0aa8\u0ac0\u0a9a\u0ac7\u0aa8\u0ac0 API \u0a95\u0ac0\u0a93 \u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 \u0a9b\u0ac7. \u0a95\u0ac0\u0a93 \u0aa4\u0aae\u0abe\u0ab0\u0abe \u0aa1\u0abf\u0ab5\u0abe\u0a87\u0ab8\u0aa8\u0abe \u0ab8\u0acd\u0aa5\u0abe\u0aa8\u0abf\u0a95 \u0ab8\u0acd\u0a9f\u0acb\u0ab0\u0ac7\u0a9c \u0aaa\u0ab0 \u0ab8\u0a82\u0a97\u0acd\u0ab0\u0ab9\u0abf\u0aa4 \u0aa5\u0abe\u0aaf \u0a9b\u0ac7."
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u0aa4\u0aae\u0ac7 \u0a86 \u0aaa\u0acd\u0ab0\u0acb\u0a9c\u0ac7\u0a95\u0acd\u0a9f\u0aa8\u0acb \u0aad\u0abe\u0a97 \u0aa8\u0aa5\u0ac0."
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u0aab\u0ab0\u0ac0 \u0ab6\u0ab0\u0ac2 \u0a95\u0ab0\u0acb \u0ab8\u0a82\u0ab5\u0abe\u0aa6"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/he-IL.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u05d4\u05d2\u05d3\u05e8\u05d5\u05ea",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API Keys",
|
| 10 |
+
"logout": "\u05d4\u05ea\u05e0\u05ea\u05e7"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u05e6'\u05d0\u05d8 \u05d7\u05d3\u05e9"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f Task List",
|
| 22 |
+
"loading": "\u05d8\u05d5\u05e2\u05df...",
|
| 23 |
+
"error": "\u05e9\u05d2\u05d9\u05d0\u05d4"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u05d1\u05d8\u05dc \u05d4\u05e2\u05dc\u05d0\u05d4",
|
| 28 |
+
"removeAttachment": "\u05d4\u05e1\u05e8 \u05e7\u05d5\u05d1\u05e5 \u05de\u05e6\u05d5\u05e8\u05e3"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u05e6\u05d5\u05e8 \u05e6'\u05d0\u05d8 \u05d7\u05d3\u05e9?",
|
| 32 |
+
"clearChat": "\u05e4\u05e2\u05d5\u05dc\u05d4 \u05d6\u05d5 \u05ea\u05e0\u05e7\u05d4 \u05d0\u05ea \u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05d4\u05e0\u05d5\u05db\u05d7\u05d9\u05d5\u05ea \u05d5\u05ea\u05ea\u05d7\u05d9\u05dc \u05e6'\u05d0\u05d8 \u05d7\u05d3\u05e9.",
|
| 33 |
+
"cancel": "\u05d1\u05d8\u05dc",
|
| 34 |
+
"confirm": "\u05d0\u05e9\u05e8"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u05d4\u05d2\u05d3\u05e8\u05d5\u05ea",
|
| 38 |
+
"expandMessages": "\u05d4\u05e8\u05d7\u05d1 \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea",
|
| 39 |
+
"hideChainOfThought": "\u05d4\u05e1\u05ea\u05e8 \u05e9\u05e8\u05e9\u05e8\u05ea \u05de\u05d7\u05e9\u05d1\u05d5\u05ea",
|
| 40 |
+
"darkMode": "\u05de\u05e6\u05d1 \u05db\u05d4\u05d4"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u05de\u05e9\u05ea\u05de\u05e9 \u05d1-",
|
| 44 |
+
"running": "\u05e8\u05e5",
|
| 45 |
+
"took_one": "\u05dc\u05e7\u05d7 \u05e6\u05e2\u05d3 {{count}}",
|
| 46 |
+
"took_other": "\u05dc\u05e7\u05d7 \u05e6\u05e2\u05d3\u05d9\u05dd {{count}}"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u05d4\u05ea\u05d7\u05d1\u05e8 \u05db\u05d3\u05d9 \u05dc\u05d2\u05e9\u05ea \u05dc\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4.",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u05db\u05ea\u05d5\u05d1\u05ea \u05d0\u05d9\u05de\u05d9\u05d9\u05dc",
|
| 53 |
+
"password": "\u05e1\u05d9\u05e1\u05de\u05d0",
|
| 54 |
+
"noAccount": "\u05d0\u05d9\u05df \u05dc\u05da \u05d7\u05e9\u05d1\u05d5\u05df?",
|
| 55 |
+
"alreadyHaveAccount": "\u05db\u05d1\u05e8 \u05d9\u05e9 \u05dc\u05da \u05d7\u05e9\u05d1\u05d5\u05df?",
|
| 56 |
+
"signup": "\u05d4\u05d9\u05e8\u05e9\u05dd",
|
| 57 |
+
"signin": "\u05d4\u05d9\u05db\u05e0\u05e1",
|
| 58 |
+
"or": "\u05d0\u05d5",
|
| 59 |
+
"continue": "\u05d4\u05de\u05e9\u05da",
|
| 60 |
+
"forgotPassword": "\u05e9\u05db\u05d7\u05ea \u05e1\u05d9\u05e1\u05de\u05d4?",
|
| 61 |
+
"passwordMustContain": "\u05d4\u05e1\u05d9\u05e1\u05de\u05d4 \u05e9\u05dc\u05da \u05d7\u05d9\u05d9\u05d1\u05ea \u05dc\u05d4\u05db\u05d9\u05dc:",
|
| 62 |
+
"emailRequired": "\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05d4\u05d5\u05d0 \u05e9\u05d3\u05d4 \u05d7\u05d5\u05d1\u05d4",
|
| 63 |
+
"passwordRequired": "\u05e1\u05d9\u05e1\u05de\u05d4 \u05d4\u05d9\u05d0 \u05e9\u05d3\u05d4 \u05d7\u05d5\u05d1\u05d4"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05d9\u05db\u05e0\u05e1.",
|
| 67 |
+
"signin": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05d9\u05db\u05e0\u05e1 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8.",
|
| 68 |
+
"oauthsignin": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05d9\u05db\u05e0\u05e1 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8.",
|
| 69 |
+
"redirect_uri_mismatch": "\u05db\u05ea\u05d5\u05d1\u05ea \u05d4-URI \u05dc\u05d4\u05e4\u05e0\u05d9\u05d4 \u05d0\u05d9\u05e0\u05d4 \u05ea\u05d5\u05d0\u05de\u05ea \u05dc\u05ea\u05e6\u05d5\u05e8\u05ea \u05d4\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4 \u05e9\u05dc oauth.",
|
| 70 |
+
"oauthcallbackerror": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05d9\u05db\u05e0\u05e1 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8.",
|
| 71 |
+
"oauthcreateaccount": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05d9\u05db\u05e0\u05e1 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8.",
|
| 72 |
+
"emailcreateaccount": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05d9\u05db\u05e0\u05e1 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8.",
|
| 73 |
+
"callback": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05d9\u05db\u05e0\u05e1 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8.",
|
| 74 |
+
"oauthaccountnotlinked": "\u05db\u05d3\u05d9 \u05dc\u05d0\u05e9\u05e8 \u05d0\u05ea \u05d6\u05d4\u05d5\u05ea\u05da, \u05d4\u05d9\u05db\u05e0\u05e1 \u05e2\u05dd \u05d0\u05d5\u05ea\u05d5 \u05d7\u05e9\u05d1\u05d5\u05df \u05e9\u05d1\u05d5 \u05d4\u05e9\u05ea\u05de\u05e9\u05ea \u05d1\u05de\u05e7\u05d5\u05e8.",
|
| 75 |
+
"emailsignin": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05e9\u05dc\u05d5\u05d7 \u05d0\u05ea \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc.",
|
| 76 |
+
"emailverify": "\u05d0\u05e0\u05d0 \u05d0\u05e9\u05e8 \u05d0\u05ea \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05e9\u05dc\u05da, \u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05d7\u05d3\u05e9 \u05e0\u05e9\u05dc\u05d7.",
|
| 77 |
+
"credentialssignin": "\u05d4\u05db\u05e0\u05d9\u05e1\u05d4 \u05e0\u05db\u05e9\u05dc\u05d4. \u05d1\u05d3\u05d5\u05e7 \u05e9\u05d4\u05e4\u05e8\u05d8\u05d9\u05dd \u05e9\u05e1\u05d9\u05e4\u05e7\u05ea \u05e0\u05db\u05d5\u05e0\u05d9\u05dd.",
|
| 78 |
+
"sessionrequired": "\u05d0\u05e0\u05d0 \u05d4\u05d9\u05db\u05e0\u05e1 \u05db\u05d3\u05d9 \u05dc\u05d2\u05e9\u05ea \u05dc\u05d3\u05e3 \u05d6\u05d4."
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u05d0\u05ea\u05d4 \u05db\u05de\u05e2\u05d8 \u05e9\u05dd! \u05e9\u05dc\u05d7\u05e0\u05d5 \u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05d0\u05dc ",
|
| 83 |
+
"verifyEmailLink": "\u05d0\u05e0\u05d0 \u05dc\u05d7\u05e5 \u05e2\u05dc \u05d4\u05e7\u05d9\u05e9\u05d5\u05e8 \u05d1\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05d6\u05d4 \u05db\u05d3\u05d9 \u05dc\u05d4\u05e9\u05dc\u05d9\u05dd \u05d0\u05ea \u05d4\u05d4\u05e8\u05e9\u05de\u05d4 \u05e9\u05dc\u05da.",
|
| 84 |
+
"didNotReceive": "\u05dc\u05d0 \u05de\u05d5\u05e6\u05d0 \u05d0\u05ea \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc?",
|
| 85 |
+
"resendEmail": "\u05e9\u05dc\u05d7 \u05e9\u05d5\u05d1 \u05d0\u05d9\u05de\u05d9\u05d9\u05dc",
|
| 86 |
+
"goBack": "\u05d7\u05d6\u05d5\u05e8 \u05d0\u05d7\u05d5\u05e8\u05d4",
|
| 87 |
+
"emailSent": "\u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05e0\u05e9\u05dc\u05d7 \u05d1\u05d4\u05e6\u05dc\u05d7\u05d4.",
|
| 88 |
+
"verifyEmail": "\u05d0\u05de\u05ea \u05d0\u05ea \u05db\u05ea\u05d5\u05d1\u05ea \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05e9\u05dc\u05da"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "\u05d4\u05de\u05e9\u05da \u05e2\u05dd {{provider}}",
|
| 92 |
+
"signup": "\u05d4\u05d9\u05e8\u05e9\u05dd \u05e2\u05dd {{provider}}"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u05e1\u05d9\u05e1\u05de\u05d4 \u05d7\u05d3\u05e9\u05d4 \u05d4\u05d9\u05d0 \u05e9\u05d3\u05d4 \u05d7\u05d5\u05d1\u05d4",
|
| 96 |
+
"passwordsMustMatch": "\u05d4\u05e1\u05d9\u05e1\u05de\u05d0\u05d5\u05ea \u05d7\u05d9\u05d9\u05d1\u05d5\u05ea \u05dc\u05d4\u05ea\u05d0\u05d9\u05dd",
|
| 97 |
+
"confirmPasswordRequired": "\u05d0\u05d9\u05e9\u05d5\u05e8 \u05e1\u05d9\u05e1\u05de\u05d4 \u05d4\u05d5\u05d0 \u05e9\u05d3\u05d4 \u05d7\u05d5\u05d1\u05d4",
|
| 98 |
+
"newPassword": "\u05e1\u05d9\u05e1\u05de\u05d0 \u05d7\u05d3\u05e9\u05d4",
|
| 99 |
+
"confirmPassword": "\u05d0\u05e9\u05e8 \u05e1\u05d9\u05e1\u05de\u05d0",
|
| 100 |
+
"resetPassword": "\u05d0\u05e4\u05e1 \u05e1\u05d9\u05e1\u05de\u05d4"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u05db\u05ea\u05d5\u05d1\u05ea \u05d0\u05d9\u05de\u05d9\u05d9\u05dc",
|
| 104 |
+
"emailRequired": "\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05d4\u05d5\u05d0 \u05e9\u05d3\u05d4 \u05d7\u05d5\u05d1\u05d4",
|
| 105 |
+
"emailSent": "\u05d0\u05e0\u05d0 \u05d1\u05d3\u05d5\u05e7 \u05d0\u05ea \u05db\u05ea\u05d5\u05d1\u05ea \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc {{email}} \u05dc\u05e7\u05d1\u05dc\u05ea \u05d4\u05d5\u05e8\u05d0\u05d5\u05ea \u05dc\u05d0\u05d9\u05e4\u05d5\u05e1 \u05d4\u05e1\u05d9\u05e1\u05de\u05d4 \u05e9\u05dc\u05da.",
|
| 106 |
+
"enterEmail": "\u05d4\u05d6\u05df \u05d0\u05ea \u05db\u05ea\u05d5\u05d1\u05ea \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05e9\u05dc\u05da \u05d5\u05d0\u05e0\u05d5 \u05e0\u05e9\u05dc\u05d7 \u05dc\u05da \u05d4\u05d5\u05e8\u05d0\u05d5\u05ea \u05dc\u05d0\u05d9\u05e4\u05d5\u05e1 \u05d4\u05e1\u05d9\u05e1\u05de\u05d4 \u05e9\u05dc\u05da.",
|
| 107 |
+
"resendEmail": "\u05e9\u05dc\u05d7 \u05e9\u05d5\u05d1 \u05d0\u05d9\u05de\u05d9\u05d9\u05dc",
|
| 108 |
+
"continue": "\u05d4\u05de\u05e9\u05da",
|
| 109 |
+
"goBack": "\u05d7\u05d6\u05d5\u05e8 \u05d0\u05d7\u05d5\u05e8\u05d4"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u05d4\u05e6\u05d2 \u05d4\u05d9\u05e1\u05d8\u05d5\u05e8\u05d9\u05d4",
|
| 118 |
+
"lastInputs": "\u05e7\u05dc\u05d8 \u05d0\u05d7\u05e8\u05d5\u05df",
|
| 119 |
+
"noInputs": "\u05e8\u05d9\u05e7...",
|
| 120 |
+
"loading": "\u05d8\u05d5\u05e2\u05df..."
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u05db\u05ea\u05d5\u05d1 \u05d4\u05d5\u05d3\u05e2\u05d4 \u05db\u05d0\u05df..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u05d4\u05ea\u05d7\u05dc \u05d4\u05e7\u05dc\u05d8\u05d4",
|
| 129 |
+
"stop": "\u05e2\u05e6\u05d5\u05e8 \u05d4\u05e7\u05dc\u05d8\u05d4"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u05e9\u05dc\u05d7 \u05d4\u05d5\u05d3\u05e2\u05d4",
|
| 133 |
+
"stopTask": "\u05e2\u05e6\u05d5\u05e8 \u05de\u05e9\u05d9\u05de\u05d4"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u05e6\u05e8\u05e3 \u05e7\u05d1\u05e6\u05d9\u05dd"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u05e0\u05d1\u05e0\u05d4 \u05e2\u05dd"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u05e8\u05e5",
|
| 145 |
+
"executedSuccessfully": "\u05d1\u05d5\u05e6\u05e2 \u05d1\u05d4\u05e6\u05dc\u05d7\u05d4",
|
| 146 |
+
"failed": "\u05e0\u05db\u05e9\u05dc",
|
| 147 |
+
"feedbackUpdated": "\u05de\u05e9\u05d5\u05d1 \u05e2\u05d5\u05d3\u05db\u05df",
|
| 148 |
+
"updating": "\u05de\u05e2\u05d3\u05db\u05df"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u05e9\u05d7\u05e8\u05e8 \u05d0\u05ea \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd \u05e9\u05dc\u05da \u05db\u05d0\u05df"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u05d4\u05e2\u05dc\u05d0\u05d4 \u05e0\u05db\u05e9\u05dc\u05d4",
|
| 169 |
+
"cancelledUploadOf": "\u05d4\u05e2\u05dc\u05d0\u05d4 \u05e9\u05dc \u05d1\u05d5\u05d8\u05dc\u05d4",
|
| 170 |
+
"couldNotReachServer": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05d4\u05d9\u05d4 \u05dc\u05d4\u05d2\u05d9\u05e2 \u05dc\u05e9\u05e8\u05ea",
|
| 171 |
+
"continuingChat": "\u05de\u05de\u05e9\u05d9\u05da \u05d1\u05e6'\u05d0\u05d8 \u05d4\u05e7\u05d5\u05d3\u05dd"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u05dc\u05d5\u05d7 \u05d4\u05d2\u05d3\u05e8\u05d5\u05ea",
|
| 175 |
+
"reset": "\u05d0\u05e4\u05e1",
|
| 176 |
+
"cancel": "\u05d1\u05d8\u05dc",
|
| 177 |
+
"confirm": "\u05d0\u05e9\u05e8"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "\u05de\u05e9\u05d5\u05d1: \u05d4\u05db\u05dc",
|
| 185 |
+
"feedbackPositive": "\u05de\u05e9\u05d5\u05d1: \u05d7\u05d9\u05d5\u05d1\u05d9",
|
| 186 |
+
"feedbackNegative": "\u05de\u05e9\u05d5\u05d1: \u05e9\u05dc\u05d9\u05dc\u05d9"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u05d7\u05d9\u05e4\u05d5\u05e9"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u05e4\u05e2\u05d5\u05dc\u05d4 \u05d6\u05d5 \u05ea\u05de\u05d7\u05e7 \u05d0\u05ea \u05d4\u05e9\u05e8\u05e9\u05d5\u05e8 \u05d5\u05db\u05df \u05d0\u05ea \u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05d5\u05d4\u05e8\u05db\u05d9\u05d1\u05d9\u05dd \u05e9\u05dc\u05d5.",
|
| 194 |
+
"cancel": "\u05d1\u05d8\u05dc",
|
| 195 |
+
"confirm": "\u05d0\u05e9\u05e8",
|
| 196 |
+
"deletingChat": "\u05de\u05d5\u05d7\u05e7 \u05e6'\u05d0\u05d8",
|
| 197 |
+
"chatDeleted": "\u05d4\u05e6'\u05d0\u05d8 \u05e0\u05de\u05d7\u05e7"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "\u05e6'\u05d0\u05d8\u05d9\u05dd \u05e7\u05d5\u05d3\u05de\u05d9\u05dd"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u05e8\u05d9\u05e7...",
|
| 204 |
+
"today": "\u05d4\u05d9\u05d5\u05dd",
|
| 205 |
+
"yesterday": "\u05d0\u05ea\u05de\u05d5\u05dc",
|
| 206 |
+
"previous7days": "7 \u05d9\u05de\u05d9\u05dd \u05e7\u05d5\u05d3\u05de\u05d9\u05dd",
|
| 207 |
+
"previous30days": "30 \u05d9\u05de\u05d9\u05dd \u05e7\u05d5\u05d3\u05de\u05d9\u05dd"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u05e1\u05d2\u05d5\u05e8 \u05e1\u05e8\u05d2\u05dc \u05e6\u05d3",
|
| 211 |
+
"openSidebar": "\u05e4\u05ea\u05d7 \u05e1\u05e8\u05d2\u05dc \u05e6\u05d3"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u05d7\u05d6\u05d5\u05e8 \u05dc\u05e6'\u05d0\u05d8",
|
| 216 |
+
"chatCreatedOn": "\u05d4\u05e6'\u05d0\u05d8 \u05d4\u05d6\u05d4 \u05e0\u05d5\u05e6\u05e8 \u05d1\u05ea\u05d0\u05e8\u05d9\u05da"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u05e6'\u05d0\u05d8",
|
| 221 |
+
"readme": "\u05d0\u05d5\u05d3\u05d5\u05ea"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u05e0\u05db\u05e9\u05dc\u05d4 \u05d4\u05d1\u05d0\u05ea \u05e1\u05e4\u05e7\u05d9\u05dd:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u05e0\u05e9\u05de\u05e8 \u05d1\u05d4\u05e6\u05dc\u05d7\u05d4",
|
| 234 |
+
"requiredApiKeys": "\u05de\u05e4\u05ea\u05d7\u05d5\u05ea API \u05e0\u05d3\u05e8\u05e9\u05d9\u05dd",
|
| 235 |
+
"requiredApiKeysInfo": "\u05db\u05d3\u05d9 \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4 \u05d6\u05d5, \u05e0\u05d3\u05e8\u05e9\u05d9\u05dd \u05de\u05e4\u05ea\u05d7\u05d5\u05ea \u05d4-API \u05d4\u05d1\u05d0\u05d9\u05dd. \u05d4\u05de\u05e4\u05ea\u05d7\u05d5\u05ea \u05de\u05d0\u05d5\u05d7\u05e1\u05e0\u05d9\u05dd \u05d1\u05d0\u05d7\u05e1\u05d5\u05df \u05d4\u05de\u05e7\u05d5\u05de\u05d9 \u05e9\u05dc \u05d4\u05de\u05db\u05e9\u05d9\u05e8 \u05e9\u05dc\u05da."
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u05d0\u05ea\u05d4 \u05dc\u05d0 \u05d7\u05dc\u05e7 \u05de\u05d4\u05e4\u05e8\u05d5\u05d9\u05e7\u05d8 \u05d4\u05d6\u05d4."
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u05d4\u05de\u05e9\u05da \u05e6'\u05d0\u05d8"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/hi.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938",
|
| 8 |
+
"settingsKey": "\u0926\u0915\u094d\u0937\u093f\u0923\u0940",
|
| 9 |
+
"APIKeys": "\u090f\u092a\u0940\u0906\u0908 \u0915\u0941\u0902\u091c\u0940",
|
| 10 |
+
"logout": "\u0932\u0949\u0917\u0906\u0909\u091f"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u0928\u0908 \u091a\u0948\u091f"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u0915\u093e\u0930\u094d\u092f \u0938\u0942\u091a\u0940",
|
| 22 |
+
"loading": "\u0932\u094b\u0921\u0964\u0964\u0964",
|
| 23 |
+
"error": "\u0915\u094b\u0908 \u0924\u094d\u0930\u0941\u091f\u093f \u0909\u0924\u094d\u092a\u0928\u094d\u0928 \u0939\u0941\u0908"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u0905\u092a\u0932\u094b\u0921 \u0930\u0926\u094d\u0926 \u0915\u0930\u0947\u0902",
|
| 28 |
+
"removeAttachment": "\u0905\u0928\u0941\u0932\u0917\u094d\u0928\u0915 \u0928\u093f\u0915\u093e\u0932\u0947\u0902"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u0928\u0908 \u091a\u0948\u091f \u092c\u0928\u093e\u090f\u0901?",
|
| 32 |
+
"clearChat": "\u092f\u0939 \u0935\u0930\u094d\u0924\u092e\u093e\u0928 \u0938\u0902\u0926\u0947\u0936\u094b\u0902 \u0915\u094b \u0938\u093e\u092b\u093c \u0915\u0930\u0947\u0917\u093e \u0914\u0930 \u090f\u0915 \u0928\u0908 \u091a\u0948\u091f \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0917\u093e\u0964",
|
| 33 |
+
"cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u0928\u093e",
|
| 34 |
+
"confirm": "\u0938\u0941\u0926\u0943\u0922\u093c \u0915\u0930\u0928\u093e"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938",
|
| 38 |
+
"expandMessages": "\u0938\u0902\u0926\u0947\u0936\u094b\u0902 \u0915\u093e \u0935\u093f\u0938\u094d\u0924\u093e\u0930 \u0915\u0930\u0947\u0902",
|
| 39 |
+
"hideChainOfThought": "\u0935\u093f\u091a\u093e\u0930 \u0915\u0940 \u0936\u094d\u0930\u0943\u0902\u0916\u0932\u093e \u091b\u093f\u092a\u093e\u090f\u0902",
|
| 40 |
+
"darkMode": "\u0921\u093e\u0930\u094d\u0915 \u092e\u094b\u0921"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947",
|
| 44 |
+
"running": "\u092d\u093e\u0917\u0928\u093e",
|
| 45 |
+
"took_one": "{{count}} \u0915\u0926\u092e \u0909\u0920\u093e\u092f\u093e",
|
| 46 |
+
"took_other": "{{count}} \u0915\u0926\u092e \u0909\u0920\u093e\u090f"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u0910\u092a \u0924\u0915 \u092a\u0939\u0941\u0902\u091a\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0932\u0949\u0917\u093f\u0928 \u0915\u0930\u0947\u0902\u0964",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u0908\u092e\u0947\u0932 \u092a\u0924\u093e",
|
| 53 |
+
"password": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921",
|
| 54 |
+
"noAccount": "\u0915\u094d\u092f\u093e \u0906\u092a\u0915\u0947 \u092a\u093e\u0938 \u0916\u093e\u0924\u093e \u0928\u0939\u0940\u0902 \u0939\u0948?",
|
| 55 |
+
"alreadyHaveAccount": "\u092a\u0939\u0932\u0947 \u0938\u0947 \u0939\u0940 \u090f\u0915 \u0916\u093e\u0924\u093e \u0939\u0948?",
|
| 56 |
+
"signup": "\u0928\u093e\u092e \u0932\u093f\u0916\u094b",
|
| 57 |
+
"signin": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0947\u0902",
|
| 58 |
+
"or": "\u0928\u0939\u0940\u0902 \u0924\u094b",
|
| 59 |
+
"continue": "\u091c\u093e\u0930\u0940 \u0930\u0916\u0928\u093e",
|
| 60 |
+
"forgotPassword": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u092d\u0942\u0932 \u0917\u090f?",
|
| 61 |
+
"passwordMustContain": "\u0906\u092a\u0915\u0947 \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u092e\u0947\u0902 \u0939\u094b\u0928\u093e \u091a\u093e\u0939\u093f\u090f:",
|
| 62 |
+
"emailRequired": "\u0908\u092e\u0947\u0932 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u092b\u093c\u0940\u0932\u094d\u0921 \u0939\u0948",
|
| 63 |
+
"passwordRequired": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u092b\u093c\u0940\u0932\u094d\u0921 \u0939\u0948"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u092e\u0947\u0902 \u0905\u0938\u092e\u0930\u094d\u0925.",
|
| 67 |
+
"signin": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0915\u0947 \u0926\u0947\u0916\u0947\u0902.",
|
| 68 |
+
"oauthsignin": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0915\u0947 \u0926\u0947\u0916\u0947\u0902.",
|
| 69 |
+
"redirect_uri_mismatch": "\u0930\u0940\u0921\u093e\u092f\u0930\u0947\u0915\u094d\u091f \u092f\u0942\u0906\u0930\u0906\u0908 \u0913\u0925 \u0910\u092a \u0915\u0949\u0928\u094d\u092b\u093c\u093f\u0917\u0930\u0947\u0936\u0928 \u0938\u0947 \u092e\u0947\u0932 \u0928\u0939\u0940\u0902 \u0916\u093e \u0930\u0939\u093e \u0939\u0948\u0964",
|
| 70 |
+
"oauthcallbackerror": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0915\u0947 \u0926\u0947\u0916\u0947\u0902.",
|
| 71 |
+
"oauthcreateaccount": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0915\u0947 \u0926\u0947\u0916\u0947\u0902.",
|
| 72 |
+
"emailcreateaccount": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0915\u0947 \u0926\u0947\u0916\u0947\u0902.",
|
| 73 |
+
"callback": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0915\u0947 \u0926\u0947\u0916\u0947\u0902.",
|
| 74 |
+
"oauthaccountnotlinked": "\u0905\u092a\u0928\u0940 \u092a\u0939\u091a\u093e\u0928 \u0915\u0928\u094d\u092b\u093c\u0930\u094d\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f, \u0909\u0938\u0940 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0947\u0902 \u091c\u093f\u0938\u0915\u093e \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0906\u092a\u0928\u0947 \u092a\u0939\u0932\u0947 \u0915\u093f\u092f\u093e \u0925\u093e.",
|
| 75 |
+
"emailsignin": "\u0908-\u092e\u0947\u0932 \u0928\u0939\u0940\u0902 \u092d\u0947\u091c\u0940 \u091c\u093e \u0938\u0915\u0940.",
|
| 76 |
+
"emailverify": "\u0915\u0943\u092a\u092f\u093e \u0905\u092a\u0928\u093e \u0908\u092e\u0947\u0932 \u0938\u0924\u094d\u092f\u093e\u092a\u093f\u0924 \u0915\u0930\u0947\u0902, \u090f\u0915 \u0928\u092f\u093e \u0908\u092e\u0947\u0932 \u092d\u0947\u091c\u093e \u0917\u092f\u093e \u0939\u0948\u0964",
|
| 77 |
+
"credentialssignin": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0935\u093f\u092b\u0932 \u0930\u0939\u093e. \u091c\u093e\u0902\u091a\u0947\u0902 \u0915\u093f \u0906\u092a\u0915\u0947 \u0926\u094d\u0935\u093e\u0930\u093e \u092a\u094d\u0930\u0926\u093e\u0928 \u0915\u093f\u090f \u0917\u090f \u0935\u093f\u0935\u0930\u0923 \u0938\u0939\u0940 \u0939\u0948\u0902\u0964",
|
| 78 |
+
"sessionrequired": "\u0915\u0943\u092a\u092f\u093e \u0907\u0938 \u092a\u0943\u0937\u094d\u0920 \u0924\u0915 \u092a\u0939\u0941\u0902\u091a\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0947\u0902\u0964"
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u0906\u092a \u0932\u0917\u092d\u0917 \u0935\u0939\u093e\u0901 \u0939\u0948\u0902! \u0939\u092e\u0928\u0947 \u090f\u0915 \u0908\u092e\u0947\u0932 \u092d\u0947\u091c\u093e \u0939\u0948 ",
|
| 83 |
+
"verifyEmailLink": "\u0915\u0943\u092a\u092f\u093e \u0905\u092a\u0928\u093e \u0938\u093e\u0907\u0928\u0905\u092a \u092a\u0942\u0930\u093e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0909\u0938 \u0908\u092e\u0947\u0932 \u092e\u0947\u0902 \u0926\u093f\u090f \u0917\u090f \u0932\u093f\u0902\u0915 \u092a\u0930 \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u0947\u0902\u0964",
|
| 84 |
+
"didNotReceive": "\u0908\u092e\u0947\u0932 \u0928\u0939\u0940\u0902 \u092e\u093f\u0932 \u0930\u0939\u093e \u0939\u0948?",
|
| 85 |
+
"resendEmail": "\u0908\u092e\u0947\u0932 \u092a\u0941\u0928\u0903 \u092d\u0947\u091c\u0947\u0902",
|
| 86 |
+
"goBack": "\u092a\u0938 \u091c\u093e\u0913",
|
| 87 |
+
"emailSent": "\u0908\u092e\u0947\u0932 \u0938\u092b\u0932\u0924\u093e\u092a\u0942\u0930\u094d\u0935\u0915 \u092d\u0947\u091c\u093e \u0917\u092f\u093e\u0964",
|
| 88 |
+
"verifyEmail": "\u0905\u092a\u0928\u093e \u0908\u092e\u0947\u0932 \u092a\u0924\u093e \u0938\u0924\u094d\u092f\u093e\u092a\u093f\u0924 \u0915\u0930\u0947\u0902"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "{{provider}} \u0915\u0947 \u0938\u093e\u0925 \u091c\u093e\u0930\u0940 \u0930\u0916\u0947\u0902",
|
| 92 |
+
"signup": "{{provider}} \u0915\u0947 \u0938\u093e\u0925 \u0938\u093e\u0907\u0928 \u0905\u092a \u0915\u0930\u0947\u0902"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u0928\u092f\u093e \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u092b\u093c\u0940\u0932\u094d\u0921 \u0939\u0948",
|
| 96 |
+
"passwordsMustMatch": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u092e\u0947\u0932 \u0916\u093e\u0928\u093e \u091a\u093e\u0939\u093f\u090f",
|
| 97 |
+
"confirmPasswordRequired": "\u092a\u0941\u0937\u094d\u091f\u093f \u0915\u0930\u0947\u0902 \u0915\u093f \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u092b\u093c\u0940\u0932\u094d\u0921 \u0939\u0948",
|
| 98 |
+
"newPassword": "\u0928\u092f\u093e \u092a\u093e\u0938\u0935\u0930\u094d\u0921",
|
| 99 |
+
"confirmPassword": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0915\u0940 \u092a\u0941\u0937\u094d\u091f\u093f \u0915\u0930\u0947\u0902",
|
| 100 |
+
"resetPassword": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0947\u0902"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u0908\u092e\u0947\u0932 \u092a\u0924\u093e",
|
| 104 |
+
"emailRequired": "\u0908\u092e\u0947\u0932 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u092b\u093c\u0940\u0932\u094d\u0921 \u0939\u0948",
|
| 105 |
+
"emailSent": "\u0905\u092a\u0928\u093e \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0928\u0947 \u0915\u0947 \u0928\u093f\u0930\u094d\u0926\u0947\u0936\u094b\u0902 \u0915\u0947 \u0932\u093f\u090f \u0915\u0943\u092a\u092f\u093e \u0908\u092e\u0947\u0932 \u092a\u0924\u093e {{email}} \u0926\u0947\u0916\u0947\u0902\u0964",
|
| 106 |
+
"enterEmail": "\u0905\u092a\u0928\u093e \u0908\u092e\u0947\u0932 \u092a\u0924\u093e \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902 \u0914\u0930 \u0939\u092e \u0906\u092a\u0915\u094b \u0905\u092a\u0928\u093e \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0928\u093f\u0930\u094d\u0926\u0947\u0936 \u092d\u0947\u091c\u0947\u0902\u0917\u0947\u0964",
|
| 107 |
+
"resendEmail": "\u0908\u092e\u0947\u0932 \u092a\u0941\u0928\u0903 \u092d\u0947\u091c\u0947\u0902",
|
| 108 |
+
"continue": "\u091c\u093e\u0930\u0940 \u0930\u0916\u0928\u093e",
|
| 109 |
+
"goBack": "\u092a\u0938 \u091c\u093e\u0913"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u0907\u0924\u093f\u0939\u093e\u0938 \u0926\u093f\u0916\u093e\u090f\u0902",
|
| 118 |
+
"lastInputs": "\u0905\u0902\u0924\u093f\u092e \u0907\u0928\u092a\u0941\u091f",
|
| 119 |
+
"noInputs": "\u0910\u0938\u0947 \u0916\u093e\u0932\u0940...",
|
| 120 |
+
"loading": "\u0932\u094b\u0921\u0964\u0964\u0964"
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u0905\u092a\u0928\u093e \u0938\u0902\u0926\u0947\u0936 \u092f\u0939\u093e\u0901 \u091f\u093e\u0907\u092a \u0915\u0930\u0947\u0902..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u0930\u093f\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902",
|
| 129 |
+
"stop": "\u0930\u093f\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917 \u092c\u0902\u0926 \u0915\u0930\u094b"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u0938\u0902\u0926\u0947\u0936 \u092d\u0947\u091c\u0947\u0902",
|
| 133 |
+
"stopTask": "\u0915\u093e\u0930\u094d\u092f \u092c\u0902\u0926 \u0915\u0930\u094b"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u092b\u093c\u093e\u0907\u0932\u0947\u0902 \u0905\u0928\u0941\u0932\u0917\u094d\u0928 \u0915\u0930\u0947\u0902"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u0915\u0947 \u0938\u093e\u0925 \u0928\u093f\u0930\u094d\u092e\u093f\u0924"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u092d\u093e\u0917\u0928\u093e",
|
| 145 |
+
"executedSuccessfully": "\u0938\u092b\u0932\u0924\u093e\u092a\u0942\u0930\u094d\u0935\u0915 \u0928\u093f\u0937\u094d\u092a\u093e\u0926\u093f\u0924",
|
| 146 |
+
"failed": "\u0905\u0938\u092b\u0932",
|
| 147 |
+
"feedbackUpdated": "\u092a\u094d\u0930\u0924\u093f\u0915\u094d\u0930\u093f\u092f\u093e \u0905\u092a\u0921\u0947\u091f \u0915\u0940 \u0917\u0908",
|
| 148 |
+
"updating": "\u0905\u0926\u094d\u092f\u0924\u0928"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u0905\u092a\u0928\u0940 \u092b\u093c\u093e\u0907\u0932\u0947\u0902 \u092f\u0939\u093e\u0901 \u0921\u094d\u0930\u0949\u092a \u0915\u0930\u0947\u0902"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u0905\u092a\u0932\u094b\u0921 \u0915\u0930\u0928\u0947 \u092e\u0947\u0902 \u0935\u093f\u092b\u0932",
|
| 169 |
+
"cancelledUploadOf": "\u0915\u093e \u0905\u092a\u0932\u094b\u0921 \u0930\u0926\u094d\u0926 \u0915\u093f\u092f\u093e \u0917\u092f\u093e",
|
| 170 |
+
"couldNotReachServer": "\u0938\u0930\u094d\u0935\u0930 \u0924\u0915 \u0928\u0939\u0940\u0902 \u092a\u0939\u0941\u0901\u091a \u0938\u0915\u093e",
|
| 171 |
+
"continuingChat": "\u092a\u093f\u091b\u0932\u0940 \u091a\u0948\u091f \u091c\u093e\u0930\u0940 \u0930\u0916\u0928\u093e"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938 \u092a\u0948\u0928\u0932",
|
| 175 |
+
"reset": "\u0930\u0940\u0938\u0947\u091f",
|
| 176 |
+
"cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u0928\u093e",
|
| 177 |
+
"confirm": "\u0938\u0941\u0926\u0943\u0922\u093c \u0915\u0930\u0928\u093e"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "\u092a\u094d\u0930\u0924\u093f\u092a\u0941\u0937\u094d\u091f\u093f: \u0938\u092d\u0940",
|
| 185 |
+
"feedbackPositive": "\u092a\u094d\u0930\u0924\u093f\u092a\u0941\u0937\u094d\u091f\u093f: \u0938\u0915\u093e\u0930\u093e\u0924\u094d\u092e\u0915",
|
| 186 |
+
"feedbackNegative": "\u092a\u094d\u0930\u0924\u093f\u092a\u0941\u0937\u094d\u091f\u093f: \u0928\u0915\u093e\u0930\u093e\u0924\u094d\u092e\u0915"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u0922\u0942\u0901\u0922"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u092f\u0939 \u0925\u094d\u0930\u0947\u0921 \u0915\u0947 \u0938\u093e\u0925-\u0938\u093e\u0925 \u0907\u0938\u0915\u0947 \u0938\u0902\u0926\u0947\u0936\u094b\u0902 \u0914\u0930 \u0924\u0924\u094d\u0935\u094b\u0902 \u0915\u094b \u092d\u0940 \u0939\u091f\u093e \u0926\u0947\u0917\u093e\u0964",
|
| 194 |
+
"cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u0928\u093e",
|
| 195 |
+
"confirm": "\u0938\u0941\u0926\u0943\u0922\u093c \u0915\u0930\u0928\u093e",
|
| 196 |
+
"deletingChat": "\u091a\u0948\u091f \u0939\u091f\u093e\u0928\u093e",
|
| 197 |
+
"chatDeleted": "\u091a\u0948\u091f \u0939\u091f\u093e\u0908 \u0917\u0908"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "\u092a\u093f\u091b\u0932\u0940 \u091a\u0948\u091f"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u0916\u093e\u0932\u0940\u0964\u0964\u0964",
|
| 204 |
+
"today": "\u0906\u091c",
|
| 205 |
+
"yesterday": "\u092c\u0940\u0924\u093e \u0939\u0941\u0906 \u0915\u0932",
|
| 206 |
+
"previous7days": "\u092a\u093f\u091b\u0932\u0947 7 \u0926\u093f\u0928",
|
| 207 |
+
"previous30days": "\u092a\u093f\u091b\u0932\u0947 30 \u0926\u093f\u0928"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u0938\u093e\u0907\u0921\u092c\u093e\u0930 \u092c\u0902\u0926 \u0915\u0930\u0947\u0902",
|
| 211 |
+
"openSidebar": "\u0938\u093e\u0907\u0921\u092c\u093e\u0930 \u0916\u094b\u0932\u0947\u0902"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u091a\u0948\u091f \u092a\u0930 \u0935\u093e\u092a\u0938 \u091c\u093e\u090f\u0902",
|
| 216 |
+
"chatCreatedOn": "\u092f\u0939 \u091a\u0948\u091f \u0907\u0938 \u092a\u0930 \u092c\u0928\u093e\u0908 \u0917\u0908 \u0925\u0940"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u091a\u0948\u091f",
|
| 221 |
+
"readme": "\u0930\u0940\u0921\u092e\u0940"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u092a\u094d\u0930\u0926\u093e\u0924\u093e\u0913\u0902 \u0915\u094b \u0932\u093e\u0928\u0947 \u092e\u0947\u0902 \u0935\u093f\u092b\u0932:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u0938\u092b\u0932\u0924\u093e\u092a\u0942\u0930\u094d\u0935\u0915 \u0938\u0939\u0947\u091c\u093e \u0917\u092f\u093e",
|
| 234 |
+
"requiredApiKeys": "\u0906\u0935\u0936\u094d\u092f\u0915 \u090f\u092a\u0940\u0906\u0908 \u0915\u0941\u0902\u091c\u0940",
|
| 235 |
+
"requiredApiKeysInfo": "\u0907\u0938 \u0910\u092a \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f, \u0928\u093f\u092e\u094d\u0928\u0932\u093f\u0916\u093f\u0924 \u090f\u092a\u0940\u0906\u0908 \u0915\u0941\u0902\u091c\u093f\u092f\u094b\u0902 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0939\u094b\u0924\u0940 \u0939\u0948\u0964 \u091a\u093e\u092c\u093f\u092f\u093e\u0901 \u0906\u092a\u0915\u0947 \u0921\u093f\u0935\u093e\u0907\u0938 \u0915\u0947 \u0938\u094d\u0925\u093e\u0928\u0940\u092f \u0938\u0902\u0917\u094d\u0930\u0939\u0923 \u092a\u0930 \u0938\u0902\u0917\u094d\u0930\u0939\u0940\u0924 \u0915\u0940 \u091c\u093e\u0924\u0940 \u0939\u0948\u0902\u0964"
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u0906\u092a \u0907\u0938 \u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e \u0915\u093e \u0939\u093f\u0938\u094d\u0938\u093e \u0928\u0939\u0940\u0902 \u0939\u0948\u0902\u0964"
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u091a\u0948\u091f \u092b\u093f\u0930 \u0938\u0947 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/ja.json
ADDED
|
@@ -0,0 +1,242 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u8a2d\u5b9a",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API\u30ad\u30fc",
|
| 10 |
+
"logout": "\u30ed\u30b0\u30a2\u30a6\u30c8"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u65b0\u3057\u3044\u30c1\u30e3\u30c3\u30c8"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u30bf\u30b9\u30af\u30ea\u30b9\u30c8",
|
| 22 |
+
"loading": "\u8aad\u307f\u8fbc\u307f\u4e2d...",
|
| 23 |
+
"error": "\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u30ad\u30e3\u30f3\u30bb\u30eb",
|
| 28 |
+
"removeAttachment": "\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u65b0\u3057\u3044\u30c1\u30e3\u30c3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u304b\uff1f",
|
| 32 |
+
"clearChat": "\u73fe\u5728\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30af\u30ea\u30a2\u3057\u3066\u65b0\u3057\u3044\u30c1\u30e3\u30c3\u30c8\u3092\u958b\u59cb\u3057\u307e\u3059\u3002",
|
| 33 |
+
"cancel": "\u30ad\u30e3\u30f3\u30bb\u30eb",
|
| 34 |
+
"confirm": "\u78ba\u8a8d"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u8a2d\u5b9a",
|
| 38 |
+
"expandMessages": "\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5c55\u958b\u3059\u308b",
|
| 39 |
+
"hideChainOfThought": "\u601d\u8003\u306e\u9023\u9396\u3092\u96a0\u3059",
|
| 40 |
+
"darkMode": "\u30c0\u30fc\u30af\u30e2\u30fc\u30c9"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u51e6\u7406\u4e2d",
|
| 44 |
+
"used": ""
|
| 45 |
+
},
|
| 46 |
+
"auth": {
|
| 47 |
+
"authLogin": {
|
| 48 |
+
"title": "\u3053\u3061\u3089\u304b\u3089\u30ed\u30b0\u30a4\u30f3",
|
| 49 |
+
"form": {
|
| 50 |
+
"email": "\u30e6\u30fc\u30b6\u30fc\u540d",
|
| 51 |
+
"password": "\u30d1\u30b9\u30ef\u30fc\u30c9",
|
| 52 |
+
"noAccount": "\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093\u304b\uff1f",
|
| 53 |
+
"alreadyHaveAccount": "\u3059\u3067\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u304a\u6301\u3061\u3067\u3059\u304b\uff1f",
|
| 54 |
+
"signup": "\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7",
|
| 55 |
+
"signin": "\u30b5\u30a4\u30f3\u30a4\u30f3",
|
| 56 |
+
"or": "\u307e\u305f\u306f",
|
| 57 |
+
"continue": "\u30ed\u30b0\u30a4\u30f3",
|
| 58 |
+
"forgotPassword": "\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u304a\u5fd8\u308c\u3067\u3059\u304b\uff1f",
|
| 59 |
+
"passwordMustContain": "\u30d1\u30b9\u30ef\u30fc\u30c9\u306b\u306f\u4ee5\u4e0b\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff1a",
|
| 60 |
+
"emailRequired": "\u30e6\u30fc\u30b6\u30fc\u540d\u306f\u5fc5\u9808\u9805\u76ee\u3067\u3059",
|
| 61 |
+
"passwordRequired": "\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5fc5\u9808\u9805\u76ee\u3067\u3059"
|
| 62 |
+
},
|
| 63 |
+
"error": {
|
| 64 |
+
"default": "\u30b5\u30a4\u30f3\u30a4\u30f3\u3067\u304d\u307e\u305b\u3093\u3002",
|
| 65 |
+
"signin": "\u7570\u306a\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 66 |
+
"oauthsignin": "\u7570\u306a\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 67 |
+
"redirect_uri_mismatch": "\u30ea\u30c0\u30a4\u30ec\u30af\u30c8URI\u304cOAuth\u30a2\u30d7\u30ea\u306e\u8a2d\u5b9a\u3068\u4e00\u81f4\u3057\u3066\u3044\u307e\u305b\u3093\u3002",
|
| 68 |
+
"oauthcallbackerror": "\u7570\u306a\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 69 |
+
"oauthcreateaccount": "\u7570\u306a\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 70 |
+
"emailcreateaccount": "\u7570\u306a\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 71 |
+
"callback": "\u7570\u306a\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 72 |
+
"oauthaccountnotlinked": "\u672c\u4eba\u78ba\u8a8d\u306e\u305f\u3081\u3001\u5143\u3005\u4f7f\u7528\u3057\u3066\u3044\u305f\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 73 |
+
"emailsignin": "\u30e1\u30fc\u30eb\u306e\u9001\u4fe1\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002",
|
| 74 |
+
"emailverify": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u65b0\u3057\u3044\u30e1\u30fc\u30eb\u304c\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f\u3002",
|
| 75 |
+
"credentialssignin": "\u30b5\u30a4\u30f3\u30a4\u30f3\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u63d0\u4f9b\u3057\u305f\u60c5\u5831\u304c\u6b63\u3057\u3044\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 76 |
+
"sessionrequired": "\u3053\u306e\u30da\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306b\u306f\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044\u3002"
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"authVerifyEmail": {
|
| 80 |
+
"almostThere": "\u3082\u3046\u5c11\u3057\u3067\u3059\uff01\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3057\u307e\u3057\u305f\uff1a",
|
| 81 |
+
"verifyEmailLink": "\u30e1\u30fc\u30eb\u5185\u306e\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7\u3092\u5b8c\u4e86\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 82 |
+
"didNotReceive": "\u30e1\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u304b\uff1f",
|
| 83 |
+
"resendEmail": "\u30e1\u30fc\u30eb\u3092\u518d\u9001\u4fe1",
|
| 84 |
+
"goBack": "\u623b\u308b",
|
| 85 |
+
"emailSent": "\u30e1\u30fc\u30eb\u304c\u6b63\u5e38\u306b\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f\u3002",
|
| 86 |
+
"verifyEmail": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044"
|
| 87 |
+
},
|
| 88 |
+
"providerButton": {
|
| 89 |
+
"continue": "\u5efa\u8a2d\u5c40\u306e\u65b9\u306f\u3053\u3061\u3089\u304b\u3089\u30ed\u30b0\u30a4\u30f3",
|
| 90 |
+
"signup": "\u5efa\u8a2d\u5c40\u306e\u65b9\u306f\u3053\u3061\u3089\u304b\u3089\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7"
|
| 91 |
+
},
|
| 92 |
+
"authResetPassword": {
|
| 93 |
+
"newPasswordRequired": "\u65b0\u3057\u3044\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5fc5\u9808\u9805\u76ee\u3067\u3059",
|
| 94 |
+
"passwordsMustMatch": "\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u4e00\u81f4\u3057\u307e\u305b\u3093",
|
| 95 |
+
"confirmPasswordRequired": "\u78ba\u8a8d\u7528\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5fc5\u9808\u9805\u76ee\u3067\u3059",
|
| 96 |
+
"newPassword": "\u65b0\u3057\u3044\u30d1\u30b9\u30ef\u30fc\u30c9",
|
| 97 |
+
"confirmPassword": "\u78ba\u8a8d\u7528\u30d1\u30b9\u30ef\u30fc\u30c9",
|
| 98 |
+
"resetPassword": "\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30ea\u30bb\u30c3\u30c8"
|
| 99 |
+
},
|
| 100 |
+
"authForgotPassword": {
|
| 101 |
+
"email": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9",
|
| 102 |
+
"emailRequired": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306f\u5fc5\u9808\u9805\u76ee\u3067\u3059",
|
| 103 |
+
"emailSent": "{{email}}\u5b9b\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30ea\u30bb\u30c3\u30c8\u3059\u308b\u305f\u3081\u306e\u624b\u9806\u304c\u8a18\u8f09\u3055\u308c\u305f\u30e1\u30fc\u30eb\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
|
| 104 |
+
"enterEmail": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30ea\u30bb\u30c3\u30c8\u3059\u308b\u624b\u9806\u3092\u304a\u9001\u308a\u3057\u307e\u3059\u3002",
|
| 105 |
+
"resendEmail": "\u30e1\u30fc\u30eb\u3092\u518d\u9001\u4fe1",
|
| 106 |
+
"continue": "\u7d9a\u884c",
|
| 107 |
+
"goBack": "\u623b\u308b"
|
| 108 |
+
}
|
| 109 |
+
}
|
| 110 |
+
},
|
| 111 |
+
"organisms": {
|
| 112 |
+
"chat": {
|
| 113 |
+
"history": {
|
| 114 |
+
"index": {
|
| 115 |
+
"showHistory": "\u5c65\u6b74\u3092\u8868\u793a",
|
| 116 |
+
"lastInputs": "\u6700\u5f8c\u306e\u5165\u529b",
|
| 117 |
+
"noInputs": "\u30c7\u30fc\u30bf\u304c\u3042\u308a\u307e\u305b\u3093...",
|
| 118 |
+
"loading": "\u8aad\u307f\u8fbc\u307f\u4e2d..."
|
| 119 |
+
}
|
| 120 |
+
},
|
| 121 |
+
"inputBox": {
|
| 122 |
+
"input": {
|
| 123 |
+
"placeholder": "\u3053\u3053\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5165\u529b..."
|
| 124 |
+
},
|
| 125 |
+
"speechButton": {
|
| 126 |
+
"start": "\u9332\u97f3\u3092\u958b\u59cb",
|
| 127 |
+
"stop": "\u9332\u97f3\u3092\u505c\u6b62"
|
| 128 |
+
},
|
| 129 |
+
"SubmitButton": {
|
| 130 |
+
"sendMessage": "\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1",
|
| 131 |
+
"stopTask": "\u30bf\u30b9\u30af\u3092\u505c\u6b62"
|
| 132 |
+
},
|
| 133 |
+
"UploadButton": {
|
| 134 |
+
"attachFiles": "\u30d5\u30a1\u30a4\u30eb\u3092\u6dfb\u4ed8"
|
| 135 |
+
},
|
| 136 |
+
"waterMark": {
|
| 137 |
+
"text": "Built with"
|
| 138 |
+
}
|
| 139 |
+
},
|
| 140 |
+
"Messages": {
|
| 141 |
+
"index": {
|
| 142 |
+
"running": "\u5b9f\u884c\u4e2d",
|
| 143 |
+
"executedSuccessfully": "\u6b63\u5e38\u306b\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f",
|
| 144 |
+
"failed": "\u5931\u6557",
|
| 145 |
+
"feedbackUpdated": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u304c\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f",
|
| 146 |
+
"updating": "\u66f4\u65b0\u4e2d"
|
| 147 |
+
},
|
| 148 |
+
"copyButton": {
|
| 149 |
+
"copyToClipboard": "\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc",
|
| 150 |
+
"copied": "\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\uff01"
|
| 151 |
+
},
|
| 152 |
+
"feedbackButton": {
|
| 153 |
+
"helpful": "\u5f79\u306b\u7acb\u3063\u305f",
|
| 154 |
+
"notHelpful": "\u5f79\u306b\u7acb\u305f\u306a\u304b\u3063\u305f",
|
| 155 |
+
"editFeedback": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u7de8\u96c6"
|
| 156 |
+
},
|
| 157 |
+
"feedbackDialog": {
|
| 158 |
+
"dialogTitle": "\u30b3\u30e1\u30f3\u30c8\u3092\u8ffd\u52a0",
|
| 159 |
+
"submitButton": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u9001\u4fe1"
|
| 160 |
+
}
|
| 161 |
+
},
|
| 162 |
+
"dropScreen": {
|
| 163 |
+
"dropYourFilesHere": "\u3053\u3053\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u30c9\u30ed\u30c3\u30d7\u3057\u3066\u304f\u3060\u3055\u3044"
|
| 164 |
+
},
|
| 165 |
+
"index": {
|
| 166 |
+
"failedToUpload": "\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
|
| 167 |
+
"cancelledUploadOf": "\u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u307e\u3057\u305f\uff1a",
|
| 168 |
+
"couldNotReachServer": "\u30b5\u30fc\u30d0\u30fc\u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f",
|
| 169 |
+
"continuingChat": "\u524d\u56de\u306e\u30c1\u30e3\u30c3\u30c8\u3092\u7d9a\u3051\u308b"
|
| 170 |
+
},
|
| 171 |
+
"settings": {
|
| 172 |
+
"settingsPanel": "\u8a2d\u5b9a\u30d1\u30cd\u30eb",
|
| 173 |
+
"reset": "\u30ea\u30bb\u30c3\u30c8",
|
| 174 |
+
"cancel": "\u30ad\u30e3\u30f3\u30bb\u30eb",
|
| 175 |
+
"confirm": "\u78ba\u8a8d"
|
| 176 |
+
}
|
| 177 |
+
},
|
| 178 |
+
"threadHistory": {
|
| 179 |
+
"sidebar": {
|
| 180 |
+
"filters": {
|
| 181 |
+
"FeedbackSelect": {
|
| 182 |
+
"feedbackAll": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\uff1a\u5168\u3066",
|
| 183 |
+
"feedbackPositive": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\uff1a\u30dd\u30b8\u30c6\u30a3\u30d6",
|
| 184 |
+
"feedbackNegative": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\uff1a\u30cd\u30ac\u30c6\u30a3\u30d6"
|
| 185 |
+
},
|
| 186 |
+
"SearchBar": {
|
| 187 |
+
"search": "\u691c\u7d22"
|
| 188 |
+
}
|
| 189 |
+
},
|
| 190 |
+
"DeleteThreadButton": {
|
| 191 |
+
"confirmMessage": "\u3053\u306e\u30b9\u30ec\u30c3\u30c9\u3068\u305d\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304a\u3088\u3073\u8981\u7d20\u3092\u524a\u9664\u3057\u307e\u3059\u3002",
|
| 192 |
+
"cancel": "\u30ad\u30e3\u30f3\u30bb\u30eb",
|
| 193 |
+
"confirm": "\u78ba\u8a8d",
|
| 194 |
+
"deletingChat": "\u30c1\u30e3\u30c3\u30c8\u3092\u524a\u9664\u4e2d",
|
| 195 |
+
"chatDeleted": "\u30c1\u30e3\u30c3\u30c8\u304c\u524a\u9664\u3055\u308c\u307e\u3057\u305f"
|
| 196 |
+
},
|
| 197 |
+
"index": {
|
| 198 |
+
"pastChats": "\u904e\u53bb\u306e\u30c1\u30e3\u30c3\u30c8"
|
| 199 |
+
},
|
| 200 |
+
"ThreadList": {
|
| 201 |
+
"empty": "\u7a7a\u3067\u3059...",
|
| 202 |
+
"today": "\u4eca\u65e5",
|
| 203 |
+
"yesterday": "\u6628\u65e5",
|
| 204 |
+
"previous7days": "\u904e\u53bb7\u65e5\u9593",
|
| 205 |
+
"previous30days": "\u904e\u53bb30\u65e5\u9593"
|
| 206 |
+
},
|
| 207 |
+
"TriggerButton": {
|
| 208 |
+
"closeSidebar": "\u30b5\u30a4\u30c9\u30d0\u30fc\u3092\u9589\u3058\u308b",
|
| 209 |
+
"openSidebar": "\u30b5\u30a4\u30c9\u30d0\u30fc\u3092\u958b\u304f"
|
| 210 |
+
}
|
| 211 |
+
},
|
| 212 |
+
"Thread": {
|
| 213 |
+
"backToChat": "\u30c1\u30e3\u30c3\u30c8\u306b\u623b\u308b",
|
| 214 |
+
"chatCreatedOn": "\u30c1\u30e3\u30c3\u30c8\u4f5c\u6210\u65e5"
|
| 215 |
+
}
|
| 216 |
+
},
|
| 217 |
+
"header": {
|
| 218 |
+
"chat": "\u30c1\u30e3\u30c3\u30c8",
|
| 219 |
+
"readme": "\u4f7f\u3044\u65b9"
|
| 220 |
+
}
|
| 221 |
+
}
|
| 222 |
+
},
|
| 223 |
+
"hooks": {
|
| 224 |
+
"useLLMProviders": {
|
| 225 |
+
"failedToFetchProviders": "\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u53d6\u5f97\u306b\u5931\u6557\u3057\u307e\u3057\u305f\uff1a"
|
| 226 |
+
}
|
| 227 |
+
},
|
| 228 |
+
"pages": {
|
| 229 |
+
"Design": {},
|
| 230 |
+
"Env": {
|
| 231 |
+
"savedSuccessfully": "\u4fdd\u5b58\u304c\u6210\u529f\u3057\u307e\u3057\u305f",
|
| 232 |
+
"requiredApiKeys": "\u5fc5\u8981\u306aAPI\u30ad\u30fc",
|
| 233 |
+
"requiredApiKeysInfo": "\u3053\u306e\u30a2\u30d7\u30ea\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306eAPI\u30ad\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u30ad\u30fc\u306f\u30c7\u30d0\u30a4\u30b9\u306e\u30ed\u30fc\u30ab\u30eb\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002"
|
| 234 |
+
},
|
| 235 |
+
"Page": {
|
| 236 |
+
"notPartOfProject": "\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e00\u90e8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"
|
| 237 |
+
},
|
| 238 |
+
"ResumeButton": {
|
| 239 |
+
"resumeChat": "\u30c1\u30e3\u30c3\u30c8\u3092\u518d\u958b"
|
| 240 |
+
}
|
| 241 |
+
}
|
| 242 |
+
}
|
backend/.chainlit/translations/kn.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u0cb8\u0cc6\u0c9f\u0ccd\u0c9f\u0cbf\u0c82\u0c97\u0ccd \u0c97\u0cb3\u0cc1",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API \u0c95\u0cc0\u0cb2\u0cbf\u0c97\u0cb3\u0cc1",
|
| 10 |
+
"logout": "\u0cb2\u0cbe\u0c97\u0ccd \u0c94\u0c9f\u0ccd"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u0cb9\u0cca\u0cb8 \u0c9a\u0cbe\u0c9f\u0ccd"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u0c95\u0cbe\u0cb0\u0ccd\u0caf \u0caa\u0c9f\u0ccd\u0c9f\u0cbf",
|
| 22 |
+
"loading": "\u0cb2\u0ccb\u0ca1\u0ccd \u0c86\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6...",
|
| 23 |
+
"error": "\u0ca6\u0ccb\u0cb7 \u0cb8\u0c82\u0cad\u0cb5\u0cbf\u0cb8\u0cbf\u0ca6\u0cc6"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u0c85\u0caa\u0ccd \u0cb2\u0ccb\u0ca1\u0ccd \u0cb0\u0ca6\u0ccd\u0ca6\u0cc1 \u0cae\u0cbe\u0ca1\u0cbf",
|
| 28 |
+
"removeAttachment": "\u0cb2\u0c97\u0ca4\u0ccd\u0ca4\u0cc1 \u0ca4\u0cc6\u0c97\u0cc6\u0ca6\u0cc1\u0cb9\u0cbe\u0c95\u0cbf"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u0cb9\u0cca\u0cb8 \u0c9a\u0cbe\u0c9f\u0ccd \u0cb0\u0c9a\u0cbf\u0cb8\u0cac\u0cc7\u0c95\u0cc6?",
|
| 32 |
+
"clearChat": "\u0c87\u0ca6\u0cc1 \u0caa\u0ccd\u0cb0\u0cb8\u0ccd\u0ca4\u0cc1\u0ca4 \u0cb8\u0c82\u0ca6\u0cc7\u0cb6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca4\u0cc6\u0cb0\u0cb5\u0cc1\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0ca6\u0cc6 \u0cae\u0ca4\u0ccd\u0ca4\u0cc1 \u0cb9\u0cca\u0cb8 \u0c9a\u0cbe\u0c9f\u0ccd \u0c85\u0ca8\u0ccd\u0ca8\u0cc1 \u0caa\u0ccd\u0cb0\u0cbe\u0cb0\u0c82\u0cad\u0cbf\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0ca6\u0cc6.",
|
| 33 |
+
"cancel": "\u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0cae\u0cbe\u0ca1\u0cbf",
|
| 34 |
+
"confirm": "\u0ca6\u0cc3\u0ca2\u0caa\u0ca1\u0cbf\u0cb8\u0cbf"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u0cb8\u0cc6\u0c9f\u0ccd\u0c9f\u0cbf\u0c82\u0c97\u0ccd \u0c97\u0cb3\u0cc1",
|
| 38 |
+
"expandMessages": "\u0cb8\u0c82\u0ca6\u0cc7\u0cb6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0cb5\u0cbf\u0cb8\u0ccd\u0ca4\u0cb0\u0cbf\u0cb8\u0cbf",
|
| 39 |
+
"hideChainOfThought": "\u0c9a\u0cbf\u0c82\u0ca4\u0ca8\u0cc6\u0caf \u0cb8\u0cb0\u0caa\u0cb3\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1 \u0cae\u0cb0\u0cc6\u0cae\u0cbe\u0ca1\u0cc1",
|
| 40 |
+
"darkMode": "\u0ca1\u0cbe\u0cb0\u0ccd\u0c95\u0ccd \u0cae\u0ccb\u0ca1\u0ccd"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u0cac\u0cb3\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6",
|
| 44 |
+
"running": "\u0c9a\u0cb2\u0cbf\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6",
|
| 45 |
+
"took_one": "{{count}} \u0cb9\u0cc6\u0c9c\u0ccd\u0c9c\u0cc6 \u0c87\u0c9f\u0ccd\u0c9f\u0cbf\u0ca6\u0cc6",
|
| 46 |
+
"took_other": "{{count}} \u0cb9\u0cc6\u0c9c\u0ccd\u0c9c\u0cc6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca4\u0cc6\u0c97\u0cc6\u0ca6\u0cc1\u0c95\u0cca\u0c82\u0ca1\u0cb0\u0cc1"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u0c85\u0caa\u0ccd\u0cb2\u0cbf\u0c95\u0cc7\u0cb6\u0ca8\u0ccd \u0caa\u0ccd\u0cb0\u0cb5\u0cc7\u0cb6\u0cbf\u0cb8\u0cb2\u0cc1 \u0cb2\u0cbe\u0c97\u0cbf\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf.",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0cb5\u0cbf\u0cb3\u0cbe\u0cb8",
|
| 53 |
+
"password": "\u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd",
|
| 54 |
+
"noAccount": "\u0c96\u0cbe\u0ca4\u0cc6 \u0c87\u0cb2\u0ccd\u0cb2\u0cb5\u0cc7?",
|
| 55 |
+
"alreadyHaveAccount": "\u0c88\u0c97\u0cbe\u0c97\u0cb2\u0cc7 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0ca8\u0ccd\u0ca8\u0cc1 \u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0ca6\u0ccd\u0ca6\u0cc0\u0cb0\u0cbe?",
|
| 56 |
+
"signup": "\u0cb8\u0cc8\u0ca8\u0ccd \u0c85\u0caa\u0ccd \u0cae\u0cbe\u0ca1\u0cbf",
|
| 57 |
+
"signin": "\u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf",
|
| 58 |
+
"or": "\u0c85\u0ca5\u0cb5\u0cbe",
|
| 59 |
+
"continue": "\u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cbf\u0cb8\u0cbf",
|
| 60 |
+
"forgotPassword": "\u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0cae\u0cb0\u0cc6\u0ca4\u0cbf\u0ca6\u0ccd\u0ca6\u0cc0\u0cb0\u0cbe?",
|
| 61 |
+
"passwordMustContain": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0c87\u0cb5\u0cc1\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0c92\u0cb3\u0c97\u0cca\u0c82\u0ca1\u0cbf\u0cb0\u0cac\u0cc7\u0c95\u0cc1:",
|
| 62 |
+
"emailRequired": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c85\u0cb5\u0cb6\u0ccd\u0caf\u0c95 \u0cab\u0cc0\u0cb2\u0ccd\u0ca1\u0ccd \u0c86\u0c97\u0cbf\u0ca6\u0cc6",
|
| 63 |
+
"passwordRequired": "\u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0c85\u0cb5\u0cb6\u0ccd\u0caf\u0c95 \u0cab\u0cc0\u0cb2\u0ccd\u0ca1\u0ccd \u0c86\u0c97\u0cbf\u0ca6\u0cc6"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0c85\u0cb8\u0cae\u0cb0\u0ccd\u0ca5\u0cb5\u0cbe\u0c97\u0cbf\u0ca6\u0cc6.",
|
| 67 |
+
"signin": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf.",
|
| 68 |
+
"oauthsignin": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf.",
|
| 69 |
+
"redirect_uri_mismatch": "\u0cae\u0cb0\u0cc1\u0ca8\u0cbf\u0cb0\u0ccd\u0ca6\u0cc7\u0cb6\u0ca8\u0ca6 URI \u0c86\u0ccd\u0caf\u0caa\u0ccd \u0c95\u0cbe\u0ca8\u0ccd\u0cab\u0cbf\u0c97\u0cb0\u0cc7\u0cb6\u0ca8\u0ccd \u0c97\u0cc6 \u0cb9\u0ccb\u0cb2\u0cbf\u0c95\u0cc6\u0caf\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0cb2\u0ccd\u0cb2.",
|
| 70 |
+
"oauthcallbackerror": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf.",
|
| 71 |
+
"oauthcreateaccount": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf.",
|
| 72 |
+
"emailcreateaccount": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf.",
|
| 73 |
+
"callback": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf.",
|
| 74 |
+
"oauthaccountnotlinked": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0c97\u0cc1\u0cb0\u0cc1\u0ca4\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca6\u0cc3\u0ca2\u0cc0\u0c95\u0cb0\u0cbf\u0cb8\u0cb2\u0cc1, \u0ca8\u0cc0\u0cb5\u0cc1 \u0cae\u0cc2\u0cb2\u0ca4\u0c83 \u0cac\u0cb3\u0cb8\u0cbf\u0ca6 \u0c85\u0ca6\u0cc7 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf.",
|
| 75 |
+
"emailsignin": "\u0c87-\u0cae\u0cc7\u0cb2\u0ccd \u0c95\u0cb3\u0cc1\u0cb9\u0cbf\u0cb8\u0cb2\u0cc1 \u0cb8\u0cbe\u0ca7\u0ccd\u0caf\u0cb5\u0cbe\u0c97\u0cb2\u0cbf\u0cb2\u0ccd\u0cb2.",
|
| 76 |
+
"emailverify": "\u0ca6\u0caf\u0cb5\u0cbf\u0c9f\u0ccd\u0c9f\u0cc1 \u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0caa\u0cb0\u0cbf\u0cb6\u0cc0\u0cb2\u0cbf\u0cb8\u0cbf, \u0cb9\u0cca\u0cb8 \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c95\u0cb3\u0cc1\u0cb9\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6.",
|
| 77 |
+
"credentialssignin": "\u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cb5\u0cbf\u0cab\u0cb2\u0cb5\u0cbe\u0c97\u0cbf\u0ca6\u0cc6. \u0ca8\u0cc0\u0cb5\u0cc1 \u0c92\u0ca6\u0c97\u0cbf\u0cb8\u0cbf\u0ca6 \u0cb5\u0cbf\u0cb5\u0cb0\u0c97\u0cb3\u0cc1 \u0cb8\u0cb0\u0cbf\u0caf\u0cbe\u0c97\u0cbf\u0cb5\u0cc6\u0caf\u0cc7 \u0c8e\u0c82\u0ca6\u0cc1 \u0caa\u0cb0\u0cbf\u0cb6\u0cc0\u0cb2\u0cbf\u0cb8\u0cbf.",
|
| 78 |
+
"sessionrequired": "\u0c88 \u0caa\u0cc1\u0c9f\u0cb5\u0ca8\u0ccd\u0ca8\u0cc1 \u0caa\u0ccd\u0cb0\u0cb5\u0cc7\u0cb6\u0cbf\u0cb8\u0cb2\u0cc1 \u0ca6\u0caf\u0cb5\u0cbf\u0c9f\u0ccd\u0c9f\u0cc1 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf."
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u0ca8\u0cc0\u0cb5\u0cc1 \u0cac\u0cb9\u0cc1\u0ca4\u0cc7\u0c95 \u0c85\u0cb2\u0ccd\u0cb2\u0cbf\u0ca6\u0ccd\u0ca6\u0cc0\u0cb0\u0cbf! \u0ca8\u0cbe\u0cb5\u0cc1 \u0c97\u0cc6 \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c95\u0cb3\u0cc1\u0cb9\u0cbf\u0cb8\u0cbf\u0ca6\u0ccd\u0ca6\u0cc7\u0cb5\u0cc6 ",
|
| 83 |
+
"verifyEmailLink": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0cb8\u0cc8\u0ca8\u0ccd \u0c85\u0caa\u0ccd \u0caa\u0cc2\u0cb0\u0ccd\u0ca3\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cb2\u0cc1 \u0ca6\u0caf\u0cb5\u0cbf\u0c9f\u0ccd\u0c9f\u0cc1 \u0c86 \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0ca8\u0cb2\u0ccd\u0cb2\u0cbf\u0cb0\u0cc1\u0cb5 \u0cb2\u0cbf\u0c82\u0c95\u0ccd \u0c95\u0ccd\u0cb2\u0cbf\u0c95\u0ccd \u0cae\u0cbe\u0ca1\u0cbf.",
|
| 84 |
+
"didNotReceive": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0cb9\u0cc1\u0ca1\u0cc1\u0c95\u0cb2\u0cc1 \u0cb8\u0cbe\u0ca7\u0ccd\u0caf\u0cb5\u0cbf\u0cb2\u0ccd\u0cb2\u0cb5\u0cc7?",
|
| 85 |
+
"resendEmail": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c85\u0ca8\u0ccd\u0ca8\u0cc1 \u0cae\u0ca4\u0ccd\u0ca4\u0cc6 \u0c95\u0cb3\u0cbf\u0cb8\u0cbf",
|
| 86 |
+
"goBack": "\u0cb9\u0cbf\u0c82\u0ca6\u0cc6 \u0cb9\u0cc6\u0cc2\u0cd5\u0c97\u0cc1",
|
| 87 |
+
"emailSent": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0caf\u0cb6\u0cb8\u0ccd\u0cb5\u0cbf\u0caf\u0cbe\u0c97\u0cbf \u0c95\u0cb3\u0cc1\u0cb9\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6.",
|
| 88 |
+
"verifyEmail": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0cb5\u0cbf\u0cb3\u0cbe\u0cb8\u0cb5\u0ca8\u0ccd\u0ca8\u0cc1 \u0caa\u0cb0\u0cbf\u0cb6\u0cc0\u0cb2\u0cbf\u0cb8\u0cbf"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "{{provider}} \u0ca8\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cbf\u0cb8\u0cbf",
|
| 92 |
+
"signup": "{{provider}} \u0ca8\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c85\u0caa\u0ccd \u0cae\u0cbe\u0ca1\u0cbf"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u0cb9\u0cca\u0cb8 \u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0c85\u0cb5\u0cb6\u0ccd\u0caf\u0c95 \u0cab\u0cc0\u0cb2\u0ccd\u0ca1\u0ccd \u0c86\u0c97\u0cbf\u0ca6\u0cc6",
|
| 96 |
+
"passwordsMustMatch": "\u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0c97\u0cb3\u0cc1 \u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0c95\u0cc6\u0caf\u0cbe\u0c97\u0cac\u0cc7\u0c95\u0cc1",
|
| 97 |
+
"confirmPasswordRequired": "\u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0c85\u0cb5\u0cb6\u0ccd\u0caf\u0c95 \u0cab\u0cc0\u0cb2\u0ccd\u0ca1\u0ccd \u0c8e\u0c82\u0ca6\u0cc1 \u0ca6\u0cc3\u0ca2\u0caa\u0ca1\u0cbf\u0cb8\u0cbf",
|
| 98 |
+
"newPassword": "\u0cb9\u0cca\u0cb8 \u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd",
|
| 99 |
+
"confirmPassword": "\u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0ca6\u0cc3\u0ca2\u0caa\u0ca1\u0cbf\u0cb8\u0cbf",
|
| 100 |
+
"resetPassword": "\u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0cae\u0cb0\u0cc1\u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0cb8\u0cbf"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0cb5\u0cbf\u0cb3\u0cbe\u0cb8",
|
| 104 |
+
"emailRequired": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c85\u0cb5\u0cb6\u0ccd\u0caf\u0c95 \u0cab\u0cc0\u0cb2\u0ccd\u0ca1\u0ccd \u0c86\u0c97\u0cbf\u0ca6\u0cc6",
|
| 105 |
+
"emailSent": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0cae\u0cb0\u0cc1\u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0cb8\u0cb2\u0cc1 \u0cb8\u0cc2\u0c9a\u0ca8\u0cc6\u0c97\u0cb3\u0cbf\u0c97\u0cbe\u0c97\u0cbf \u0ca6\u0caf\u0cb5\u0cbf\u0c9f\u0ccd\u0c9f\u0cc1 \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0cb5\u0cbf\u0cb3\u0cbe\u0cb8 {{email}} \u0caa\u0cb0\u0cbf\u0cb6\u0cc0\u0cb2\u0cbf\u0cb8\u0cbf.",
|
| 106 |
+
"enterEmail": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0cb5\u0cbf\u0cb3\u0cbe\u0cb8\u0cb5\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca8\u0cae\u0cc2\u0ca6\u0cbf\u0cb8\u0cbf \u0cae\u0ca4\u0ccd\u0ca4\u0cc1 \u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0caa\u0cbe\u0cb8\u0ccd \u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0cae\u0cb0\u0cc1\u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0cb8\u0cb2\u0cc1 \u0ca8\u0cbe\u0cb5\u0cc1 \u0ca8\u0cbf\u0cae\u0c97\u0cc6 \u0cb8\u0cc2\u0c9a\u0ca8\u0cc6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0c95\u0cb3\u0cc1\u0cb9\u0cbf\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0cc7\u0cb5\u0cc6.",
|
| 107 |
+
"resendEmail": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c85\u0ca8\u0ccd\u0ca8\u0cc1 \u0cae\u0ca4\u0ccd\u0ca4\u0cc6 \u0c95\u0cb3\u0cbf\u0cb8\u0cbf",
|
| 108 |
+
"continue": "\u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cbf\u0cb8\u0cbf",
|
| 109 |
+
"goBack": "\u0cb9\u0cbf\u0c82\u0ca6\u0cc6 \u0cb9\u0cc6\u0cc2\u0cd5\u0c97\u0cc1"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u0c87\u0ca4\u0cbf\u0cb9\u0cbe\u0cb8 \u0ca4\u0ccb\u0cb0\u0cbf\u0cb8\u0cc1",
|
| 118 |
+
"lastInputs": "\u0c95\u0cca\u0ca8\u0cc6\u0caf \u0c87\u0ca8\u0ccd \u0caa\u0cc1\u0c9f\u0ccd \u0c97\u0cb3\u0cc1",
|
| 119 |
+
"noInputs": "\u0c8e\u0c82\u0ca4\u0cb9 \u0c96\u0cbe\u0cb2\u0cbf...",
|
| 120 |
+
"loading": "\u0cb2\u0ccb\u0ca1\u0ccd \u0c86\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6..."
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0cb8\u0c82\u0ca6\u0cc7\u0cb6\u0cb5\u0ca8\u0ccd\u0ca8\u0cc1 \u0c87\u0cb2\u0ccd\u0cb2\u0cbf \u0cac\u0cc6\u0cb0\u0cb3\u0c9a\u0ccd\u0c9a\u0cbf\u0cb8\u0cbf..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u0cb0\u0cc6\u0c95\u0cbe\u0cb0\u0ccd\u0ca1\u0cbf\u0c82\u0c97\u0ccd \u0caa\u0ccd\u0cb0\u0cbe\u0cb0\u0c82\u0cad\u0cbf\u0cb8\u0cbf",
|
| 129 |
+
"stop": "\u0cb0\u0cc6\u0c95\u0cbe\u0cb0\u0ccd\u0ca1\u0cbf\u0c82\u0c97\u0ccd \u0ca8\u0cbf\u0cb2\u0ccd\u0cb2\u0cbf\u0cb8\u0cc1"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u0cb8\u0c82\u0ca6\u0cc7\u0cb6 \u0c95\u0cb3\u0cbf\u0cb8\u0cbf",
|
| 133 |
+
"stopTask": "\u0ca8\u0cbf\u0cb2\u0ccd\u0cb2\u0cbf\u0cb8\u0cc1 \u0c95\u0cbe\u0cb0\u0ccd\u0caf"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u0cab\u0cc8\u0cb2\u0ccd \u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0cb2\u0c97\u0ca4\u0ccd\u0ca4\u0cbf\u0cb8\u0cbf"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u0c87\u0ca6\u0cb0\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0ca8\u0cbf\u0cb0\u0ccd\u0cae\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u0c9a\u0cb2\u0cbf\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6",
|
| 145 |
+
"executedSuccessfully": "\u0caf\u0cb6\u0cb8\u0ccd\u0cb5\u0cbf\u0caf\u0cbe\u0c97\u0cbf \u0c95\u0cbe\u0cb0\u0ccd\u0caf\u0c97\u0ca4\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
| 146 |
+
"failed": "\u0cb5\u0cbf\u0cab\u0cb2\u0cb5\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
| 147 |
+
"feedbackUpdated": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0c95\u0ccd\u0cb0\u0cbf\u0caf\u0cc6 \u0ca8\u0cb5\u0cc0\u0c95\u0cb0\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
| 148 |
+
"updating": "\u0ca8\u0cb5\u0cc0\u0c95\u0cb0\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0cab\u0cc8\u0cb2\u0ccd \u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0c87\u0cb2\u0ccd\u0cb2\u0cbf \u0cac\u0cbf\u0ca1\u0cbf"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u0c85\u0caa\u0ccd \u0cb2\u0ccb\u0ca1\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0cb5\u0cbf\u0cab\u0cb2\u0cb5\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
| 169 |
+
"cancelledUploadOf": "\u0c85\u0caa\u0ccd \u0cb2\u0ccb\u0ca1\u0ccd \u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0c97\u0cca\u0c82\u0ca1\u0cbf\u0ca6\u0cc6",
|
| 170 |
+
"couldNotReachServer": "\u0cb8\u0cb0\u0ccd\u0cb5\u0cb0\u0ccd \u0ca4\u0cb2\u0cc1\u0caa\u0cb2\u0cc1 \u0cb8\u0cbe\u0ca7\u0ccd\u0caf\u0cb5\u0cbe\u0c97\u0cb2\u0cbf\u0cb2\u0ccd\u0cb2",
|
| 171 |
+
"continuingChat": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8 \u0c9a\u0cbe\u0c9f\u0ccd \u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cbf\u0caf\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u0cb8\u0cc6\u0c9f\u0ccd\u0c9f\u0cbf\u0c82\u0c97\u0ccd \u0c97\u0cb3 \u0cab\u0cb2\u0c95",
|
| 175 |
+
"reset": "\u0cae\u0cb0\u0cc1\u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0cb8\u0cbf",
|
| 176 |
+
"cancel": "\u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0cae\u0cbe\u0ca1\u0cbf",
|
| 177 |
+
"confirm": "\u0ca6\u0cc3\u0ca2\u0caa\u0ca1\u0cbf\u0cb8\u0cbf"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0c95\u0ccd\u0cb0\u0cbf\u0caf\u0cc6: \u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0cc2",
|
| 185 |
+
"feedbackPositive": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0c95\u0ccd\u0cb0\u0cbf\u0caf\u0cc6: \u0ca7\u0ca8\u0cbe\u0ca4\u0ccd\u0cae\u0c95",
|
| 186 |
+
"feedbackNegative": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0c95\u0ccd\u0cb0\u0cbf\u0caf\u0cc6: \u0ca8\u0c95\u0cbe\u0cb0\u0cbe\u0ca4\u0ccd\u0cae\u0c95"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u0cb9\u0cc1\u0ca1\u0cc1\u0c95\u0cc1"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u0c87\u0ca6\u0cc1 \u0ca5\u0ccd\u0cb0\u0cc6\u0ca1\u0ccd \u0cae\u0ca4\u0ccd\u0ca4\u0cc1 \u0c85\u0ca6\u0cb0 \u0cb8\u0c82\u0ca6\u0cc7\u0cb6\u0c97\u0cb3\u0cc1 \u0cae\u0ca4\u0ccd\u0ca4\u0cc1 \u0c85\u0c82\u0cb6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0c85\u0cb3\u0cbf\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0ca6\u0cc6.",
|
| 194 |
+
"cancel": "\u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0cae\u0cbe\u0ca1\u0cbf",
|
| 195 |
+
"confirm": "\u0ca6\u0cc3\u0ca2\u0caa\u0ca1\u0cbf\u0cb8\u0cbf",
|
| 196 |
+
"deletingChat": "\u0c9a\u0cbe\u0c9f\u0ccd \u0c85\u0cb3\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6",
|
| 197 |
+
"chatDeleted": "\u0c9a\u0cbe\u0c9f\u0ccd \u0c85\u0cb3\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8 \u0c9a\u0cbe\u0c9f\u0ccd \u0c97\u0cb3\u0cc1"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u0c96\u0cbe\u0cb2\u0cbf...",
|
| 204 |
+
"today": "\u0c87\u0c82\u0ca6\u0cc1",
|
| 205 |
+
"yesterday": "\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6",
|
| 206 |
+
"previous7days": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8 7 \u0ca6\u0cbf\u0ca8\u0c97\u0cb3\u0cc1",
|
| 207 |
+
"previous30days": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8 30 \u0ca6\u0cbf\u0ca8\u0c97\u0cb3\u0cc1"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u0cb8\u0cc8\u0ca1\u0ccd \u0cac\u0cbe\u0cb0\u0ccd \u0cae\u0cc1\u0c9a\u0ccd\u0c9a\u0cc1",
|
| 211 |
+
"openSidebar": "\u0cb8\u0cc8\u0ca1\u0ccd \u0cac\u0cbe\u0cb0\u0ccd \u0ca4\u0cc6\u0cb0\u0cc6\u0caf\u0cbf\u0cb0\u0cbf"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u0c9a\u0cbe\u0c9f\u0ccd \u0c97\u0cc6 \u0cb9\u0cbf\u0c82\u0ca4\u0cbf\u0cb0\u0cc1\u0c97\u0cbf",
|
| 216 |
+
"chatCreatedOn": "\u0c88 \u0c9a\u0cbe\u0c9f\u0ccd \u0c85\u0ca8\u0ccd\u0ca8\u0cc1 \u0c88 \u0ca8\u0cb2\u0ccd\u0cb2\u0cbf \u0cb0\u0c9a\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u0c9a\u0cbe\u0c9f\u0ccd",
|
| 221 |
+
"readme": "Readme"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u0caa\u0cc2\u0cb0\u0cc8\u0c95\u0cc6\u0ca6\u0cbe\u0cb0\u0cb0\u0ca8\u0ccd\u0ca8\u0cc1 \u0c95\u0cb0\u0cc6\u0ca4\u0cb0\u0cb2\u0cc1 \u0cb5\u0cbf\u0cab\u0cb2\u0cb5\u0cbe\u0c97\u0cbf\u0ca6\u0cc6:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u0caf\u0cb6\u0cb8\u0ccd\u0cb5\u0cbf\u0caf\u0cbe\u0c97\u0cbf \u0c89\u0cb3\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
| 234 |
+
"requiredApiKeys": "\u0c85\u0cb5\u0cb6\u0ccd\u0caf\u0c95 API \u0c95\u0cc0\u0cb2\u0cbf\u0c97\u0cb3\u0cc1",
|
| 235 |
+
"requiredApiKeysInfo": "\u0c88 \u0c85\u0caa\u0ccd\u0cb2\u0cbf\u0c95\u0cc7\u0cb6\u0ca8\u0ccd \u0c85\u0ca8\u0ccd\u0ca8\u0cc1 \u0cac\u0cb3\u0cb8\u0cb2\u0cc1, \u0c88 \u0c95\u0cc6\u0cb3\u0c97\u0cbf\u0ca8 \u0c8e\u0caa\u0cbf\u0c90 \u0c95\u0cc0\u0cb2\u0cbf\u0c97\u0cb3\u0cc1 \u0cac\u0cc7\u0c95\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cb5\u0cc6. \u0c95\u0cc0\u0cb2\u0cbf\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0cb8\u0cbe\u0ca7\u0ca8\u0ca6 \u0cb8\u0ccd\u0ca5\u0cb3\u0cc0\u0caf \u0cb8\u0c82\u0c97\u0ccd\u0cb0\u0cb9\u0ca3\u0cc6\u0caf\u0cb2\u0ccd\u0cb2\u0cbf \u0cb8\u0c82\u0c97\u0ccd\u0cb0\u0cb9\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0ca6\u0cc6."
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u0ca8\u0cc0\u0cb5\u0cc1 \u0c88 \u0caf\u0ccb\u0c9c\u0ca8\u0cc6\u0caf \u0cad\u0cbe\u0c97\u0cb5\u0cbe\u0c97\u0cbf\u0cb2\u0ccd\u0cb2."
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u0c9a\u0cbe\u0c9f\u0ccd \u0caa\u0cc1\u0ca8\u0cb0\u0cbe\u0cb0\u0c82\u0cad\u0cbf\u0cb8\u0cbf"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/ml.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d23\u0d19\u0d4d\u0d19\u0d7e",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API \u0d15\u0d40\u0d15\u0d7e",
|
| 10 |
+
"logout": "\u0d32\u0d4b\u0d17\u0d4b\u0d1f\u0d4d\u0d1f\u0d4d"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u0d1f\u0d3e\u0d38\u0d4d\u0d15\u0d4d \u0d32\u0d3f\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d",
|
| 22 |
+
"loading": "\u0d32\u0d4b\u0d21\u0d3f\u0d02\u0d17\u0d4d...",
|
| 23 |
+
"error": "\u0d12\u0d30\u0d41 \u0d2a\u0d3f\u0d36\u0d15\u0d4d \u0d38\u0d02\u0d2d\u0d35\u0d3f\u0d1a\u0d4d\u0d1a\u0d41"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u0d05\u0d2a\u0d4d\u0d32\u0d4b\u0d21\u0d4d \u0d31\u0d26\u0d4d\u0d26\u0d3e\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 28 |
+
"removeAttachment": "\u0d05\u0d31\u0d4d\u0d31\u0d3e\u0d1a\u0d4d\u0d1a\u0d4d \u0d2e\u0d46\u0d28\u0d4d\u0d31\u0d4d \u0d28\u0d40\u0d15\u0d4d\u0d15\u0d02\u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d09\u0d23\u0d4d\u0d1f\u0d3e\u0d15\u0d4d\u0d15\u0d23\u0d4b?",
|
| 32 |
+
"clearChat": "\u0d07\u0d24\u0d4d \u0d28\u0d3f\u0d32\u0d35\u0d3f\u0d32\u0d46 \u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d19\u0d4d\u0d19\u0d7e \u0d15\u0d4d\u0d32\u0d3f\u0d2f\u0d7c \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15\u0d2f\u0d41\u0d02 \u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d06\u0d30\u0d02\u0d2d\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15\u0d2f\u0d41\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d02.",
|
| 33 |
+
"cancel": "\u0d15\u0d4d\u0d2f\u0d3e\u0d7b\u0d38\u0d7d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d4d",
|
| 34 |
+
"confirm": "\u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d23\u0d19\u0d4d\u0d19\u0d7e",
|
| 38 |
+
"expandMessages": "\u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d19\u0d4d\u0d19\u0d7e \u0d35\u0d3f\u0d15\u0d38\u0d3f\u0d2a\u0d4d\u0d2a\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 39 |
+
"hideChainOfThought": "\u0d1a\u0d3f\u0d28\u0d4d\u0d24\u0d2f\u0d41\u0d1f\u0d46 \u0d36\u0d43\u0d02\u0d16\u0d32 \u0d2e\u0d31\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 40 |
+
"darkMode": "\u0d21\u0d3e\u0d7c\u0d15\u0d4d\u0d15\u0d4d \u0d2e\u0d4b\u0d21\u0d4d"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d02",
|
| 44 |
+
"running": "\u0d13\u0d1f\u0d41\u0d28\u0d4d\u0d28\u0d41",
|
| 45 |
+
"took_one": "{{count}} \u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d46\u0d2a\u0d4d\u0d2a\u0d4d \u0d0e\u0d1f\u0d41\u0d24\u0d4d\u0d24\u0d41",
|
| 46 |
+
"took_other": "{{count}} \u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d46\u0d2a\u0d4d\u0d2a\u0d41\u0d15\u0d7e \u0d0e\u0d1f\u0d41\u0d24\u0d4d\u0d24\u0d41"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u0d05\u0d2a\u0d4d\u0d32\u0d3f\u0d15\u0d4d\u0d15\u0d47\u0d37\u0d7b \u0d06\u0d15\u0d4d\u0d38\u0d38\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d32\u0d4b\u0d17\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15.",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d35\u0d3f\u0d32\u0d3e\u0d38\u0d02",
|
| 53 |
+
"password": "Password",
|
| 54 |
+
"noAccount": "\u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d07\u0d32\u0d4d\u0d32\u0d47?",
|
| 55 |
+
"alreadyHaveAccount": "\u0d12\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d23\u0d4d\u0d1f\u0d4b?",
|
| 56 |
+
"signup": "\u0d38\u0d48\u0d7b \u0d05\u0d2a\u0d4d\u0d2a\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
| 57 |
+
"signin": "\u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
| 58 |
+
"or": "\u0d05\u0d32\u0d4d\u0d32\u0d46\u0d19\u0d4d\u0d15\u0d3f\u0d7d",
|
| 59 |
+
"continue": "\u0d24\u0d41\u0d1f\u0d30\u0d41\u0d15",
|
| 60 |
+
"forgotPassword": "\u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d4d \u0d2e\u0d31\u0d28\u0d4d\u0d28\u0d4b?",
|
| 61 |
+
"passwordMustContain": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d3f\u0d7d \u0d07\u0d28\u0d3f\u0d2a\u0d4d\u0d2a\u0d31\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d35 \u0d05\u0d1f\u0d19\u0d4d\u0d19\u0d3f\u0d2f\u0d3f\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d23\u0d02:",
|
| 62 |
+
"emailRequired": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d3e\u0d2f \u0d12\u0d30\u0d41 \u0d2b\u0d40\u0d7d\u0d21\u0d3e\u0d23\u0d4d",
|
| 63 |
+
"passwordRequired": "Password \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d41\u0d33\u0d4d\u0d33 \u0d12\u0d30\u0d41 \u0d2b\u0d40\u0d7d\u0d21\u0d3e\u0d23\u0d4d"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u0d38\u0d48\u0d28\u0d4d \u0d07\u0d28\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d28\u0d4d \u0d15\u0d34\u0d3f\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d3f\u0d32\u0d4d\u0d32.",
|
| 67 |
+
"signin": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d28\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
| 68 |
+
"oauthsignin": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d28\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
| 69 |
+
"redirect_uri_mismatch": "\u0d31\u0d40\u0d21\u0d2f\u0d31\u0d15\u0d4d\u0d1f\u0d4d \u0d2f\u0d41\u0d06\u0d7c\u0d10 \u0d13\u0d24\u0d4d\u0d24\u0d4d \u0d06\u0d2a\u0d4d\u0d2a\u0d4d \u0d15\u0d4b\u0d7a\u0d2b\u0d3f\u0d17\u0d31\u0d47\u0d37\u0d28\u0d41\u0d2e\u0d3e\u0d2f\u0d3f \u0d2a\u0d4a\u0d30\u0d41\u0d24\u0d4d\u0d24\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28\u0d3f\u0d32\u0d4d\u0d32.",
|
| 70 |
+
"oauthcallbackerror": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d28\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
| 71 |
+
"oauthcreateaccount": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d28\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
| 72 |
+
"emailcreateaccount": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d28\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
| 73 |
+
"callback": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d28\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
| 74 |
+
"oauthaccountnotlinked": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d10\u0d21\u0d28\u0d4d\u0d31\u0d3f\u0d31\u0d4d\u0d31\u0d3f \u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d28\u0d4d, \u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d7e \u0d06\u0d26\u0d4d\u0d2f\u0d02 \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a \u0d05\u0d24\u0d47 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d28\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15.",
|
| 75 |
+
"emailsignin": "\u0d07-\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d05\u0d2f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d3f\u0d32\u0d4d\u0d32.",
|
| 76 |
+
"emailverify": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d2a\u0d30\u0d3f\u0d36\u0d4b\u0d27\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15, \u0d12\u0d30\u0d41 \u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d05\u0d2f\u0d1a\u0d4d\u0d1a\u0d3f\u0d1f\u0d4d\u0d1f\u0d41\u0d23\u0d4d\u0d1f\u0d4d.",
|
| 77 |
+
"credentialssignin": "\u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d2a\u0d30\u0d3e\u0d1c\u0d2f\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d4d\u0d1f\u0d41. \u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d7e \u0d28\u0d7d\u0d15\u0d3f\u0d2f \u0d35\u0d3f\u0d36\u0d26\u0d3e\u0d02\u0d36\u0d19\u0d4d\u0d19\u0d7e \u0d36\u0d30\u0d3f\u0d2f\u0d3e\u0d23\u0d4b \u0d0e\u0d28\u0d4d\u0d28\u0d4d \u0d2a\u0d30\u0d3f\u0d36\u0d4b\u0d27\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
| 78 |
+
"sessionrequired": "\u0d08 \u0d2a\u0d47\u0d1c\u0d4d \u0d06\u0d15\u0d4d\u0d38\u0d38\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d28\u0d4d \u0d26\u0d2f\u0d35\u0d3e\u0d2f\u0d3f \u0d38\u0d48\u0d28\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15."
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d3f\u0d35\u0d3f\u0d1f\u0d46 \u0d0e\u0d24\u0d4d\u0d24\u0d3e\u0d31\u0d3e\u0d2f\u0d3f! \u0d1e\u0d19\u0d4d\u0d19\u0d7e \u0d12\u0d30\u0d41 \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d05\u0d2f\u0d1a\u0d4d\u0d1a\u0d3f\u0d1f\u0d4d\u0d1f\u0d41\u0d23\u0d4d\u0d1f\u0d4d ",
|
| 83 |
+
"verifyEmailLink": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d38\u0d48\u0d28\u0d2a\u0d4d\u0d2a\u0d4d \u0d2a\u0d42\u0d7c\u0d24\u0d4d\u0d24\u0d3f\u0d2f\u0d3e\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d06 \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d32\u0d3f\u0d32\u0d46 \u0d32\u0d3f\u0d19\u0d4d\u0d15\u0d3f\u0d7d \u0d15\u0d4d\u0d32\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15.",
|
| 84 |
+
"didNotReceive": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d15\u0d23\u0d4d\u0d1f\u0d46\u0d24\u0d4d\u0d24\u0d3e\u0d7b \u0d15\u0d34\u0d3f\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d3f\u0d32\u0d4d\u0d32\u0d47?",
|
| 85 |
+
"resendEmail": "Email \u0d35\u0d40\u0d23\u0d4d\u0d1f\u0d41\u0d02 \u0d05\u0d2f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 86 |
+
"goBack": "\u0d24\u0d3f\u0d30\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d2a\u0d4b\u0d15\u0d42",
|
| 87 |
+
"emailSent": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d35\u0d3f\u0d1c\u0d2f\u0d15\u0d30\u0d2e\u0d3e\u0d2f\u0d3f \u0d05\u0d2f\u0d1a\u0d4d\u0d1a\u0d41.",
|
| 88 |
+
"verifyEmail": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d35\u0d3f\u0d32\u0d3e\u0d38\u0d02 \u0d2a\u0d30\u0d3f\u0d36\u0d4b\u0d27\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "{{provider}} \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d24\u0d41\u0d1f\u0d30\u0d41\u0d15",
|
| 92 |
+
"signup": "{{provider}} \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d7b \u0d05\u0d2a\u0d4d\u0d2a\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d4d \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d41\u0d33\u0d4d\u0d33 \u0d2b\u0d40\u0d7d\u0d21\u0d3e\u0d23\u0d4d",
|
| 96 |
+
"passwordsMustMatch": "\u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d41\u0d15\u0d7e \u0d2a\u0d4a\u0d30\u0d41\u0d24\u0d4d\u0d24\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d23\u0d02",
|
| 97 |
+
"confirmPasswordRequired": "\u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d4d \u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d47\u0d23\u0d4d\u0d1f\u0d24\u0d4d \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d3e\u0d23\u0d4d",
|
| 98 |
+
"newPassword": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d4d",
|
| 99 |
+
"confirmPassword": "\u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d4d \u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 100 |
+
"resetPassword": "\u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d4d \u0d2a\u0d41\u0d28\u0d03\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d35\u0d3f\u0d32\u0d3e\u0d38\u0d02",
|
| 104 |
+
"emailRequired": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d3e\u0d2f \u0d12\u0d30\u0d41 \u0d2b\u0d40\u0d7d\u0d21\u0d3e\u0d23\u0d4d",
|
| 105 |
+
"emailSent": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d4d \u0d2a\u0d41\u0d28\u0d03\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d28\u0d41\u0d33\u0d4d\u0d33 \u0d28\u0d3f\u0d7c\u0d26\u0d4d\u0d26\u0d47\u0d36\u0d19\u0d4d\u0d19\u0d7e\u0d15\u0d4d\u0d15\u0d3e\u0d2f\u0d3f {{email}} \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d35\u0d3f\u0d32\u0d3e\u0d38\u0d02 \u0d2a\u0d30\u0d3f\u0d36\u0d4b\u0d27\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
| 106 |
+
"enterEmail": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d35\u0d3f\u0d32\u0d3e\u0d38\u0d02 \u0d28\u0d7d\u0d15\u0d41\u0d15, \u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d2a\u0d3e\u0d38\u0d4d \u0d35\u0d47\u0d21\u0d4d \u0d2a\u0d41\u0d28\u0d03\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d28\u0d41\u0d33\u0d4d\u0d33 \u0d28\u0d3f\u0d7c\u0d26\u0d4d\u0d26\u0d47\u0d36\u0d19\u0d4d\u0d19\u0d7e \u0d1e\u0d19\u0d4d\u0d19\u0d7e \u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d7e\u0d15\u0d4d\u0d15\u0d4d \u0d05\u0d2f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d02.",
|
| 107 |
+
"resendEmail": "Email \u0d35\u0d40\u0d23\u0d4d\u0d1f\u0d41\u0d02 \u0d05\u0d2f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 108 |
+
"continue": "\u0d24\u0d41\u0d1f\u0d30\u0d41\u0d15",
|
| 109 |
+
"goBack": "\u0d24\u0d3f\u0d30\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d2a\u0d4b\u0d15\u0d42"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u0d1a\u0d30\u0d3f\u0d24\u0d4d\u0d30\u0d02 \u0d15\u0d3e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 118 |
+
"lastInputs": "\u0d05\u0d35\u0d38\u0d3e\u0d28 \u0d07\u0d7b\u0d2a\u0d41\u0d1f\u0d4d\u0d1f\u0d41\u0d15\u0d7e",
|
| 119 |
+
"noInputs": "\u0d36\u0d42\u0d28\u0d4d\u0d2f\u0d2e\u0d3e\u0d2f...",
|
| 120 |
+
"loading": "\u0d32\u0d4b\u0d21\u0d3f\u0d02\u0d17\u0d4d..."
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d02 \u0d07\u0d35\u0d3f\u0d1f\u0d46 \u0d1f\u0d48\u0d2a\u0d4d\u0d2a\u0d41\u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u0d31\u0d46\u0d15\u0d4d\u0d15\u0d4b\u0d7c\u0d21\u0d3f\u0d02\u0d17\u0d4d \u0d06\u0d30\u0d02\u0d2d\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 129 |
+
"stop": "\u0d31\u0d46\u0d15\u0d4d\u0d15\u0d4b\u0d7c\u0d21\u0d3f\u0d02\u0d17\u0d4d \u0d28\u0d3f\u0d7c\u0d24\u0d4d\u0d24\u0d41\u0d15"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d02 \u0d05\u0d2f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 133 |
+
"stopTask": "\u0d1c\u0d4b\u0d32\u0d3f \u0d28\u0d3f\u0d7c\u0d24\u0d4d\u0d24\u0d41\u0d15"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u0d2b\u0d2f\u0d32\u0d41\u0d15\u0d7e \u0d05\u0d31\u0d4d\u0d31\u0d3e\u0d1a\u0d4d\u0d1a\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u0d28\u0d3f\u0d7c\u0d2e\u0d4d\u0d2e\u0d3f\u0d1a\u0d4d\u0d1a\u0d24\u0d4d"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u0d13\u0d1f\u0d41\u0d28\u0d4d\u0d28\u0d41",
|
| 145 |
+
"executedSuccessfully": "\u0d35\u0d3f\u0d1c\u0d2f\u0d15\u0d30\u0d2e\u0d3e\u0d2f\u0d3f \u0d28\u0d1f\u0d2a\u0d4d\u0d2a\u0d3f\u0d32\u0d3e\u0d15\u0d4d\u0d15\u0d3f",
|
| 146 |
+
"failed": "\u0d2a\u0d30\u0d3e\u0d1c\u0d2f\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d4d\u0d1f\u0d41",
|
| 147 |
+
"feedbackUpdated": "\u0d2b\u0d40\u0d21\u0d4d\u0d2c\u0d3e\u0d15\u0d4d\u0d15\u0d4d \u0d05\u0d2a\u0d4d \u0d21\u0d47\u0d31\u0d4d\u0d31\u0d41\u0d1a\u0d46\u0d2f\u0d4d \u0d24\u0d41",
|
| 148 |
+
"updating": "\u0d05\u0d2a\u0d4d \u0d21\u0d47\u0d31\u0d4d\u0d31\u0d4d"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d2b\u0d2f\u0d32\u0d41\u0d15\u0d7e \u0d07\u0d35\u0d3f\u0d1f\u0d46 \u0d07\u0d1f\u0d41\u0d15"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u0d05\u0d2a\u0d4d \u0d32\u0d4b\u0d21\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d7d \u0d2a\u0d30\u0d3e\u0d1c\u0d2f\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d4d\u0d1f\u0d41",
|
| 169 |
+
"cancelledUploadOf": "\u0d05\u0d2a\u0d4d \u0d32\u0d4b\u0d21\u0d4d \u0d31\u0d26\u0d4d\u0d26\u0d3e\u0d15\u0d4d\u0d15\u0d3f",
|
| 170 |
+
"couldNotReachServer": "\u0d38\u0d46\u0d7c\u0d35\u0d31\u0d3f\u0d7d \u0d0e\u0d24\u0d4d\u0d24\u0d3e\u0d7b \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d3f\u0d32\u0d4d\u0d32",
|
| 171 |
+
"continuingChat": "\u0d2e\u0d41\u0d2e\u0d4d\u0d2a\u0d24\u0d4d\u0d24\u0d46 \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d24\u0d41\u0d1f\u0d30\u0d41\u0d28\u0d4d\u0d28\u0d41"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d23 \u0d2a\u0d3e\u0d28\u0d7d",
|
| 175 |
+
"reset": "\u0d2a\u0d41\u0d28\u0d03\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 176 |
+
"cancel": "\u0d15\u0d4d\u0d2f\u0d3e\u0d7b\u0d38\u0d7d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d4d",
|
| 177 |
+
"confirm": "\u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "Feedback: \u0d0e\u0d32\u0d4d\u0d32\u0d3e\u0d02",
|
| 185 |
+
"feedbackPositive": "Feedback: \u0d2a\u0d4b\u0d38\u0d3f\u0d31\u0d4d\u0d31\u0d40\u0d35\u0d4d",
|
| 186 |
+
"feedbackNegative": "Feedback: \u0d28\u0d46\u0d17\u0d31\u0d4d\u0d31\u0d40\u0d35\u0d4d"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u0d24\u0d3f\u0d30\u0d2f\u0d41\u0d15"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u0d07\u0d24\u0d4d \u0d24\u0d4d\u0d30\u0d46\u0d21\u0d41\u0d02 \u0d05\u0d24\u0d3f\u0d28\u0d4d\u0d31\u0d46 \u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d02 \u0d18\u0d1f\u0d15\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d02 \u0d07\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d41\u0d02.",
|
| 194 |
+
"cancel": "\u0d15\u0d4d\u0d2f\u0d3e\u0d7b\u0d38\u0d7d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d4d",
|
| 195 |
+
"confirm": "\u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 196 |
+
"deletingChat": "\u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d07\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d7d",
|
| 197 |
+
"chatDeleted": "\u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d28\u0d40\u0d15\u0d4d\u0d15\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d24\u0d41"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "Past Chats"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u0d36\u0d42\u0d28\u0d4d\u0d2f\u0d02...",
|
| 204 |
+
"today": "\u0d07\u0d28\u0d4d\u0d28\u0d4d",
|
| 205 |
+
"yesterday": "\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46",
|
| 206 |
+
"previous7days": "Previous 7 \u0d26\u0d3f\u0d35\u0d38\u0d02",
|
| 207 |
+
"previous30days": "Previous 30 \u0d26\u0d3f\u0d35\u0d38\u0d02"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u0d38\u0d48\u0d21\u0d4d \u0d2c\u0d3e\u0d7c \u0d05\u0d1f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
| 211 |
+
"openSidebar": "\u0d38\u0d48\u0d21\u0d4d \u0d2c\u0d3e\u0d7c \u0d24\u0d41\u0d31\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d3f\u0d32\u0d47\u0d15\u0d4d\u0d15\u0d4d \u0d2e\u0d1f\u0d19\u0d4d\u0d19\u0d41\u0d15",
|
| 216 |
+
"chatCreatedOn": "\u0d08 \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d07\u0d35\u0d3f\u0d1f\u0d46 \u0d38\u0d43\u0d37\u0d4d\u0d1f\u0d3f\u0d1a\u0d4d\u0d1a\u0d41"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u0d38\u0d02\u0d2d\u0d3e\u0d37\u0d23\u0d02",
|
| 221 |
+
"readme": "Readme"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u0d26\u0d3e\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d33\u0d46 \u0d15\u0d4a\u0d23\u0d4d\u0d1f\u0d41\u0d35\u0d30\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d7d \u0d2a\u0d30\u0d3e\u0d1c\u0d2f\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d4d\u0d1f\u0d41:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u0d35\u0d3f\u0d1c\u0d2f\u0d15\u0d30\u0d2e\u0d3e\u0d2f\u0d3f \u0d38\u0d02\u0d30\u0d15\u0d4d\u0d37\u0d3f\u0d1a\u0d4d\u0d1a\u0d41",
|
| 234 |
+
"requiredApiKeys": "\u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d41\u0d33\u0d4d\u0d33 API \u0d15\u0d40\u0d15\u0d7e",
|
| 235 |
+
"requiredApiKeysInfo": "\u0d08 \u0d05\u0d2a\u0d4d\u0d32\u0d3f\u0d15\u0d4d\u0d15\u0d47\u0d37\u0d7b \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d28\u0d4d, \u0d07\u0d28\u0d3f\u0d2a\u0d4d\u0d2a\u0d31\u0d2f\u0d41\u0d28\u0d4d\u0d28 \u0d0e\u0d2a\u0d3f\u0d10 \u0d15\u0d40\u0d15\u0d7e \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d3e\u0d23\u0d4d. \u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d09\u0d2a\u0d15\u0d30\u0d23\u0d24\u0d4d\u0d24\u0d3f\u0d28\u0d4d\u0d31\u0d46 \u0d2a\u0d4d\u0d30\u0d3e\u0d26\u0d47\u0d36\u0d3f\u0d15 \u0d38\u0d02\u0d2d\u0d30\u0d23\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d3e\u0d23\u0d4d \u0d15\u0d40\u0d15\u0d7e \u0d38\u0d02\u0d2d\u0d30\u0d3f\u0d1a\u0d4d\u0d1a\u0d3f\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d4d."
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d7e \u0d08 \u0d2a\u0d26\u0d4d\u0d27\u0d24\u0d3f\u0d2f\u0d41\u0d1f\u0d46 \u0d2d\u0d3e\u0d17\u0d2e\u0d32\u0d4d\u0d32."
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u0d38\u0d02\u0d2d\u0d3e\u0d37\u0d23\u0d02 \u0d2a\u0d41\u0d28\u0d30\u0d3e\u0d30\u0d02\u0d2d\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/mr.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "\u090f\u092a\u0940\u0906\u092f \u0915\u0940\u091c",
|
| 10 |
+
"logout": "Logout"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u0928\u0935\u0940\u0928 \u0917\u092a\u094d\u092a\u093e"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u0915\u093e\u0930\u094d\u092f \u0938\u0942\u091a\u0940",
|
| 22 |
+
"loading": "\u0932\u094b\u0921\u093f\u0902\u0917...",
|
| 23 |
+
"error": "\u090f\u0915 \u0924\u094d\u0930\u0941\u091f\u0940 \u091d\u093e\u0932\u0940"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u0905\u092a\u0932\u094b\u0921 \u0930\u0926\u094d\u0926 \u0915\u0930\u093e",
|
| 28 |
+
"removeAttachment": "\u0938\u0902\u0932\u0917\u094d\u0928\u0924\u093e \u0915\u093e\u0922\u0942\u0928 \u091f\u093e\u0915\u093e"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u0928\u0935\u0940\u0928 \u091a\u0945\u091f \u0924\u092f\u093e\u0930 \u0915\u0930\u093e?",
|
| 32 |
+
"clearChat": "\u092f\u093e\u092e\u0941\u0933\u0947 \u0938\u0927\u094d\u092f\u093e\u091a\u0947 \u092e\u0947\u0938\u0947\u091c \u0915\u094d\u0932\u093f\u0905\u0930 \u0939\u094b\u0924\u0940\u0932 \u0906\u0923\u093f \u0928\u0935\u0940\u0928 \u091a\u0945\u091f \u0938\u0941\u0930\u0942 \u0939\u094b\u0908\u0932.",
|
| 33 |
+
"cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u093e",
|
| 34 |
+
"confirm": "\u092a\u0941\u0937\u094d\u091f\u0940 \u0915\u0930\u093e"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938",
|
| 38 |
+
"expandMessages": "\u0938\u0902\u0926\u0947\u0936 \u093e\u0902\u091a\u093e \u0935\u093f\u0938\u094d\u0924\u093e\u0930 \u0915\u0930\u093e",
|
| 39 |
+
"hideChainOfThought": "\u0935\u093f\u091a\u093e\u0930\u093e\u0902\u091a\u0940 \u0938\u093e\u0916\u0933\u0940 \u0932\u092a\u0935\u093e",
|
| 40 |
+
"darkMode": "\u0921\u093e\u0930\u094d\u0915 \u092e\u094b\u0921"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u0935\u093e\u092a\u0930\u0924",
|
| 44 |
+
"running": "\u0927\u093e\u0935\u0924 \u0906\u0939\u0947.",
|
| 45 |
+
"took_one": "{{count}} \u092a\u093e\u090a\u0932 \u0909\u091a\u0932\u0932\u0947",
|
| 46 |
+
"took_other": "{{count}} \u092a\u093e\u0935\u0932\u0947 \u0909\u091a\u0932\u0932\u0940"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u0905 \u0945\u092a\u092e\u0927\u094d\u092f\u0947 \u092a\u094d\u0930\u0935\u0947\u0936 \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0932\u0949\u0917\u093f\u0928 \u0915\u0930\u093e.",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u0908\u092e\u0947\u0932 \u092a\u0924\u094d\u0924\u093e",
|
| 53 |
+
"password": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921",
|
| 54 |
+
"noAccount": "\u0916\u093e\u0924\u0947 \u0928\u093e\u0939\u0940 \u0915\u093e?",
|
| 55 |
+
"alreadyHaveAccount": "\u0906\u0927\u0940\u091a \u0916\u093e\u0924\u0947 \u0906\u0939\u0947 \u0915\u093e?",
|
| 56 |
+
"signup": "\u0938\u093e\u0907\u0928 \u0905\u092a \u0915\u0930\u093e",
|
| 57 |
+
"signin": "\u0938\u093e\u0907\u0928 \u0907\u0928",
|
| 58 |
+
"or": "\u0915\u093f\u0902\u0935\u093e",
|
| 59 |
+
"continue": "\u091a\u093e\u0932\u0942 \u0920\u0947\u0935\u093e",
|
| 60 |
+
"forgotPassword": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0935\u093f\u0938\u0930\u0932\u093e?",
|
| 61 |
+
"passwordMustContain": "\u0906\u092a\u0932\u094d\u092f\u093e \u092a\u093e\u0938\u0935\u0930\u094d\u0921\u092e\u0927\u094d\u092f\u0947 \u0939\u0947 \u0905\u0938\u0923\u0947 \u0906\u0935\u0936\u094d\u092f\u0915 \u0906\u0939\u0947:",
|
| 62 |
+
"emailRequired": "\u0908\u092e\u0947\u0932 \u0939\u0947 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u0915\u094d\u0937\u0947\u0924\u094d\u0930 \u0906\u0939\u0947",
|
| 63 |
+
"passwordRequired": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0939\u0947 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u0915\u094d\u0937\u0947\u0924\u094d\u0930 \u0906\u0939\u0947"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u0938 \u0905\u0915\u094d\u0937\u092e.",
|
| 67 |
+
"signin": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0938\u0939 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e.",
|
| 68 |
+
"oauthsignin": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0938\u0939 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e.",
|
| 69 |
+
"redirect_uri_mismatch": "\u0930\u093f\u0921\u093e\u092f\u0930\u0947\u0915\u094d\u091f \u092f\u0942\u0906\u0930\u0906\u092f \u0911\u0925 \u0905\u0945\u092a \u0915\u0949\u0928\u094d\u092b\u093f\u0917\u0930\u0947\u0936\u0928\u0936\u0940 \u091c\u0941\u0933\u0924 \u0928\u093e\u0939\u0940.",
|
| 70 |
+
"oauthcallbackerror": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0938\u0939 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e.",
|
| 71 |
+
"oauthcreateaccount": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0938\u0939 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e.",
|
| 72 |
+
"emailcreateaccount": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0938\u0939 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e.",
|
| 73 |
+
"callback": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0938\u0939 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e.",
|
| 74 |
+
"oauthaccountnotlinked": "\u0906\u092a\u0932\u0940 \u0913\u0933\u0916 \u0928\u093f\u0936\u094d\u091a\u093f\u0924 \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940, \u0906\u092a\u0923 \u092e\u0942\u0933\u0935\u093e\u092a\u0930\u0932\u0947\u0932\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0938\u0939 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u093e.",
|
| 75 |
+
"emailsignin": "\u0908-\u092e\u0947\u0932 \u092a\u093e\u0920\u0935\u0924\u093e \u0906\u0932\u093e \u0928\u093e\u0939\u0940.",
|
| 76 |
+
"emailverify": "\u0915\u0943\u092a\u092f\u093e \u0906\u092a\u0932\u094d\u092f\u093e \u0908\u092e\u0947\u0932\u091a\u0940 \u092a\u0921\u0924\u093e\u0933\u0923\u0940 \u0915\u0930\u093e, \u090f\u0915 \u0928\u0935\u0940\u0928 \u0908\u092e\u0947\u0932 \u092a\u093e\u0920\u0935\u093f\u0932\u093e \u0917\u0947\u0932\u093e \u0906\u0939\u0947.",
|
| 77 |
+
"credentialssignin": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0905\u092f\u0936\u0938\u094d\u0935\u0940 \u091d\u093e\u0932\u0947. \u0906\u092a\u0923 \u0926\u093f\u0932\u0947\u0932\u093e \u0924\u092a\u0936\u0940\u0932 \u092f\u094b\u0917\u094d\u092f \u0906\u0939\u0947 \u0939\u0947 \u0924\u092a\u093e\u0938\u093e.",
|
| 78 |
+
"sessionrequired": "\u0915\u0943\u092a\u092f\u093e \u092f\u093e \u092a\u0943\u0937\u094d\u0920\u093e\u0935\u0930 \u092a\u094d\u0930\u0935\u0947\u0936 \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u093e."
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u0924\u0942 \u091c\u0935\u0933\u091c\u0935\u0933 \u0924\u093f\u0925\u0947\u091a \u0906\u0939\u0947\u0938! \u0906\u092e\u094d\u0939\u0940 \u090f\u0915 \u0908\u092e\u0947\u0932 \u092a\u093e\u0920\u0935\u0932\u093e \u0906\u0939\u0947. ",
|
| 83 |
+
"verifyEmailLink": "\u0906\u092a\u0932\u0947 \u0938\u093e\u0907\u0928\u0905\u092a \u092a\u0942\u0930\u094d\u0923 \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0915\u0943\u092a\u092f\u093e \u0924\u094d\u092f\u093e \u0908\u092e\u0947\u0932\u092e\u0927\u0940\u0932 \u0932\u093f\u0902\u0915\u0935\u0930 \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u093e.",
|
| 84 |
+
"didNotReceive": "\u0908\u092e\u0947\u0932 \u0938\u093e\u092a\u0921\u0924 \u0928\u093e\u0939\u0940 \u0915\u093e?",
|
| 85 |
+
"resendEmail": "\u0908\u092e\u0947\u0932 \u092a\u0941\u0928\u094d\u0939\u093e \u092a\u093e\u0920\u0935\u093e",
|
| 86 |
+
"goBack": "\u092a\u0930\u0924 \u091c\u093e",
|
| 87 |
+
"emailSent": "\u0908\u092e\u0947\u0932 \u092f\u0936\u0938\u094d\u0935\u0940\u0930\u093f\u0924\u094d\u092f\u093e \u092a\u093e\u0920\u0935\u093f\u0932\u093e.",
|
| 88 |
+
"verifyEmail": "\u0906\u092a\u0932\u093e \u0908\u092e\u0947\u0932 \u092a\u0924\u094d\u0924\u093e \u092a\u0921\u0924\u093e\u0933\u0942\u0928 \u092a\u0939\u093e"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "{{provider}} \u091a\u093e\u0932\u0942 \u0920\u0947\u0935\u093e",
|
| 92 |
+
"signup": "{{provider}} \u0938\u0939 \u0938\u093e\u0907\u0928 \u0905\u092a \u0915\u0930\u093e"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u0928\u0935\u0940\u0928 \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0939\u0947 \u0906\u0935\u0936\u094d\u092f\u0915 \u0915\u094d\u0937\u0947\u0924\u094d\u0930 \u0906\u0939\u0947",
|
| 96 |
+
"passwordsMustMatch": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u091c\u0941\u0933\u0923\u0947 \u0906\u0935\u0936\u094d\u092f\u0915 \u0906\u0939\u0947",
|
| 97 |
+
"confirmPasswordRequired": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0906\u0935\u0936\u094d\u092f\u0915 \u0915\u094d\u0937\u0947\u0924\u094d\u0930 \u0906\u0939\u0947 \u092f\u093e\u091a\u0940 \u092a\u0941\u0937\u094d\u091f\u0940 \u0915\u0930\u093e",
|
| 98 |
+
"newPassword": "\u0928\u0935\u0940\u0928 \u092a\u093e\u0938\u0935\u0930\u094d\u0921",
|
| 99 |
+
"confirmPassword": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u091a\u0940 \u092a\u0941\u0937\u094d\u091f\u0940 \u0915\u0930\u093e",
|
| 100 |
+
"resetPassword": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u093e"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u0908\u092e\u0947\u0932 \u092a\u0924\u094d\u0924\u093e",
|
| 104 |
+
"emailRequired": "\u0908\u092e\u0947\u0932 \u0939\u0947 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u0915\u094d\u0937\u0947\u0924\u094d\u0930 \u0906\u0939\u0947",
|
| 105 |
+
"emailSent": "\u0906\u092a\u0932\u093e \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u094d\u092f\u093e \u0938\u0942\u091a\u0928\u093e\u0902\u0938\u093e\u0920\u0940 \u0915\u0943\u092a\u092f\u093e \u0908\u092e\u0947\u0932 \u092a\u0924\u094d\u0924\u093e {{email}} \u0924\u092a\u093e\u0938\u093e.",
|
| 106 |
+
"enterEmail": "\u0906\u092a\u0932\u093e \u0908\u092e\u0947\u0932 \u092a\u0924\u094d\u0924\u093e \u092a\u094d\u0930\u0935\u093f\u0937\u094d\u091f \u0915\u0930\u093e \u0906\u0923\u093f \u0906\u092e\u094d\u0939\u0940 \u0906\u092a\u0932\u094d\u092f\u093e\u0932\u093e \u0906\u092a\u0932\u093e \u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u094d\u092f\u093e \u0938\u0942\u091a\u0928\u093e \u092a\u093e\u0920\u0935\u0942.",
|
| 107 |
+
"resendEmail": "\u0908\u092e\u0947\u0932 \u092a\u0941\u0928\u094d\u0939\u093e \u092a\u093e\u0920\u0935\u093e",
|
| 108 |
+
"continue": "\u091a\u093e\u0932\u0942 \u0920\u0947\u0935\u093e",
|
| 109 |
+
"goBack": "\u092a\u0930\u0924 \u091c\u093e"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u0907\u0924\u093f\u0939\u093e\u0938 \u0926\u093e\u0916\u0935\u093e",
|
| 118 |
+
"lastInputs": "\u0936\u0947\u0935\u091f\u091a\u0940 \u092e\u093e\u0939\u093f\u0924\u0940",
|
| 119 |
+
"noInputs": "\u0907\u0924\u0915\u0940 \u0930\u093f\u0915\u093e\u092e\u0940...",
|
| 120 |
+
"loading": "\u0932\u094b\u0921\u093f\u0902\u0917..."
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u0924\u0941\u092e\u091a\u093e \u092e\u0947\u0938\u0947\u091c \u0907\u0925\u0947 \u091f\u093e\u0908\u092a \u0915\u0930\u093e..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u0930\u0947\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917 \u0938\u0941\u0930\u0942 \u0915\u0930\u093e",
|
| 129 |
+
"stop": "\u0930\u0947\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917 \u0925\u093e\u0902\u092c\u0935\u093e"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u0938\u0902\u0926\u0947\u0936 \u092a\u093e\u0920\u0935\u093e",
|
| 133 |
+
"stopTask": "\u0915\u093e\u0930\u094d\u092f \u0925\u093e\u0902\u092c\u0935\u093e"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u092b\u093e\u0908\u0932\u094d\u0938 \u0938\u0902\u0932\u0917\u094d\u0928 \u0915\u0930\u093e"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u092f\u093e\u0938\u0939 \u092c\u093e\u0902\u0927\u0932\u0947 \u0906\u0939\u0947"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u0927\u093e\u0935\u0924 \u0906\u0939\u0947.",
|
| 145 |
+
"executedSuccessfully": "\u092f\u0936\u0938\u094d\u0935\u0940\u0930\u093f\u0924\u094d\u092f\u093e \u0930\u093e\u092c\u0935\u093f\u0932\u0940",
|
| 146 |
+
"failed": "\u0905\u092a\u092f\u0936\u0940 \u0920\u0930\u0932\u0947",
|
| 147 |
+
"feedbackUpdated": "\u0905\u092d\u093f\u092a\u094d\u0930\u093e\u092f \u0905\u0926\u094d\u092f\u092f\u093e\u0935\u0924",
|
| 148 |
+
"updating": "\u0905\u0926\u094d\u092f\u092f\u093e\u0935\u0924 \u0915\u0930\u0923\u0947"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u0906\u092a\u0932\u094d\u092f\u093e \u092b\u093e\u092f\u0932\u0940 \u092f\u0947\u0925\u0947 \u091f\u093e\u0915\u093e"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u0905\u092a\u0932\u094b\u0921 \u0915\u0930\u0923\u094d\u092f\u093e\u0924 \u0905\u092a\u092f\u0936 \u0906\u0932\u0947",
|
| 169 |
+
"cancelledUploadOf": "\u0930\u0926\u094d\u0926 \u0915\u0947\u0932\u0947\u0932\u0947 \u0905\u092a\u0932\u094b\u0921",
|
| 170 |
+
"couldNotReachServer": "\u0938\u0930\u094d\u0935\u094d\u0939\u0930\u092a\u0930\u094d\u092f\u0902\u0924 \u092a\u094b\u0939\u094b\u091a\u0942 \u0936\u0915\u0932\u0947 \u0928\u093e\u0939\u0940",
|
| 171 |
+
"continuingChat": "\u092e\u093e\u0917\u0940\u0932 \u0917\u092a\u094d\u092a\u093e \u091a\u093e\u0932\u0942 \u0920\u0947\u0935\u093e"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938 \u092a\u0945\u0928\u0947\u0932",
|
| 175 |
+
"reset": "\u0930\u0940\u0938\u0947\u091f \u0915\u0930\u093e",
|
| 176 |
+
"cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u093e",
|
| 177 |
+
"confirm": "\u092a\u0941\u0937\u094d\u091f\u0940 \u0915\u0930\u093e"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "\u0905\u092d\u093f\u092a\u094d\u0930\u093e\u092f: \u0938\u0930\u094d\u0935",
|
| 185 |
+
"feedbackPositive": "\u0905\u092d\u093f\u092a\u094d\u0930\u093e\u092f: \u0938\u0915\u093e\u0930\u093e\u0924\u094d\u092e\u0915",
|
| 186 |
+
"feedbackNegative": "\u0905\u092d\u093f\u092a\u094d\u0930\u093e\u092f: \u0928\u0915\u093e\u0930\u093e\u0924\u094d\u092e\u0915"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u0936\u094b\u0927\u0923\u0947"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u0939\u0947 \u0927\u093e\u0917\u093e \u0924\u0938\u0947\u091a \u0924\u094d\u092f\u093e\u0924\u0940\u0932 \u0938\u0902\u0926\u0947\u0936 \u0906\u0923\u093f \u0918\u091f\u0915 \u0921\u093f\u0932\u0940\u091f \u0915\u0930\u0947\u0932.",
|
| 194 |
+
"cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u093e",
|
| 195 |
+
"confirm": "\u092a\u0941\u0937\u094d\u091f\u0940 \u0915\u0930\u093e",
|
| 196 |
+
"deletingChat": "\u091a\u0945\u091f \u0921\u093f\u0932\u0940\u091f \u0915\u0930\u0923\u0947",
|
| 197 |
+
"chatDeleted": "\u091a\u0945\u091f \u0921\u093f\u0932\u0940\u091f"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "\u092e\u093e\u0917\u0940\u0932 \u0917\u092a\u094d\u092a\u093e"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u0930\u093f\u0915\u094d\u0924\u0964\u0964\u0964",
|
| 204 |
+
"today": "\u0906\u091c",
|
| 205 |
+
"yesterday": "\u0915\u093e\u0932",
|
| 206 |
+
"previous7days": "\u092e\u093e\u0917\u0940\u0932 7 \u0926\u093f\u0935\u0938",
|
| 207 |
+
"previous30days": "\u092e\u093e\u0917\u0940\u0932 \u0969\u0966 \u0926\u093f\u0935\u0938"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u0938\u093e\u0907\u0921\u092c\u093e\u0930 \u092c\u0902\u0926 \u0915\u0930\u093e",
|
| 211 |
+
"openSidebar": "\u0913\u092a\u0928 \u0938\u093e\u0907\u0921\u092c\u093e\u0930"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u092a\u0930\u0924 \u0917\u092a\u094d\u092a\u093e \u092e\u093e\u0930\u093e\u092f\u0932\u093e \u091c\u093e",
|
| 216 |
+
"chatCreatedOn": "\u0939\u0947 \u091a\u0945\u091f \u0924\u092f\u093e\u0930 \u0915\u0930\u0923\u094d\u092f\u093e\u0924 \u0906\u0932\u0947 \u0939\u094b\u0924\u0947."
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u092c\u0915\u0935\u093e\u0926 \u0915\u0930\u0923\u0947\u0902",
|
| 221 |
+
"readme": "\u0935\u093e\u091a\u093e"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u092a\u094d\u0930\u0926\u093e\u0924\u094d\u092f\u093e\u0902\u0928\u093e \u0906\u0923\u0923\u094d\u092f\u093e\u0924 \u0905\u092a\u092f\u0936\u0940:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u092f\u0936\u0938\u094d\u0935\u0940\u0930\u093f\u0924\u094d\u092f\u093e \u0935\u093e\u091a\u0935\u0932\u0947",
|
| 234 |
+
"requiredApiKeys": "\u0906\u0935\u0936\u094d\u092f\u0915 \u090f\u092a\u0940\u0906\u092f \u091a\u093e\u0935\u094d\u092f\u093e",
|
| 235 |
+
"requiredApiKeysInfo": "\u0939\u0947 \u0905\u0945\u092a \u0935\u093e\u092a\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0916\u093e\u0932\u0940\u0932 \u090f\u092a\u0940\u0906\u092f \u091a\u093e\u0935\u094d\u092f\u093e \u0906\u0935\u0936\u094d\u092f\u0915 \u0906\u0939\u0947\u0924. \u091a\u093e\u0935\u094d\u092f\u093e \u0906\u092a\u0932\u094d\u092f\u093e \u0921\u093f\u0935\u094d\u0939\u093e\u0907\u0938\u091a\u094d\u092f\u093e \u0938\u094d\u0925\u093e\u0928\u093f\u0915 \u0938\u094d\u091f\u094b\u0930\u0947\u091c\u0935\u0930 \u0938\u0902\u0917\u094d\u0930\u0939\u093f\u0924 \u0915\u0947\u0932\u094d\u092f\u093e \u091c\u093e\u0924\u093e\u0924."
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u0924\u0941\u092e\u094d\u0939\u0940 \u092f\u093e \u092a\u094d\u0930\u0915\u0932\u094d\u092a\u093e\u091a\u093e \u092d\u093e\u0917 \u0928\u093e\u0939\u0940."
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u091a\u0945\u091f \u092a\u0941\u0928\u094d\u0939\u093e \u0938\u0941\u0930\u0942 \u0915\u0930\u093e"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/nl-NL.json
ADDED
|
@@ -0,0 +1,242 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "Instellingen",
|
| 8 |
+
"settingsKey": "I",
|
| 9 |
+
"APIKeys": "API-sleutels",
|
| 10 |
+
"logout": "Uitloggen"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "Nieuwe Chat"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f Takenlijst",
|
| 22 |
+
"loading": "Laden...",
|
| 23 |
+
"error": "Er is een fout opgetreden"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "Upload annuleren",
|
| 28 |
+
"removeAttachment": "Bijlage verwijderen"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "Nieuwe chat maken?",
|
| 32 |
+
"clearChat": "Dit zal de huidige berichten wissen en een nieuwe chat starten.",
|
| 33 |
+
"cancel": "Annuleren",
|
| 34 |
+
"confirm": "Bevestigen"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "Instellingen",
|
| 38 |
+
"expandMessages": "Berichten uitbreiden",
|
| 39 |
+
"hideChainOfThought": "Gedachtenketen verbergen",
|
| 40 |
+
"darkMode": "Donkere modus"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "Gebruikt",
|
| 44 |
+
"used": "Gebruikt"
|
| 45 |
+
},
|
| 46 |
+
"auth": {
|
| 47 |
+
"authLogin": {
|
| 48 |
+
"title": "Log in om toegang te krijgen tot de app.",
|
| 49 |
+
"form": {
|
| 50 |
+
"email": "E-mailadres",
|
| 51 |
+
"password": "Wachtwoord",
|
| 52 |
+
"noAccount": "Nog geen account?",
|
| 53 |
+
"alreadyHaveAccount": "Al een account?",
|
| 54 |
+
"signup": "Registreren",
|
| 55 |
+
"signin": "Inloggen",
|
| 56 |
+
"or": "OF",
|
| 57 |
+
"continue": "Doorgaan",
|
| 58 |
+
"forgotPassword": "Wachtwoord vergeten?",
|
| 59 |
+
"passwordMustContain": "Uw wachtwoord moet bevatten:",
|
| 60 |
+
"emailRequired": "e-mail is een verplicht veld",
|
| 61 |
+
"passwordRequired": "wachtwoord is een verplicht veld"
|
| 62 |
+
},
|
| 63 |
+
"error": {
|
| 64 |
+
"default": "Inloggen niet mogelijk.",
|
| 65 |
+
"signin": "Probeer in te loggen met een ander account.",
|
| 66 |
+
"oauthsignin": "Probeer in te loggen met een ander account.",
|
| 67 |
+
"redirect_uri_mismatch": "De omleidings-URI komt niet overeen met de oauth-appconfiguratie.",
|
| 68 |
+
"oauthcallbackerror": "Probeer in te loggen met een ander account.",
|
| 69 |
+
"oauthcreateaccount": "Probeer in te loggen met een ander account.",
|
| 70 |
+
"emailcreateaccount": "Probeer in te loggen met een ander account.",
|
| 71 |
+
"callback": "Probeer in te loggen met een ander account.",
|
| 72 |
+
"oauthaccountnotlinked": "Om uw identiteit te bevestigen, log in met hetzelfde account dat u oorspronkelijk gebruikte.",
|
| 73 |
+
"emailsignin": "De e-mail kon niet worden verzonden.",
|
| 74 |
+
"emailverify": "Verifieer uw e-mail, een nieuwe e-mail is verzonden.",
|
| 75 |
+
"credentialssignin": "Inloggen mislukt. Controleer of de verstrekte gegevens correct zijn.",
|
| 76 |
+
"sessionrequired": "Log in om toegang te krijgen tot deze pagina."
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"authVerifyEmail": {
|
| 80 |
+
"almostThere": "Bijna daar! We hebben een e-mail gestuurd naar ",
|
| 81 |
+
"verifyEmailLink": "Klik op de link in die e-mail om uw registratie te voltooien.",
|
| 82 |
+
"didNotReceive": "Kun je de e-mail niet vinden?",
|
| 83 |
+
"resendEmail": "E-mail opnieuw verzenden",
|
| 84 |
+
"goBack": "Ga terug",
|
| 85 |
+
"emailSent": "E-mail succesvol verzonden.",
|
| 86 |
+
"verifyEmail": "Verifieer uw e-mailadres"
|
| 87 |
+
},
|
| 88 |
+
"providerButton": {
|
| 89 |
+
"continue": "Doorgaan met {{provider}}",
|
| 90 |
+
"signup": "Aanmelden met {{provider}}"
|
| 91 |
+
},
|
| 92 |
+
"authResetPassword": {
|
| 93 |
+
"newPasswordRequired": "Nieuw wachtwoord is een verplicht veld",
|
| 94 |
+
"passwordsMustMatch": "Wachtwoorden moeten overeenkomen",
|
| 95 |
+
"confirmPasswordRequired": "Bevestig wachtwoord is een verplicht veld",
|
| 96 |
+
"newPassword": "Nieuw wachtwoord",
|
| 97 |
+
"confirmPassword": "Bevestig wachtwoord",
|
| 98 |
+
"resetPassword": "Wachtwoord resetten"
|
| 99 |
+
},
|
| 100 |
+
"authForgotPassword": {
|
| 101 |
+
"email": "E-mailadres",
|
| 102 |
+
"emailRequired": "e-mail is een verplicht veld",
|
| 103 |
+
"emailSent": "Controleer het e-mailadres {{email}} voor instructies om uw wachtwoord te resetten.",
|
| 104 |
+
"enterEmail": "Voer uw e-mailadres in en we sturen u instructies om uw wachtwoord te resetten.",
|
| 105 |
+
"resendEmail": "E-mail opnieuw verzenden",
|
| 106 |
+
"continue": "Doorgaan",
|
| 107 |
+
"goBack": "Ga terug"
|
| 108 |
+
}
|
| 109 |
+
}
|
| 110 |
+
},
|
| 111 |
+
"organisms": {
|
| 112 |
+
"chat": {
|
| 113 |
+
"history": {
|
| 114 |
+
"index": {
|
| 115 |
+
"showHistory": "Geschiedenis tonen",
|
| 116 |
+
"lastInputs": "Laatste invoer",
|
| 117 |
+
"noInputs": "Zo leeg...",
|
| 118 |
+
"loading": "Laden..."
|
| 119 |
+
}
|
| 120 |
+
},
|
| 121 |
+
"inputBox": {
|
| 122 |
+
"input": {
|
| 123 |
+
"placeholder": "Typ uw bericht hier..."
|
| 124 |
+
},
|
| 125 |
+
"speechButton": {
|
| 126 |
+
"start": "Opname starten",
|
| 127 |
+
"stop": "Opname stoppen"
|
| 128 |
+
},
|
| 129 |
+
"SubmitButton": {
|
| 130 |
+
"sendMessage": "Bericht verzenden",
|
| 131 |
+
"stopTask": "Taak stoppen"
|
| 132 |
+
},
|
| 133 |
+
"UploadButton": {
|
| 134 |
+
"attachFiles": "Bestanden toevoegen"
|
| 135 |
+
},
|
| 136 |
+
"waterMark": {
|
| 137 |
+
"text": "Gebouwd met"
|
| 138 |
+
}
|
| 139 |
+
},
|
| 140 |
+
"Messages": {
|
| 141 |
+
"index": {
|
| 142 |
+
"running": "Bezig",
|
| 143 |
+
"executedSuccessfully": "succesvol uitgevoerd",
|
| 144 |
+
"failed": "mislukt",
|
| 145 |
+
"feedbackUpdated": "Feedback bijgewerkt",
|
| 146 |
+
"updating": "Bijwerken"
|
| 147 |
+
},
|
| 148 |
+
"copyButton": {
|
| 149 |
+
"copyToClipboard": "Copy to clipboard",
|
| 150 |
+
"copied": "Copied!"
|
| 151 |
+
},
|
| 152 |
+
"feedbackButton": {
|
| 153 |
+
"helpful": "Helpful",
|
| 154 |
+
"notHelpful": "Not helpful",
|
| 155 |
+
"editFeedback": "Edit feedback"
|
| 156 |
+
},
|
| 157 |
+
"feedbackDialog": {
|
| 158 |
+
"dialogTitle": "Add a comment",
|
| 159 |
+
"submitButton": "Submit feedback"
|
| 160 |
+
}
|
| 161 |
+
},
|
| 162 |
+
"dropScreen": {
|
| 163 |
+
"dropYourFilesHere": "Sleep uw bestanden hierheen"
|
| 164 |
+
},
|
| 165 |
+
"index": {
|
| 166 |
+
"failedToUpload": "Uploaden mislukt",
|
| 167 |
+
"cancelledUploadOf": "Upload geannuleerd van",
|
| 168 |
+
"couldNotReachServer": "Server niet bereikbaar",
|
| 169 |
+
"continuingChat": "Vervolg van eerdere chat"
|
| 170 |
+
},
|
| 171 |
+
"settings": {
|
| 172 |
+
"settingsPanel": "Instellingenpaneel",
|
| 173 |
+
"reset": "Resetten",
|
| 174 |
+
"cancel": "Annuleren",
|
| 175 |
+
"confirm": "Bevestigen"
|
| 176 |
+
}
|
| 177 |
+
},
|
| 178 |
+
"threadHistory": {
|
| 179 |
+
"sidebar": {
|
| 180 |
+
"filters": {
|
| 181 |
+
"FeedbackSelect": {
|
| 182 |
+
"feedbackAll": "Feedback: Alles",
|
| 183 |
+
"feedbackPositive": "Feedback: Positief",
|
| 184 |
+
"feedbackNegative": "Feedback: Negatief"
|
| 185 |
+
},
|
| 186 |
+
"SearchBar": {
|
| 187 |
+
"search": "Zoeken"
|
| 188 |
+
}
|
| 189 |
+
},
|
| 190 |
+
"DeleteThreadButton": {
|
| 191 |
+
"confirmMessage": "Dit verwijdert de thread evenals de berichten en elementen.",
|
| 192 |
+
"cancel": "Annuleren",
|
| 193 |
+
"confirm": "Bevestigen",
|
| 194 |
+
"deletingChat": "Chat verwijderen",
|
| 195 |
+
"chatDeleted": "Chat verwijderd"
|
| 196 |
+
},
|
| 197 |
+
"index": {
|
| 198 |
+
"pastChats": "Vorige Chats"
|
| 199 |
+
},
|
| 200 |
+
"ThreadList": {
|
| 201 |
+
"empty": "Leeg...",
|
| 202 |
+
"today": "Vandaag",
|
| 203 |
+
"yesterday": "Gisteren",
|
| 204 |
+
"previous7days": "Afgelopen 7 dagen",
|
| 205 |
+
"previous30days": "Afgelopen 30 dagen"
|
| 206 |
+
},
|
| 207 |
+
"TriggerButton": {
|
| 208 |
+
"closeSidebar": "Zijbalk sluiten",
|
| 209 |
+
"openSidebar": "Zijbalk openen"
|
| 210 |
+
}
|
| 211 |
+
},
|
| 212 |
+
"Thread": {
|
| 213 |
+
"backToChat": "Terug naar chat",
|
| 214 |
+
"chatCreatedOn": "Deze chat is aangemaakt op"
|
| 215 |
+
}
|
| 216 |
+
},
|
| 217 |
+
"header": {
|
| 218 |
+
"chat": "Chat",
|
| 219 |
+
"readme": "Readme"
|
| 220 |
+
}
|
| 221 |
+
}
|
| 222 |
+
},
|
| 223 |
+
"hooks": {
|
| 224 |
+
"useLLMProviders": {
|
| 225 |
+
"failedToFetchProviders": "Kan providers niet ophalen:"
|
| 226 |
+
}
|
| 227 |
+
},
|
| 228 |
+
"pages": {
|
| 229 |
+
"Design": {},
|
| 230 |
+
"Env": {
|
| 231 |
+
"savedSuccessfully": "Succesvol opgeslagen",
|
| 232 |
+
"requiredApiKeys": "Vereiste API-sleutels",
|
| 233 |
+
"requiredApiKeysInfo": "Om deze app te gebruiken, zijn de volgende API-sleutels vereist. De sleutels worden opgeslagen in de lokale opslag van uw apparaat."
|
| 234 |
+
},
|
| 235 |
+
"Page": {
|
| 236 |
+
"notPartOfProject": "U maakt geen deel uit van dit project."
|
| 237 |
+
},
|
| 238 |
+
"ResumeButton": {
|
| 239 |
+
"resumeChat": "Chat hervatten"
|
| 240 |
+
}
|
| 241 |
+
}
|
| 242 |
+
}
|
backend/.chainlit/translations/ta.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API \u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd",
|
| 10 |
+
"logout": "\u0bb5\u0bc6\u0bb3\u0bbf\u0baf\u0bc7\u0bb1\u0bc1"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u0baa\u0ba3\u0bbf \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bcd",
|
| 22 |
+
"loading": "\u0b8f\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1...",
|
| 23 |
+
"error": "\u0b92\u0bb0\u0bc1 \u0baa\u0bbf\u0bb4\u0bc8 \u0b8f\u0bb1\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc7\u0bb1\u0bcd\u0bb1\u0ba4\u0bcd\u0ba4\u0bc8 \u0bb0\u0ba4\u0bcd\u0ba4\u0bc1\u0b9a\u0bc6\u0baf\u0bcd",
|
| 28 |
+
"removeAttachment": "\u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc8 \u0b85\u0b95\u0bb1\u0bcd\u0bb1\u0bc1"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8\u0baf\u0bc8 \u0b89\u0bb0\u0bc1\u0bb5\u0bbe\u0b95\u0bcd\u0b95\u0bb5\u0bbe?",
|
| 32 |
+
"clearChat": "\u0b87\u0ba4\u0bc1 \u0ba4\u0bb1\u0bcd\u0baa\u0bcb\u0ba4\u0bc8\u0baf \u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf\u0b95\u0bb3\u0bc8 \u0b85\u0bb4\u0bbf\u0ba4\u0bcd\u0ba4\u0bc1 \u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8\u0baf\u0bc8\u0ba4\u0bcd \u0ba4\u0bca\u0b9f\u0b99\u0bcd\u0b95\u0bc1\u0bae\u0bcd.",
|
| 33 |
+
"cancel": "\u0bb0\u0ba4\u0bcd\u0ba4\u0bc1",
|
| 34 |
+
"confirm": "\u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0b9a\u0bc6\u0baf\u0bcd"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd",
|
| 38 |
+
"expandMessages": "\u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf\u0b95\u0bb3\u0bc8 \u0bb5\u0bbf\u0bb0\u0bbf\u0bb5\u0bbe\u0b95\u0bcd\u0b95\u0bc1",
|
| 39 |
+
"hideChainOfThought": "\u0b9a\u0bbf\u0ba8\u0bcd\u0ba4\u0ba9\u0bc8\u0b9a\u0bcd \u0b9a\u0b99\u0bcd\u0b95\u0bbf\u0bb2\u0bbf\u0baf\u0bc8 \u0bae\u0bb1\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1",
|
| 40 |
+
"darkMode": "\u0b87\u0bb0\u0bc1\u0ba3\u0bcd\u0b9f \u0baa\u0baf\u0ba9\u0bcd\u0bae\u0bc1\u0bb1\u0bc8"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf",
|
| 44 |
+
"running": "\u0b93\u0b9f\u0bc1\u0ba4\u0bb2\u0bcd",
|
| 45 |
+
"took_one": "{{count}} \u0b85\u0b9f\u0bbf \u0b8e\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1 \u0bb5\u0bc8\u0ba4\u0bcd\u0ba4\u0bbe\u0bb0\u0bcd",
|
| 46 |
+
"took_other": "{{count}} \u0baa\u0b9f\u0bbf\u0b95\u0bb3\u0bc8 \u0b8e\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bbe\u0bb0\u0bcd"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bcd\u0b9f\u0bc8 \u0b85\u0ba3\u0bc1\u0b95 \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0b95.",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf",
|
| 53 |
+
"password": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd",
|
| 54 |
+
"noAccount": "\u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1 \u0b87\u0bb2\u0bcd\u0bb2\u0bc8\u0baf\u0bbe?",
|
| 55 |
+
"alreadyHaveAccount": "\u0b8f\u0bb1\u0bcd\u0b95\u0ba9\u0bb5\u0bc7 \u0b92\u0bb0\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1 \u0b89\u0bb3\u0bcd\u0bb3\u0ba4\u0bbe?",
|
| 56 |
+
"signup": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc1\u0baa\u0bc6\u0bb1\u0bc1",
|
| 57 |
+
"signin": "\u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0b95",
|
| 58 |
+
"or": "\u0b85\u0bb2\u0bcd\u0bb2\u0ba4\u0bc1",
|
| 59 |
+
"continue": "\u0ba4\u0bca\u0b9f\u0bb0\u0bcd",
|
| 60 |
+
"forgotPassword": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd\u0bb2\u0bc8 \u0bae\u0bb1\u0ba8\u0bcd\u0ba4\u0bc1\u0bb5\u0bbf\u0b9f\u0bcd\u0b9f\u0bc0\u0bb0\u0bcd\u0b95\u0bb3\u0bbe?",
|
| 61 |
+
"passwordMustContain": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd\u0bb2\u0bbf\u0bb2\u0bcd \u0b87\u0bb5\u0bc8 \u0b87\u0bb0\u0bc1\u0b95\u0bcd\u0b95 \u0bb5\u0bc7\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd:",
|
| 62 |
+
"emailRequired": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0b92\u0bb0\u0bc1 \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 \u0baa\u0bc1\u0bb2\u0bae\u0bcd",
|
| 63 |
+
"passwordRequired": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 \u0baa\u0bc1\u0bb2\u0bae\u0bcd"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0b87\u0baf\u0bb2\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8.",
|
| 67 |
+
"signin": "\u0bb5\u0bc7\u0bb1\u0bca\u0bb0\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 68 |
+
"oauthsignin": "\u0bb5\u0bc7\u0bb1\u0bca\u0bb0\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 69 |
+
"redirect_uri_mismatch": "\u0bb5\u0bb4\u0bbf\u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1 URI oauth \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bcd\u0b9f\u0bc1 \u0b89\u0bb3\u0bcd\u0bb3\u0bae\u0bc8\u0bb5\u0bc1\u0b9f\u0ba9\u0bcd \u0baa\u0bca\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8.",
|
| 70 |
+
"oauthcallbackerror": "\u0bb5\u0bc7\u0bb1\u0bca\u0bb0\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 71 |
+
"oauthcreateaccount": "\u0bb5\u0bc7\u0bb1\u0bca\u0bb0\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 72 |
+
"emailcreateaccount": "\u0bb5\u0bc7\u0bb1\u0bca\u0bb0\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 73 |
+
"callback": "\u0bb5\u0bc7\u0bb1\u0bca\u0bb0\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 74 |
+
"oauthaccountnotlinked": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b85\u0b9f\u0bc8\u0baf\u0bbe\u0bb3\u0ba4\u0bcd\u0ba4\u0bc8 \u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4, \u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0bae\u0bc1\u0ba4\u0bb2\u0bbf\u0bb2\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0baf \u0b85\u0ba4\u0bc7 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 75 |
+
"emailsignin": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bc8 \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa \u0b87\u0baf\u0bb2\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8.",
|
| 76 |
+
"emailverify": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bc8 \u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0b99\u0bcd\u0b95\u0bb3\u0bcd, \u0b92\u0bb0\u0bc1 \u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1.",
|
| 77 |
+
"credentialssignin": "\u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0bb5\u0bc1 \u0ba4\u0bcb\u0bb2\u0bcd\u0bb5\u0bbf\u0baf\u0bc1\u0bb1\u0bcd\u0bb1\u0ba4\u0bc1. \u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0bb5\u0bb4\u0b99\u0bcd\u0b95\u0bbf\u0baf \u0bb5\u0bbf\u0bb5\u0bb0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bb0\u0bbf\u0baf\u0bbe\u0ba9\u0ba4\u0bbe \u0b8e\u0ba9\u0bcd\u0bb1\u0bc1 \u0b9a\u0bb0\u0bbf\u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 78 |
+
"sessionrequired": "\u0b87\u0ba8\u0bcd\u0ba4\u0baa\u0bcd \u0baa\u0b95\u0bcd\u0b95\u0ba4\u0bcd\u0ba4\u0bc8 \u0b85\u0ba3\u0bc1\u0b95 \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf\u0bb5\u0bc1\u0bae\u0bcd."
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b95\u0bbf\u0b9f\u0bcd\u0b9f\u0ba4\u0bcd\u0ba4\u0b9f\u0bcd\u0b9f \u0bb5\u0ba8\u0bcd\u0ba4\u0bc1\u0bb5\u0bbf\u0b9f\u0bcd\u0b9f\u0bc0\u0bb0\u0bcd\u0b95\u0bb3\u0bcd! -\u0b95\u0bcd\u0b95\u0bc1 \u0b92\u0bb0\u0bc1 \u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0baf\u0bc1\u0bb3\u0bcd\u0bb3\u0bcb\u0bae\u0bcd ",
|
| 83 |
+
"verifyEmailLink": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0baa\u0ba4\u0bbf\u0bb5\u0bc1\u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bb2\u0bc8 \u0ba8\u0bbf\u0bb1\u0bc8\u0bb5\u0bc1\u0b9a\u0bc6\u0baf\u0bcd\u0baf \u0b85\u0ba8\u0bcd\u0ba4 \u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bbf\u0bb2\u0bcd \u0b89\u0bb3\u0bcd\u0bb3 \u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc8\u0b95\u0bcd \u0b95\u0bbf\u0bb3\u0bbf\u0b95\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 84 |
+
"didNotReceive": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bc8\u0b95\u0bcd \u0b95\u0ba3\u0bcd\u0b9f\u0bc1\u0baa\u0bbf\u0b9f\u0bbf\u0b95\u0bcd\u0b95 \u0bae\u0bc1\u0b9f\u0bbf\u0baf\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8\u0baf\u0bbe?",
|
| 85 |
+
"resendEmail": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bc8 \u0bae\u0bc0\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0bb5\u0bc1\u0bae\u0bcd",
|
| 86 |
+
"goBack": "\u0baa\u0bbf\u0ba9\u0bcd \u0b9a\u0bc6\u0bb2\u0bcd",
|
| 87 |
+
"emailSent": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0bb5\u0bc6\u0bb1\u0bcd\u0bb1\u0bbf\u0b95\u0bb0\u0bae\u0bbe\u0b95 \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1.",
|
| 88 |
+
"verifyEmail": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b88\u0bae\u0bc6\u0baf\u0bbf\u0bb2\u0bcd \u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf\u0baf\u0bc8\u0b9a\u0bcd \u0b9a\u0bb0\u0bbf\u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "{{provider}} \u0b89\u0b9f\u0ba9\u0bcd \u0ba4\u0bca\u0b9f\u0bb0\u0bb5\u0bc1\u0bae\u0bcd",
|
| 92 |
+
"signup": "{{provider}} \u0b89\u0b9f\u0ba9\u0bcd \u0baa\u0ba4\u0bbf\u0bb5\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0b95"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 \u0baa\u0bc1\u0bb2\u0bae\u0bcd",
|
| 96 |
+
"passwordsMustMatch": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb1\u0bcd\u0b95\u0bb3\u0bcd \u0baa\u0bca\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4 \u0bb5\u0bc7\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd",
|
| 97 |
+
"confirmPasswordRequired": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd\u0bb2\u0bc8 \u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 \u0baa\u0bc1\u0bb2\u0bae\u0bcd",
|
| 98 |
+
"newPassword": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd",
|
| 99 |
+
"confirmPassword": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd\u0bb2\u0bc8 \u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd",
|
| 100 |
+
"resetPassword": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd\u0bb2\u0bc8 \u0bae\u0bc0\u0b9f\u0bcd\u0b9f\u0bae\u0bc8"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf",
|
| 104 |
+
"emailRequired": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0b92\u0bb0\u0bc1 \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 \u0baa\u0bc1\u0bb2\u0bae\u0bcd",
|
| 105 |
+
"emailSent": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd\u0bb2\u0bc8 \u0bae\u0bc0\u0b9f\u0bcd\u0b9f\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0ba4\u0bb1\u0bcd\u0b95\u0bbe\u0ba9 \u0bb5\u0bb4\u0bbf\u0bae\u0bc1\u0bb1\u0bc8\u0b95\u0bb3\u0bc1\u0b95\u0bcd\u0b95\u0bc1 {{email}} \u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf\u0baf\u0bc8 \u0b9a\u0bb0\u0bbf\u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd.",
|
| 106 |
+
"enterEmail": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf\u0baf\u0bc8 \u0b89\u0bb3\u0bcd\u0bb3\u0bbf\u0b9f\u0bb5\u0bc1\u0bae\u0bcd, \u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd\u0bb2\u0bc8 \u0bae\u0bc0\u0b9f\u0bcd\u0b9f\u0bae\u0bc8\u0b95\u0bcd\u0b95 \u0ba8\u0bbe\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0bb5\u0bb4\u0bbf\u0bae\u0bc1\u0bb1\u0bc8\u0b95\u0bb3\u0bc8 \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0bc1\u0bb5\u0bcb\u0bae\u0bcd.",
|
| 107 |
+
"resendEmail": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bc8 \u0bae\u0bc0\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0bb5\u0bc1\u0bae\u0bcd",
|
| 108 |
+
"continue": "\u0ba4\u0bca\u0b9f\u0bb0\u0bcd",
|
| 109 |
+
"goBack": "\u0baa\u0bbf\u0ba9\u0bcd \u0b9a\u0bc6\u0bb2\u0bcd"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u0bb5\u0bb0\u0bb2\u0bbe\u0bb1\u0bcd\u0bb1\u0bc8\u0b95\u0bcd \u0b95\u0bbe\u0b9f\u0bcd\u0b9f\u0bc1\u0b95",
|
| 118 |
+
"lastInputs": "\u0b95\u0b9f\u0bc8\u0b9a\u0bbf \u0b89\u0bb3\u0bcd\u0bb3\u0bc0\u0b9f\u0bc1\u0b95\u0bb3\u0bcd",
|
| 119 |
+
"noInputs": "\u0b85\u0bb5\u0bcd\u0bb5\u0bb3\u0bb5\u0bc1 \u0bb5\u0bc6\u0bb1\u0bc1\u0bae\u0bc8...",
|
| 120 |
+
"loading": "\u0b8f\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1..."
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf\u0baf\u0bc8 \u0b87\u0b99\u0bcd\u0b95\u0bc7 \u0ba4\u0b9f\u0bcd\u0b9f\u0b9a\u0bcd\u0b9a\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0b95..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0ba4\u0bcd \u0ba4\u0bca\u0b9f\u0b99\u0bcd\u0b95\u0bc1",
|
| 129 |
+
"stop": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0bb5\u0ba4\u0bc8 \u0ba8\u0bbf\u0bb1\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0bc1",
|
| 133 |
+
"stopTask": "\u0baa\u0ba3\u0bbf\u0baf\u0bc8 \u0ba8\u0bbf\u0bb1\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u0b95\u0bcb\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bc8 \u0b87\u0ba3\u0bc8\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u0b89\u0b9f\u0ba9\u0bcd \u0b95\u0b9f\u0bcd\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u0b93\u0b9f\u0bc1\u0ba4\u0bb2\u0bcd",
|
| 145 |
+
"executedSuccessfully": "\u0bb5\u0bc6\u0bb1\u0bcd\u0bb1\u0bbf\u0b95\u0bb0\u0bae\u0bbe\u0b95 \u0b9a\u0bc6\u0baf\u0bb2\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
|
| 146 |
+
"failed": "\u0ba4\u0bcb\u0bb2\u0bcd\u0bb5\u0bbf\u0baf\u0bc1\u0bb1\u0bcd\u0bb1\u0ba4\u0bc1",
|
| 147 |
+
"feedbackUpdated": "\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1 \u0baa\u0bc1\u0ba4\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
|
| 148 |
+
"updating": "\u0baa\u0bc1\u0ba4\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb1\u0ba4\u0bc1"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b95\u0bcb\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bc8 \u0b87\u0b99\u0bcd\u0b95\u0bc7 \u0bb5\u0bbf\u0b9f\u0bc1\u0b99\u0bcd\u0b95\u0bb3\u0bcd:"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1\u0bb5\u0ba4\u0bbf\u0bb2\u0bcd \u0ba4\u0bcb\u0bb2\u0bcd\u0bb5\u0bbf",
|
| 169 |
+
"cancelledUploadOf": "\u0bb0\u0ba4\u0bcd\u0ba4\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f \u0baa\u0ba4\u0bbf\u0bb5\u0bc7\u0bb1\u0bcd\u0bb1\u0bae\u0bcd",
|
| 170 |
+
"couldNotReachServer": "\u0b9a\u0bc7\u0bb5\u0bc8\u0baf\u0b95\u0ba4\u0bcd\u0ba4\u0bc8 \u0b85\u0b9f\u0bc8\u0baf \u0bae\u0bc1\u0b9f\u0bbf\u0baf\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8",
|
| 171 |
+
"continuingChat": "\u0ba4\u0bca\u0b9f\u0bb0\u0bc1\u0bae\u0bcd \u0bae\u0bc1\u0ba8\u0bcd\u0ba4\u0bc8\u0baf \u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd \u0b95\u0bc1\u0bb4\u0bc1",
|
| 175 |
+
"reset": "\u0bae\u0bc0\u0b9f\u0bcd\u0b9f\u0bae\u0bc8",
|
| 176 |
+
"cancel": "\u0bb0\u0ba4\u0bcd\u0ba4\u0bc1",
|
| 177 |
+
"confirm": "\u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0b9a\u0bc6\u0baf\u0bcd"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "\u0baa\u0bbf\u0ba9\u0bcd\u0ba9\u0bc2\u0b9f\u0bcd\u0b9f\u0bae\u0bcd: \u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1\u0bae\u0bcd",
|
| 185 |
+
"feedbackPositive": "\u0baa\u0bbf\u0ba9\u0bcd\u0ba9\u0bc2\u0b9f\u0bcd\u0b9f\u0bae\u0bcd: \u0ba8\u0bc7\u0bb0\u0bcd\u0bae\u0bb1\u0bc8",
|
| 186 |
+
"feedbackNegative": "\u0baa\u0bbf\u0ba9\u0bcd\u0ba9\u0bc2\u0b9f\u0bcd\u0b9f\u0bae\u0bcd: \u0b8e\u0ba4\u0bbf\u0bb0\u0bcd\u0bae\u0bb1\u0bc8"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u0ba4\u0bc7\u0b9f\u0bc1"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u0b87\u0ba4\u0bc1 \u0ba8\u0bc2\u0bb2\u0bcd \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0b85\u0ba4\u0ba9\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf\u0b95\u0bb3\u0bcd \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0b95\u0bc2\u0bb1\u0bc1\u0b95\u0bb3\u0bc8 \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd.",
|
| 194 |
+
"cancel": "\u0bb0\u0ba4\u0bcd\u0ba4\u0bc1",
|
| 195 |
+
"confirm": "\u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0b9a\u0bc6\u0baf\u0bcd",
|
| 196 |
+
"deletingChat": "\u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8\u0baf\u0bc8 \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
|
| 197 |
+
"chatDeleted": "\u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8 \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8\u0b95\u0bb3\u0bcd"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u0b95\u0bbe\u0bb2\u0bbf\u0baf\u0bbe\u0ba9...",
|
| 204 |
+
"today": "\u0b87\u0ba9\u0bcd\u0bb1\u0bc1",
|
| 205 |
+
"yesterday": "\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1",
|
| 206 |
+
"previous7days": "\u0bae\u0bc1\u0ba8\u0bcd\u0ba4\u0bc8\u0baf 7 \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",
|
| 207 |
+
"previous30days": "\u0bae\u0bc1\u0ba8\u0bcd\u0ba4\u0bc8\u0baf 30 \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u0baa\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bc8 \u0bae\u0bc2\u0b9f\u0bc1",
|
| 211 |
+
"openSidebar": "\u0baa\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bc8\u0ba4\u0bcd \u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8\u0b95\u0bcd\u0b95\u0bc1 \u0bae\u0bc0\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd \u0b9a\u0bc6\u0bb2\u0bcd\u0bb2\u0bb5\u0bc1\u0bae\u0bcd",
|
| 216 |
+
"chatCreatedOn": "\u0b87\u0ba8\u0bcd\u0ba4 \u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8 \u0b89\u0bb0\u0bc1\u0bb5\u0bbe\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f \u0ba4\u0bc7\u0ba4\u0bbf"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8",
|
| 221 |
+
"readme": "\u0bb0\u0bc0\u0b9f\u0bcd\u0bae\u0bc0"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u0bb5\u0bb4\u0b99\u0bcd\u0b95\u0bc1\u0ba8\u0bb0\u0bcd\u0b95\u0bb3\u0bc8\u0baa\u0bcd \u0baa\u0bc6\u0bb1\u0bc1\u0bb5\u0ba4\u0bbf\u0bb2\u0bcd \u0ba4\u0bcb\u0bb2\u0bcd\u0bb5\u0bbf:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u0bb5\u0bc6\u0bb1\u0bcd\u0bb1\u0bbf\u0b95\u0bb0\u0bae\u0bbe\u0b95 \u0b9a\u0bc7\u0bae\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
|
| 234 |
+
"requiredApiKeys": "\u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 API \u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd",
|
| 235 |
+
"requiredApiKeysInfo": "\u0b87\u0ba8\u0bcd\u0ba4 \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bcd\u0b9f\u0bc8\u0baa\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4, \u0baa\u0bbf\u0ba9\u0bcd\u0bb5\u0bb0\u0bc1\u0bae\u0bcd API \u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd \u0ba4\u0bc7\u0bb5\u0bc8. \u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd \u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bbe\u0ba4\u0ba9\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0bb3\u0bc2\u0bb0\u0bcd \u0b9a\u0bc7\u0bae\u0bbf\u0baa\u0bcd\u0baa\u0b95\u0ba4\u0bcd\u0ba4\u0bbf\u0bb2\u0bcd \u0b9a\u0bc7\u0bae\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0bae\u0bcd."
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b87\u0ba8\u0bcd\u0ba4\u0ba4\u0bcd \u0ba4\u0bbf\u0b9f\u0bcd\u0b9f\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bcd \u0b92\u0bb0\u0bc1 \u0baa\u0b95\u0bc1\u0ba4\u0bbf\u0baf\u0bbe\u0b95 \u0b87\u0bb2\u0bcd\u0bb2\u0bc8."
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u0b85\u0bb0\u0b9f\u0bcd\u0b9f\u0bc8\u0baf\u0bc8 \u0bae\u0bc0\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd \u0ba4\u0bca\u0b9f\u0b99\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/te.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u0c38\u0c46\u0c1f\u0c4d\u0c1f\u0c3f\u0c02\u0c17\u0c4d \u0c32\u0c41",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API Keys",
|
| 10 |
+
"logout": "Logout"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u0c1f\u0c3e\u0c38\u0c4d\u0c15\u0c4d \u0c32\u0c3f\u0c38\u0c4d\u0c1f\u0c4d",
|
| 22 |
+
"loading": "\u0c32\u0c4b\u0c21\u0c3f\u0c02\u0c17\u0c4d...",
|
| 23 |
+
"error": "\u0c12\u0c15 \u0c26\u0c4b\u0c37\u0c02 \u0c38\u0c02\u0c2d\u0c35\u0c3f\u0c02\u0c1a\u0c3f\u0c02\u0c26\u0c3f"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u0c05\u0c2a\u0c4d \u0c32\u0c4b\u0c21\u0c4d \u0c30\u0c26\u0c4d\u0c26\u0c41 \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
| 28 |
+
"removeAttachment": "\u0c05\u0c1f\u0c3e\u0c1a\u0c4d \u0c2e\u0c46\u0c02\u0c1f\u0c4d \u0c24\u0c4a\u0c32\u0c17\u0c3f\u0c02\u0c1a\u0c41"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d \u0c38\u0c43\u0c37\u0c4d\u0c1f\u0c3f\u0c02\u0c1a\u0c3e\u0c32\u0c3e?",
|
| 32 |
+
"clearChat": "\u0c07\u0c26\u0c3f \u0c2a\u0c4d\u0c30\u0c38\u0c4d\u0c24\u0c41\u0c24 \u0c38\u0c02\u0c26\u0c47\u0c36\u0c3e\u0c32\u0c28\u0c41 \u0c15\u0c4d\u0c32\u0c3f\u0c2f\u0c30\u0c4d \u0c1a\u0c47\u0c38\u0c4d\u0c24\u0c41\u0c02\u0c26\u0c3f \u0c2e\u0c30\u0c3f\u0c2f\u0c41 \u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d\u0c28\u0c41 \u0c2a\u0c4d\u0c30\u0c3e\u0c30\u0c02\u0c2d\u0c3f\u0c38\u0c4d\u0c24\u0c41\u0c02\u0c26\u0c3f.",
|
| 33 |
+
"cancel": "\u0c30\u0c26\u0c4d\u0c26\u0c41",
|
| 34 |
+
"confirm": "\u0c27\u0c4d\u0c30\u0c41\u0c35\u0c2a\u0c30\u0c1a\u0c41"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u0c38\u0c46\u0c1f\u0c4d\u0c1f\u0c3f\u0c02\u0c17\u0c4d \u0c32\u0c41",
|
| 38 |
+
"expandMessages": "\u0c38\u0c02\u0c26\u0c47\u0c36\u0c3e\u0c32\u0c28\u0c41 \u0c35\u0c3f\u0c38\u0c4d\u0c24\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
| 39 |
+
"hideChainOfThought": "\u0c06\u0c32\u0c4b\u0c1a\u0c28\u0c3e \u0c17\u0c4a\u0c32\u0c41\u0c38\u0c41\u0c28\u0c41 \u0c26\u0c3e\u0c1a\u0c02\u0c21\u0c3f",
|
| 40 |
+
"darkMode": "\u0c21\u0c3e\u0c30\u0c4d\u0c15\u0c4d \u0c2e\u0c4b\u0c21\u0c4d"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c21\u0c02",
|
| 44 |
+
"running": "\u0c30\u0c28\u0c4d\u0c28\u0c3f\u0c02\u0c17\u0c4d",
|
| 45 |
+
"took_one": "{{count}} \u0c05\u0c21\u0c41\u0c17\u0c41 \u0c35\u0c47\u0c38\u0c3f\u0c02\u0c26\u0c3f",
|
| 46 |
+
"took_other": "{{count}} \u0c05\u0c21\u0c41\u0c17\u0c41\u0c32\u0c41 \u0c35\u0c47\u0c38\u0c3f\u0c02\u0c26\u0c3f"
|
| 47 |
+
},
|
| 48 |
+
"auth": {
|
| 49 |
+
"authLogin": {
|
| 50 |
+
"title": "\u0c2f\u0c3e\u0c2a\u0c4d \u0c2f\u0c3e\u0c15\u0c4d\u0c38\u0c46\u0c38\u0c4d \u0c1a\u0c47\u0c38\u0c41\u0c15\u0c4b\u0c35\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c32\u0c3e\u0c17\u0c3f\u0c28\u0c4d \u0c05\u0c35\u0c4d\u0c35\u0c02\u0c21\u0c3f.",
|
| 51 |
+
"form": {
|
| 52 |
+
"email": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c1a\u0c3f\u0c30\u0c41\u0c28\u0c3e\u0c2e\u0c3e",
|
| 53 |
+
"password": "\u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d",
|
| 54 |
+
"noAccount": "\u0c2e\u0c40\u0c15\u0c41 \u0c05\u0c15\u0c4c\u0c02\u0c1f\u0c4d \u0c32\u0c47\u0c26\u0c3e?",
|
| 55 |
+
"alreadyHaveAccount": "\u0c07\u0c2a\u0c4d\u0c2a\u0c1f\u0c3f\u0c15\u0c47 \u0c16\u0c3e\u0c24\u0c3e \u0c09\u0c02\u0c26\u0c3e?",
|
| 56 |
+
"signup": "\u0c38\u0c46\u0c56\u0c28\u0c4d \u0c05\u0c2a\u0c4d",
|
| 57 |
+
"signin": "\u0c38\u0c46\u0c56\u0c28\u0c4d \u0c07\u0c28\u0c4d",
|
| 58 |
+
"or": "\u0c32\u0c47\u0c26\u0c3e",
|
| 59 |
+
"continue": "\u0c15\u0c4a\u0c28\u0c38\u0c3e\u0c17\u0c41",
|
| 60 |
+
"forgotPassword": "\u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c2e\u0c30\u0c4d\u0c1a\u0c3f\u0c2a\u0c4b\u0c2f\u0c3e\u0c30\u0c3e?",
|
| 61 |
+
"passwordMustContain": "\u0c2e\u0c40 \u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c32\u0c4b \u0c07\u0c35\u0c3f \u0c09\u0c02\u0c21\u0c3e\u0c32\u0c3f:",
|
| 62 |
+
"emailRequired": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c05\u0c28\u0c47\u0c26\u0c3f \u0c05\u0c35\u0c38\u0c30\u0c2e\u0c48\u0c28 \u0c2b\u0c40\u0c32\u0c4d\u0c21\u0c4d",
|
| 63 |
+
"passwordRequired": "\u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c05\u0c28\u0c47\u0c26\u0c3f \u0c05\u0c35\u0c38\u0c30\u0c2e\u0c48\u0c28 \u0c2b\u0c40\u0c32\u0c4d\u0c21\u0c4d"
|
| 64 |
+
},
|
| 65 |
+
"error": {
|
| 66 |
+
"default": "\u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c02 \u0c38\u0c3e\u0c27\u0c4d\u0c2f\u0c02 \u0c15\u0c3e\u0c26\u0c41.",
|
| 67 |
+
"signin": "\u0c35\u0c47\u0c30\u0c4a\u0c15 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f.",
|
| 68 |
+
"oauthsignin": "\u0c35\u0c47\u0c30\u0c4a\u0c15 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f.",
|
| 69 |
+
"redirect_uri_mismatch": "\u0c30\u0c40\u0c21\u0c48\u0c30\u0c46\u0c15\u0c4d\u0c1f\u0c4d URI \u0c13\u0c2f\u0c42\u0c24\u0c4d \u0c2f\u0c3e\u0c2a\u0c4d \u0c15\u0c3e\u0c28\u0c4d\u0c2b\u0c3f\u0c17\u0c30\u0c47\u0c37\u0c28\u0c4d \u0c15\u0c41 \u0c38\u0c30\u0c3f\u0c2a\u0c4b\u0c32\u0c21\u0c02 \u0c32\u0c47\u0c26\u0c41.",
|
| 70 |
+
"oauthcallbackerror": "\u0c35\u0c47\u0c30\u0c4a\u0c15 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f.",
|
| 71 |
+
"oauthcreateaccount": "\u0c35\u0c47\u0c30\u0c4a\u0c15 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f.",
|
| 72 |
+
"emailcreateaccount": "\u0c35\u0c47\u0c30\u0c4a\u0c15 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f.",
|
| 73 |
+
"callback": "\u0c35\u0c47\u0c30\u0c4a\u0c15 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f.",
|
| 74 |
+
"oauthaccountnotlinked": "\u0c2e\u0c40 \u0c17\u0c41\u0c30\u0c4d\u0c24\u0c3f\u0c02\u0c2a\u0c41\u0c28\u0c41 \u0c27\u0c43\u0c35\u0c40\u0c15\u0c30\u0c3f\u0c02\u0c1a\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f, \u0c2e\u0c40\u0c30\u0c41 \u0c2e\u0c4a\u0c26\u0c1f \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c3f\u0c28 \u0c05\u0c26\u0c47 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f.",
|
| 75 |
+
"emailsignin": "\u0c07-\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c2a\u0c02\u0c2a\u0c21\u0c02 \u0c38\u0c3e\u0c27\u0c4d\u0c2f\u0c02 \u0c15\u0c3e\u0c26\u0c41.",
|
| 76 |
+
"emailverify": "\u0c26\u0c2f\u0c1a\u0c47\u0c38\u0c3f \u0c2e\u0c40 \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c28\u0c3f \u0c27\u0c43\u0c35\u0c40\u0c15\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f, \u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c2a\u0c02\u0c2a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f.",
|
| 77 |
+
"credentialssignin": "\u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c35\u0c3f\u0c2b\u0c32\u0c2e\u0c48\u0c02\u0c26\u0c3f. \u0c2e\u0c40\u0c30\u0c41 \u0c05\u0c02\u0c26\u0c3f\u0c02\u0c1a\u0c3f\u0c28 \u0c35\u0c3f\u0c35\u0c30\u0c3e\u0c32\u0c41 \u0c38\u0c30\u0c3f\u0c17\u0c4d\u0c17\u0c3e \u0c09\u0c28\u0c4d\u0c28\u0c3e\u0c2f\u0c4b \u0c32\u0c47\u0c26\u0c4b \u0c1a\u0c46\u0c15\u0c4d \u0c1a\u0c47\u0c38\u0c41\u0c15\u0c4b\u0c02\u0c21\u0c3f.",
|
| 78 |
+
"sessionrequired": "\u0c08 \u0c2a\u0c47\u0c1c\u0c40\u0c28\u0c3f \u0c2f\u0c3e\u0c15\u0c4d\u0c38\u0c46\u0c38\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c02 \u0c15\u0c4a\u0c30\u0c15\u0c41 \u0c26\u0c2f\u0c1a\u0c47\u0c38\u0c3f \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f."
|
| 79 |
+
}
|
| 80 |
+
},
|
| 81 |
+
"authVerifyEmail": {
|
| 82 |
+
"almostThere": "\u0c2e\u0c40\u0c30\u0c41 \u0c26\u0c3e\u0c26\u0c3e\u0c2a\u0c41 \u0c05\u0c15\u0c4d\u0c15\u0c21\u0c47 \u0c09\u0c28\u0c4d\u0c28\u0c3e\u0c30\u0c41! \u0c2e\u0c47\u0c2e\u0c41 \u0c26\u0c40\u0c28\u0c3f\u0c15\u0c3f \u0c12\u0c15 \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c2a\u0c02\u0c2a\u0c3e\u0c2e\u0c41 ",
|
| 83 |
+
"verifyEmailLink": "\u0c2e\u0c40 \u0c38\u0c48\u0c28\u0c4d \u0c05\u0c2a\u0c4d \u0c2a\u0c42\u0c30\u0c4d\u0c24\u0c3f \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c26\u0c2f\u0c1a\u0c47\u0c38\u0c3f \u0c06 \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c32\u0c4b\u0c28\u0c3f \u0c32\u0c3f\u0c02\u0c15\u0c4d \u0c2a\u0c48 \u0c15\u0c4d\u0c32\u0c3f\u0c15\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f.",
|
| 84 |
+
"didNotReceive": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c28\u0c3f \u0c15\u0c28\u0c41\u0c17\u0c4a\u0c28\u0c32\u0c47\u0c15\u0c2a\u0c4b\u0c2f\u0c3e\u0c30\u0c3e?",
|
| 85 |
+
"resendEmail": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c28\u0c3f \u0c24\u0c3f\u0c30\u0c3f\u0c17\u0c3f \u0c2a\u0c02\u0c2a\u0c02\u0c21\u0c3f",
|
| 86 |
+
"goBack": "\u0c35\u0c46\u0c28\u0c15\u0c4d\u0c15\u0c3f \u0c35\u0c46\u0c33\u0c4d\u0c33\u0c41",
|
| 87 |
+
"emailSent": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c35\u0c3f\u0c1c\u0c2f\u0c35\u0c02\u0c24\u0c02\u0c17\u0c3e \u0c2a\u0c02\u0c2a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f.",
|
| 88 |
+
"verifyEmail": "\u0c2e\u0c40 \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c1a\u0c3f\u0c30\u0c41\u0c28\u0c3e\u0c2e\u0c3e\u0c28\u0c41 \u0c27\u0c43\u0c35\u0c40\u0c15\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
|
| 89 |
+
},
|
| 90 |
+
"providerButton": {
|
| 91 |
+
"continue": "{{provider}} \u0c24\u0c4b \u0c15\u0c4a\u0c28\u0c38\u0c3e\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
| 92 |
+
"signup": "{{provider}} \u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c05\u0c2a\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f"
|
| 93 |
+
},
|
| 94 |
+
"authResetPassword": {
|
| 95 |
+
"newPasswordRequired": "\u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c05\u0c28\u0c47\u0c26\u0c3f \u0c05\u0c35\u0c38\u0c30\u0c2e\u0c48\u0c28 \u0c2b\u0c40\u0c32\u0c4d\u0c21\u0c4d",
|
| 96 |
+
"passwordsMustMatch": "\u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c32\u0c41 \u0c24\u0c2a\u0c4d\u0c2a\u0c28\u0c3f\u0c38\u0c30\u0c3f\u0c17\u0c3e \u0c38\u0c30\u0c3f\u0c2a\u0c4b\u0c32\u0c3e\u0c32\u0c3f",
|
| 97 |
+
"confirmPasswordRequired": "\u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c05\u0c28\u0c47\u0c26\u0c3f \u0c05\u0c35\u0c38\u0c30\u0c2e\u0c48\u0c28 \u0c2b\u0c40\u0c32\u0c4d\u0c21\u0c4d \u0c05\u0c28\u0c3f \u0c27\u0c43\u0c35\u0c40\u0c15\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
| 98 |
+
"newPassword": "\u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d",
|
| 99 |
+
"confirmPassword": "\u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c28\u0c41 \u0c27\u0c43\u0c35\u0c40\u0c15\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
| 100 |
+
"resetPassword": "\u0c30\u0c40\u0c38\u0c46\u0c1f\u0c4d \u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d"
|
| 101 |
+
},
|
| 102 |
+
"authForgotPassword": {
|
| 103 |
+
"email": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c1a\u0c3f\u0c30\u0c41\u0c28\u0c3e\u0c2e\u0c3e",
|
| 104 |
+
"emailRequired": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c05\u0c28\u0c47\u0c26\u0c3f \u0c05\u0c35\u0c38\u0c30\u0c2e\u0c48\u0c28 \u0c2b\u0c40\u0c32\u0c4d\u0c21\u0c4d",
|
| 105 |
+
"emailSent": "\u0c2e\u0c40 \u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c30\u0c40\u0c38\u0c46\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c38\u0c42\u0c1a\u0c28\u0c32 \u0c15\u0c4a\u0c30\u0c15\u0c41 \u0c26\u0c2f\u0c1a\u0c47\u0c38\u0c3f {{email}} \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c1a\u0c3f\u0c30\u0c41\u0c28\u0c3e\u0c2e\u0c3e\u0c28\u0c41 \u0c24\u0c28\u0c3f\u0c16\u0c40 \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f.",
|
| 106 |
+
"enterEmail": "\u0c2e\u0c40 \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c1a\u0c3f\u0c30\u0c41\u0c28\u0c3e\u0c2e\u0c3e\u0c28\u0c41 \u0c28\u0c2e\u0c4b\u0c26\u0c41 \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f \u0c2e\u0c30\u0c3f\u0c2f\u0c41 \u0c2e\u0c40 \u0c2a\u0c3e\u0c38\u0c4d \u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c28\u0c41 \u0c30\u0c40\u0c38\u0c46\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2e\u0c47\u0c2e\u0c41 \u0c2e\u0c40\u0c15\u0c41 \u0c38\u0c42\u0c1a\u0c28\u0c32\u0c41 \u0c2a\u0c02\u0c2a\u0c41\u0c24\u0c3e\u0c2e\u0c41.",
|
| 107 |
+
"resendEmail": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c28\u0c3f \u0c24\u0c3f\u0c30\u0c3f\u0c17\u0c3f \u0c2a\u0c02\u0c2a\u0c02\u0c21\u0c3f",
|
| 108 |
+
"continue": "\u0c15\u0c4a\u0c28\u0c38\u0c3e\u0c17\u0c41",
|
| 109 |
+
"goBack": "\u0c35\u0c46\u0c28\u0c15\u0c4d\u0c15\u0c3f \u0c35\u0c46\u0c33\u0c4d\u0c33\u0c41"
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
},
|
| 113 |
+
"organisms": {
|
| 114 |
+
"chat": {
|
| 115 |
+
"history": {
|
| 116 |
+
"index": {
|
| 117 |
+
"showHistory": "\u0c1a\u0c30\u0c3f\u0c24\u0c4d\u0c30\u0c28\u0c41 \u0c1a\u0c42\u0c2a\u0c3f\u0c02\u0c1a\u0c41",
|
| 118 |
+
"lastInputs": "\u0c1a\u0c3f\u0c35\u0c30\u0c3f \u0c07\u0c28\u0c4d \u0c2a\u0c41\u0c1f\u0c4d \u0c32\u0c41",
|
| 119 |
+
"noInputs": "\u0c05\u0c02\u0c24 \u0c16\u0c3e\u0c33\u0c40\u0c17\u0c3e...",
|
| 120 |
+
"loading": "\u0c32\u0c4b\u0c21\u0c3f\u0c02\u0c17\u0c4d..."
|
| 121 |
+
}
|
| 122 |
+
},
|
| 123 |
+
"inputBox": {
|
| 124 |
+
"input": {
|
| 125 |
+
"placeholder": "\u0c2e\u0c40 \u0c38\u0c02\u0c26\u0c47\u0c36\u0c3e\u0c28\u0c4d\u0c28\u0c3f \u0c07\u0c15\u0c4d\u0c15\u0c21 \u0c1f\u0c48\u0c2a\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f..."
|
| 126 |
+
},
|
| 127 |
+
"speechButton": {
|
| 128 |
+
"start": "\u0c30\u0c3f\u0c15\u0c3e\u0c30\u0c4d\u0c21\u0c3f\u0c02\u0c17\u0c4d \u0c2a\u0c4d\u0c30\u0c3e\u0c30\u0c02\u0c2d\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
| 129 |
+
"stop": "\u0c30\u0c3f\u0c15\u0c3e\u0c30\u0c4d\u0c21\u0c3f\u0c02\u0c17\u0c4d \u0c06\u0c2a\u0c02\u0c21\u0c3f"
|
| 130 |
+
},
|
| 131 |
+
"SubmitButton": {
|
| 132 |
+
"sendMessage": "\u0c38\u0c02\u0c26\u0c47\u0c36\u0c02 \u0c2a\u0c02\u0c2a\u0c41",
|
| 133 |
+
"stopTask": "\u0c38\u0c4d\u0c1f\u0c3e\u0c2a\u0c4d \u0c1f\u0c3e\u0c38\u0c4d\u0c15\u0c4d"
|
| 134 |
+
},
|
| 135 |
+
"UploadButton": {
|
| 136 |
+
"attachFiles": "\u0c2b\u0c48\u0c33\u0c4d\u0c32\u0c28\u0c41 \u0c1c\u0c4b\u0c21\u0c3f\u0c02\u0c1a\u0c41"
|
| 137 |
+
},
|
| 138 |
+
"waterMark": {
|
| 139 |
+
"text": "\u0c26\u0c40\u0c28\u0c3f\u0c24\u0c4b \u0c28\u0c3f\u0c30\u0c4d\u0c2e\u0c3f\u0c02\u0c1a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
+
"Messages": {
|
| 143 |
+
"index": {
|
| 144 |
+
"running": "\u0c30\u0c28\u0c4d\u0c28\u0c3f\u0c02\u0c17\u0c4d",
|
| 145 |
+
"executedSuccessfully": "\u0c35\u0c3f\u0c1c\u0c2f\u0c35\u0c02\u0c24\u0c02\u0c17\u0c3e \u0c05\u0c2e\u0c32\u0c41 \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f",
|
| 146 |
+
"failed": "\u0c35\u0c3f\u0c2b\u0c32\u0c2e\u0c48\u0c02\u0c26\u0c3f",
|
| 147 |
+
"feedbackUpdated": "\u0c2b\u0c40\u0c21\u0c4d \u0c2c\u0c4d\u0c2f\u0c3e\u0c15\u0c4d \u0c05\u0c2a\u0c4d \u0c21\u0c47\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f",
|
| 148 |
+
"updating": "\u0c05\u0c2a\u0c4d \u0c21\u0c47\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c02"
|
| 149 |
+
},
|
| 150 |
+
"copyButton": {
|
| 151 |
+
"copyToClipboard": "Copy to clipboard",
|
| 152 |
+
"copied": "Copied!"
|
| 153 |
+
},
|
| 154 |
+
"feedbackButton": {
|
| 155 |
+
"helpful": "Helpful",
|
| 156 |
+
"notHelpful": "Not helpful",
|
| 157 |
+
"editFeedback": "Edit feedback"
|
| 158 |
+
},
|
| 159 |
+
"feedbackDialog": {
|
| 160 |
+
"dialogTitle": "Add a comment",
|
| 161 |
+
"submitButton": "Submit feedback"
|
| 162 |
+
}
|
| 163 |
+
},
|
| 164 |
+
"dropScreen": {
|
| 165 |
+
"dropYourFilesHere": "\u0c2e\u0c40 \u0c2b\u0c48\u0c33\u0c4d\u0c32\u0c28\u0c41 \u0c07\u0c15\u0c4d\u0c15\u0c21 \u0c21\u0c4d\u0c30\u0c3e\u0c2a\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f"
|
| 166 |
+
},
|
| 167 |
+
"index": {
|
| 168 |
+
"failedToUpload": "\u0c05\u0c2a\u0c4d \u0c32\u0c4b\u0c21\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c02 \u0c35\u0c3f\u0c2b\u0c32\u0c2e\u0c48\u0c02\u0c26\u0c3f",
|
| 169 |
+
"cancelledUploadOf": "\u0c30\u0c26\u0c4d\u0c26\u0c41 \u0c1a\u0c47\u0c38\u0c3f\u0c28 \u0c05\u0c2a\u0c4d \u0c32\u0c4b\u0c21\u0c4d",
|
| 170 |
+
"couldNotReachServer": "\u0c38\u0c30\u0c4d\u0c35\u0c30\u0c4d \u0c15\u0c41 \u0c1a\u0c47\u0c30\u0c41\u0c15\u0c4b\u0c35\u0c21\u0c02 \u0c38\u0c3e\u0c27\u0c4d\u0c2f\u0c02 \u0c15\u0c3e\u0c32\u0c47\u0c26\u0c41",
|
| 171 |
+
"continuingChat": "\u0c2e\u0c41\u0c28\u0c41\u0c2a\u0c1f\u0c3f \u0c1a\u0c3e\u0c1f\u0c4d \u0c28\u0c41 \u0c15\u0c4a\u0c28\u0c38\u0c3e\u0c17\u0c3f\u0c02\u0c1a\u0c21\u0c02"
|
| 172 |
+
},
|
| 173 |
+
"settings": {
|
| 174 |
+
"settingsPanel": "\u0c38\u0c46\u0c1f\u0c4d\u0c1f\u0c3f\u0c02\u0c17\u0c4d\u0c38\u0c4d \u0c2a\u0c4d\u0c2f\u0c3e\u0c28\u0c46\u0c32\u0c4d",
|
| 175 |
+
"reset": "\u0c30\u0c40\u0c38\u0c46\u0c1f\u0c4d",
|
| 176 |
+
"cancel": "\u0c30\u0c26\u0c4d\u0c26\u0c41",
|
| 177 |
+
"confirm": "\u0c27\u0c4d\u0c30\u0c41\u0c35\u0c2a\u0c30\u0c1a\u0c41"
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
"threadHistory": {
|
| 181 |
+
"sidebar": {
|
| 182 |
+
"filters": {
|
| 183 |
+
"FeedbackSelect": {
|
| 184 |
+
"feedbackAll": "\u0c2b\u0c40\u0c21\u0c4d \u0c2c\u0c4d\u0c2f\u0c3e\u0c15\u0c4d: \u0c05\u0c28\u0c4d\u0c28\u0c40",
|
| 185 |
+
"feedbackPositive": "\u0c2b\u0c40\u0c21\u0c4d \u0c2c\u0c4d\u0c2f\u0c3e\u0c15\u0c4d: \u0c2a\u0c3e\u0c1c\u0c3f\u0c1f\u0c3f\u0c35\u0c4d",
|
| 186 |
+
"feedbackNegative": "\u0c2b\u0c40\u0c21\u0c4d \u0c2c\u0c4d\u0c2f\u0c3e\u0c15\u0c4d: \u0c28\u0c46\u0c17\u0c46\u0c1f\u0c3f\u0c35\u0c4d"
|
| 187 |
+
},
|
| 188 |
+
"SearchBar": {
|
| 189 |
+
"search": "\u0c35\u0c46\u0c24\u0c41\u0c15\u0c41"
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"DeleteThreadButton": {
|
| 193 |
+
"confirmMessage": "\u0c07\u0c26\u0c3f \u0c25\u0c4d\u0c30\u0c46\u0c21\u0c4d\u0c24\u0c4b \u0c2a\u0c3e\u0c1f\u0c41 \u0c26\u0c3e\u0c28\u0c3f \u0c38\u0c02\u0c26\u0c47\u0c36\u0c3e\u0c32\u0c41 \u0c2e\u0c30\u0c3f\u0c2f\u0c41 \u0c0e\u0c32\u0c3f\u0c2e\u0c46\u0c02\u0c1f\u0c4d\u0c32\u0c28\u0c41 \u0c24\u0c4a\u0c32\u0c17\u0c3f\u0c38\u0c4d\u0c24\u0c41\u0c02\u0c26\u0c3f.",
|
| 194 |
+
"cancel": "\u0c30\u0c26\u0c4d\u0c26\u0c41",
|
| 195 |
+
"confirm": "\u0c27\u0c4d\u0c30\u0c41\u0c35\u0c2a\u0c30\u0c1a\u0c41",
|
| 196 |
+
"deletingChat": "\u0c1a\u0c3e\u0c1f\u0c4d \u0c28\u0c41 \u0c21\u0c3f\u0c32\u0c40\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c02",
|
| 197 |
+
"chatDeleted": "\u0c1a\u0c3e\u0c1f\u0c4d \u0c21\u0c3f\u0c32\u0c40\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f"
|
| 198 |
+
},
|
| 199 |
+
"index": {
|
| 200 |
+
"pastChats": "\u0c17\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d \u0c32\u0c41"
|
| 201 |
+
},
|
| 202 |
+
"ThreadList": {
|
| 203 |
+
"empty": "\u0c16\u0c3e\u0c33\u0c40...",
|
| 204 |
+
"today": "\u0c08 \u0c30\u0c4b\u0c1c\u0c41",
|
| 205 |
+
"yesterday": "\u0c28\u0c3f\u0c28\u0c4d\u0c28",
|
| 206 |
+
"previous7days": "\u0c2e\u0c41\u0c28\u0c41\u0c2a\u0c1f\u0c3f 7 \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",
|
| 207 |
+
"previous30days": "\u0c2e\u0c41\u0c28\u0c41\u0c2a\u0c1f\u0c3f 30 \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41"
|
| 208 |
+
},
|
| 209 |
+
"TriggerButton": {
|
| 210 |
+
"closeSidebar": "\u0c15\u0c4d\u0c32\u0c4b\u0c1c\u0c4d \u0c38\u0c48\u0c21\u0c4d \u0c2c\u0c3e\u0c30\u0c4d",
|
| 211 |
+
"openSidebar": "\u0c13\u0c2a\u0c46\u0c28\u0c4d \u0c38\u0c48\u0c21\u0c4d \u0c2c\u0c3e\u0c30\u0c4d"
|
| 212 |
+
}
|
| 213 |
+
},
|
| 214 |
+
"Thread": {
|
| 215 |
+
"backToChat": "\u0c1a\u0c3e\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c24\u0c3f\u0c30\u0c3f\u0c17\u0c3f \u0c35\u0c46\u0c33\u0c4d\u0c32\u0c02\u0c21\u0c3f",
|
| 216 |
+
"chatCreatedOn": "\u0c08 \u0c1a\u0c3e\u0c1f\u0c4d \u0c26\u0c40\u0c28\u0c3f\u0c32\u0c4b \u0c38\u0c43\u0c37\u0c4d\u0c1f\u0c3f\u0c02\u0c1a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f"
|
| 217 |
+
}
|
| 218 |
+
},
|
| 219 |
+
"header": {
|
| 220 |
+
"chat": "\u0c2e\u0c41\u0c1a\u0c4d\u0c1a\u0c1f\u0c3f\u0c02\u0c1a\u0c41",
|
| 221 |
+
"readme": "Readme"
|
| 222 |
+
}
|
| 223 |
+
}
|
| 224 |
+
},
|
| 225 |
+
"hooks": {
|
| 226 |
+
"useLLMProviders": {
|
| 227 |
+
"failedToFetchProviders": "\u0c2a\u0c4d\u0c30\u0c4a\u0c35\u0c48\u0c21\u0c30\u0c4d\u0c32\u0c28\u0c41 \u0c2a\u0c4a\u0c02\u0c26\u0c21\u0c02\u0c32\u0c4b \u0c35\u0c3f\u0c2b\u0c32\u0c2e\u0c48\u0c02\u0c26\u0c3f:"
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"pages": {
|
| 231 |
+
"Design": {},
|
| 232 |
+
"Env": {
|
| 233 |
+
"savedSuccessfully": "\u0c35\u0c3f\u0c1c\u0c2f\u0c35\u0c02\u0c24\u0c02\u0c17\u0c3e \u0c38\u0c47\u0c35\u0c4d \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f",
|
| 234 |
+
"requiredApiKeys": "\u0c05\u0c35\u0c38\u0c30\u0c2e\u0c48\u0c28 API \u0c15\u0c40\u0c32\u0c41",
|
| 235 |
+
"requiredApiKeysInfo": "\u0c08 \u0c2f\u0c3e\u0c2a\u0c4d \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f, \u0c08 \u0c15\u0c4d\u0c30\u0c3f\u0c02\u0c26\u0c3f API \u0c15\u0c40\u0c32\u0c41 \u0c05\u0c35\u0c38\u0c30\u0c02 \u0c05\u0c35\u0c41\u0c24\u0c3e\u0c2f\u0c3f. \u0c15\u0c40\u0c32\u0c41 \u0c2e\u0c40 \u0c2a\u0c30\u0c3f\u0c15\u0c30\u0c02 \u0c2f\u0c4a\u0c15\u0c4d\u0c15 \u0c38\u0c4d\u0c25\u0c3e\u0c28\u0c3f\u0c15 \u0c38\u0c4d\u0c1f\u0c4b\u0c30\u0c47\u0c1c\u0c40\u0c32\u0c4b \u0c28\u0c3f\u0c32\u0c4d\u0c35 \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c24\u0c3e\u0c2f\u0c3f."
|
| 236 |
+
},
|
| 237 |
+
"Page": {
|
| 238 |
+
"notPartOfProject": "\u0c2e\u0c40\u0c30\u0c41 \u0c08 \u0c2a\u0c4d\u0c30\u0c3e\u0c1c\u0c46\u0c15\u0c4d\u0c1f\u0c41\u0c32\u0c4b \u0c2d\u0c3e\u0c17\u0c02 \u0c15\u0c3e\u0c26\u0c41."
|
| 239 |
+
},
|
| 240 |
+
"ResumeButton": {
|
| 241 |
+
"resumeChat": "\u0c30\u0c46\u0c1c\u0c4d\u0c2f\u0c42\u0c2e\u0c4d \u0c1a\u0c3e\u0c1f\u0c4d"
|
| 242 |
+
}
|
| 243 |
+
}
|
| 244 |
+
}
|
backend/.chainlit/translations/zh-CN.json
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"components": {
|
| 3 |
+
"atoms": {
|
| 4 |
+
"buttons": {
|
| 5 |
+
"userButton": {
|
| 6 |
+
"menu": {
|
| 7 |
+
"settings": "\u8bbe\u7f6e",
|
| 8 |
+
"settingsKey": "S",
|
| 9 |
+
"APIKeys": "API \u5bc6\u94a5",
|
| 10 |
+
"logout": "\u767b\u51fa"
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
}
|
| 14 |
+
},
|
| 15 |
+
"molecules": {
|
| 16 |
+
"newChatButton": {
|
| 17 |
+
"newChat": "\u65b0\u5efa\u5bf9\u8bdd"
|
| 18 |
+
},
|
| 19 |
+
"tasklist": {
|
| 20 |
+
"TaskList": {
|
| 21 |
+
"title": "\ud83d\uddd2\ufe0f \u4efb\u52a1\u5217\u8868",
|
| 22 |
+
"loading": "\u52a0\u8f7d\u4e2d...",
|
| 23 |
+
"error": "\u53d1\u751f\u9519\u8bef"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"attachments": {
|
| 27 |
+
"cancelUpload": "\u53d6\u6d88\u4e0a\u4f20",
|
| 28 |
+
"removeAttachment": "\u79fb\u9664\u9644\u4ef6"
|
| 29 |
+
},
|
| 30 |
+
"newChatDialog": {
|
| 31 |
+
"createNewChat": "\u521b\u5efa\u65b0\u5bf9\u8bdd\uff1f",
|
| 32 |
+
"clearChat": "\u8fd9\u5c06\u6e05\u9664\u5f53\u524d\u6d88\u606f\u5e76\u5f00\u59cb\u65b0\u7684\u5bf9\u8bdd\u3002",
|
| 33 |
+
"cancel": "\u53d6\u6d88",
|
| 34 |
+
"confirm": "\u786e\u8ba4"
|
| 35 |
+
},
|
| 36 |
+
"settingsModal": {
|
| 37 |
+
"settings": "\u8bbe\u7f6e",
|
| 38 |
+
"expandMessages": "\u5c55\u5f00\u6d88\u606f",
|
| 39 |
+
"hideChainOfThought": "\u9690\u85cf\u601d\u8003\u94fe",
|
| 40 |
+
"darkMode": "\u6697\u8272\u6a21\u5f0f"
|
| 41 |
+
},
|
| 42 |
+
"detailsButton": {
|
| 43 |
+
"using": "\u4f7f\u7528",
|
| 44 |
+
"used": "\u5df2\u7528"
|
| 45 |
+
},
|
| 46 |
+
"auth": {
|
| 47 |
+
"authLogin": {
|
| 48 |
+
"title": "\u767b\u5f55\u4ee5\u8bbf\u95ee\u5e94\u7528\u3002",
|
| 49 |
+
"form": {
|
| 50 |
+
"email": "\u7535\u5b50\u90ae\u7bb1\u5730\u5740",
|
| 51 |
+
"password": "\u5bc6\u7801",
|
| 52 |
+
"noAccount": "\u6ca1\u6709\u8d26\u6237\uff1f",
|
| 53 |
+
"alreadyHaveAccount": "\u5df2\u6709\u8d26\u6237\uff1f",
|
| 54 |
+
"signup": "\u6ce8\u518c",
|
| 55 |
+
"signin": "\u767b\u5f55",
|
| 56 |
+
"or": "\u6216\u8005",
|
| 57 |
+
"continue": "\u7ee7\u7eed",
|
| 58 |
+
"forgotPassword": "\u5fd8\u8bb0\u5bc6\u7801\uff1f",
|
| 59 |
+
"passwordMustContain": "\u60a8\u7684\u5bc6\u7801\u5fc5\u987b\u5305\u542b\uff1a",
|
| 60 |
+
"emailRequired": "\u7535\u5b50\u90ae\u7bb1\u662f\u5fc5\u586b\u9879",
|
| 61 |
+
"passwordRequired": "\u5bc6\u7801\u662f\u5fc5\u586b\u9879"
|
| 62 |
+
},
|
| 63 |
+
"error": {
|
| 64 |
+
"default": "\u65e0\u6cd5\u767b\u5f55\u3002",
|
| 65 |
+
"signin": "\u5c1d\u8bd5\u4f7f\u7528\u4e0d\u540c\u7684\u8d26\u6237\u767b\u5f55\u3002",
|
| 66 |
+
"oauthsignin": "\u5c1d\u8bd5\u4f7f\u7528\u4e0d\u540c\u7684\u8d26\u6237\u767b\u5f55\u3002",
|
| 67 |
+
"redirect_uri_mismatch": "\u91cd\u5b9a\u5411URI\u4e0eOAuth\u5e94\u7528\u914d\u7f6e\u4e0d\u5339\u914d\u3002",
|
| 68 |
+
"oauthcallbackerror": "\u5c1d\u8bd5\u4f7f\u7528\u4e0d\u540c\u7684\u8d26\u6237\u767b\u5f55\u3002",
|
| 69 |
+
"oauthcreateaccount": "\u5c1d\u8bd5\u4f7f\u7528\u4e0d\u540c\u7684\u8d26\u6237\u767b\u5f55\u3002",
|
| 70 |
+
"emailcreateaccount": "\u5c1d\u8bd5\u4f7f\u7528\u4e0d\u540c\u7684\u8d26\u6237\u767b\u5f55\u3002",
|
| 71 |
+
"callback": "\u5c1d\u8bd5\u4f7f\u7528\u4e0d\u540c\u7684\u8d26\u6237\u767b\u5f55\u3002",
|
| 72 |
+
"oauthaccountnotlinked": "\u4e3a\u4e86\u9a8c\u8bc1\u60a8\u7684\u8eab\u4efd\uff0c\u8bf7\u4f7f\u7528\u6700\u521d\u4f7f\u7528\u7684\u540c\u4e00\u8d26\u6237\u767b\u5f55\u3002",
|
| 73 |
+
"emailsignin": "\u65e0\u6cd5\u53d1\u9001\u90ae\u4ef6\u3002",
|
| 74 |
+
"emailverify": "\u8bf7\u9a8c\u8bc1\u60a8\u7684\u7535\u5b50\u90ae\u4ef6\uff0c\u5df2\u53d1\u9001\u4e00\u5c01\u65b0\u90ae\u4ef6\u3002",
|
| 75 |
+
"credentialssignin": "\u767b\u5f55\u5931\u8d25\u3002\u8bf7\u68c0\u67e5\u60a8\u63d0\u4f9b\u7684\u8be6\u7ec6\u4fe1\u606f\u662f\u5426\u6b63\u786e\u3002",
|
| 76 |
+
"sessionrequired": "\u8bf7\u767b\u5f55\u4ee5\u8bbf\u95ee\u6b64\u9875\u9762\u3002"
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"authVerifyEmail": {
|
| 80 |
+
"almostThere": "\u60a8\u5feb\u6210\u529f\u4e86\uff01\u6211\u4eec\u5df2\u5411 ",
|
| 81 |
+
"verifyEmailLink": "\u8bf7\u5355\u51fb\u8be5\u90ae\u4ef6\u4e2d\u7684\u94fe\u63a5\u4ee5\u5b8c\u6210\u6ce8\u518c\u3002",
|
| 82 |
+
"didNotReceive": "\u6ca1\u627e\u5230\u90ae\u4ef6\uff1f",
|
| 83 |
+
"resendEmail": "\u91cd\u65b0\u53d1\u9001\u90ae\u4ef6",
|
| 84 |
+
"goBack": "\u8fd4\u56de",
|
| 85 |
+
"emailSent": "\u90ae\u4ef6\u5df2\u6210\u529f\u53d1\u9001\u3002",
|
| 86 |
+
"verifyEmail": "\u9a8c\u8bc1\u60a8\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740"
|
| 87 |
+
},
|
| 88 |
+
"providerButton": {
|
| 89 |
+
"continue": "\u4f7f\u7528{{provider}}\u7ee7\u7eed",
|
| 90 |
+
"signup": "\u4f7f\u7528{{provider}}\u6ce8\u518c"
|
| 91 |
+
},
|
| 92 |
+
"authResetPassword": {
|
| 93 |
+
"newPasswordRequired": "\u65b0\u5bc6\u7801\u662f\u5fc5\u586b\u9879",
|
| 94 |
+
"passwordsMustMatch": "\u5bc6\u7801\u5fc5\u987b\u4e00\u81f4",
|
| 95 |
+
"confirmPasswordRequired": "\u786e\u8ba4\u5bc6\u7801\u662f\u5fc5\u586b\u9879",
|
| 96 |
+
"newPassword": "\u65b0\u5bc6\u7801",
|
| 97 |
+
"confirmPassword": "\u786e\u8ba4\u5bc6\u7801",
|
| 98 |
+
"resetPassword": "\u91cd\u7f6e\u5bc6\u7801"
|
| 99 |
+
},
|
| 100 |
+
"authForgotPassword": {
|
| 101 |
+
"email": "\u7535\u5b50\u90ae\u7bb1\u5730\u5740",
|
| 102 |
+
"emailRequired": "\u7535\u5b50\u90ae\u7bb1\u662f\u5fc5\u586b\u9879",
|
| 103 |
+
"emailSent": "\u8bf7\u68c0\u67e5\u7535\u5b50\u90ae\u7bb1{{email}}\u4ee5\u83b7\u53d6\u91cd\u7f6e\u5bc6\u7801\u7684\u6307\u793a\u3002",
|
| 104 |
+
"enterEmail": "\u8bf7\u8f93\u5165\u60a8\u7684\u7535\u5b50\u90ae\u7bb1\u5730\u5740\uff0c\u6211\u4eec\u5c06\u53d1\u9001\u91cd\u7f6e\u5bc6\u7801\u7684\u6307\u793a\u3002",
|
| 105 |
+
"resendEmail": "\u91cd\u65b0\u53d1\u9001\u90ae\u4ef6",
|
| 106 |
+
"continue": "\u7ee7\u7eed",
|
| 107 |
+
"goBack": "\u8fd4\u56de"
|
| 108 |
+
}
|
| 109 |
+
}
|
| 110 |
+
},
|
| 111 |
+
"organisms": {
|
| 112 |
+
"chat": {
|
| 113 |
+
"history": {
|
| 114 |
+
"index": {
|
| 115 |
+
"showHistory": "\u663e\u793a\u5386\u53f2",
|
| 116 |
+
"lastInputs": "\u6700\u540e\u8f93\u5165",
|
| 117 |
+
"noInputs": "\u5982\u6b64\u7a7a\u65f7...",
|
| 118 |
+
"loading": "\u52a0\u8f7d\u4e2d..."
|
| 119 |
+
}
|
| 120 |
+
},
|
| 121 |
+
"inputBox": {
|
| 122 |
+
"input": {
|
| 123 |
+
"placeholder": "\u5728\u8fd9\u91cc\u8f93\u5165\u60a8\u7684\u6d88\u606f..."
|
| 124 |
+
},
|
| 125 |
+
"speechButton": {
|
| 126 |
+
"start": "\u5f00\u59cb\u5f55\u97f3",
|
| 127 |
+
"stop": "\u505c\u6b62\u5f55\u97f3",
|
| 128 |
+
"loading": "\u8fde\u63a5\u4e2d"
|
| 129 |
+
},
|
| 130 |
+
"SubmitButton": {
|
| 131 |
+
"sendMessage": "\u53d1\u9001\u6d88\u606f",
|
| 132 |
+
"stopTask": "\u505c\u6b62\u4efb\u52a1"
|
| 133 |
+
},
|
| 134 |
+
"UploadButton": {
|
| 135 |
+
"attachFiles": "\u9644\u52a0\u6587\u4ef6"
|
| 136 |
+
},
|
| 137 |
+
"waterMark": {
|
| 138 |
+
"text": "\u4f7f\u7528"
|
| 139 |
+
}
|
| 140 |
+
},
|
| 141 |
+
"Messages": {
|
| 142 |
+
"index": {
|
| 143 |
+
"running": "\u8fd0\u884c\u4e2d",
|
| 144 |
+
"executedSuccessfully": "\u6267\u884c\u6210\u529f",
|
| 145 |
+
"failed": "\u5931\u8d25",
|
| 146 |
+
"feedbackUpdated": "\u53cd\u9988\u66f4\u65b0",
|
| 147 |
+
"updating": "\u6b63\u5728\u66f4\u65b0"
|
| 148 |
+
},
|
| 149 |
+
"copyButton": {
|
| 150 |
+
"copyToClipboard": "\u62f7\u8d1d\u5230\u526a\u8d34\u677f",
|
| 151 |
+
"copied": "\u5df2\u62f7\u8d1d\uff01"
|
| 152 |
+
},
|
| 153 |
+
"feedbackButton": {
|
| 154 |
+
"helpful": "Helpful",
|
| 155 |
+
"notHelpful": "Not helpful",
|
| 156 |
+
"editFeedback": "Edit feedback"
|
| 157 |
+
},
|
| 158 |
+
"feedbackDialog": {
|
| 159 |
+
"dialogTitle": "Add a comment",
|
| 160 |
+
"submitButton": "Submit feedback"
|
| 161 |
+
}
|
| 162 |
+
},
|
| 163 |
+
"dropScreen": {
|
| 164 |
+
"dropYourFilesHere": "\u5728\u8fd9\u91cc\u62d6\u653e\u60a8\u7684\u6587\u4ef6"
|
| 165 |
+
},
|
| 166 |
+
"index": {
|
| 167 |
+
"failedToUpload": "\u4e0a\u4f20\u5931\u8d25",
|
| 168 |
+
"cancelledUploadOf": "\u53d6\u6d88\u4e0a\u4f20",
|
| 169 |
+
"couldNotReachServer": "\u65e0\u6cd5\u8fde\u63a5\u5230\u670d\u52a1\u5668",
|
| 170 |
+
"continuingChat": "\u7ee7\u7eed\u4e4b\u524d\u7684\u5bf9\u8bdd"
|
| 171 |
+
},
|
| 172 |
+
"settings": {
|
| 173 |
+
"settingsPanel": "\u8bbe\u7f6e\u9762\u677f",
|
| 174 |
+
"reset": "\u91cd\u7f6e",
|
| 175 |
+
"cancel": "\u53d6\u6d88",
|
| 176 |
+
"confirm": "\u786e\u8ba4"
|
| 177 |
+
}
|
| 178 |
+
},
|
| 179 |
+
"threadHistory": {
|
| 180 |
+
"sidebar": {
|
| 181 |
+
"filters": {
|
| 182 |
+
"FeedbackSelect": {
|
| 183 |
+
"feedbackAll": "\u53cd\u9988\uff1a\u5168\u90e8",
|
| 184 |
+
"feedbackPositive": "\u53cd\u9988\uff1a\u6b63\u9762",
|
| 185 |
+
"feedbackNegative": "\u53cd\u9988\uff1a\u8d1f\u9762"
|
| 186 |
+
},
|
| 187 |
+
"SearchBar": {
|
| 188 |
+
"search": "\u641c\u7d22"
|
| 189 |
+
}
|
| 190 |
+
},
|
| 191 |
+
"DeleteThreadButton": {
|
| 192 |
+
"confirmMessage": "\u8fd9\u5c06\u5220\u9664\u7ebf\u7a0b\u53ca\u5176\u6d88\u606f\u548c\u5143\u7d20\u3002",
|
| 193 |
+
"cancel": "\u53d6\u6d88",
|
| 194 |
+
"confirm": "\u786e\u8ba4",
|
| 195 |
+
"deletingChat": "\u5220\u9664\u5bf9\u8bdd",
|
| 196 |
+
"chatDeleted": "\u5bf9\u8bdd\u5df2\u5220\u9664"
|
| 197 |
+
},
|
| 198 |
+
"index": {
|
| 199 |
+
"pastChats": "\u8fc7\u5f80\u5bf9\u8bdd"
|
| 200 |
+
},
|
| 201 |
+
"ThreadList": {
|
| 202 |
+
"empty": "\u7a7a\u7684...",
|
| 203 |
+
"today": "\u4eca\u5929",
|
| 204 |
+
"yesterday": "\u6628\u5929",
|
| 205 |
+
"previous7days": "\u524d7\u5929",
|
| 206 |
+
"previous30days": "\u524d30\u5929"
|
| 207 |
+
},
|
| 208 |
+
"TriggerButton": {
|
| 209 |
+
"closeSidebar": "\u5173\u95ed\u4fa7\u8fb9\u680f",
|
| 210 |
+
"openSidebar": "\u6253\u5f00\u4fa7\u8fb9\u680f"
|
| 211 |
+
}
|
| 212 |
+
},
|
| 213 |
+
"Thread": {
|
| 214 |
+
"backToChat": "\u8fd4\u56de\u5bf9\u8bdd",
|
| 215 |
+
"chatCreatedOn": "\u6b64\u5bf9\u8bdd\u521b\u5efa\u4e8e"
|
| 216 |
+
}
|
| 217 |
+
},
|
| 218 |
+
"header": {
|
| 219 |
+
"chat": "\u5bf9\u8bdd",
|
| 220 |
+
"readme": "\u8bf4\u660e"
|
| 221 |
+
}
|
| 222 |
+
}
|
| 223 |
+
},
|
| 224 |
+
"hooks": {
|
| 225 |
+
"useLLMProviders": {
|
| 226 |
+
"failedToFetchProviders": "\u83b7\u53d6\u63d0\u4f9b\u8005\u5931\u8d25:"
|
| 227 |
+
}
|
| 228 |
+
},
|
| 229 |
+
"pages": {
|
| 230 |
+
"Design": {},
|
| 231 |
+
"Env": {
|
| 232 |
+
"savedSuccessfully": "\u4fdd\u5b58\u6210\u529f",
|
| 233 |
+
"requiredApiKeys": "\u5fc5\u9700\u7684API\u5bc6\u94a5",
|
| 234 |
+
"requiredApiKeysInfo": "\u8981\u4f7f\u7528\u6b64\u5e94\u7528\uff0c\u9700\u8981\u4ee5\u4e0bAPI\u5bc6\u94a5\u3002\u8fd9\u4e9b\u5bc6\u94a5\u5b58\u50a8\u5728\u60a8\u7684\u8bbe\u5907\u672c\u5730\u5b58\u50a8\u4e2d\u3002"
|
| 235 |
+
},
|
| 236 |
+
"Page": {
|
| 237 |
+
"notPartOfProject": "\u60a8\u4e0d\u662f\u6b64\u9879\u76ee\u7684\u4e00\u90e8\u5206\u3002"
|
| 238 |
+
},
|
| 239 |
+
"ResumeButton": {
|
| 240 |
+
"resumeChat": "\u6062\u590d\u5bf9\u8bdd"
|
| 241 |
+
}
|
| 242 |
+
}
|
| 243 |
+
}
|
backend/Dockerfile
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.9-slim
|
| 2 |
+
|
| 3 |
+
WORKDIR /app
|
| 4 |
+
|
| 5 |
+
# Install system dependencies
|
| 6 |
+
RUN apt-get update && apt-get install -y \
|
| 7 |
+
build-essential \
|
| 8 |
+
&& rm -rf /var/lib/apt/lists/*
|
| 9 |
+
|
| 10 |
+
# Install Python dependencies
|
| 11 |
+
COPY backend/requirements.txt .
|
| 12 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 13 |
+
|
| 14 |
+
# Copy source files
|
| 15 |
+
COPY backend/ .
|
| 16 |
+
|
| 17 |
+
# Install aimakerspace package in development mode
|
| 18 |
+
RUN pip install -e .
|
| 19 |
+
|
| 20 |
+
# Expose port
|
| 21 |
+
EXPOSE 7860
|
| 22 |
+
|
| 23 |
+
# Start the app
|
| 24 |
+
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
|
backend/aimakerspace/__init__.py
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
AI Maker Space RAG implementation
|
| 3 |
+
"""
|
| 4 |
+
|
| 5 |
+
__version__ = "0.1.0"
|
backend/aimakerspace/openai_utils/chatmodel.py
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from dotenv import load_dotenv
|
| 2 |
+
from openai import AsyncOpenAI, OpenAI
|
| 3 |
+
import openai
|
| 4 |
+
from typing import List, Dict, Any
|
| 5 |
+
import os
|
| 6 |
+
import asyncio
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
class ChatOpenAI:
|
| 10 |
+
def __init__(self, model_name: str = "gpt-4-turbo-preview"):
|
| 11 |
+
load_dotenv()
|
| 12 |
+
self.openai_api_key = os.getenv("OPENAI_API_KEY")
|
| 13 |
+
self.async_client = AsyncOpenAI()
|
| 14 |
+
self.client = OpenAI()
|
| 15 |
+
|
| 16 |
+
if self.openai_api_key is None:
|
| 17 |
+
raise ValueError(
|
| 18 |
+
"OPENAI_API_KEY environment variable is not set. Please set it to your OpenAI API key."
|
| 19 |
+
)
|
| 20 |
+
openai.api_key = self.openai_api_key
|
| 21 |
+
self.model_name = model_name
|
| 22 |
+
|
| 23 |
+
async def agenerate(self, messages: List[Dict[str, str]]) -> str:
|
| 24 |
+
chat_completion = await self.async_client.chat.completions.create(
|
| 25 |
+
model=self.model_name,
|
| 26 |
+
messages=messages,
|
| 27 |
+
temperature=0.7,
|
| 28 |
+
)
|
| 29 |
+
|
| 30 |
+
return chat_completion.choices[0].message.content
|
| 31 |
+
|
| 32 |
+
async def astream(self, messages: List[Dict[str, str]]):
|
| 33 |
+
stream = await self.async_client.chat.completions.create(
|
| 34 |
+
model=self.model_name,
|
| 35 |
+
messages=messages,
|
| 36 |
+
temperature=0.7,
|
| 37 |
+
stream=True,
|
| 38 |
+
)
|
| 39 |
+
|
| 40 |
+
async for chunk in stream:
|
| 41 |
+
if chunk.choices[0].delta.content is not None:
|
| 42 |
+
yield chunk.choices[0].delta.content
|
| 43 |
+
|
| 44 |
+
def generate(self, messages: List[Dict[str, str]]) -> str:
|
| 45 |
+
chat_completion = self.client.chat.completions.create(
|
| 46 |
+
model=self.model_name,
|
| 47 |
+
messages=messages,
|
| 48 |
+
temperature=0.7,
|
| 49 |
+
)
|
| 50 |
+
|
| 51 |
+
return chat_completion.choices[0].message.content
|
backend/aimakerspace/openai_utils/embedding.py
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from dotenv import load_dotenv
|
| 2 |
+
from openai import AsyncOpenAI, OpenAI
|
| 3 |
+
import openai
|
| 4 |
+
from typing import List
|
| 5 |
+
import os
|
| 6 |
+
import asyncio
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
class EmbeddingModel:
|
| 10 |
+
def __init__(self, embeddings_model_name: str = "text-embedding-3-small"):
|
| 11 |
+
load_dotenv()
|
| 12 |
+
self.openai_api_key = os.getenv("OPENAI_API_KEY")
|
| 13 |
+
self.async_client = AsyncOpenAI()
|
| 14 |
+
self.client = OpenAI()
|
| 15 |
+
|
| 16 |
+
if self.openai_api_key is None:
|
| 17 |
+
raise ValueError(
|
| 18 |
+
"OPENAI_API_KEY environment variable is not set. Please set it to your OpenAI API key."
|
| 19 |
+
)
|
| 20 |
+
openai.api_key = self.openai_api_key
|
| 21 |
+
self.embeddings_model_name = embeddings_model_name
|
| 22 |
+
|
| 23 |
+
async def async_get_embeddings(self, list_of_text: List[str]) -> List[List[float]]:
|
| 24 |
+
embedding_response = await self.async_client.embeddings.create(
|
| 25 |
+
input=list_of_text, model=self.embeddings_model_name
|
| 26 |
+
)
|
| 27 |
+
|
| 28 |
+
return [embeddings.embedding for embeddings in embedding_response.data]
|
| 29 |
+
|
| 30 |
+
async def async_get_embedding(self, text: str) -> List[float]:
|
| 31 |
+
embedding = await self.async_client.embeddings.create(
|
| 32 |
+
input=text, model=self.embeddings_model_name
|
| 33 |
+
)
|
| 34 |
+
|
| 35 |
+
return embedding.data[0].embedding
|
| 36 |
+
|
| 37 |
+
def get_embeddings(self, list_of_text: List[str]) -> List[List[float]]:
|
| 38 |
+
embedding_response = self.client.embeddings.create(
|
| 39 |
+
input=list_of_text, model=self.embeddings_model_name
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
return [embeddings.embedding for embeddings in embedding_response.data]
|
| 43 |
+
|
| 44 |
+
def get_embedding(self, text: str) -> List[float]:
|
| 45 |
+
embedding = self.client.embeddings.create(
|
| 46 |
+
input=text, model=self.embeddings_model_name
|
| 47 |
+
)
|
| 48 |
+
|
| 49 |
+
return embedding.data[0].embedding
|
| 50 |
+
|
| 51 |
+
async def aembed_documents(self, texts: List[str]) -> List[List[float]]:
|
| 52 |
+
return await self.async_get_embeddings(texts)
|
| 53 |
+
|
| 54 |
+
async def embed_query(self, text: str) -> List[float]:
|
| 55 |
+
return await self.async_get_embedding(text)
|
backend/aimakerspace/openai_utils/prompts.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import Dict, Any
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
class SystemRolePrompt:
|
| 5 |
+
def __init__(self, template: str):
|
| 6 |
+
self.template = template
|
| 7 |
+
|
| 8 |
+
def create_message(self, **kwargs) -> Dict[str, str]:
|
| 9 |
+
return {"role": "system", "content": self.template.format(**kwargs)}
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
class UserRolePrompt:
|
| 13 |
+
def __init__(self, template: str):
|
| 14 |
+
self.template = template
|
| 15 |
+
|
| 16 |
+
def create_message(self, **kwargs) -> Dict[str, str]:
|
| 17 |
+
return {"role": "user", "content": self.template.format(**kwargs)}
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
class AssistantRolePrompt:
|
| 21 |
+
def __init__(self, template: str):
|
| 22 |
+
self.template = template
|
| 23 |
+
|
| 24 |
+
def create_message(self, **kwargs) -> Dict[str, str]:
|
| 25 |
+
return {"role": "assistant", "content": self.template.format(**kwargs)}
|
backend/aimakerspace/text_utils.py
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
from typing import List
|
| 3 |
+
import PyPDF2
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
class TextFileLoader:
|
| 7 |
+
def __init__(self, path: str, encoding: str = "utf-8"):
|
| 8 |
+
self.documents = []
|
| 9 |
+
self.path = path
|
| 10 |
+
self.encoding = encoding
|
| 11 |
+
|
| 12 |
+
def load(self):
|
| 13 |
+
if os.path.isdir(self.path):
|
| 14 |
+
self.load_directory()
|
| 15 |
+
elif os.path.isfile(self.path) and self.path.endswith(".txt"):
|
| 16 |
+
self.load_file()
|
| 17 |
+
else:
|
| 18 |
+
raise ValueError(
|
| 19 |
+
"Provided path is neither a valid directory nor a .txt file."
|
| 20 |
+
)
|
| 21 |
+
|
| 22 |
+
def load_file(self):
|
| 23 |
+
with open(self.path, "r", encoding=self.encoding) as f:
|
| 24 |
+
self.documents.append(f.read())
|
| 25 |
+
|
| 26 |
+
def load_directory(self):
|
| 27 |
+
for root, _, files in os.walk(self.path):
|
| 28 |
+
for file in files:
|
| 29 |
+
if file.endswith(".txt"):
|
| 30 |
+
with open(
|
| 31 |
+
os.path.join(root, file), "r", encoding=self.encoding
|
| 32 |
+
) as f:
|
| 33 |
+
self.documents.append(f.read())
|
| 34 |
+
|
| 35 |
+
def load_documents(self):
|
| 36 |
+
self.load()
|
| 37 |
+
return self.documents
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
class CharacterTextSplitter:
|
| 41 |
+
def __init__(
|
| 42 |
+
self,
|
| 43 |
+
chunk_size: int = 1000,
|
| 44 |
+
chunk_overlap: int = 200,
|
| 45 |
+
):
|
| 46 |
+
assert (
|
| 47 |
+
chunk_size > chunk_overlap
|
| 48 |
+
), "Chunk size must be greater than chunk overlap"
|
| 49 |
+
|
| 50 |
+
self.chunk_size = chunk_size
|
| 51 |
+
self.chunk_overlap = chunk_overlap
|
| 52 |
+
|
| 53 |
+
def split(self, text: str) -> List[str]:
|
| 54 |
+
chunks = []
|
| 55 |
+
for i in range(0, len(text), self.chunk_size - self.chunk_overlap):
|
| 56 |
+
chunks.append(text[i : i + self.chunk_size])
|
| 57 |
+
return chunks
|
| 58 |
+
|
| 59 |
+
def split_texts(self, texts: List[str]) -> List[str]:
|
| 60 |
+
chunks = []
|
| 61 |
+
for text in texts:
|
| 62 |
+
chunks.extend(self.split(text))
|
| 63 |
+
return chunks
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
class PDFLoader:
|
| 67 |
+
def __init__(self, path: str):
|
| 68 |
+
self.documents = []
|
| 69 |
+
self.path = path
|
| 70 |
+
print(f"PDFLoader initialized with path: {self.path}")
|
| 71 |
+
|
| 72 |
+
def load(self):
|
| 73 |
+
print(f"Loading PDF from path: {self.path}")
|
| 74 |
+
print(f"Path exists: {os.path.exists(self.path)}")
|
| 75 |
+
print(f"Is file: {os.path.isfile(self.path)}")
|
| 76 |
+
print(f"Is directory: {os.path.isdir(self.path)}")
|
| 77 |
+
print(f"File permissions: {oct(os.stat(self.path).st_mode)[-3:]}")
|
| 78 |
+
|
| 79 |
+
try:
|
| 80 |
+
# Try to open the file first to verify access
|
| 81 |
+
with open(self.path, 'rb') as test_file:
|
| 82 |
+
pass
|
| 83 |
+
|
| 84 |
+
# If we can open it, proceed with loading
|
| 85 |
+
self.load_file()
|
| 86 |
+
|
| 87 |
+
except IOError as e:
|
| 88 |
+
print(f"IOError accessing file at '{self.path}': {str(e)}")
|
| 89 |
+
raise ValueError(f"Cannot access file at '{self.path}': {str(e)}")
|
| 90 |
+
except Exception as e:
|
| 91 |
+
print(f"Error processing file at '{self.path}': {str(e)}")
|
| 92 |
+
raise ValueError(f"Error processing file at '{self.path}': {str(e)}")
|
| 93 |
+
|
| 94 |
+
def load_file(self):
|
| 95 |
+
try:
|
| 96 |
+
with open(self.path, 'rb') as file:
|
| 97 |
+
# Create PDF reader object
|
| 98 |
+
pdf_reader = PyPDF2.PdfReader(file)
|
| 99 |
+
|
| 100 |
+
if len(pdf_reader.pages) == 0:
|
| 101 |
+
raise ValueError("PDF file is empty")
|
| 102 |
+
|
| 103 |
+
# Extract text from each page
|
| 104 |
+
text = ""
|
| 105 |
+
for page in pdf_reader.pages:
|
| 106 |
+
try:
|
| 107 |
+
page_text = page.extract_text()
|
| 108 |
+
if page_text:
|
| 109 |
+
text += page_text + "\n"
|
| 110 |
+
except Exception as e:
|
| 111 |
+
print(f"Error extracting text from page: {str(e)}")
|
| 112 |
+
|
| 113 |
+
if not text.strip():
|
| 114 |
+
raise ValueError("No text could be extracted from the PDF")
|
| 115 |
+
|
| 116 |
+
self.documents.append(text)
|
| 117 |
+
print(f"Successfully extracted {len(text)} characters from PDF")
|
| 118 |
+
|
| 119 |
+
except PyPDF2.PdfReadError as e:
|
| 120 |
+
print(f"PDF read error: {str(e)}")
|
| 121 |
+
raise ValueError(f"Error reading PDF file: {str(e)}")
|
| 122 |
+
except Exception as e:
|
| 123 |
+
print(f"Error in load_file: {str(e)}")
|
| 124 |
+
raise ValueError(f"Error processing PDF file: {str(e)}")
|
| 125 |
+
|
| 126 |
+
def load_directory(self):
|
| 127 |
+
for root, _, files in os.walk(self.path):
|
| 128 |
+
for file in files:
|
| 129 |
+
if file.lower().endswith('.pdf'):
|
| 130 |
+
file_path = os.path.join(root, file)
|
| 131 |
+
try:
|
| 132 |
+
with open(file_path, 'rb') as f:
|
| 133 |
+
pdf_reader = PyPDF2.PdfReader(f)
|
| 134 |
+
|
| 135 |
+
# Extract text from each page
|
| 136 |
+
text = ""
|
| 137 |
+
for page in pdf_reader.pages:
|
| 138 |
+
try:
|
| 139 |
+
page_text = page.extract_text()
|
| 140 |
+
if page_text:
|
| 141 |
+
text += page_text + "\n"
|
| 142 |
+
except Exception as e:
|
| 143 |
+
print(f"Error extracting text from page in {file}: {str(e)}")
|
| 144 |
+
|
| 145 |
+
if text.strip():
|
| 146 |
+
self.documents.append(text)
|
| 147 |
+
print(f"Successfully extracted {len(text)} characters from {file}")
|
| 148 |
+
else:
|
| 149 |
+
print(f"No text could be extracted from {file}")
|
| 150 |
+
|
| 151 |
+
except Exception as e:
|
| 152 |
+
print(f"Error processing {file}: {str(e)}")
|
| 153 |
+
|
| 154 |
+
def load_documents(self):
|
| 155 |
+
self.load()
|
| 156 |
+
return self.documents
|
backend/aimakerspace/vectordatabase.py
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import numpy as np
|
| 2 |
+
from typing import List, Tuple
|
| 3 |
+
from aimakerspace.openai_utils.embedding import EmbeddingModel
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
class VectorDatabase:
|
| 7 |
+
def __init__(self):
|
| 8 |
+
print("Initializing VectorDatabase...") # Debug log
|
| 9 |
+
try:
|
| 10 |
+
self.embedding_model = EmbeddingModel()
|
| 11 |
+
print("EmbeddingModel initialized") # Debug log
|
| 12 |
+
self.embeddings = []
|
| 13 |
+
self.texts = []
|
| 14 |
+
except Exception as e:
|
| 15 |
+
print(f"Error initializing VectorDatabase: {str(e)}") # Debug log
|
| 16 |
+
raise
|
| 17 |
+
|
| 18 |
+
async def abuild_from_list(self, texts: List[str]):
|
| 19 |
+
try:
|
| 20 |
+
print(f"Building vector database from {len(texts)} texts") # Debug log
|
| 21 |
+
self.texts = texts
|
| 22 |
+
print("Generating embeddings...") # Debug log
|
| 23 |
+
self.embeddings = await self.embedding_model.async_get_embeddings(texts)
|
| 24 |
+
print(f"Generated {len(self.embeddings)} embeddings") # Debug log
|
| 25 |
+
return self
|
| 26 |
+
except Exception as e:
|
| 27 |
+
print(f"Error building vector database: {str(e)}") # Debug log
|
| 28 |
+
raise
|
| 29 |
+
|
| 30 |
+
def _cosine_similarity(self, a: List[float], b: List[float]) -> float:
|
| 31 |
+
a = np.array(a)
|
| 32 |
+
b = np.array(b)
|
| 33 |
+
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
|
| 34 |
+
|
| 35 |
+
async def search_by_text(self, query: str, k: int = 4) -> List[Tuple[str, float]]:
|
| 36 |
+
try:
|
| 37 |
+
print(f"Searching for query: {query}") # Debug log
|
| 38 |
+
query_embedding = await self.embedding_model.embed_query(query)
|
| 39 |
+
print("Generated query embedding") # Debug log
|
| 40 |
+
|
| 41 |
+
# Calculate similarities
|
| 42 |
+
similarities = []
|
| 43 |
+
for i, embedding in enumerate(self.embeddings):
|
| 44 |
+
similarity = self._cosine_similarity(query_embedding, embedding)
|
| 45 |
+
similarities.append((self.texts[i], similarity))
|
| 46 |
+
|
| 47 |
+
# Sort by similarity and return top k
|
| 48 |
+
similarities.sort(key=lambda x: x[1], reverse=True)
|
| 49 |
+
print(f"Found {len(similarities)} matches") # Debug log
|
| 50 |
+
return similarities[:k]
|
| 51 |
+
except Exception as e:
|
| 52 |
+
print(f"Error in search_by_text: {str(e)}") # Debug log
|
| 53 |
+
raise
|
backend/main.py
ADDED
|
@@ -0,0 +1,277 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from fastapi import FastAPI, UploadFile, File, HTTPException
|
| 2 |
+
from fastapi.middleware.cors import CORSMiddleware
|
| 3 |
+
from typing import List
|
| 4 |
+
from aimakerspace.text_utils import CharacterTextSplitter, TextFileLoader, PDFLoader
|
| 5 |
+
from aimakerspace.openai_utils.prompts import (
|
| 6 |
+
UserRolePrompt,
|
| 7 |
+
SystemRolePrompt,
|
| 8 |
+
)
|
| 9 |
+
from aimakerspace.openai_utils.embedding import EmbeddingModel
|
| 10 |
+
from aimakerspace.vectordatabase import VectorDatabase
|
| 11 |
+
from aimakerspace.openai_utils.chatmodel import ChatOpenAI
|
| 12 |
+
import tempfile
|
| 13 |
+
import shutil
|
| 14 |
+
import os
|
| 15 |
+
from pydantic import BaseModel
|
| 16 |
+
import openai
|
| 17 |
+
from dotenv import load_dotenv
|
| 18 |
+
|
| 19 |
+
# Load environment variables
|
| 20 |
+
load_dotenv()
|
| 21 |
+
|
| 22 |
+
app = FastAPI()
|
| 23 |
+
|
| 24 |
+
# Initialize application state
|
| 25 |
+
app.state.pipeline = None
|
| 26 |
+
app.state.vector_db = None
|
| 27 |
+
app.state.llm = None
|
| 28 |
+
|
| 29 |
+
# Add CORS middleware
|
| 30 |
+
app.add_middleware(
|
| 31 |
+
CORSMiddleware,
|
| 32 |
+
allow_origins=["http://localhost:3000"], # React frontend URL
|
| 33 |
+
allow_credentials=True,
|
| 34 |
+
allow_methods=["*"],
|
| 35 |
+
allow_headers=["*"],
|
| 36 |
+
)
|
| 37 |
+
|
| 38 |
+
# Initialize components
|
| 39 |
+
text_splitter = CharacterTextSplitter()
|
| 40 |
+
system_template = """\
|
| 41 |
+
Use the following context to answer a users question. If you cannot find the answer in the context, say you don't know the answer."""
|
| 42 |
+
system_role_prompt = SystemRolePrompt(system_template)
|
| 43 |
+
user_prompt_template = """\
|
| 44 |
+
Context:
|
| 45 |
+
{context}
|
| 46 |
+
|
| 47 |
+
Question:
|
| 48 |
+
{question}
|
| 49 |
+
"""
|
| 50 |
+
user_role_prompt = UserRolePrompt(user_prompt_template)
|
| 51 |
+
|
| 52 |
+
# Initialize OpenAI client
|
| 53 |
+
openai.api_key = os.getenv("OPENAI_API_KEY")
|
| 54 |
+
if not openai.api_key:
|
| 55 |
+
raise ValueError("OPENAI_API_KEY environment variable is not set")
|
| 56 |
+
|
| 57 |
+
class RetrievalAugmentedQAPipeline:
|
| 58 |
+
def __init__(self, llm: ChatOpenAI, vector_db_retriever: VectorDatabase) -> None:
|
| 59 |
+
self.llm = llm
|
| 60 |
+
self.vector_db_retriever = vector_db_retriever
|
| 61 |
+
|
| 62 |
+
async def arun_pipeline(self, user_query: str):
|
| 63 |
+
context_list = await self.vector_db_retriever.search_by_text(user_query, k=4)
|
| 64 |
+
|
| 65 |
+
context_prompt = ""
|
| 66 |
+
for context in context_list:
|
| 67 |
+
context_prompt += context[0] + "\n"
|
| 68 |
+
|
| 69 |
+
formatted_system_prompt = system_role_prompt.create_message()
|
| 70 |
+
formatted_user_prompt = user_role_prompt.create_message(
|
| 71 |
+
question=user_query,
|
| 72 |
+
context=context_prompt
|
| 73 |
+
)
|
| 74 |
+
|
| 75 |
+
response = await self.llm.agenerate([formatted_system_prompt, formatted_user_prompt])
|
| 76 |
+
return {"response": response, "context": context_list}
|
| 77 |
+
|
| 78 |
+
class QueryRequest(BaseModel):
|
| 79 |
+
query: str
|
| 80 |
+
|
| 81 |
+
@app.post("/upload")
|
| 82 |
+
async def upload_file(file: UploadFile = File(...)):
|
| 83 |
+
temp_file_path = None
|
| 84 |
+
try:
|
| 85 |
+
print("Starting file upload process...") # Debug log
|
| 86 |
+
print(f"Received file: {file.filename}") # Debug log
|
| 87 |
+
|
| 88 |
+
# Create a temporary file with the correct extension
|
| 89 |
+
suffix = f".{file.filename.split('.')[-1]}"
|
| 90 |
+
with tempfile.NamedTemporaryFile(delete=False, suffix=suffix) as temp_file:
|
| 91 |
+
content = await file.read()
|
| 92 |
+
temp_file.write(content)
|
| 93 |
+
temp_file_path = temp_file.name
|
| 94 |
+
print(f"Created temporary file: {temp_file_path}") # Debug log
|
| 95 |
+
print(f"File exists: {os.path.exists(temp_file_path)}") # Debug log
|
| 96 |
+
print(f"File size: {os.path.getsize(temp_file_path)}") # Debug log
|
| 97 |
+
|
| 98 |
+
# Create appropriate loader
|
| 99 |
+
try:
|
| 100 |
+
if file.filename.lower().endswith('.pdf'):
|
| 101 |
+
print("Using PDF loader") # Debug log
|
| 102 |
+
loader = PDFLoader(temp_file_path)
|
| 103 |
+
else:
|
| 104 |
+
print("Using text file loader") # Debug log
|
| 105 |
+
raise HTTPException(status_code=400, detail="Only PDF files are supported")
|
| 106 |
+
|
| 107 |
+
# Load and process the documents
|
| 108 |
+
print("Loading documents...") # Debug log
|
| 109 |
+
documents = loader.load_documents()
|
| 110 |
+
print(f"Loaded {len(documents)} documents") # Debug log
|
| 111 |
+
|
| 112 |
+
if not documents:
|
| 113 |
+
raise ValueError("No text could be extracted from the document")
|
| 114 |
+
|
| 115 |
+
# Split text into chunks
|
| 116 |
+
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
|
| 117 |
+
texts = text_splitter.split_texts(documents)
|
| 118 |
+
print(f"Split into {len(texts)} text chunks") # Debug log
|
| 119 |
+
|
| 120 |
+
if not texts:
|
| 121 |
+
raise ValueError("No text chunks were generated from the document")
|
| 122 |
+
|
| 123 |
+
except Exception as e:
|
| 124 |
+
print(f"Error processing document: {str(e)}") # Debug log
|
| 125 |
+
raise HTTPException(status_code=500, detail=f"Error processing document: {str(e)}")
|
| 126 |
+
|
| 127 |
+
# Create vector store
|
| 128 |
+
print("Creating vector database...") # Debug log
|
| 129 |
+
try:
|
| 130 |
+
vector_db = VectorDatabase()
|
| 131 |
+
print("VectorDatabase initialized") # Debug log
|
| 132 |
+
vector_db = await vector_db.abuild_from_list(texts)
|
| 133 |
+
print("Vector database created successfully") # Debug log
|
| 134 |
+
app.state.vector_db = vector_db # Store vector_db in application state
|
| 135 |
+
except Exception as e:
|
| 136 |
+
print(f"Error creating vector database: {str(e)}") # Debug log
|
| 137 |
+
raise HTTPException(status_code=500, detail=f"Error creating vector database: {str(e)}")
|
| 138 |
+
|
| 139 |
+
# Initialize chat model
|
| 140 |
+
print("Initializing chat model...") # Debug log
|
| 141 |
+
try:
|
| 142 |
+
chat_openai = ChatOpenAI()
|
| 143 |
+
print("ChatOpenAI initialized") # Debug log
|
| 144 |
+
app.state.llm = chat_openai # Store llm in application state
|
| 145 |
+
except Exception as e:
|
| 146 |
+
print(f"Error initializing chat model: {str(e)}") # Debug log
|
| 147 |
+
raise HTTPException(status_code=500, detail=f"Error initializing chat model: {str(e)}")
|
| 148 |
+
|
| 149 |
+
# Create pipeline
|
| 150 |
+
print("Creating pipeline...") # Debug log
|
| 151 |
+
try:
|
| 152 |
+
pipeline = RetrievalAugmentedQAPipeline(
|
| 153 |
+
vector_db_retriever=vector_db,
|
| 154 |
+
llm=chat_openai
|
| 155 |
+
)
|
| 156 |
+
print("Pipeline created successfully") # Debug log
|
| 157 |
+
app.state.pipeline = pipeline # Store pipeline in application state
|
| 158 |
+
except Exception as e:
|
| 159 |
+
print(f"Error creating pipeline: {str(e)}") # Debug log
|
| 160 |
+
raise HTTPException(status_code=500, detail=f"Error creating pipeline: {str(e)}")
|
| 161 |
+
|
| 162 |
+
return {"message": "File processed successfully", "num_chunks": len(texts)}
|
| 163 |
+
|
| 164 |
+
except Exception as e:
|
| 165 |
+
print(f"Error in upload_file: {str(e)}") # Debug log
|
| 166 |
+
print(f"Error type: {type(e)}") # Debug log
|
| 167 |
+
import traceback
|
| 168 |
+
print(f"Traceback: {traceback.format_exc()}") # Debug log
|
| 169 |
+
raise HTTPException(status_code=500, detail=str(e))
|
| 170 |
+
finally:
|
| 171 |
+
# Clean up temporary file
|
| 172 |
+
if temp_file_path and os.path.exists(temp_file_path):
|
| 173 |
+
try:
|
| 174 |
+
os.unlink(temp_file_path)
|
| 175 |
+
print("Temporary file cleaned up") # Debug log
|
| 176 |
+
except Exception as e:
|
| 177 |
+
print(f"Error cleaning up temporary file: {str(e)}") # Debug log
|
| 178 |
+
|
| 179 |
+
@app.post("/query")
|
| 180 |
+
async def query_document(request: QueryRequest):
|
| 181 |
+
try:
|
| 182 |
+
print("Starting query processing...") # Debug log
|
| 183 |
+
# Get the pipeline from application state
|
| 184 |
+
pipeline = app.state.pipeline
|
| 185 |
+
if not pipeline:
|
| 186 |
+
print("No pipeline found in application state") # Debug log
|
| 187 |
+
# Try to recreate pipeline from stored components
|
| 188 |
+
if app.state.vector_db and app.state.llm:
|
| 189 |
+
print("Recreating pipeline from stored components") # Debug log
|
| 190 |
+
pipeline = RetrievalAugmentedQAPipeline(
|
| 191 |
+
vector_db_retriever=app.state.vector_db,
|
| 192 |
+
llm=app.state.llm
|
| 193 |
+
)
|
| 194 |
+
app.state.pipeline = pipeline
|
| 195 |
+
else:
|
| 196 |
+
raise HTTPException(status_code=400, detail="No document has been uploaded yet")
|
| 197 |
+
|
| 198 |
+
print(f"Processing query: {request.query}") # Debug log
|
| 199 |
+
print(f"Pipeline state: {pipeline}") # Debug log
|
| 200 |
+
|
| 201 |
+
try:
|
| 202 |
+
result = await pipeline.arun_pipeline(request.query)
|
| 203 |
+
print(f"Query result: {result}") # Debug log
|
| 204 |
+
return result
|
| 205 |
+
except Exception as pipeline_error:
|
| 206 |
+
print(f"Pipeline error: {str(pipeline_error)}") # Debug log
|
| 207 |
+
print(f"Pipeline error type: {type(pipeline_error)}") # Debug log
|
| 208 |
+
import traceback
|
| 209 |
+
print(f"Pipeline traceback: {traceback.format_exc()}") # Debug log
|
| 210 |
+
raise HTTPException(status_code=500, detail=f"Pipeline error: {str(pipeline_error)}")
|
| 211 |
+
|
| 212 |
+
except HTTPException:
|
| 213 |
+
raise
|
| 214 |
+
except Exception as e:
|
| 215 |
+
print(f"Error in query_document: {str(e)}") # Debug log
|
| 216 |
+
print(f"Error type: {type(e)}") # Debug log
|
| 217 |
+
import traceback
|
| 218 |
+
print(f"Traceback: {traceback.format_exc()}") # Debug log
|
| 219 |
+
raise HTTPException(status_code=500, detail=str(e))
|
| 220 |
+
|
| 221 |
+
class VectorDatabase:
|
| 222 |
+
def __init__(self):
|
| 223 |
+
print("Initializing VectorDatabase...") # Debug log
|
| 224 |
+
try:
|
| 225 |
+
self.embedding_model = EmbeddingModel()
|
| 226 |
+
print("EmbeddingModel initialized") # Debug log
|
| 227 |
+
self.embeddings = []
|
| 228 |
+
self.texts = []
|
| 229 |
+
except Exception as e:
|
| 230 |
+
print(f"Error initializing VectorDatabase: {str(e)}") # Debug log
|
| 231 |
+
raise
|
| 232 |
+
|
| 233 |
+
async def abuild_from_list(self, texts: List[str]):
|
| 234 |
+
try:
|
| 235 |
+
print(f"Building vector database from {len(texts)} texts") # Debug log
|
| 236 |
+
self.texts = texts
|
| 237 |
+
print("Generating embeddings...") # Debug log
|
| 238 |
+
self.embeddings = await self.embedding_model.aembed_documents(texts)
|
| 239 |
+
print(f"Generated {len(self.embeddings)} embeddings") # Debug log
|
| 240 |
+
return self
|
| 241 |
+
except Exception as e:
|
| 242 |
+
print(f"Error building vector database: {str(e)}") # Debug log
|
| 243 |
+
raise
|
| 244 |
+
|
| 245 |
+
async def search_by_text(self, query: str, k: int = 4):
|
| 246 |
+
try:
|
| 247 |
+
print(f"Searching for query: {query}") # Debug log
|
| 248 |
+
query_embedding = await self.embedding_model.embed_query(query)
|
| 249 |
+
print("Generated query embedding") # Debug log
|
| 250 |
+
|
| 251 |
+
# Calculate similarities
|
| 252 |
+
similarities = []
|
| 253 |
+
for i, embedding in enumerate(self.embeddings):
|
| 254 |
+
similarity = self._cosine_similarity(query_embedding, embedding)
|
| 255 |
+
similarities.append((self.texts[i], similarity))
|
| 256 |
+
|
| 257 |
+
# Sort by similarity and return top k
|
| 258 |
+
similarities.sort(key=lambda x: x[1], reverse=True)
|
| 259 |
+
print(f"Found {len(similarities)} matches") # Debug log
|
| 260 |
+
return similarities[:k]
|
| 261 |
+
except Exception as e:
|
| 262 |
+
print(f"Error in search_by_text: {str(e)}") # Debug log
|
| 263 |
+
raise
|
| 264 |
+
|
| 265 |
+
def _cosine_similarity(self, a, b):
|
| 266 |
+
try:
|
| 267 |
+
import numpy as np
|
| 268 |
+
a = np.array(a)
|
| 269 |
+
b = np.array(b)
|
| 270 |
+
return float(np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b)))
|
| 271 |
+
except Exception as e:
|
| 272 |
+
print(f"Error calculating cosine similarity: {str(e)}") # Debug log
|
| 273 |
+
raise
|
| 274 |
+
|
| 275 |
+
if __name__ == "__main__":
|
| 276 |
+
import uvicorn
|
| 277 |
+
uvicorn.run(app, host="0.0.0.0", port=8000)
|
backend/pyproject.toml
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[build-system]
|
| 2 |
+
requires = ["setuptools>=61.0"]
|
| 3 |
+
build-backend = "setuptools.build_meta"
|
| 4 |
+
|
| 5 |
+
[project]
|
| 6 |
+
name = "aimakerspace"
|
| 7 |
+
version = "0.1.0"
|
| 8 |
+
description = "AI Maker Space RAG implementation"
|
| 9 |
+
requires-python = ">=3.8"
|
| 10 |
+
dependencies = [
|
| 11 |
+
"openai>=1.0.0",
|
| 12 |
+
"PyPDF2>=3.0.0",
|
| 13 |
+
"python-dotenv>=0.19.0",
|
| 14 |
+
"numpy>=1.21.0",
|
| 15 |
+
"fastapi>=0.68.0",
|
| 16 |
+
"uvicorn>=0.15.0",
|
| 17 |
+
"python-multipart>=0.0.5",
|
| 18 |
+
]
|
| 19 |
+
|
| 20 |
+
[tool.setuptools]
|
| 21 |
+
packages = ["aimakerspace"]
|
backend/requirements.txt
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
fastapi==0.109.2
|
| 2 |
+
uvicorn==0.27.1
|
| 3 |
+
python-multipart==0.0.9
|
| 4 |
+
pydantic==2.10.1
|
| 5 |
+
openai==1.59.9
|
| 6 |
+
numpy==1.26.4
|
| 7 |
+
pypdf2==3.0.1
|
| 8 |
+
websockets==14.2
|
| 9 |
+
python-dotenv==1.0.1
|
backend/test.py
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import sys
|
| 2 |
+
print("Python path:", sys.path)
|
| 3 |
+
try:
|
| 4 |
+
import main
|
| 5 |
+
print("Successfully imported main module")
|
| 6 |
+
except ImportError as e:
|
| 7 |
+
print("Error importing main module:", e)
|
backend/test.txt
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Artificial Intelligence and Machine Learning
|
| 2 |
+
|
| 3 |
+
Introduction
|
| 4 |
+
Artificial Intelligence (AI) and Machine Learning (ML) are transforming the way we live and work. AI refers to the simulation of human intelligence in machines that are programmed to think and learn like humans. Machine Learning is a subset of AI that enables systems to learn and improve from experience without being explicitly programmed.
|
| 5 |
+
|
| 6 |
+
Key Concepts in Machine Learning
|
| 7 |
+
1. Supervised Learning: In supervised learning, the algorithm learns from labeled training data. The model is trained on a dataset where the correct answers (labels) are provided, and it learns to predict the labels for new, unseen data.
|
| 8 |
+
|
| 9 |
+
2. Unsupervised Learning: This type of learning deals with unlabeled data. The algorithm tries to find patterns and relationships in the data without any predefined labels.
|
| 10 |
+
|
| 11 |
+
3. Reinforcement Learning: In reinforcement learning, an agent learns to make decisions by interacting with an environment. It receives rewards or penalties for its actions and learns to maximize the cumulative reward.
|
| 12 |
+
|
| 13 |
+
Applications of AI and ML
|
| 14 |
+
1. Natural Language Processing (NLP): NLP enables machines to understand, interpret, and generate human language. Applications include machine translation, chatbots, and sentiment analysis.
|
| 15 |
+
|
| 16 |
+
2. Computer Vision: This field focuses on enabling computers to understand and process visual information from the world. Applications include facial recognition, object detection, and autonomous vehicles.
|
| 17 |
+
|
| 18 |
+
3. Recommendation Systems: These systems use ML algorithms to suggest products, content, or services based on user preferences and behavior.
|
| 19 |
+
|
| 20 |
+
Challenges and Ethical Considerations
|
| 21 |
+
1. Data Privacy: As AI systems require large amounts of data for training, ensuring data privacy and security is crucial.
|
| 22 |
+
|
| 23 |
+
2. Bias in AI: AI systems can inherit biases present in their training data, leading to unfair or discriminatory outcomes.
|
| 24 |
+
|
| 25 |
+
3. Transparency: The "black box" nature of some AI models makes it difficult to understand how they arrive at their decisions.
|
| 26 |
+
|
| 27 |
+
Future Trends
|
| 28 |
+
1. Edge AI: Moving AI processing to edge devices for faster, more efficient computation.
|
| 29 |
+
2. AutoML: Automating the process of applying machine learning to real-world problems.
|
| 30 |
+
3. AI Ethics: Growing focus on developing responsible and ethical AI systems.
|
| 31 |
+
|
| 32 |
+
Conclusion
|
| 33 |
+
AI and ML continue to evolve rapidly, offering new opportunities and challenges. Understanding these technologies and their implications is crucial for anyone interested in the future of technology and its impact on society.
|
backend/test_app.py
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from fastapi import FastAPI
|
| 2 |
+
|
| 3 |
+
app = FastAPI()
|
| 4 |
+
|
| 5 |
+
@app.get("/")
|
| 6 |
+
async def root():
|
| 7 |
+
return {"message": "Hello World"}
|
backend/test_rag.py
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
from aimakerspace.text_utils import TextFileLoader, CharacterTextSplitter
|
| 3 |
+
from aimakerspace.vectordatabase import VectorDatabase
|
| 4 |
+
from aimakerspace.openai_utils.chatmodel import ChatOpenAI
|
| 5 |
+
from aimakerspace.openai_utils.prompts import SystemRolePrompt, UserRolePrompt
|
| 6 |
+
import asyncio
|
| 7 |
+
|
| 8 |
+
system_template = """\
|
| 9 |
+
Use the following context to answer a users question. If you cannot find the answer in the context, say you don't know the answer."""
|
| 10 |
+
system_role_prompt = SystemRolePrompt(system_template)
|
| 11 |
+
|
| 12 |
+
user_prompt_template = """\
|
| 13 |
+
Context:
|
| 14 |
+
{context}
|
| 15 |
+
|
| 16 |
+
Question:
|
| 17 |
+
{question}
|
| 18 |
+
"""
|
| 19 |
+
user_role_prompt = UserRolePrompt(user_prompt_template)
|
| 20 |
+
|
| 21 |
+
class RetrievalAugmentedQAPipeline:
|
| 22 |
+
def __init__(self, llm: ChatOpenAI, vector_db_retriever: VectorDatabase) -> None:
|
| 23 |
+
self.llm = llm
|
| 24 |
+
self.vector_db_retriever = vector_db_retriever
|
| 25 |
+
|
| 26 |
+
async def arun_pipeline(self, user_query: str):
|
| 27 |
+
context_list = self.vector_db_retriever.search_by_text(user_query, k=4)
|
| 28 |
+
|
| 29 |
+
context_prompt = ""
|
| 30 |
+
for context in context_list:
|
| 31 |
+
context_prompt += context[0] + "\n"
|
| 32 |
+
|
| 33 |
+
formatted_system_prompt = system_role_prompt.create_message()
|
| 34 |
+
formatted_user_prompt = user_role_prompt.create_message(
|
| 35 |
+
question=user_query,
|
| 36 |
+
context=context_prompt
|
| 37 |
+
)
|
| 38 |
+
|
| 39 |
+
response = await self.llm.agenerate([formatted_system_prompt, formatted_user_prompt])
|
| 40 |
+
return {"response": response, "context": context_list}
|
| 41 |
+
|
| 42 |
+
async def test_rag_pipeline(text_path: str, test_query: str):
|
| 43 |
+
print("1. Loading text file...")
|
| 44 |
+
loader = TextFileLoader(text_path)
|
| 45 |
+
documents = loader.load_documents()
|
| 46 |
+
print(f"Loaded {len(documents)} documents")
|
| 47 |
+
|
| 48 |
+
print("\n2. Splitting text...")
|
| 49 |
+
splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
|
| 50 |
+
texts = splitter.split_texts(documents)
|
| 51 |
+
print(f"Split into {len(texts)} chunks")
|
| 52 |
+
|
| 53 |
+
print("\n3. Creating vector database...")
|
| 54 |
+
vector_db = VectorDatabase()
|
| 55 |
+
vector_db = await vector_db.abuild_from_list(texts)
|
| 56 |
+
print("Vector database created")
|
| 57 |
+
|
| 58 |
+
print("\n4. Testing search...")
|
| 59 |
+
results = vector_db.search_by_text(test_query, k=3)
|
| 60 |
+
print(f"Found {len(results)} relevant chunks")
|
| 61 |
+
for i, (text, score) in enumerate(results):
|
| 62 |
+
print(f"\nChunk {i+1} (score: {score:.4f}):")
|
| 63 |
+
print(text[:200] + "...")
|
| 64 |
+
|
| 65 |
+
print("\n5. Testing full pipeline...")
|
| 66 |
+
chat_openai = ChatOpenAI()
|
| 67 |
+
pipeline = RetrievalAugmentedQAPipeline(
|
| 68 |
+
vector_db_retriever=vector_db,
|
| 69 |
+
llm=chat_openai
|
| 70 |
+
)
|
| 71 |
+
|
| 72 |
+
result = await pipeline.arun_pipeline(test_query)
|
| 73 |
+
print("\nResponse:")
|
| 74 |
+
print(result["response"])
|
| 75 |
+
print("\nContext used:")
|
| 76 |
+
for i, (text, score) in enumerate(result["context"]):
|
| 77 |
+
print(f"\nContext {i+1} (score: {score:.4f}):")
|
| 78 |
+
print(text[:200] + "...")
|
| 79 |
+
|
| 80 |
+
if __name__ == "__main__":
|
| 81 |
+
# Test with our sample text file
|
| 82 |
+
text_path = "test.txt"
|
| 83 |
+
test_query = "What are the main applications of AI and ML?"
|
| 84 |
+
|
| 85 |
+
asyncio.run(test_rag_pipeline(text_path, test_query))
|
chainlit.md
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Welcome to Chat with Your Text/PDF File
|
| 2 |
+
|
| 3 |
+
With this application, you can chat with an uploaded text/PDFfile that is smaller than 2MB!
|
docker-compose.yml
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version: '3.8'
|
| 2 |
+
|
| 3 |
+
services:
|
| 4 |
+
frontend:
|
| 5 |
+
build:
|
| 6 |
+
context: .
|
| 7 |
+
dockerfile: frontend/Dockerfile
|
| 8 |
+
ports:
|
| 9 |
+
- "3000:3000"
|
| 10 |
+
environment:
|
| 11 |
+
- REACT_APP_API_URL=http://backend:7860
|
| 12 |
+
depends_on:
|
| 13 |
+
- backend
|
| 14 |
+
|
| 15 |
+
backend:
|
| 16 |
+
build:
|
| 17 |
+
context: .
|
| 18 |
+
dockerfile: backend/Dockerfile
|
| 19 |
+
ports:
|
| 20 |
+
- "7860:7860"
|
| 21 |
+
environment:
|
| 22 |
+
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
| 23 |
+
- PYTHONUNBUFFERED=1
|
frontend/Dockerfile
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM node:18-alpine
|
| 2 |
+
|
| 3 |
+
WORKDIR /app
|
| 4 |
+
|
| 5 |
+
# Install dependencies
|
| 6 |
+
COPY package*.json ./
|
| 7 |
+
RUN npm install
|
| 8 |
+
|
| 9 |
+
# Copy source
|
| 10 |
+
COPY . .
|
| 11 |
+
|
| 12 |
+
# Expose port
|
| 13 |
+
EXPOSE 3000
|
| 14 |
+
|
| 15 |
+
# Start the app
|
| 16 |
+
CMD ["npm", "start"]
|
frontend/package-lock.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
frontend/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "rag-frontend",
|
| 3 |
+
"version": "0.1.0",
|
| 4 |
+
"private": true,
|
| 5 |
+
"dependencies": {
|
| 6 |
+
"@emotion/react": "^11.14.0",
|
| 7 |
+
"@emotion/styled": "^11.14.0",
|
| 8 |
+
"@mui/icons-material": "^5.17.1",
|
| 9 |
+
"@mui/material": "^5.17.1",
|
| 10 |
+
"axios": "^1.8.4",
|
| 11 |
+
"react": "^18.2.0",
|
| 12 |
+
"react-dom": "^18.2.0",
|
| 13 |
+
"react-scripts": "5.0.1"
|
| 14 |
+
},
|
| 15 |
+
"scripts": {
|
| 16 |
+
"start": "react-scripts start",
|
| 17 |
+
"build": "react-scripts build",
|
| 18 |
+
"test": "react-scripts test",
|
| 19 |
+
"eject": "react-scripts eject"
|
| 20 |
+
},
|
| 21 |
+
"eslintConfig": {
|
| 22 |
+
"extends": [
|
| 23 |
+
"react-app",
|
| 24 |
+
"react-app/jest"
|
| 25 |
+
]
|
| 26 |
+
},
|
| 27 |
+
"browserslist": {
|
| 28 |
+
"production": [
|
| 29 |
+
">0.2%",
|
| 30 |
+
"not dead",
|
| 31 |
+
"not op_mini all"
|
| 32 |
+
],
|
| 33 |
+
"development": [
|
| 34 |
+
"last 1 chrome version",
|
| 35 |
+
"last 1 firefox version",
|
| 36 |
+
"last 1 safari version"
|
| 37 |
+
]
|
| 38 |
+
}
|
| 39 |
+
}
|
frontend/public/index.html
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<meta name="theme-color" content="#000000" />
|
| 7 |
+
<meta name="description" content="Document Q&A System" />
|
| 8 |
+
<title>Document Q&A</title>
|
| 9 |
+
<link
|
| 10 |
+
rel="stylesheet"
|
| 11 |
+
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
|
| 12 |
+
/>
|
| 13 |
+
</head>
|
| 14 |
+
<body>
|
| 15 |
+
<noscript>You need to enable JavaScript to run this app.</noscript>
|
| 16 |
+
<div id="root"></div>
|
| 17 |
+
</body>
|
| 18 |
+
</html>
|
frontend/src/App.css
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8d6a3351b7fe8743a2a7dea3b253648acc70c79796874dc76744316575b97bb3
|
| 3 |
+
size 2232
|
frontend/src/App.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5d45f6c322d97d8dce1c5f45ecce438fe8e4a93f276180e324f41bd4c4caf5ee
|
| 3 |
+
size 4758
|
frontend/src/index.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:51a633421a8d0153cd6117a3414d765c53d9218372f896cbf4e7a3c260605e06
|
| 3 |
+
size 619
|