feat: 擴展 i18n 支援 65 種語言 + 完整文件系統

🌐 國際化 (i18n)
- 從 5 種語言擴展到 65 種語言支援
- 新增:歐洲語系 (de, fr, es, it, pt, ru, nl, pl, tr, uk, cs, sv, da, fi, no, el, hu, ro, bg, hr, sk, sl, lt, lv, et, is, ga, cy, mt, mk, sq, ca, eu, gl, sr)
- 新增:中東語系 (ar, he, fa)
- 新增:南亞語系 (hi, bn, ta, te, mr, gu, kn, ml, ne, si)
- 新增:東南亞語系 (th, vi, id, ms, fil, my, km, lo)
- 新增:非洲語系 (af, sw, am, zu)
- 完整翻譯所有 UI 文字

📖 文件系統
- 重構 README.md 為入口型首頁
- 新增 docs/getting-started.md - 快速入門指南
- 新增 docs/docker.md - Docker 部署指南
- 新增 docs/environment-variables.md - 環境變數說明
- 新增 docs/url-id-and-storage.md - 儲存結構說明
- 新增 docs/advanced-usage.md - 進階使用指南
- 更新 docs/i18n.md - 65 種語言清單

 建構驗證
- TypeScript 編譯通過
- Docker 建構通過
This commit is contained in:
Your Name 2026-01-20 11:30:21 +08:00
parent 53b83b425f
commit 5c68308c36
69 changed files with 7823 additions and 274 deletions

240
README.md
View file

@ -1,50 +1,52 @@
![ConvertX](images/logo.png) ![ConvertX-CN](images/logo.png)
# ConvertX-CN完整版 # ConvertX-CN
**開箱即用的全功能檔案轉換服務** | **Self-hosted File Converter - Full Edition**
[![Docker](https://github.com/pi-docket/ConvertX-CN/actions/workflows/release.yml/badge.svg)](https://github.com/pi-docket/ConvertX-CN/actions/workflows/release.yml) [![Docker](https://github.com/pi-docket/ConvertX-CN/actions/workflows/release.yml/badge.svg)](https://github.com/pi-docket/ConvertX-CN/actions/workflows/release.yml)
[![Docker Pulls](https://img.shields.io/docker/pulls/convertx/convertx-cn?style=flat&logo=docker&label=Docker%20Hub)](https://hub.docker.com/r/convertx/convertx-cn) [![Docker Pulls](https://img.shields.io/docker/pulls/convertx/convertx-cn?style=flat&logo=docker&label=Docker%20Hub)](https://hub.docker.com/r/convertx/convertx-cn)
[![GitHub Release](https://img.shields.io/github/v/release/pi-docket/ConvertX-CN)](https://github.com/pi-docket/ConvertX-CN/releases) [![GitHub Release](https://img.shields.io/github/v/release/pi-docket/ConvertX-CN)](https://github.com/pi-docket/ConvertX-CN/releases)
[![License](https://img.shields.io/github/license/pi-docket/ConvertX-CN)](LICENSE)
> 🎉 **這是完整版 ConvertX-CN image已內建所有轉換依賴**
>
> 使用者 **不需要自己寫 Dockerfile**,直接 `docker run``docker compose up` 即可使用。
基於 [C4illin/ConvertX](https://github.com/C4illin/ConvertX) 的中文優化版本。目前還在實作請等到1月底發布
--- ---
## ✨ 完整版特色 ## ✨ 什麼是 ConvertX-CN
此 image 已經內建以下所有依賴,開箱即用: ConvertX-CN 是基於 [C4illin/ConvertX](https://github.com/C4illin/ConvertX) 的**完整版 Fork**,專為中文使用者優化,並預載所有轉換依賴。
| 類別 | 內建內容 | > 🎉 **一鍵部署,無需額外配置**
| ------------ | ---------------------------------------------------------------- | > 使用者 **不需要自己寫 Dockerfile**,直接 `docker run``docker compose up` 即可使用。
| **文件轉換** | LibreOffice (headless)、Pandoc |
| **LaTeX** | TexLive Full完整版支援所有 LaTeX 需求) | ### 主要特色
| **OCR 識別** | Tesseract OCR + 繁體中文、簡體中文、日文、韓文、英文、德文語言包 |
| **CJK 字型** | Noto CJK中日韓、Noto Emoji、微軟核心字型、標楷體 | | 特色 | 說明 |
| **影音轉換** | FFmpeg、ImageMagick、GraphicsMagick | |------|------|
| **向量圖形** | Inkscape、Potrace、VTracer、resvg | | 🌍 **65+ 語言支援** | 繁體中文、簡體中文、英文、日文、韓文等 65 種語言 |
| **電子書** | Calibre | | 📦 **完整內建** | LibreOffice、FFmpeg、Pandoc、Calibre 等 20+ 轉換器 |
| **其他** | Ghostscript、MuPDF、Poppler、libheif、libjxl 等 | | 🎨 **CJK 字型** | Noto CJK、微軟核心字型、標楷體等中日韓字型 |
| 🔤 **OCR 支援** | Tesseract + 多語言語言包 |
| ⚡ **LaTeX 完整版** | TexLive Full支援所有 LaTeX 需求 |
| 🐳 **開箱即用** | 一個 Docker 命令即可啟動 |
--- ---
## 🚀 快速開始 ## 🚀 快速開始
### 方法一Docker Run ### 最快方式Docker Run
```bash ```bash
docker run -d \ docker run -d \
--name convertx-cn \ --name convertx-cn \
-p 3000:3000 \ -p 3000:3000 \
-v ./data:/app/data \ -v ./data:/app/data \
-e TZ=Asia/Taipei \ -e ACCOUNT_REGISTRATION=true \
convertx/convertx-cn:latest convertx/convertx-cn:latest
``` ```
### 方法二Docker Compose推薦 開啟瀏覽器訪問 `http://localhost:3000`,建立帳號即可開始使用!
### 推薦方式Docker Compose
建立 `docker-compose.yml` 建立 `docker-compose.yml`
@ -60,141 +62,96 @@ services:
- ./data:/app/data - ./data:/app/data
environment: environment:
- TZ=Asia/Taipei - TZ=Asia/Taipei
- JWT_SECRET=請更換為一個長且隨機的字串 - JWT_SECRET=your-secret-key-change-me
- ACCOUNT_REGISTRATION=false - ACCOUNT_REGISTRATION=true
- HTTP_ALLOWED=false
- AUTO_DELETE_EVERY_N_HOURS=24
``` ```
啟動服務:
```bash ```bash
docker compose up -d docker compose up -d
``` ```
然後瀏覽 `http://localhost:3000` 並建立第一個帳號。 📖 完整部署指南請見 → [docs/getting-started.md](docs/getting-started.md)
--- ---
## 📦 Docker Image ## 🌍 語言支援
| Image | 說明 | ConvertX-CN 支援 **65 種語言**,包括:
| ----------------------------- | ---------- |
| 區域 | 語言 |
|------|------|
| **東亞** | 繁體中文(預設)、简体中文、日本語、한국어 |
| **歐洲** | English, Deutsch, Français, Español, Italiano, Português, Русский, Polski, Nederlands, Українська, Čeština, Svenska, Dansk, Suomi, Norsk, Ελληνικά, Magyar, Română, Български, Hrvatski, Slovenčina, Slovenščina, Lietuvių, Latviešu, Eesti, Српски, Català, Euskara, Galego, Íslenska, Gaeilge, Cymraeg, Malti, Македонски, Shqip |
| **中東/南亞** | العربية, עברית, فارسی, Türkçe, हिन्दी, বাংলা, தமிழ், తెలుగు, मराठी, ગુજરાતી, ಕನ್ನಡ, മലയാളം, नेपाली, සිංහල |
| **東南亞** | ไทย, Tiếng Việt, Bahasa Indonesia, Bahasa Melayu, Filipino, မြန်မာ, ខ្មែរ, ລາວ |
| **非洲** | Afrikaans, Kiswahili, አማርኛ, isiZulu |
語言會根據瀏覽器設定自動偵測,也可透過右上角選單手動切換。
---
## 📦 內建轉換器
| 轉換器 | 用途 | 輸入格式 | 輸出格式 |
|--------|------|----------|----------|
| FFmpeg | 影音 | ~472 | ~199 |
| ImageMagick | 圖片 | 245 | 183 |
| GraphicsMagick | 圖片 | 167 | 130 |
| LibreOffice | 文件 | 41 | 22 |
| Pandoc | 文件 | 43 | 65 |
| Calibre | 電子書 | 26 | 19 |
| Inkscape | 向量圖 | 7 | 17 |
| Assimp | 3D 模型 | 77 | 23 |
完整列表 → [docs/converters.md](docs/converters.md)
---
## 📖 文件導覽
| 文件 | 說明 |
|------|------|
| [🚀 快速開始](docs/getting-started.md) | Docker 部署教學 |
| [🐳 Docker 配置](docs/docker.md) | 完整 Docker 設定指南 |
| [⚙️ 環境變數](docs/environment-variables.md) | 所有環境變數說明 |
| [💾 儲存與 URL](docs/url-id-and-storage.md) | 檔案儲存機制說明 |
| [🔧 進階用法](docs/advanced-usage.md) | 硬體加速、反向代理等 |
| [🌍 多語言](docs/i18n.md) | i18n 語言設定與新增 |
| [📦 轉換器列表](docs/converters.md) | 支援的轉換格式完整列表 |
---
## 🐳 Docker Image
| Tag | 說明 |
|-----|------|
| `convertx/convertx-cn:latest` | 最新穩定版 | | `convertx/convertx-cn:latest` | 最新穩定版 |
| `convertx/convertx-cn:v0.1.1` | 指定版本 | | `convertx/convertx-cn:v0.1.3` | 指定版本 |
> ⚠️ 由於內建完整依賴image 大小約 4-6 GB首次下載需要較長時間。 > ⚠️ 由於內建完整依賴,Image 約 4-6 GB首次下載需較長時間。
--- ---
## 🔧 支援的轉換器 ## 📸 預覽
| Converter | Use case | Converts from | Converts to | ![ConvertX-CN Preview](images/preview.png)
| --------------------------------------------------------------- | ---------------- | ------------- | ----------- |
| [Inkscape](https://inkscape.org/) | Vector images | 7 | 17 |
| [libjxl](https://github.com/libjxl/libjxl) | JPEG XL | 11 | 11 |
| [resvg](https://github.com/RazrFalcon/resvg) | SVG | 1 | 1 |
| [Vips](https://github.com/libvips/libvips) | Images | 45 | 23 |
| [libheif](https://github.com/strukturag/libheif) | HEIF | 2 | 4 |
| [XeLaTeX](https://tug.org/xetex/) | LaTeX | 1 | 1 |
| [Calibre](https://calibre-ebook.com/) | E-books | 26 | 19 |
| [LibreOffice](https://www.libreoffice.org/) | Documents | 41 | 22 |
| [Dasel](https://github.com/TomWright/dasel) | Data Files | 5 | 4 |
| [Pandoc](https://pandoc.org/) | Documents | 43 | 65 |
| [msgconvert](https://github.com/mvz/email-outlook-message-perl) | Outlook | 1 | 1 |
| VCF to CSV | Contacts | 1 | 1 |
| [dvisvgm](https://dvisvgm.de/) | Vector images | 4 | 2 |
| [ImageMagick](https://imagemagick.org/) | Images | 245 | 183 |
| [GraphicsMagick](http://www.graphicsmagick.org/) | Images | 167 | 130 |
| [Assimp](https://github.com/assimp/assimp) | 3D Assets | 77 | 23 |
| [FFmpeg](https://ffmpeg.org/) | Video | ~472 | ~199 |
| [Potrace](https://potrace.sourceforge.net/) | Raster to vector | 4 | 11 |
| [VTracer](https://github.com/visioncortex/vtracer) | Raster to vector | 8 | 1 |
| [Markitdown](https://github.com/microsoft/markitdown) | Documents | 6 | 1 |
<!-- many ffmpeg fileformats are duplicates -->
缺少什麼轉換器?歡迎開 issue 或 pull request
--- ---
## ⚙️ 環境變數
所有環境變數皆為選填,建議設定 `JWT_SECRET`
| 變數名稱 | 預設值 | 說明 |
| ------------------------- | ------------ | ---------------------------------------- |
| JWT_SECRET | randomUUID() | 用於簽署 JWT 的密鑰字串 |
| ACCOUNT_REGISTRATION | false | 是否允許註冊新帳號 |
| HTTP_ALLOWED | false | 是否允許 HTTP 連線(僅本地使用) |
| ALLOW_UNAUTHENTICATED | false | 是否允許未登入使用 |
| AUTO_DELETE_EVERY_N_HOURS | 24 | 自動刪除超過 N 小時的檔案0 = 停用) |
| WEBROOT | | 子路徑部署,例如 `/convertx` |
| FFMPEG_ARGS | | FFmpeg 輸入參數,例如 `-hwaccel vaapi` |
| FFMPEG_OUTPUT_ARGS | | FFmpeg 輸出參數,例如 `-preset veryfast` |
| HIDE_HISTORY | false | 隱藏歷史紀錄頁面 |
| LANGUAGE | en | 日期格式語言BCP 47 格式) |
| TZ | UTC | 時區設定 |
| MAX_CONVERT_PROCESS | 0 | 最大同時轉換數0 = 無限制) |
---
## 🌍 多語言支援i18n
ConvertX-CN 支援以下語言:
| 語言代碼 | 語言名稱 |
| -------- | ---------------- |
| zh-TW | 繁體中文(預設) |
| zh-CN | 简体中文 |
| en | English |
| ja | 日本語 |
| ko | 한국어 |
### 語言切換
- 在網站右上角的導航列可看到語言選擇器(地球圖示)
- 點擊後可選擇偏好語言
- 語言偏好會自動保存到 Cookie 中
- 首次訪問時會自動偵測瀏覽器語言設定
### 新增語言
如要添加新語言,請:
1. 在 `src/locales/` 目錄新增語言檔案(例如 `fr.json`
2. 在 `src/i18n/index.ts` 中:
- 導入新語言檔案
- 在 `supportedLocales` 陣列中添加語言配置
- 在 `translations` 物件中註冊翻譯
歡迎提交 Pull Request 來新增更多語言!
---
## 📖 教學文章
> [!NOTE]
> 以下教學由社群撰寫,可能有過時或錯誤之處。
- 法文教學:<https://belginux.com/installer-convertx-avec-docker/>
- 中文教學:<https://xzllll.com/24092901/>
- 波蘭文教學:<https://www.kreatywnyprogramista.pl/convertx-lokalny-konwerter-plikow>
---
## 📸 Screenshots
![ConvertX Preview](images/preview.png)
## 🛠️ 開發 ## 🛠️ 開發
0. 安裝 [Bun](https://bun.sh/) 和 Git ```bash
1. Clone 這個 repository # 安裝依賴
2. `bun install` bun install
3. `bun run dev`
歡迎 Pull Request請使用 [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) 格式。 # 開發模式
bun run dev
# 建構
bun run build
```
歡迎 Pull Request請使用 [Conventional Commits](https://www.conventionalcommits.org/) 格式。
--- ---
@ -203,11 +160,18 @@ ConvertX-CN 支援以下語言:
本專案基於 [C4illin/ConvertX](https://github.com/C4illin/ConvertX) 開發。 本專案基於 [C4illin/ConvertX](https://github.com/C4illin/ConvertX) 開發。
<a href="https://github.com/C4illin/ConvertX/graphs/contributors"> <a href="https://github.com/C4illin/ConvertX/graphs/contributors">
<img src="https://contrib.rocks/image?repo=C4illin/ConvertX" alt="Image with all contributors"/> <img src="https://contrib.rocks/image?repo=C4illin/ConvertX" alt="Contributors" />
</a> </a>
--- ---
## 📜 License ## 📜 License
MIT License [MIT License](LICENSE)
---
<p align="center">
<b>Powered by ConvertX-CN</b><br>
<a href="https://github.com/pi-docket/ConvertX-CN">https://github.com/pi-docket/ConvertX-CN</a>
</p>

277
docs/advanced-usage.md Normal file
View file

@ -0,0 +1,277 @@
# 進階用法
## 硬體加速
### NVIDIA GPU (CUDA/NVENC)
#### 1. 安裝 NVIDIA Container Toolkit
```bash
# Ubuntu/Debian
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
```
#### 2. Docker Compose 配置
```yaml
services:
convertx:
image: convertx/convertx-cn:latest
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
environment:
- FFMPEG_ARGS=-hwaccel cuda -hwaccel_output_format cuda
- FFMPEG_OUTPUT_ARGS=-c:v h264_nvenc -preset fast
```
---
### Intel Quick Sync Video (QSV)
```yaml
services:
convertx:
image: convertx/convertx-cn:latest
devices:
- /dev/dri:/dev/dri
environment:
- FFMPEG_ARGS=-hwaccel qsv
- FFMPEG_OUTPUT_ARGS=-c:v h264_qsv -preset faster
```
---
### AMD VAAPI
```yaml
services:
convertx:
image: convertx/convertx-cn:latest
devices:
- /dev/dri:/dev/dri
environment:
- FFMPEG_ARGS=-hwaccel vaapi -hwaccel_device /dev/dri/renderD128
- FFMPEG_OUTPUT_ARGS=-c:v h264_vaapi
```
---
## 反向代理
### Nginx
```nginx
server {
listen 80;
server_name convert.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name convert.example.com;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
client_max_body_size 0; # 無檔案大小限制
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
# 長時間連線支援(大檔案轉換)
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
}
```
### Caddy
```
convert.example.com {
reverse_proxy localhost:3000 {
header_up X-Real-IP {remote_host}
header_up X-Forwarded-Proto {scheme}
}
request_body {
max_size 0 # 無限制
}
}
```
### Traefik
參考 [docker.md](docker.md#使用-traefik-反向代理) 中的 Traefik 配置。
---
## 子路徑部署
如果需要在子路徑部署(如 `https://example.com/convertx`
### 1. 設定環境變數
```yaml
environment:
- WEBROOT=/convertx
```
### 2. Nginx 配置
```nginx
location /convertx/ {
proxy_pass http://localhost:3000/;
# ... 其他 proxy 設定
}
```
### 3. Caddy 配置
```
example.com {
handle_path /convertx/* {
reverse_proxy localhost:3000
}
}
```
---
## 限制同時轉換數
防止伺服器過載:
```yaml
environment:
- MAX_CONVERT_PROCESS=4 # 最多同時 4 個轉換任務
```
---
## 匿名模式
允許不登入即可使用:
```yaml
environment:
- ALLOW_UNAUTHENTICATED=true
- HIDE_HISTORY=true # 建議同時隱藏歷史
- AUTO_DELETE_EVERY_N_HOURS=1 # 快速清理
```
---
## 高可用部署
### 多容器部署
ConvertX-CN 支援多容器部署,但需注意:
1. **共享儲存**:所有容器需存取相同的 `/app/data` 目錄
2. **資料庫鎖定**SQLite 在高併發下可能有問題
3. **JWT Secret**:所有容器需使用相同的 `JWT_SECRET`
```yaml
services:
convertx-1:
image: convertx/convertx-cn:latest
volumes:
- shared-data:/app/data
environment:
- JWT_SECRET=${JWT_SECRET}
convertx-2:
image: convertx/convertx-cn:latest
volumes:
- shared-data:/app/data
environment:
- JWT_SECRET=${JWT_SECRET}
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
volumes:
shared-data:
driver: local
driver_opts:
type: nfs
o: addr=nfs-server,rw
device: ":/path/to/shared/data"
```
---
## 效能調優
### 記憶體限制
```yaml
deploy:
resources:
limits:
memory: 8G
reservations:
memory: 2G
```
### CPU 限制
```yaml
deploy:
resources:
limits:
cpus: '4'
reservations:
cpus: '1'
```
---
## 日誌管理
### 查看日誌
```bash
docker logs convertx-cn
docker logs -f convertx-cn # 即時追蹤
docker logs --tail 100 convertx-cn # 最後 100 行
```
### 日誌輪轉
```yaml
services:
convertx:
# ...
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
```

View file

@ -1,65 +0,0 @@
# 環境變數設定
所有環境變數皆為選填,建議至少設定 `JWT_SECRET`
## 安全性設定
| 變數名稱 | 預設值 | 說明 |
| -------------------- | ------------ | ---------------------------------- |
| JWT_SECRET | randomUUID() | 用於簽署 JWT 的密鑰字串(請務必更改) |
| ACCOUNT_REGISTRATION | false | 是否允許註冊新帳號 |
| HTTP_ALLOWED | false | 是否允許 HTTP 連線(僅本地使用) |
| ALLOW_UNAUTHENTICATED| false | 是否允許未登入使用 |
## 檔案管理
| 變數名稱 | 預設值 | 說明 |
| ------------------------- | ------ | ------------------------------------ |
| AUTO_DELETE_EVERY_N_HOURS | 24 | 自動刪除超過 N 小時的檔案0 = 停用) |
## 進階設定
| 變數名稱 | 預設值 | 說明 |
| ------------------ | ------ | -------------------------------------- |
| WEBROOT | | 子路徑部署,例如 `/convertx` |
| FFMPEG_ARGS | | FFmpeg 輸入參數,例如 `-hwaccel vaapi` |
| FFMPEG_OUTPUT_ARGS | | FFmpeg 輸出參數,例如 `-preset veryfast` |
| HIDE_HISTORY | false | 隱藏歷史紀錄頁面 |
| MAX_CONVERT_PROCESS| 0 | 最大同時轉換數0 = 無限制) |
## 本地化設定
| 變數名稱 | 預設值 | 說明 |
| -------- | ------ | ----------------------------- |
| LANGUAGE | en | 日期格式語言BCP 47 格式) |
| TZ | UTC | 時區設定,例如 `Asia/Taipei` |
## 範例配置
### 開發環境
```yaml
environment:
- HTTP_ALLOWED=true
- ACCOUNT_REGISTRATION=true
```
### 生產環境
```yaml
environment:
- JWT_SECRET=your-very-long-and-random-secret-key
- ACCOUNT_REGISTRATION=false
- HTTP_ALLOWED=false
- TZ=Asia/Taipei
- AUTO_DELETE_EVERY_N_HOURS=48
```
### 公開服務(允許匿名使用)
```yaml
environment:
- ALLOW_UNAUTHENTICATED=true
- HIDE_HISTORY=true
- AUTO_DELETE_EVERY_N_HOURS=1
```

216
docs/docker.md Normal file
View file

@ -0,0 +1,216 @@
# Docker 配置指南
## Docker Image
ConvertX-CN 提供預建的 Docker Image包含所有轉換依賴。
### 可用 Tag
| Tag | 說明 |
|-----|------|
| `convertx/convertx-cn:latest` | 最新穩定版 |
| `convertx/convertx-cn:v0.1.3` | 指定版本號 |
| `convertx/convertx-cn:v0.1.3-FULL` | 完整版(與 latest 相同) |
### Image 大小
由於內建完整依賴LibreOffice、TexLive、FFmpeg 等Image 約 **4-6 GB**
---
## Docker Run
基本啟動命令:
```bash
docker run -d \
--name convertx-cn \
-p 3000:3000 \
-v ./data:/app/data \
-e TZ=Asia/Taipei \
-e ACCOUNT_REGISTRATION=true \
convertx/convertx-cn:latest
```
### 參數說明
| 參數 | 說明 |
|------|------|
| `-d` | 背景執行 |
| `--name convertx-cn` | 容器名稱 |
| `-p 3000:3000` | 連接埠映射 |
| `-v ./data:/app/data` | 資料持久化 |
| `-e TZ=Asia/Taipei` | 時區設定 |
---
## Docker Compose
### 基本配置
```yaml
services:
convertx:
image: convertx/convertx-cn:latest
container_name: convertx-cn
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./data:/app/data
environment:
- TZ=Asia/Taipei
- JWT_SECRET=your-very-long-random-secret-key
- ACCOUNT_REGISTRATION=true
```
### 生產環境配置
```yaml
services:
convertx:
image: convertx/convertx-cn:latest
container_name: convertx-cn
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./data:/app/data
environment:
- TZ=Asia/Taipei
- JWT_SECRET=${JWT_SECRET}
- ACCOUNT_REGISTRATION=false
- HTTP_ALLOWED=false
- AUTO_DELETE_EVERY_N_HOURS=24
deploy:
resources:
limits:
memory: 4G
reservations:
memory: 2G
```
### 使用 Traefik 反向代理
```yaml
services:
convertx:
image: convertx/convertx-cn:latest
container_name: convertx-cn
restart: unless-stopped
volumes:
- ./data:/app/data
environment:
- TZ=Asia/Taipei
- JWT_SECRET=${JWT_SECRET}
- ACCOUNT_REGISTRATION=false
labels:
- "traefik.enable=true"
- "traefik.http.routers.convertx.rule=Host(`convert.example.com`)"
- "traefik.http.routers.convertx.entrypoints=websecure"
- "traefik.http.routers.convertx.tls.certresolver=letsencrypt"
- "traefik.http.services.convertx.loadbalancer.server.port=3000"
networks:
- traefik
networks:
traefik:
external: true
```
---
## 資料持久化
### Volume 結構
```
./data/
├── uploads/ # 上傳的原始檔案
├── output/ # 轉換後的檔案
└── convertx.db # SQLite 資料庫
```
### 備份
```bash
# 備份資料
docker cp convertx-cn:/app/data ./backup-$(date +%Y%m%d)
# 還原資料
docker cp ./backup-20240101/. convertx-cn:/app/data/
```
---
## 更新
### Docker Compose
```bash
docker compose pull
docker compose up -d
```
### Docker Run
```bash
docker pull convertx/convertx-cn:latest
docker stop convertx-cn
docker rm convertx-cn
docker run -d ... # 使用原本的參數
```
---
## 健康檢查
ConvertX-CN 提供健康檢查端點:
```bash
curl http://localhost:3000/healthcheck
```
可在 Docker Compose 中配置:
```yaml
services:
convertx:
# ...
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/healthcheck"]
interval: 30s
timeout: 10s
retries: 3
```
---
## 故障排除
### 記憶體不足
如果遇到 OOM記憶體不足請增加容器記憶體限制
```yaml
deploy:
resources:
limits:
memory: 8G
```
### 連接埠衝突
如果 3000 埠被占用,可更改映射:
```bash
-p 8080:3000 # 使用 8080 埠
```
### 權限問題
確保 data 目錄有正確權限:
```bash
chmod -R 777 ./data
```

View file

@ -0,0 +1,158 @@
# 環境變數設定
所有環境變數皆為選填,建議至少設定 `JWT_SECRET`
---
## 安全性設定
| 變數名稱 | 預設值 | 說明 |
|----------|--------|------|
| `JWT_SECRET` | `randomUUID()` | 用於簽署 JWT 的密鑰字串。**生產環境請務必設定** |
| `ACCOUNT_REGISTRATION` | `false` | 是否允許註冊新帳號 |
| `HTTP_ALLOWED` | `false` | 是否允許 HTTP 連線(僅本地使用建議開啟) |
| `ALLOW_UNAUTHENTICATED` | `false` | 是否允許未登入使用 |
### 安全建議
```yaml
# 生產環境
environment:
- JWT_SECRET=a-very-long-random-string-at-least-32-characters
- ACCOUNT_REGISTRATION=false
- HTTP_ALLOWED=false
- ALLOW_UNAUTHENTICATED=false
```
---
## 檔案管理
| 變數名稱 | 預設值 | 說明 |
|----------|--------|------|
| `AUTO_DELETE_EVERY_N_HOURS` | `24` | 自動刪除超過 N 小時的檔案0 = 停用) |
### 範例
```yaml
# 每 48 小時清理一次
- AUTO_DELETE_EVERY_N_HOURS=48
# 停用自動清理
- AUTO_DELETE_EVERY_N_HOURS=0
```
---
## 轉換設定
| 變數名稱 | 預設值 | 說明 |
|----------|--------|------|
| `MAX_CONVERT_PROCESS` | `0` | 最大同時轉換數0 = 無限制) |
| `FFMPEG_ARGS` | - | FFmpeg 輸入參數,例如 `-hwaccel vaapi` |
| `FFMPEG_OUTPUT_ARGS` | - | FFmpeg 輸出參數,例如 `-preset veryfast` |
### 硬體加速範例
```yaml
# NVIDIA GPU 加速
- FFMPEG_ARGS=-hwaccel cuda
# Intel QSV 加速
- FFMPEG_ARGS=-hwaccel qsv
# AMD VAAPI 加速
- FFMPEG_ARGS=-hwaccel vaapi
```
---
## 介面設定
| 變數名稱 | 預設值 | 說明 |
|----------|--------|------|
| `WEBROOT` | - | 子路徑部署,例如 `/convertx` |
| `HIDE_HISTORY` | `false` | 隱藏歷史紀錄頁面 |
### 子路徑部署
如果需要在子路徑部署(如 `https://example.com/convertx`
```yaml
- WEBROOT=/convertx
```
---
## 本地化設定
| 變數名稱 | 預設值 | 說明 |
|----------|--------|------|
| `LANGUAGE` | `en` | 日期格式語言BCP 47 格式) |
| `TZ` | `UTC` | 時區設定 |
### 常用時區
```yaml
# 台灣
- TZ=Asia/Taipei
# 中國
- TZ=Asia/Shanghai
# 日本
- TZ=Asia/Tokyo
# 美國東部
- TZ=America/New_York
```
---
## 進階設定
| 變數名稱 | 預設值 | 說明 |
|----------|--------|------|
| `UNAUTHENTICATED_USER_SHARING` | `false` | 未登入使用者是否共享檔案空間 |
---
## 完整範例
### 開發環境
```yaml
environment:
- HTTP_ALLOWED=true
- ACCOUNT_REGISTRATION=true
- TZ=Asia/Taipei
```
### 生產環境
```yaml
environment:
- JWT_SECRET=your-very-long-and-random-secret-key-change-me
- ACCOUNT_REGISTRATION=false
- HTTP_ALLOWED=false
- TZ=Asia/Taipei
- AUTO_DELETE_EVERY_N_HOURS=24
```
### 公開服務(允許匿名使用)
```yaml
environment:
- ALLOW_UNAUTHENTICATED=true
- HIDE_HISTORY=true
- AUTO_DELETE_EVERY_N_HOURS=1
```
### 帶硬體加速
```yaml
environment:
- JWT_SECRET=your-secret-key
- FFMPEG_ARGS=-hwaccel cuda
- FFMPEG_OUTPUT_ARGS=-c:v h264_nvenc -preset fast
```

View file

@ -2,25 +2,28 @@
## 系統需求 ## 系統需求
- Docker 20.10+ | 需求 | 最低 | 建議 |
- Docker Compose v2+(推薦) |------|------|------|
- 至少 4GB RAM建議 8GB | Docker | 20.10+ | 24.0+ |
- 10GB 磁碟空間(用於 Docker image | RAM | 4 GB | 8 GB |
| 磁碟空間 | 10 GB | 20 GB |
| CPU | 2 核心 | 4 核心 |
## 安裝方式 ---
### 方法一Docker Run ## 最快方式:一行指令
```bash ```bash
docker run -d \ docker run -d -p 3000:3000 -v ./data:/app/data -e ACCOUNT_REGISTRATION=true convertx/convertx-cn:latest
--name convertx-cn \
-p 3000:3000 \
-v ./data:/app/data \
-e TZ=Asia/Taipei \
convertx/convertx-cn:latest
``` ```
### 方法二Docker Compose推薦 開啟瀏覽器訪問 `http://localhost:3000`,註冊帳號即可開始使用!
---
## 推薦方式Docker Compose
### 1. 建立配置檔
建立 `docker-compose.yml` 建立 `docker-compose.yml`
@ -37,32 +40,106 @@ services:
environment: environment:
- TZ=Asia/Taipei - TZ=Asia/Taipei
- JWT_SECRET=請更換為一個長且隨機的字串 - JWT_SECRET=請更換為一個長且隨機的字串
- ACCOUNT_REGISTRATION=false - ACCOUNT_REGISTRATION=true
- HTTP_ALLOWED=false - HTTP_ALLOWED=false
- AUTO_DELETE_EVERY_N_HOURS=24 - AUTO_DELETE_EVERY_N_HOURS=24
``` ```
啟動服務 ### 2. 啟動服務
```bash ```bash
docker compose up -d docker compose up -d
``` ```
## 首次設定 ### 3. 開始使用
1. 開啟瀏覽器訪問 `http://localhost:3000` 1. 開啟瀏覽器訪問 `http://localhost:3000`
2. 建立第一個帳號(此帳號即為管理員) 2. 點擊「Register」建立帳號
3. 登入後即可開始使用 3. 登入後即可開始轉換檔案!
---
## 首次設定
### 建立管理員帳號
首次訪問時ConvertX-CN 會顯示設定頁面,讓您建立第一個帳號。此帳號即為管理員。
### 註冊功能
- `ACCOUNT_REGISTRATION=true`:允許其他人註冊
- `ACCOUNT_REGISTRATION=false`:停用註冊(單人使用)
---
## 驗證安裝
### 檢查容器狀態
```bash
docker ps
# 應該看到 convertx-cn 容器正在運行
docker logs convertx-cn
# 應該看到 "🦊 Elysia is running at http://localhost:3000"
```
### 健康檢查
```bash
curl http://localhost:3000/healthcheck
# 應該返回 "OK"
```
---
## 更新版本 ## 更新版本
```bash ```bash
# Docker Compose
docker compose pull docker compose pull
docker compose up -d docker compose up -d
# 或 Docker Run
docker pull convertx/convertx-cn:latest
docker stop convertx-cn
docker rm convertx-cn
# 然後重新執行 docker run 指令
``` ```
---
## 常見問題
### 無法訪問頁面
1. 確認容器正在運行:`docker ps`
2. 檢查連接埠是否被占用:`netstat -an | grep 3000`
3. 查看錯誤日誌:`docker logs convertx-cn`
### 權限錯誤
```bash
# 確保 data 目錄有正確權限
chmod -R 777 ./data
```
### 記憶體不足
ConvertX-CN 內建完整依賴,建議至少 4GB RAM。可透過 Docker 限制記憶體使用:
```yaml
deploy:
resources:
limits:
memory: 4G
```
---
## 下一步 ## 下一步
- 查看 [環境變數設定](./configuration.md) - 📖 [Docker 配置](docker.md) - 進階 Docker 設定
- 瞭解 [支援的轉換器](./converters.md) - ⚙️ [環境變數](environment-variables.md) - 所有可用設定
- 閱讀 [多語言設定](./i18n.md) - 🔧 [進階用法](advanced-usage.md) - 硬體加速、反向代理
- 🌍 [多語言](i18n.md) - 語言設定與自訂

View file

@ -1,33 +1,158 @@
# 多語言支援i18n # 多語言支援i18n
ConvertX-CN 支援多種語言的使用者介面 ConvertX-CN 支援 **65 種語言**,是目前最完整的多語言檔案轉換服務
## 支援語言 ---
| 語言代碼 | 語言名稱 | ## 支援語言列表
| -------- | ---------------- |
| zh-TW | 繁體中文(預設) | ### 東亞語言5 種)
| zh-CN | 简体中文 |
| en | English | | 代碼 | 語言 | 原生名稱 |
| ja | 日本語 | |------|------|----------|
| ko | 한국어 | | `zh-TW` | 繁體中文(預設) | 繁體中文 |
| `zh-CN` | 簡體中文 | 简体中文 |
| `en` | 英文 | English |
| `ja` | 日文 | 日本語 |
| `ko` | 韓文 | 한국어 |
### 西歐語言10 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `de` | 德文 | Deutsch |
| `fr` | 法文 | Français |
| `es` | 西班牙文 | Español |
| `it` | 義大利文 | Italiano |
| `pt` | 葡萄牙文 | Português |
| `nl` | 荷蘭文 | Nederlands |
| `ca` | 加泰隆尼亞文 | Català |
| `eu` | 巴斯克文 | Euskara |
| `gl` | 加利西亞文 | Galego |
| `mt` | 馬爾他文 | Malti |
### 北歐語言5 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `sv` | 瑞典文 | Svenska |
| `da` | 丹麥文 | Dansk |
| `fi` | 芬蘭文 | Suomi |
| `no` | 挪威文 | Norsk |
| `is` | 冰島文 | Íslenska |
### 東歐語言12 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `ru` | 俄文 | Русский |
| `pl` | 波蘭文 | Polski |
| `uk` | 烏克蘭文 | Українська |
| `cs` | 捷克文 | Čeština |
| `hu` | 匈牙利文 | Magyar |
| `ro` | 羅馬尼亞文 | Română |
| `bg` | 保加利亞文 | Български |
| `hr` | 克羅埃西亞文 | Hrvatski |
| `sk` | 斯洛伐克文 | Slovenčina |
| `sl` | 斯洛維尼亞文 | Slovenščina |
| `sr` | 塞爾維亞文 | Српски |
| `mk` | 馬其頓文 | Македонски |
### 波羅的海語言3 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `lt` | 立陶宛文 | Lietuvių |
| `lv` | 拉脫維亞文 | Latviešu |
| `et` | 愛沙尼亞文 | Eesti |
### 其他歐洲語言4 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `el` | 希臘文 | Ελληνικά |
| `sq` | 阿爾巴尼亞文 | Shqip |
| `ga` | 愛爾蘭文 | Gaeilge |
| `cy` | 威爾斯文 | Cymraeg |
### 中東語言4 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `ar` | 阿拉伯文 | العربية |
| `he` | 希伯來文 | עברית |
| `fa` | 波斯文 | فارسی |
| `tr` | 土耳其文 | Türkçe |
### 南亞語言10 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `hi` | 印地文 | हिन्दी |
| `bn` | 孟加拉文 | বাংলা |
| `ta` | 泰米爾文 | தமிழ் |
| `te` | 泰盧固文 | తెలుగు |
| `mr` | 馬拉地文 | मराठी |
| `gu` | 古吉拉特文 | ગુજરાતી |
| `kn` | 卡納達文 | ಕನ್ನಡ |
| `ml` | 馬拉雅拉姆文 | മലയാളം |
| `ne` | 尼泊爾文 | नेपाली |
| `si` | 僧伽羅文 | සිංහල |
### 東南亞語言8 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `th` | 泰文 | ไทย |
| `vi` | 越南文 | Tiếng Việt |
| `id` | 印尼文 | Bahasa Indonesia |
| `ms` | 馬來文 | Bahasa Melayu |
| `fil` | 菲律賓文 | Filipino |
| `my` | 緬甸文 | မြန်မာ |
| `km` | 高棉文 | ខ្មែរ |
| `lo` | 寮文 | ລາວ |
### 非洲語言4 種)
| 代碼 | 語言 | 原生名稱 |
|------|------|----------|
| `af` | 南非語 | Afrikaans |
| `sw` | 斯瓦希里文 | Kiswahili |
| `am` | 阿姆哈拉文 | አማርኛ |
| `zu` | 祖魯文 | isiZulu |
---
## 語言切換 ## 語言切換
1. 在網站右上角的導航列可看到語言選擇器(圖示) ### 方法一:介面切換
1. 在網站右上角的導航列找到語言圖示(🌐)
2. 點擊後選擇偏好語言 2. 點擊後選擇偏好語言
3. 語言偏好會自動保存到 Cookie 中 3. 語言偏好會自動保存到 Cookie 中
4. 下次訪問時會記住您的偏好
### 方法二URL 參數
```
http://localhost:3000/?lang=ja
```
### 方法三:瀏覽器設定
ConvertX-CN 會自動偵測瀏覽器的語言設定。
---
## 自動偵測 ## 自動偵測
首次訪問時,系統會根據瀏覽器的語言設定自動選擇最適合的語言。 首次訪問時,系統會根據以下優先順序選擇語言:
優先順序:
1. Cookie 中儲存的語言偏好 1. Cookie 中儲存的語言偏好
2. 瀏覽器的 `Accept-Language` 標頭 2. URL 參數中的 `lang`
3. 預設語言(繁體中文) 3. 瀏覽器的 `Accept-Language` 標頭
4. 預設語言(繁體中文 `zh-TW`
---
## 新增語言 ## 新增語言
@ -35,55 +160,83 @@ ConvertX-CN 支援多種語言的使用者介面。
### 1. 建立翻譯檔案 ### 1. 建立翻譯檔案
`src/locales/` 目錄新增語言檔案,例如 `fr.json`(法文) `src/locales/` 目錄新增語言檔案,例如 `xx.json`
```json ```json
{ {
"common": { "common": {
"appName": "ConvertX-CN", "appName": "ConvertX-CN",
"poweredBy": "Propulsé par", "poweredBy": "Powered by",
"version": "v{version}",
"loading": "...",
... ...
}, },
"nav": { "nav": {
"history": "Historique", "history": "...",
"account": "...",
...
},
... ...
}
} }
``` ```
### 2. 註冊語言 ### 2. 在 index.ts 中註冊
`src/i18n/index.ts` 編輯 `src/i18n/index.ts`
```typescript ```typescript
// 導入新語言檔案 // 導入新語言檔案
import fr from "../locales/fr.json"; import xx from "../locales/xx.json";
// 在 SupportedLocale 類型中添加
export type SupportedLocale = "en" | "zh-TW" | ... | "xx";
// 在 supportedLocales 陣列中添加 // 在 supportedLocales 陣列中添加
export const supportedLocales: LocaleConfig[] = [ export const supportedLocales: LocaleConfig[] = [
// ... 現有語言 // ...
{ code: "fr", name: "French", nativeName: "Français" }, { code: "xx", name: "Language Name", nativeName: "原生名稱" },
]; ];
// 在 translations 物件中註冊 // 在 translations 物件中註冊
const translations: Record<SupportedLocale, TranslationData> = { const translations: Record<SupportedLocale, TranslationData> = {
// ... 現有翻譯 // ...
fr: fr as TranslationData, xx: xx as TranslationData,
}; };
``` ```
### 3. 更新類型定義 ### 3. 測試
`SupportedLocale` 類型中添加新語言代碼: ```bash
bun run dev
```typescript # 訪問 http://localhost:3000/?lang=xx
export type SupportedLocale = "zh-TW" | "zh-CN" | "en" | "ja" | "ko" | "fr";
``` ```
---
## 翻譯 Fallback
如果某個翻譯鍵缺失,系統會:
1. 嘗試使用英文(`en`)翻譯
2. 如果英文也缺失,顯示鍵名(如 `nav.history`
---
## 貢獻翻譯 ## 貢獻翻譯
歡迎提交 Pull Request 來新增或改進翻譯!請確保: 歡迎提交 Pull Request 來新增或改進翻譯!
- 翻譯完整(包含所有 key ### 翻譯指南
- 語法正確
- 遵循現有的翻譯風格 1. **完整翻譯**:確保所有鍵都有翻譯
2. **保留佔位符**`{version}``{count}` 等佔位符不要翻譯
3. **自然表達**:使用該語言的自然表達方式
4. **一致性**:同一個詞在不同地方使用相同翻譯
5. **測試**:在實際介面中測試翻譯效果
### 提交流程
1. Fork 此專案
2. 建立新語言檔案或修改現有翻譯
3. 測試確認無誤
4. 提交 Pull Request

181
docs/url-id-and-storage.md Normal file
View file

@ -0,0 +1,181 @@
# URL ID 與儲存機制
## 檔案儲存結構
ConvertX-CN 使用以下目錄結構儲存檔案:
```
/app/data/
├── convertx.db # SQLite 資料庫
├── uploads/ # 上傳的原始檔案
│ └── {user_id}/
│ └── {job_id}/
│ ├── file1.docx
│ └── file2.pdf
└── output/ # 轉換後的檔案
└── {user_id}/
└── {job_id}/
├── file1.pdf
└── file2.txt
```
---
## Job ID 說明
每次轉換任務都會產生一個唯一的 Job ID用於
- 追蹤轉換進度
- 組織檔案儲存
- 生成下載連結
### Job ID 格式
Job ID 是一個 UUID v4 格式的字串,例如:
```
550e8400-e29b-41d4-a716-446655440000
```
---
## URL 結構
### 結果頁面
```
/results/{job_id}
```
例如:
```
http://localhost:3000/results/550e8400-e29b-41d4-a716-446655440000
```
### 下載單一檔案
```
/download/{user_id}/{job_id}/{filename}
```
### 下載所有檔案Tar
```
/archive/{job_id}
```
---
## 資料持久化
### Docker Volume 映射
為了確保資料不會在容器重啟後遺失,請務必映射 `/app/data` 目錄:
```yaml
volumes:
- ./data:/app/data
```
或使用 Named Volume
```yaml
volumes:
- convertx-data:/app/data
volumes:
convertx-data:
```
---
## 自動清理
ConvertX-CN 會根據 `AUTO_DELETE_EVERY_N_HOURS` 設定自動清理過期檔案。
### 清理邏輯
1. 系統每 N 小時執行一次清理
2. 刪除建立時間超過 N 小時的 Job
3. 同時刪除對應的上傳檔案和輸出檔案
4. 資料庫記錄也會被清除
### 設定範例
```yaml
# 每 24 小時清理一次
- AUTO_DELETE_EVERY_N_HOURS=24
# 每 1 小時清理一次(公開服務建議)
- AUTO_DELETE_EVERY_N_HOURS=1
# 停用自動清理
- AUTO_DELETE_EVERY_N_HOURS=0
```
---
## 資料庫
ConvertX-CN 使用 SQLite 作為資料庫,儲存於 `/app/data/convertx.db`
### 資料表結構
#### users
| 欄位 | 類型 | 說明 |
|------|------|------|
| id | INTEGER | 使用者 ID |
| email | TEXT | 電子郵件 |
| password | TEXT | 密碼雜湊 |
#### jobs
| 欄位 | 類型 | 說明 |
|------|------|------|
| id | TEXT | Job UUID |
| user_id | INTEGER | 使用者 ID |
| num_files | INTEGER | 檔案數量 |
| date_created | TEXT | 建立時間 |
#### file_names
| 欄位 | 類型 | 說明 |
|------|------|------|
| id | INTEGER | 檔案 ID |
| job_id | TEXT | Job UUID |
| input_file_name | TEXT | 原始檔名 |
| output_file_name | TEXT | 輸出檔名 |
| status | TEXT | 轉換狀態 |
---
## 備份與還原
### 備份
```bash
# 備份整個 data 目錄
tar -czvf convertx-backup-$(date +%Y%m%d).tar.gz ./data
# 僅備份資料庫
cp ./data/convertx.db ./backup-convertx-$(date +%Y%m%d).db
```
### 還原
```bash
# 還原整個 data 目錄
tar -xzvf convertx-backup-20240101.tar.gz
# 還原資料庫
cp ./backup-convertx-20240101.db ./data/convertx.db
```
---
## 注意事項
1. **權限問題**:確保 Docker 容器有權限寫入 data 目錄
2. **磁碟空間**:大量轉換可能佔用大量磁碟空間,建議設定自動清理
3. **資料安全**:敏感文件轉換後建議手動刪除或縮短保留時間

View file

@ -1,10 +1,90 @@
// Core languages
import en from "../locales/en.json"; import en from "../locales/en.json";
import zhTW from "../locales/zh-TW.json"; import zhTW from "../locales/zh-TW.json";
import zhCN from "../locales/zh-CN.json"; import zhCN from "../locales/zh-CN.json";
import ja from "../locales/ja.json"; import ja from "../locales/ja.json";
import ko from "../locales/ko.json"; import ko from "../locales/ko.json";
export type SupportedLocale = "en" | "zh-TW" | "zh-CN" | "ja" | "ko"; // European languages
import de from "../locales/de.json";
import fr from "../locales/fr.json";
import es from "../locales/es.json";
import it from "../locales/it.json";
import pt from "../locales/pt.json";
import ru from "../locales/ru.json";
import nl from "../locales/nl.json";
import pl from "../locales/pl.json";
import uk from "../locales/uk.json";
import cs from "../locales/cs.json";
import sv from "../locales/sv.json";
import da from "../locales/da.json";
import fi from "../locales/fi.json";
import no from "../locales/no.json";
import el from "../locales/el.json";
import hu from "../locales/hu.json";
import ro from "../locales/ro.json";
import bg from "../locales/bg.json";
import hr from "../locales/hr.json";
import sk from "../locales/sk.json";
import sl from "../locales/sl.json";
import lt from "../locales/lt.json";
import lv from "../locales/lv.json";
import et from "../locales/et.json";
import sr from "../locales/sr.json";
import ca from "../locales/ca.json";
import eu from "../locales/eu.json";
import gl from "../locales/gl.json";
import is from "../locales/is.json";
import ga from "../locales/ga.json";
import cy from "../locales/cy.json";
import mt from "../locales/mt.json";
import mk from "../locales/mk.json";
import sq from "../locales/sq.json";
// Middle East & Central Asian languages
import ar from "../locales/ar.json";
import he from "../locales/he.json";
import fa from "../locales/fa.json";
import tr from "../locales/tr.json";
// South Asian languages
import hi from "../locales/hi.json";
import bn from "../locales/bn.json";
import ta from "../locales/ta.json";
import te from "../locales/te.json";
import mr from "../locales/mr.json";
import gu from "../locales/gu.json";
import kn from "../locales/kn.json";
import ml from "../locales/ml.json";
import ne from "../locales/ne.json";
import si from "../locales/si.json";
// Southeast Asian languages
import th from "../locales/th.json";
import vi from "../locales/vi.json";
import id from "../locales/id.json";
import ms from "../locales/ms.json";
import fil from "../locales/fil.json";
import my from "../locales/my.json";
import km from "../locales/km.json";
import lo from "../locales/lo.json";
// African languages
import af from "../locales/af.json";
import sw from "../locales/sw.json";
import am from "../locales/am.json";
import zu from "../locales/zu.json";
export type SupportedLocale =
| "en" | "zh-TW" | "zh-CN" | "ja" | "ko"
| "de" | "fr" | "es" | "it" | "pt" | "ru" | "nl" | "pl" | "uk"
| "cs" | "sv" | "da" | "fi" | "no" | "el" | "hu" | "ro" | "bg"
| "hr" | "sk" | "sl" | "lt" | "lv" | "et" | "sr" | "ca" | "eu"
| "gl" | "is" | "ga" | "cy" | "mt" | "mk" | "sq"
| "ar" | "he" | "fa" | "tr"
| "hi" | "bn" | "ta" | "te" | "mr" | "gu" | "kn" | "ml" | "ne" | "si"
| "th" | "vi" | "id" | "ms" | "fil" | "my" | "km" | "lo"
| "af" | "sw" | "am" | "zu";
export interface LocaleConfig { export interface LocaleConfig {
code: SupportedLocale; code: SupportedLocale;
@ -13,11 +93,82 @@ export interface LocaleConfig {
} }
export const supportedLocales: LocaleConfig[] = [ export const supportedLocales: LocaleConfig[] = [
// Primary languages
{ code: "zh-TW", name: "Chinese (Traditional)", nativeName: "繁體中文" }, { code: "zh-TW", name: "Chinese (Traditional)", nativeName: "繁體中文" },
{ code: "zh-CN", name: "Chinese (Simplified)", nativeName: "简体中文" }, { code: "zh-CN", name: "Chinese (Simplified)", nativeName: "简体中文" },
{ code: "en", name: "English", nativeName: "English" }, { code: "en", name: "English", nativeName: "English" },
{ code: "ja", name: "Japanese", nativeName: "日本語" }, { code: "ja", name: "Japanese", nativeName: "日本語" },
{ code: "ko", name: "Korean", nativeName: "한국어" }, { code: "ko", name: "Korean", nativeName: "한국어" },
// European languages
{ code: "de", name: "German", nativeName: "Deutsch" },
{ code: "fr", name: "French", nativeName: "Français" },
{ code: "es", name: "Spanish", nativeName: "Español" },
{ code: "it", name: "Italian", nativeName: "Italiano" },
{ code: "pt", name: "Portuguese", nativeName: "Português" },
{ code: "ru", name: "Russian", nativeName: "Русский" },
{ code: "nl", name: "Dutch", nativeName: "Nederlands" },
{ code: "pl", name: "Polish", nativeName: "Polski" },
{ code: "uk", name: "Ukrainian", nativeName: "Українська" },
{ code: "cs", name: "Czech", nativeName: "Čeština" },
{ code: "sv", name: "Swedish", nativeName: "Svenska" },
{ code: "da", name: "Danish", nativeName: "Dansk" },
{ code: "fi", name: "Finnish", nativeName: "Suomi" },
{ code: "no", name: "Norwegian", nativeName: "Norsk" },
{ code: "el", name: "Greek", nativeName: "Ελληνικά" },
{ code: "hu", name: "Hungarian", nativeName: "Magyar" },
{ code: "ro", name: "Romanian", nativeName: "Română" },
{ code: "bg", name: "Bulgarian", nativeName: "Български" },
{ code: "hr", name: "Croatian", nativeName: "Hrvatski" },
{ code: "sk", name: "Slovak", nativeName: "Slovenčina" },
{ code: "sl", name: "Slovenian", nativeName: "Slovenščina" },
{ code: "lt", name: "Lithuanian", nativeName: "Lietuvių" },
{ code: "lv", name: "Latvian", nativeName: "Latviešu" },
{ code: "et", name: "Estonian", nativeName: "Eesti" },
{ code: "sr", name: "Serbian", nativeName: "Српски" },
{ code: "ca", name: "Catalan", nativeName: "Català" },
{ code: "eu", name: "Basque", nativeName: "Euskara" },
{ code: "gl", name: "Galician", nativeName: "Galego" },
{ code: "is", name: "Icelandic", nativeName: "Íslenska" },
{ code: "ga", name: "Irish", nativeName: "Gaeilge" },
{ code: "cy", name: "Welsh", nativeName: "Cymraeg" },
{ code: "mt", name: "Maltese", nativeName: "Malti" },
{ code: "mk", name: "Macedonian", nativeName: "Македонски" },
{ code: "sq", name: "Albanian", nativeName: "Shqip" },
// Middle East & Central Asian languages
{ code: "ar", name: "Arabic", nativeName: "العربية" },
{ code: "he", name: "Hebrew", nativeName: "עברית" },
{ code: "fa", name: "Persian", nativeName: "فارسی" },
{ code: "tr", name: "Turkish", nativeName: "Türkçe" },
// South Asian languages
{ code: "hi", name: "Hindi", nativeName: "हिन्दी" },
{ code: "bn", name: "Bengali", nativeName: "বাংলা" },
{ code: "ta", name: "Tamil", nativeName: "தமிழ்" },
{ code: "te", name: "Telugu", nativeName: "తెలుగు" },
{ code: "mr", name: "Marathi", nativeName: "मराठी" },
{ code: "gu", name: "Gujarati", nativeName: "ગુજરાતી" },
{ code: "kn", name: "Kannada", nativeName: "ಕನ್ನಡ" },
{ code: "ml", name: "Malayalam", nativeName: "മലയാളം" },
{ code: "ne", name: "Nepali", nativeName: "नेपाली" },
{ code: "si", name: "Sinhala", nativeName: "සිංහල" },
// Southeast Asian languages
{ code: "th", name: "Thai", nativeName: "ไทย" },
{ code: "vi", name: "Vietnamese", nativeName: "Tiếng Việt" },
{ code: "id", name: "Indonesian", nativeName: "Bahasa Indonesia" },
{ code: "ms", name: "Malay", nativeName: "Bahasa Melayu" },
{ code: "fil", name: "Filipino", nativeName: "Filipino" },
{ code: "my", name: "Burmese", nativeName: "မြန်မာ" },
{ code: "km", name: "Khmer", nativeName: "ខ្មែរ" },
{ code: "lo", name: "Lao", nativeName: "ລາວ" },
// African languages
{ code: "af", name: "Afrikaans", nativeName: "Afrikaans" },
{ code: "sw", name: "Swahili", nativeName: "Kiswahili" },
{ code: "am", name: "Amharic", nativeName: "አማርኛ" },
{ code: "zu", name: "Zulu", nativeName: "isiZulu" },
]; ];
// Default to zh-TW, fallback to en // Default to zh-TW, fallback to en
@ -30,11 +181,82 @@ export type TranslationKey = keyof TranslationData;
export type NestedTranslationKey<T extends TranslationKey> = keyof TranslationData[T]; export type NestedTranslationKey<T extends TranslationKey> = keyof TranslationData[T];
const translations: Record<SupportedLocale, TranslationData> = { const translations: Record<SupportedLocale, TranslationData> = {
// Core languages
en, en,
"zh-TW": zhTW as TranslationData, "zh-TW": zhTW as TranslationData,
"zh-CN": zhCN as TranslationData, "zh-CN": zhCN as TranslationData,
ja: ja as TranslationData, ja: ja as TranslationData,
ko: ko as TranslationData, ko: ko as TranslationData,
// European languages
de: de as TranslationData,
fr: fr as TranslationData,
es: es as TranslationData,
it: it as TranslationData,
pt: pt as TranslationData,
ru: ru as TranslationData,
nl: nl as TranslationData,
pl: pl as TranslationData,
uk: uk as TranslationData,
cs: cs as TranslationData,
sv: sv as TranslationData,
da: da as TranslationData,
fi: fi as TranslationData,
no: no as TranslationData,
el: el as TranslationData,
hu: hu as TranslationData,
ro: ro as TranslationData,
bg: bg as TranslationData,
hr: hr as TranslationData,
sk: sk as TranslationData,
sl: sl as TranslationData,
lt: lt as TranslationData,
lv: lv as TranslationData,
et: et as TranslationData,
sr: sr as TranslationData,
ca: ca as TranslationData,
eu: eu as TranslationData,
gl: gl as TranslationData,
is: is as TranslationData,
ga: ga as TranslationData,
cy: cy as TranslationData,
mt: mt as TranslationData,
mk: mk as TranslationData,
sq: sq as TranslationData,
// Middle East & Central Asian languages
ar: ar as TranslationData,
he: he as TranslationData,
fa: fa as TranslationData,
tr: tr as TranslationData,
// South Asian languages
hi: hi as TranslationData,
bn: bn as TranslationData,
ta: ta as TranslationData,
te: te as TranslationData,
mr: mr as TranslationData,
gu: gu as TranslationData,
kn: kn as TranslationData,
ml: ml as TranslationData,
ne: ne as TranslationData,
si: si as TranslationData,
// Southeast Asian languages
th: th as TranslationData,
vi: vi as TranslationData,
id: id as TranslationData,
ms: ms as TranslationData,
fil: fil as TranslationData,
my: my as TranslationData,
km: km as TranslationData,
lo: lo as TranslationData,
// African languages
af: af as TranslationData,
sw: sw as TranslationData,
am: am as TranslationData,
zu: zu as TranslationData,
}; };
/** /**
@ -51,16 +273,14 @@ export function t<T extends TranslationKey>(
key: NestedTranslationKey<T>, key: NestedTranslationKey<T>,
params?: Record<string, string | number>, params?: Record<string, string | number>,
): string { ): string {
const translation = translations[locale]?.[category]?.[key as keyof TranslationData[T]]; const localeData = translations[locale];
const translation = localeData?.[category]?.[key as keyof TranslationData[T]];
if (typeof translation !== "string") { if (typeof translation !== "string") {
// Fallback to English // Fallback to English
const fallback = const fallback =
translations[defaultLocale]?.[category]?.[key as keyof TranslationData[T]]; translations[fallbackLocale]?.[category]?.[key as keyof TranslationData[T]];
if (typeof fallback !== "string") { if (typeof fallback !== "string") {
// Log missing translation in development
// eslint-disable-next-line no-console
console.warn(`Missing translation: ${category}.${String(key)}`);
return `${category}.${String(key)}`; return `${category}.${String(key)}`;
} }
return interpolate(fallback, params); return interpolate(fallback, params);
@ -105,9 +325,12 @@ export function detectLocale(acceptLanguage?: string): SupportedLocale {
// Try to find a match // Try to find a match
for (const lang of languages) { for (const lang of languages) {
// Direct match // Direct match (case-insensitive)
if (isValidLocale(lang.code)) { const directMatch = supportedLocales.find(
return lang.code as SupportedLocale; (l) => l.code.toLowerCase() === lang.code
);
if (directMatch) {
return directMatch.code;
} }
// Check for language variants (e.g., zh-tw, zh-hant) // Check for language variants (e.g., zh-tw, zh-hant)
@ -120,11 +343,16 @@ export function detectLocale(acceptLanguage?: string): SupportedLocale {
} }
} }
// Check base language // Check base language (e.g., "en-US" -> "en")
const baseCode = lang.code.split("-")[0]; const baseCode = lang.code.split("-")[0];
if (baseCode === "ja") return "ja"; if (baseCode) {
if (baseCode === "ko") return "ko"; const baseMatch = supportedLocales.find(
if (baseCode === "en") return "en"; (l) => l.code.toLowerCase() === baseCode || l.code.toLowerCase().startsWith(baseCode + "-")
);
if (baseMatch) {
return baseMatch.code;
}
}
} }
return defaultLocale; return defaultLocale;
@ -173,7 +401,7 @@ export type Translator = ReturnType<typeof createTranslator>;
// Export all translations for client-side use // Export all translations for client-side use
export function getTranslations(locale: SupportedLocale): TranslationData { export function getTranslations(locale: SupportedLocale): TranslationData {
return translations[locale] ?? translations[defaultLocale]; return translations[locale] ?? translations[fallbackLocale];
} }
// Export locale codes as array // Export locale codes as array

106
src/locales/af.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Aangedryf deur",
"version": "v{version}",
"loading": "Laai...",
"error": "Fout",
"success": "Sukses",
"confirm": "Bevestig",
"cancel": "Kanselleer",
"close": "Sluit",
"save": "Stoor",
"delete": "Vee uit",
"remove": "Verwyder",
"download": "Laai af",
"upload": "Laai op",
"submit": "Dien in",
"back": "Terug",
"next": "Volgende",
"yes": "Ja",
"no": "Nee"
},
"nav": {
"history": "Geskiedenis",
"account": "Rekening",
"logout": "Teken uit",
"login": "Teken in",
"register": "Registreer",
"language": "Taal"
},
"convert": {
"title": "Omskakel",
"titleWithType": "Omskakel .{fileType}",
"chooseFile": "Kies 'n lêer",
"orDragHere": "of sleep dit hierheen",
"searchConversions": "Soek vir omskakelings",
"convertTo": "Omskakel na",
"convertButton": "Omskakel",
"uploading": "Laai op...",
"processing": "Verwerk..."
},
"results": {
"title": "Resultate",
"convertedFileName": "Omgeskakelde lêernaam",
"status": "Status",
"actions": "Aksies",
"downloadAll": "Alles",
"downloadTar": "Tar",
"deleteJob": "Vee uit",
"noFiles": "Nog geen lêers omgeskakel nie.",
"statusPending": "Hangend",
"statusCompleted": "Voltooi",
"statusFailed": "Misluk"
},
"history": {
"title": "Resultate",
"time": "Tyd",
"files": "Lêers",
"filesDone": "Lêers klaar",
"status": "Status",
"actions": "Aksies",
"expandDetails": "Brei besonderhede uit",
"detailedFileInfo": "Gedetailleerde lêerinligting:",
"deleteSelected": "Vee gekose uit",
"selectAll": "Kies alles",
"confirmDelete": "Is jy seker jy wil {count} taak/take uitvee? Hierdie aksie kan nie ongedaan gemaak word nie.",
"deleteSuccess": "{deleted} taak/take suksesvol uitgevee.",
"deleteFailed": "Kon nie {failed} taak/take uitvee nie.",
"deleteError": "'n Fout het voorgekom tydens die uitvee van take. Probeer asseblief weer."
},
"auth": {
"email": "E-pos",
"password": "Wagwoord",
"currentPassword": "Huidige wagwoord",
"newPassword": "Wagwoord (laat leeg vir onveranderd)",
"loginButton": "Teken in",
"registerButton": "Registreer",
"updateButton": "Werk op",
"createAccount": "Skep rekening",
"invalidCredentials": "Ongeldige geloofsbriewe.",
"emailInUse": "E-pos word reeds gebruik.",
"unauthorized": "Ongemagtig",
"cookiesRequired": "Koekies moet geaktiveer wees om hierdie toepassing te gebruik.",
"noCookies": "Geen verifikasie-koekie nie, miskien blokkeer jou blaaier koekies."
},
"setup": {
"welcome": "Welkom by ConvertX-CN!",
"createYourAccount": "Skep jou rekening",
"reportIssues": "Rapporteer enige probleme op",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Taak nie gevind nie.",
"fileNotFound": "Lêer nie gevind nie.",
"uploadFailed": "Oplaai het misluk.",
"conversionFailed": "Omskakeling het misluk.",
"serverError": "Bediener fout."
},
"upload": {
"success": "Lêers suksesvol opgelaai.",
"dragDrop": "Laat lêers hier val"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/am.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "የሚሰራው በ",
"version": "v{version}",
"loading": "በመጫን ላይ...",
"error": "ስህተት",
"success": "ተሳክቷል",
"confirm": "አረጋግጥ",
"cancel": "ሰርዝ",
"close": "ዝጋ",
"save": "አስቀምጥ",
"delete": "ሰርዝ",
"remove": "አስወግድ",
"download": "አውርድ",
"upload": "ስቀል",
"submit": "አስገባ",
"back": "ተመለስ",
"next": "ቀጣይ",
"yes": "አዎ",
"no": "አይ"
},
"nav": {
"history": "ታሪክ",
"account": "መለያ",
"logout": "ውጣ",
"login": "ግባ",
"register": "ተመዝገብ",
"language": "ቋንቋ"
},
"convert": {
"title": "ቀይር",
"titleWithType": ".{fileType} ቀይር",
"chooseFile": "ፋይል ይምረጡ",
"orDragHere": "ወይም እዚህ ይጎትቱ",
"searchConversions": "ቅየራዎችን ይፈልጉ",
"convertTo": "ወደ ቀይር",
"convertButton": "ቀይር",
"uploading": "በመስቀል ላይ...",
"processing": "በማስኬድ ላይ..."
},
"results": {
"title": "ውጤቶች",
"convertedFileName": "የተቀየረ ፋይል ስም",
"status": "ሁኔታ",
"actions": "ድርጊቶች",
"downloadAll": "ሁሉም",
"downloadTar": "Tar",
"deleteJob": "ሰርዝ",
"noFiles": "እስካሁን የተቀየሩ ፋይሎች የሉም።",
"statusPending": "በመጠባበቅ ላይ",
"statusCompleted": "ተጠናቋል",
"statusFailed": "አልተሳካም"
},
"history": {
"title": "ውጤቶች",
"time": "ጊዜ",
"files": "ፋይሎች",
"filesDone": "የተጠናቀቁ ፋይሎች",
"status": "ሁኔታ",
"actions": "ድርጊቶች",
"expandDetails": "ዝርዝሮችን አስፋ",
"detailedFileInfo": "ዝርዝር የፋይል መረጃ:",
"deleteSelected": "የተመረጡትን ሰርዝ",
"selectAll": "ሁሉንም ምረጥ",
"confirmDelete": "{count} ስራ(ዎች)ን መሰረዝ እንደሚፈልጉ እርግጠኛ ነዎት? ይህ ድርጊት ሊቀለበስ አይችልም።",
"deleteSuccess": "{deleted} ስራ(ዎች) በተሳካ ሁኔታ ተሰርዘዋል።",
"deleteFailed": "{failed} ስራ(ዎች)ን መሰረዝ አልተሳካም።",
"deleteError": "ስራዎችን በመሰረዝ ጊዜ ስህተት ተከስቷል። እባክዎ እንደገና ይሞክሩ።"
},
"auth": {
"email": "ኢሜይል",
"password": "የይለፍ ቃል",
"currentPassword": "የአሁኑ የይለፍ ቃል",
"newPassword": "የይለፍ ቃል (ሳይቀየር ለመተው ባዶ ይተው)",
"loginButton": "ግባ",
"registerButton": "ተመዝገብ",
"updateButton": "አዘምን",
"createAccount": "መለያ ፍጠር",
"invalidCredentials": "ልክ ያልሆነ መረጃ።",
"emailInUse": "ኢሜይሉ አስቀድሞ ጥቅም ላይ ውሏል።",
"unauthorized": "ያልተፈቀደ",
"cookiesRequired": "ይህን መተግበሪያ ለመጠቀም ኩኪዎች መንቃት አለባቸው።",
"noCookies": "የማረጋገጫ ኩኪ የለም፣ ምናልባት ብራውዘርዎ ኩኪዎችን እያገደ ሊሆን ይችላል።"
},
"setup": {
"welcome": "ወደ ConvertX-CN እንኳን ደህና መጡ!",
"createYourAccount": "መለያዎን ይፍጠሩ",
"reportIssues": "ማንኛውንም ችግር ያሳውቁ በ",
"github": "GitHub"
},
"errors": {
"jobNotFound": "ስራ አልተገኘም።",
"fileNotFound": "ፋይል አልተገኘም።",
"uploadFailed": "መስቀል አልተሳካም።",
"conversionFailed": "መቀየር አልተሳካም።",
"serverError": "የሰርቨር ስህተት።"
},
"upload": {
"success": "ፋይሎች በተሳካ ሁኔታ ተሰቅለዋል።",
"dragDrop": "ፋይሎችን እዚህ ይጣሉ"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/ar.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "مدعوم من",
"version": "v{version}",
"loading": "جاري التحميل...",
"error": "خطأ",
"success": "نجاح",
"confirm": "تأكيد",
"cancel": "إلغاء",
"close": "إغلاق",
"save": "حفظ",
"delete": "حذف",
"remove": "إزالة",
"download": "تحميل",
"upload": "رفع",
"submit": "إرسال",
"back": "رجوع",
"next": "التالي",
"yes": "نعم",
"no": "لا"
},
"nav": {
"history": "السجل",
"account": "الحساب",
"logout": "تسجيل الخروج",
"login": "تسجيل الدخول",
"register": "التسجيل",
"language": "اللغة"
},
"convert": {
"title": "تحويل",
"titleWithType": "تحويل .{fileType}",
"chooseFile": "اختر ملفاً",
"orDragHere": "أو اسحبه هنا",
"searchConversions": "البحث عن التحويلات",
"convertTo": "تحويل إلى",
"convertButton": "تحويل",
"uploading": "جاري الرفع...",
"processing": "جاري المعالجة..."
},
"results": {
"title": "النتائج",
"convertedFileName": "اسم الملف المحوّل",
"status": "الحالة",
"actions": "الإجراءات",
"downloadAll": "الكل",
"downloadTar": "Tar",
"deleteJob": "حذف",
"noFiles": "لم يتم تحويل أي ملفات بعد.",
"statusPending": "قيد الانتظار",
"statusCompleted": "مكتمل",
"statusFailed": "فشل"
},
"history": {
"title": "النتائج",
"time": "الوقت",
"files": "الملفات",
"filesDone": "الملفات المنجزة",
"status": "الحالة",
"actions": "الإجراءات",
"expandDetails": "توسيع التفاصيل",
"detailedFileInfo": "معلومات تفصيلية عن الملف:",
"deleteSelected": "حذف المحدد",
"selectAll": "تحديد الكل",
"confirmDelete": "هل أنت متأكد من حذف {count} مهمة؟ لا يمكن التراجع عن هذا الإجراء.",
"deleteSuccess": "تم حذف {deleted} مهمة بنجاح.",
"deleteFailed": "فشل حذف {failed} مهمة.",
"deleteError": "حدث خطأ أثناء حذف المهام. يرجى المحاولة مرة أخرى."
},
"auth": {
"email": "البريد الإلكتروني",
"password": "كلمة المرور",
"currentPassword": "كلمة المرور الحالية",
"newPassword": "كلمة المرور (اتركها فارغة لعدم التغيير)",
"loginButton": "تسجيل الدخول",
"registerButton": "التسجيل",
"updateButton": "تحديث",
"createAccount": "إنشاء حساب",
"invalidCredentials": "بيانات الاعتماد غير صالحة.",
"emailInUse": "البريد الإلكتروني مستخدم بالفعل.",
"unauthorized": "غير مصرح",
"cookiesRequired": "يجب تفعيل ملفات تعريف الارتباط لاستخدام هذا التطبيق.",
"noCookies": "لا يوجد ملف تعريف ارتباط للمصادقة، ربما يقوم متصفحك بحظر ملفات تعريف الارتباط."
},
"setup": {
"welcome": "مرحباً بك في ConvertX-CN!",
"createYourAccount": "أنشئ حسابك",
"reportIssues": "الإبلاغ عن المشاكل على",
"github": "GitHub"
},
"errors": {
"jobNotFound": "المهمة غير موجودة.",
"fileNotFound": "الملف غير موجود.",
"uploadFailed": "فشل الرفع.",
"conversionFailed": "فشل التحويل.",
"serverError": "خطأ في الخادم."
},
"upload": {
"success": "تم رفع الملفات بنجاح.",
"dragDrop": "أفلت الملفات هنا"
},
"file": {
"size": "{size} كيلوبايت"
}
}

106
src/locales/bg.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Задвижвано от",
"version": "v{version}",
"loading": "Зареждане...",
"error": "Грешка",
"success": "Успех",
"confirm": "Потвърди",
"cancel": "Отказ",
"close": "Затвори",
"save": "Запази",
"delete": "Изтрий",
"remove": "Премахни",
"download": "Изтегли",
"upload": "Качи",
"submit": "Изпрати",
"back": "Назад",
"next": "Напред",
"yes": "Да",
"no": "Не"
},
"nav": {
"history": "История",
"account": "Акаунт",
"logout": "Изход",
"login": "Вход",
"register": "Регистрация",
"language": "Език"
},
"convert": {
"title": "Конвертиране",
"titleWithType": "Конвертиране на .{fileType}",
"chooseFile": "Изберете файл",
"orDragHere": "или го плъзнете тук",
"searchConversions": "Търсене на конверсии",
"convertTo": "Конвертирай в",
"convertButton": "Конвертирай",
"uploading": "Качване...",
"processing": "Обработка..."
},
"results": {
"title": "Резултати",
"convertedFileName": "Име на конвертирания файл",
"status": "Статус",
"actions": "Действия",
"downloadAll": "Всички",
"downloadTar": "Tar",
"deleteJob": "Изтрий",
"noFiles": "Все още няма конвертирани файлове.",
"statusPending": "Изчакване",
"statusCompleted": "Завършено",
"statusFailed": "Неуспешно"
},
"history": {
"title": "Резултати",
"time": "Време",
"files": "Файлове",
"filesDone": "Готови файлове",
"status": "Статус",
"actions": "Действия",
"expandDetails": "Разгъни детайлите",
"detailedFileInfo": "Подробна информация за файла:",
"deleteSelected": "Изтрий избраните",
"selectAll": "Избери всички",
"confirmDelete": "Сигурни ли сте, че искате да изтриете {count} задача(и)? Това действие не може да бъде отменено.",
"deleteSuccess": "Успешно изтрити {deleted} задача(и).",
"deleteFailed": "Неуспешно изтриване на {failed} задача(и).",
"deleteError": "Възникна грешка при изтриването на задачи. Моля, опитайте отново."
},
"auth": {
"email": "Имейл",
"password": "Парола",
"currentPassword": "Текуща парола",
"newPassword": "Парола (оставете празно за непроменена)",
"loginButton": "Вход",
"registerButton": "Регистрация",
"updateButton": "Актуализиране",
"createAccount": "Създай акаунт",
"invalidCredentials": "Невалидни идентификационни данни.",
"emailInUse": "Имейлът вече се използва.",
"unauthorized": "Неоторизиран",
"cookiesRequired": "Бисквитките трябва да са активирани, за да използвате това приложение.",
"noCookies": "Няма бисквитка за удостоверяване, може би браузърът ви блокира бисквитките."
},
"setup": {
"welcome": "Добре дошли в ConvertX-CN!",
"createYourAccount": "Създайте своя акаунт",
"reportIssues": "Докладвайте проблеми на",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Задачата не е намерена.",
"fileNotFound": "Файлът не е намерен.",
"uploadFailed": "Качването е неуспешно.",
"conversionFailed": "Конвертирането е неуспешно.",
"serverError": "Сървърна грешка."
},
"upload": {
"success": "Файловете са качени успешно.",
"dragDrop": "Пуснете файловете тук"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/bn.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "দ্বারা চালিত",
"version": "v{version}",
"loading": "লোড হচ্ছে...",
"error": "ত্রুটি",
"success": "সফল",
"confirm": "নিশ্চিত করুন",
"cancel": "বাতিল",
"close": "বন্ধ করুন",
"save": "সংরক্ষণ করুন",
"delete": "মুছুন",
"remove": "সরান",
"download": "ডাউনলোড",
"upload": "আপলোড",
"submit": "জমা দিন",
"back": "পেছনে",
"next": "পরবর্তী",
"yes": "হ্যাঁ",
"no": "না"
},
"nav": {
"history": "ইতিহাস",
"account": "অ্যাকাউন্ট",
"logout": "লগআউট",
"login": "লগইন",
"register": "নিবন্ধন",
"language": "ভাষা"
},
"convert": {
"title": "রূপান্তর করুন",
"titleWithType": ".{fileType} রূপান্তর করুন",
"chooseFile": "একটি ফাইল নির্বাচন করুন",
"orDragHere": "অথবা এখানে টেনে আনুন",
"searchConversions": "রূপান্তর খুঁজুন",
"convertTo": "এতে রূপান্তর করুন",
"convertButton": "রূপান্তর করুন",
"uploading": "আপলোড হচ্ছে...",
"processing": "প্রক্রিয়াকরণ হচ্ছে..."
},
"results": {
"title": "ফলাফল",
"convertedFileName": "রূপান্তরিত ফাইলের নাম",
"status": "স্থিতি",
"actions": "ক্রিয়াকলাপ",
"downloadAll": "সব",
"downloadTar": "Tar",
"deleteJob": "মুছুন",
"noFiles": "এখনও কোনো ফাইল রূপান্তরিত হয়নি।",
"statusPending": "অপেক্ষমাণ",
"statusCompleted": "সম্পন্ন",
"statusFailed": "ব্যর্থ"
},
"history": {
"title": "ফলাফল",
"time": "সময়",
"files": "ফাইল",
"filesDone": "সম্পন্ন ফাইল",
"status": "স্থিতি",
"actions": "ক্রিয়াকলাপ",
"expandDetails": "বিস্তারিত দেখুন",
"detailedFileInfo": "বিস্তারিত ফাইল তথ্য:",
"deleteSelected": "নির্বাচিত মুছুন",
"selectAll": "সব নির্বাচন করুন",
"confirmDelete": "আপনি কি নিশ্চিত যে আপনি {count}টি কাজ মুছতে চান? এই ক্রিয়া পূর্বাবস্থায় ফেরানো যাবে না।",
"deleteSuccess": "সফলভাবে {deleted}টি কাজ মুছে ফেলা হয়েছে।",
"deleteFailed": "{failed}টি কাজ মুছতে ব্যর্থ।",
"deleteError": "কাজ মুছতে গিয়ে একটি ত্রুটি ঘটেছে। অনুগ্রহ করে আবার চেষ্টা করুন।"
},
"auth": {
"email": "ইমেইল",
"password": "পাসওয়ার্ড",
"currentPassword": "বর্তমান পাসওয়ার্ড",
"newPassword": "পাসওয়ার্ড (অপরিবর্তিত রাখতে ফাঁকা রাখুন)",
"loginButton": "লগইন",
"registerButton": "নিবন্ধন",
"updateButton": "আপডেট",
"createAccount": "অ্যাকাউন্ট তৈরি করুন",
"invalidCredentials": "অবৈধ শংসাপত্র।",
"emailInUse": "ইমেইল ইতিমধ্যে ব্যবহৃত।",
"unauthorized": "অননুমোদিত",
"cookiesRequired": "এই অ্যাপ ব্যবহার করতে কুকি সক্ষম করা উচিত।",
"noCookies": "কোনো প্রমাণীকরণ কুকি নেই, সম্ভবত আপনার ব্রাউজার কুকি ব্লক করছে।"
},
"setup": {
"welcome": "ConvertX-CN-এ স্বাগতম!",
"createYourAccount": "আপনার অ্যাকাউন্ট তৈরি করুন",
"reportIssues": "সমস্যা রিপোর্ট করুন",
"github": "GitHub"
},
"errors": {
"jobNotFound": "কাজ পাওয়া যায়নি।",
"fileNotFound": "ফাইল পাওয়া যায়নি।",
"uploadFailed": "আপলোড ব্যর্থ।",
"conversionFailed": "রূপান্তর ব্যর্থ।",
"serverError": "সার্ভার ত্রুটি।"
},
"upload": {
"success": "ফাইল সফলভাবে আপলোড হয়েছে।",
"dragDrop": "এখানে ফাইল ছেড়ে দিন"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/ca.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Impulsat per",
"version": "v{version}",
"loading": "Carregant...",
"error": "Error",
"success": "Èxit",
"confirm": "Confirmar",
"cancel": "Cancel·lar",
"close": "Tancar",
"save": "Desar",
"delete": "Eliminar",
"remove": "Treure",
"download": "Descarregar",
"upload": "Pujar",
"submit": "Enviar",
"back": "Enrere",
"next": "Següent",
"yes": "Sí",
"no": "No"
},
"nav": {
"history": "Historial",
"account": "Compte",
"logout": "Tancar sessió",
"login": "Iniciar sessió",
"register": "Registrar-se",
"language": "Idioma"
},
"convert": {
"title": "Convertir",
"titleWithType": "Convertir .{fileType}",
"chooseFile": "Tria un fitxer",
"orDragHere": "o arrossega'l aquí",
"searchConversions": "Cercar conversions",
"convertTo": "Convertir a",
"convertButton": "Convertir",
"uploading": "Pujant...",
"processing": "Processant..."
},
"results": {
"title": "Resultats",
"convertedFileName": "Nom del fitxer convertit",
"status": "Estat",
"actions": "Accions",
"downloadAll": "Tot",
"downloadTar": "Tar",
"deleteJob": "Eliminar",
"noFiles": "Encara no s'han convertit fitxers.",
"statusPending": "Pendent",
"statusCompleted": "Completat",
"statusFailed": "Fallat"
},
"history": {
"title": "Resultats",
"time": "Hora",
"files": "Fitxers",
"filesDone": "Fitxers completats",
"status": "Estat",
"actions": "Accions",
"expandDetails": "Ampliar detalls",
"detailedFileInfo": "Informació detallada del fitxer:",
"deleteSelected": "Eliminar seleccionats",
"selectAll": "Seleccionar tot",
"confirmDelete": "Esteu segur que voleu eliminar {count} tasca/es? Aquesta acció no es pot desfer.",
"deleteSuccess": "S'han eliminat {deleted} tasca/es correctament.",
"deleteFailed": "No s'han pogut eliminar {failed} tasca/es.",
"deleteError": "S'ha produït un error en eliminar les tasques. Si us plau, torneu-ho a provar."
},
"auth": {
"email": "Correu electrònic",
"password": "Contrasenya",
"currentPassword": "Contrasenya actual",
"newPassword": "Contrasenya (deixa en blanc si no canvia)",
"loginButton": "Iniciar sessió",
"registerButton": "Registrar-se",
"updateButton": "Actualitzar",
"createAccount": "Crear compte",
"invalidCredentials": "Credencials no vàlides.",
"emailInUse": "El correu electrònic ja està en ús.",
"unauthorized": "No autoritzat",
"cookiesRequired": "Les galetes han d'estar habilitades per utilitzar aquesta aplicació.",
"noCookies": "No hi ha galeta d'autenticació, potser el vostre navegador bloqueja les galetes."
},
"setup": {
"welcome": "Benvingut a ConvertX-CN!",
"createYourAccount": "Creeu el vostre compte",
"reportIssues": "Informeu de qualsevol problema a",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Tasca no trobada.",
"fileNotFound": "Fitxer no trobat.",
"uploadFailed": "Error en pujar.",
"conversionFailed": "Error en la conversió.",
"serverError": "Error del servidor."
},
"upload": {
"success": "Fitxers pujats correctament.",
"dragDrop": "Deixa anar els fitxers aquí"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/cs.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Poháněno",
"version": "v{version}",
"loading": "Načítání...",
"error": "Chyba",
"success": "Úspěch",
"confirm": "Potvrdit",
"cancel": "Zrušit",
"close": "Zavřít",
"save": "Uložit",
"delete": "Smazat",
"remove": "Odstranit",
"download": "Stáhnout",
"upload": "Nahrát",
"submit": "Odeslat",
"back": "Zpět",
"next": "Další",
"yes": "Ano",
"no": "Ne"
},
"nav": {
"history": "Historie",
"account": "Účet",
"logout": "Odhlásit",
"login": "Přihlásit",
"register": "Registrovat",
"language": "Jazyk"
},
"convert": {
"title": "Převést",
"titleWithType": "Převést .{fileType}",
"chooseFile": "Vyberte soubor",
"orDragHere": "nebo ho sem přetáhněte",
"searchConversions": "Hledat převody",
"convertTo": "Převést na",
"convertButton": "Převést",
"uploading": "Nahrávání...",
"processing": "Zpracování..."
},
"results": {
"title": "Výsledky",
"convertedFileName": "Název převedeného souboru",
"status": "Stav",
"actions": "Akce",
"downloadAll": "Vše",
"downloadTar": "Tar",
"deleteJob": "Smazat",
"noFiles": "Zatím nebyly převedeny žádné soubory.",
"statusPending": "Čekající",
"statusCompleted": "Dokončeno",
"statusFailed": "Selhalo"
},
"history": {
"title": "Výsledky",
"time": "Čas",
"files": "Soubory",
"filesDone": "Dokončené soubory",
"status": "Stav",
"actions": "Akce",
"expandDetails": "Rozbalit podrobnosti",
"detailedFileInfo": "Podrobné informace o souboru:",
"deleteSelected": "Smazat vybrané",
"selectAll": "Vybrat vše",
"confirmDelete": "Opravdu chcete smazat {count} úlohu/úloh? Tuto akci nelze vrátit zpět.",
"deleteSuccess": "Úspěšně smazáno {deleted} úloha/úloh.",
"deleteFailed": "Nepodařilo se smazat {failed} úloha/úloh.",
"deleteError": "Při mazání úloh došlo k chybě. Zkuste to prosím znovu."
},
"auth": {
"email": "E-mail",
"password": "Heslo",
"currentPassword": "Aktuální heslo",
"newPassword": "Heslo (ponechte prázdné pro nezměnění)",
"loginButton": "Přihlásit",
"registerButton": "Registrovat",
"updateButton": "Aktualizovat",
"createAccount": "Vytvořit účet",
"invalidCredentials": "Neplatné přihlašovací údaje.",
"emailInUse": "E-mail je již používán.",
"unauthorized": "Neautorizováno",
"cookiesRequired": "Pro použití této aplikace musí být povoleny cookies.",
"noCookies": "Žádný autentizační cookie, možná váš prohlížeč blokuje cookies."
},
"setup": {
"welcome": "Vítejte v ConvertX-CN!",
"createYourAccount": "Vytvořte si účet",
"reportIssues": "Nahlaste problémy na",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Úloha nenalezena.",
"fileNotFound": "Soubor nenalezen.",
"uploadFailed": "Nahrávání selhalo.",
"conversionFailed": "Převod selhal.",
"serverError": "Chyba serveru."
},
"upload": {
"success": "Soubory byly úspěšně nahrány.",
"dragDrop": "Přetáhněte soubory sem"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/cy.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Wedi'i bweru gan",
"version": "v{version}",
"loading": "Yn llwytho...",
"error": "Gwall",
"success": "Llwyddiant",
"confirm": "Cadarnhau",
"cancel": "Canslo",
"close": "Cau",
"save": "Cadw",
"delete": "Dileu",
"remove": "Tynnu",
"download": "Lawrlwytho",
"upload": "Uwchlwytho",
"submit": "Cyflwyno",
"back": "Yn ôl",
"next": "Nesaf",
"yes": "Ie",
"no": "Na"
},
"nav": {
"history": "Hanes",
"account": "Cyfrif",
"logout": "Allgofnodi",
"login": "Mewngofnodi",
"register": "Cofrestru",
"language": "Iaith"
},
"convert": {
"title": "Trosi",
"titleWithType": "Trosi .{fileType}",
"chooseFile": "Dewis ffeil",
"orDragHere": "neu llusgwch hi yma",
"searchConversions": "Chwilio am drosiadau",
"convertTo": "Trosi i",
"convertButton": "Trosi",
"uploading": "Yn uwchlwytho...",
"processing": "Yn prosesu..."
},
"results": {
"title": "Canlyniadau",
"convertedFileName": "Enw ffeil wedi'i drosi",
"status": "Statws",
"actions": "Gweithredoedd",
"downloadAll": "Popeth",
"downloadTar": "Tar",
"deleteJob": "Dileu",
"noFiles": "Dim ffeiliau wedi'u trosi eto.",
"statusPending": "Yn aros",
"statusCompleted": "Wedi cwblhau",
"statusFailed": "Wedi methu"
},
"history": {
"title": "Canlyniadau",
"time": "Amser",
"files": "Ffeiliau",
"filesDone": "Ffeiliau wedi'u cwblhau",
"status": "Statws",
"actions": "Gweithredoedd",
"expandDetails": "Ehangu manylion",
"detailedFileInfo": "Gwybodaeth fanwl am y ffeil:",
"deleteSelected": "Dileu'r dewisiad",
"selectAll": "Dewis popeth",
"confirmDelete": "Ydych chi'n siŵr eich bod am ddileu {count} swydd(i)? Ni ellir dadwneud y weithred hon.",
"deleteSuccess": "Dilëwyd {deleted} swydd(i) yn llwyddiannus.",
"deleteFailed": "Methwyd dileu {failed} swydd(i).",
"deleteError": "Digwyddodd gwall wrth ddileu swyddi. Rhowch gynnig arall arni."
},
"auth": {
"email": "E-bost",
"password": "Cyfrinair",
"currentPassword": "Cyfrinair presennol",
"newPassword": "Cyfrinair (gadael yn wag os nad yw'n newid)",
"loginButton": "Mewngofnodi",
"registerButton": "Cofrestru",
"updateButton": "Diweddaru",
"createAccount": "Creu cyfrif",
"invalidCredentials": "Manylion annilys.",
"emailInUse": "Mae'r e-bost eisoes yn cael ei ddefnyddio.",
"unauthorized": "Heb awdurdod",
"cookiesRequired": "Dylai cwcis fod wedi'u galluogi i ddefnyddio'r ap hwn.",
"noCookies": "Dim cwci dilysu, efallai bod eich porwr yn blocio cwcis."
},
"setup": {
"welcome": "Croeso i ConvertX-CN!",
"createYourAccount": "Crëwch eich cyfrif",
"reportIssues": "Adroddwch unrhyw broblemau ar",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Ni chanfuwyd y swydd.",
"fileNotFound": "Ni chanfuwyd y ffeil.",
"uploadFailed": "Methwyd uwchlwytho.",
"conversionFailed": "Methwyd trosi.",
"serverError": "Gwall gweinydd."
},
"upload": {
"success": "Uwchlwythwyd ffeiliau'n llwyddiannus.",
"dragDrop": "Gollyngwch ffeiliau yma"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/da.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Drevet af",
"version": "v{version}",
"loading": "Indlæser...",
"error": "Fejl",
"success": "Succes",
"confirm": "Bekræft",
"cancel": "Annuller",
"close": "Luk",
"save": "Gem",
"delete": "Slet",
"remove": "Fjern",
"download": "Download",
"upload": "Upload",
"submit": "Send",
"back": "Tilbage",
"next": "Næste",
"yes": "Ja",
"no": "Nej"
},
"nav": {
"history": "Historik",
"account": "Konto",
"logout": "Log ud",
"login": "Log ind",
"register": "Registrer",
"language": "Sprog"
},
"convert": {
"title": "Konverter",
"titleWithType": "Konverter .{fileType}",
"chooseFile": "Vælg en fil",
"orDragHere": "eller træk den hertil",
"searchConversions": "Søg efter konverteringer",
"convertTo": "Konverter til",
"convertButton": "Konverter",
"uploading": "Uploader...",
"processing": "Behandler..."
},
"results": {
"title": "Resultater",
"convertedFileName": "Konverteret filnavn",
"status": "Status",
"actions": "Handlinger",
"downloadAll": "Alle",
"downloadTar": "Tar",
"deleteJob": "Slet",
"noFiles": "Ingen filer konverteret endnu.",
"statusPending": "Afventer",
"statusCompleted": "Afsluttet",
"statusFailed": "Mislykket"
},
"history": {
"title": "Resultater",
"time": "Tid",
"files": "Filer",
"filesDone": "Færdige filer",
"status": "Status",
"actions": "Handlinger",
"expandDetails": "Udvid detaljer",
"detailedFileInfo": "Detaljeret filinformation:",
"deleteSelected": "Slet valgte",
"selectAll": "Vælg alle",
"confirmDelete": "Er du sikker på, at du vil slette {count} job? Denne handling kan ikke fortrydes.",
"deleteSuccess": "Slettet {deleted} job med succes.",
"deleteFailed": "Kunne ikke slette {failed} job.",
"deleteError": "Der opstod en fejl under sletning af jobs. Prøv venligst igen."
},
"auth": {
"email": "E-mail",
"password": "Adgangskode",
"currentPassword": "Nuværende adgangskode",
"newPassword": "Adgangskode (lad være tom for uændret)",
"loginButton": "Log ind",
"registerButton": "Registrer",
"updateButton": "Opdater",
"createAccount": "Opret konto",
"invalidCredentials": "Ugyldige loginoplysninger.",
"emailInUse": "E-mail er allerede i brug.",
"unauthorized": "Ikke autoriseret",
"cookiesRequired": "Cookies skal være aktiveret for at bruge denne app.",
"noCookies": "Ingen godkendelsescookie, måske blokerer din browser cookies."
},
"setup": {
"welcome": "Velkommen til ConvertX-CN!",
"createYourAccount": "Opret din konto",
"reportIssues": "Rapporter problemer på",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Job ikke fundet.",
"fileNotFound": "Fil ikke fundet.",
"uploadFailed": "Upload mislykkedes.",
"conversionFailed": "Konvertering mislykkedes.",
"serverError": "Serverfejl."
},
"upload": {
"success": "Filer uploadet succesfuldt.",
"dragDrop": "Slip filer her"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/de.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Unterstützt von",
"version": "v{version}",
"loading": "Laden...",
"error": "Fehler",
"success": "Erfolg",
"confirm": "Bestätigen",
"cancel": "Abbrechen",
"close": "Schließen",
"save": "Speichern",
"delete": "Löschen",
"remove": "Entfernen",
"download": "Herunterladen",
"upload": "Hochladen",
"submit": "Absenden",
"back": "Zurück",
"next": "Weiter",
"yes": "Ja",
"no": "Nein"
},
"nav": {
"history": "Verlauf",
"account": "Konto",
"logout": "Abmelden",
"login": "Anmelden",
"register": "Registrieren",
"language": "Sprache"
},
"convert": {
"title": "Konvertieren",
"titleWithType": ".{fileType} konvertieren",
"chooseFile": "Datei auswählen",
"orDragHere": "oder hierher ziehen",
"searchConversions": "Konvertierungen suchen",
"convertTo": "Konvertieren zu",
"convertButton": "Konvertieren",
"uploading": "Hochladen...",
"processing": "Verarbeiten..."
},
"results": {
"title": "Ergebnisse",
"convertedFileName": "Konvertierter Dateiname",
"status": "Status",
"actions": "Aktionen",
"downloadAll": "Alle",
"downloadTar": "Tar",
"deleteJob": "Löschen",
"noFiles": "Noch keine Dateien konvertiert.",
"statusPending": "Ausstehend",
"statusCompleted": "Abgeschlossen",
"statusFailed": "Fehlgeschlagen"
},
"history": {
"title": "Ergebnisse",
"time": "Zeit",
"files": "Dateien",
"filesDone": "Fertige Dateien",
"status": "Status",
"actions": "Aktionen",
"expandDetails": "Details erweitern",
"detailedFileInfo": "Detaillierte Dateiinformationen:",
"deleteSelected": "Ausgewählte löschen",
"selectAll": "Alle auswählen",
"confirmDelete": "Sind Sie sicher, dass Sie {count} Auftrag/Aufträge löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"deleteSuccess": "{deleted} Auftrag/Aufträge erfolgreich gelöscht.",
"deleteFailed": "{failed} Auftrag/Aufträge konnten nicht gelöscht werden.",
"deleteError": "Beim Löschen der Aufträge ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut."
},
"auth": {
"email": "E-Mail",
"password": "Passwort",
"currentPassword": "Aktuelles Passwort",
"newPassword": "Passwort (leer lassen für unverändert)",
"loginButton": "Anmelden",
"registerButton": "Registrieren",
"updateButton": "Aktualisieren",
"createAccount": "Konto erstellen",
"invalidCredentials": "Ungültige Anmeldedaten.",
"emailInUse": "E-Mail wird bereits verwendet.",
"unauthorized": "Nicht autorisiert",
"cookiesRequired": "Cookies müssen aktiviert sein, um diese App zu nutzen.",
"noCookies": "Kein Auth-Cookie, möglicherweise blockiert Ihr Browser Cookies."
},
"setup": {
"welcome": "Willkommen bei ConvertX-CN!",
"createYourAccount": "Erstellen Sie Ihr Konto",
"reportIssues": "Probleme melden auf",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Auftrag nicht gefunden.",
"fileNotFound": "Datei nicht gefunden.",
"uploadFailed": "Hochladen fehlgeschlagen.",
"conversionFailed": "Konvertierung fehlgeschlagen.",
"serverError": "Serverfehler."
},
"upload": {
"success": "Dateien erfolgreich hochgeladen.",
"dragDrop": "Dateien hier ablegen"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/el.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Με την υποστήριξη",
"version": "v{version}",
"loading": "Φόρτωση...",
"error": "Σφάλμα",
"success": "Επιτυχία",
"confirm": "Επιβεβαίωση",
"cancel": "Ακύρωση",
"close": "Κλείσιμο",
"save": "Αποθήκευση",
"delete": "Διαγραφή",
"remove": "Αφαίρεση",
"download": "Λήψη",
"upload": "Μεταφόρτωση",
"submit": "Υποβολή",
"back": "Πίσω",
"next": "Επόμενο",
"yes": "Ναι",
"no": "Όχι"
},
"nav": {
"history": "Ιστορικό",
"account": "Λογαριασμός",
"logout": "Αποσύνδεση",
"login": "Σύνδεση",
"register": "Εγγραφή",
"language": "Γλώσσα"
},
"convert": {
"title": "Μετατροπή",
"titleWithType": "Μετατροπή .{fileType}",
"chooseFile": "Επιλέξτε ένα αρχείο",
"orDragHere": "ή σύρετέ το εδώ",
"searchConversions": "Αναζήτηση μετατροπών",
"convertTo": "Μετατροπή σε",
"convertButton": "Μετατροπή",
"uploading": "Μεταφόρτωση...",
"processing": "Επεξεργασία..."
},
"results": {
"title": "Αποτελέσματα",
"convertedFileName": "Όνομα μετατρεπόμενου αρχείου",
"status": "Κατάσταση",
"actions": "Ενέργειες",
"downloadAll": "Όλα",
"downloadTar": "Tar",
"deleteJob": "Διαγραφή",
"noFiles": "Δεν έχουν μετατραπεί αρχεία ακόμα.",
"statusPending": "Σε αναμονή",
"statusCompleted": "Ολοκληρώθηκε",
"statusFailed": "Απέτυχε"
},
"history": {
"title": "Αποτελέσματα",
"time": "Χρόνος",
"files": "Αρχεία",
"filesDone": "Αρχεία ολοκληρωμένα",
"status": "Κατάσταση",
"actions": "Ενέργειες",
"expandDetails": "Ανάπτυξη λεπτομερειών",
"detailedFileInfo": "Λεπτομερείς πληροφορίες αρχείου:",
"deleteSelected": "Διαγραφή επιλεγμένων",
"selectAll": "Επιλογή όλων",
"confirmDelete": "Είστε βέβαιοι ότι θέλετε να διαγράψετε {count} εργασία(ες); Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.",
"deleteSuccess": "Διαγράφηκαν επιτυχώς {deleted} εργασία(ες).",
"deleteFailed": "Αποτυχία διαγραφής {failed} εργασία(ες).",
"deleteError": "Παρουσιάστηκε σφάλμα κατά τη διαγραφή εργασιών. Παρακαλώ δοκιμάστε ξανά."
},
"auth": {
"email": "Email",
"password": "Κωδικός πρόσβασης",
"currentPassword": "Τρέχων κωδικός πρόσβασης",
"newPassword": "Κωδικός πρόσβασης (αφήστε κενό για αμετάβλητο)",
"loginButton": "Σύνδεση",
"registerButton": "Εγγραφή",
"updateButton": "Ενημέρωση",
"createAccount": "Δημιουργία λογαριασμού",
"invalidCredentials": "Μη έγκυρα διαπιστευτήρια.",
"emailInUse": "Το email χρησιμοποιείται ήδη.",
"unauthorized": "Μη εξουσιοδοτημένο",
"cookiesRequired": "Τα cookies πρέπει να είναι ενεργοποιημένα για τη χρήση αυτής της εφαρμογής.",
"noCookies": "Δεν υπάρχει cookie ελέγχου ταυτότητας, ίσως ο περιηγητής σας μπλοκάρει τα cookies."
},
"setup": {
"welcome": "Καλώς ήρθατε στο ConvertX-CN!",
"createYourAccount": "Δημιουργήστε τον λογαριασμό σας",
"reportIssues": "Αναφέρετε τυχόν προβλήματα στο",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Η εργασία δεν βρέθηκε.",
"fileNotFound": "Το αρχείο δεν βρέθηκε.",
"uploadFailed": "Η μεταφόρτωση απέτυχε.",
"conversionFailed": "Η μετατροπή απέτυχε.",
"serverError": "Σφάλμα διακομιστή."
},
"upload": {
"success": "Τα αρχεία μεταφορτώθηκαν επιτυχώς.",
"dragDrop": "Αποθέστε αρχεία εδώ"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/es.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Desarrollado por",
"version": "v{version}",
"loading": "Cargando...",
"error": "Error",
"success": "Éxito",
"confirm": "Confirmar",
"cancel": "Cancelar",
"close": "Cerrar",
"save": "Guardar",
"delete": "Eliminar",
"remove": "Quitar",
"download": "Descargar",
"upload": "Subir",
"submit": "Enviar",
"back": "Atrás",
"next": "Siguiente",
"yes": "Sí",
"no": "No"
},
"nav": {
"history": "Historial",
"account": "Cuenta",
"logout": "Cerrar sesión",
"login": "Iniciar sesión",
"register": "Registrarse",
"language": "Idioma"
},
"convert": {
"title": "Convertir",
"titleWithType": "Convertir .{fileType}",
"chooseFile": "Elegir un archivo",
"orDragHere": "o arrástrelo aquí",
"searchConversions": "Buscar conversiones",
"convertTo": "Convertir a",
"convertButton": "Convertir",
"uploading": "Subiendo...",
"processing": "Procesando..."
},
"results": {
"title": "Resultados",
"convertedFileName": "Nombre del archivo convertido",
"status": "Estado",
"actions": "Acciones",
"downloadAll": "Todo",
"downloadTar": "Tar",
"deleteJob": "Eliminar",
"noFiles": "No hay archivos convertidos aún.",
"statusPending": "Pendiente",
"statusCompleted": "Completado",
"statusFailed": "Fallido"
},
"history": {
"title": "Resultados",
"time": "Hora",
"files": "Archivos",
"filesDone": "Archivos completados",
"status": "Estado",
"actions": "Acciones",
"expandDetails": "Expandir detalles",
"detailedFileInfo": "Información detallada del archivo:",
"deleteSelected": "Eliminar seleccionados",
"selectAll": "Seleccionar todo",
"confirmDelete": "¿Está seguro de que desea eliminar {count} trabajo(s)? Esta acción no se puede deshacer.",
"deleteSuccess": "Se eliminaron {deleted} trabajo(s) correctamente.",
"deleteFailed": "No se pudieron eliminar {failed} trabajo(s).",
"deleteError": "Ocurrió un error al eliminar los trabajos. Por favor, inténtelo de nuevo."
},
"auth": {
"email": "Correo electrónico",
"password": "Contraseña",
"currentPassword": "Contraseña actual",
"newPassword": "Contraseña (dejar en blanco para no cambiar)",
"loginButton": "Iniciar sesión",
"registerButton": "Registrarse",
"updateButton": "Actualizar",
"createAccount": "Crear cuenta",
"invalidCredentials": "Credenciales inválidas.",
"emailInUse": "El correo electrónico ya está en uso.",
"unauthorized": "No autorizado",
"cookiesRequired": "Las cookies deben estar habilitadas para usar esta aplicación.",
"noCookies": "No hay cookie de autenticación, quizás su navegador está bloqueando las cookies."
},
"setup": {
"welcome": "¡Bienvenido a ConvertX-CN!",
"createYourAccount": "Cree su cuenta",
"reportIssues": "Reportar problemas en",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Trabajo no encontrado.",
"fileNotFound": "Archivo no encontrado.",
"uploadFailed": "Error al subir.",
"conversionFailed": "Error en la conversión.",
"serverError": "Error del servidor."
},
"upload": {
"success": "Archivos subidos correctamente.",
"dragDrop": "Suelte los archivos aquí"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/et.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Toetab",
"version": "v{version}",
"loading": "Laadimine...",
"error": "Viga",
"success": "Õnnestus",
"confirm": "Kinnita",
"cancel": "Tühista",
"close": "Sulge",
"save": "Salvesta",
"delete": "Kustuta",
"remove": "Eemalda",
"download": "Laadi alla",
"upload": "Laadi üles",
"submit": "Esita",
"back": "Tagasi",
"next": "Järgmine",
"yes": "Jah",
"no": "Ei"
},
"nav": {
"history": "Ajalugu",
"account": "Konto",
"logout": "Logi välja",
"login": "Logi sisse",
"register": "Registreeru",
"language": "Keel"
},
"convert": {
"title": "Teisenda",
"titleWithType": "Teisenda .{fileType}",
"chooseFile": "Vali fail",
"orDragHere": "või lohista siia",
"searchConversions": "Otsi teisendusi",
"convertTo": "Teisenda vormingusse",
"convertButton": "Teisenda",
"uploading": "Üleslaadimine...",
"processing": "Töötlemine..."
},
"results": {
"title": "Tulemused",
"convertedFileName": "Teisendatud faili nimi",
"status": "Olek",
"actions": "Toimingud",
"downloadAll": "Kõik",
"downloadTar": "Tar",
"deleteJob": "Kustuta",
"noFiles": "Faile pole veel teisendatud.",
"statusPending": "Ootel",
"statusCompleted": "Lõpetatud",
"statusFailed": "Ebaõnnestunud"
},
"history": {
"title": "Tulemused",
"time": "Aeg",
"files": "Failid",
"filesDone": "Valmis failid",
"status": "Olek",
"actions": "Toimingud",
"expandDetails": "Laienda üksikasju",
"detailedFileInfo": "Üksikasjalik failiteave:",
"deleteSelected": "Kustuta valitud",
"selectAll": "Vali kõik",
"confirmDelete": "Kas olete kindel, et soovite kustutada {count} töö(d)? Seda toimingut ei saa tagasi võtta.",
"deleteSuccess": "Edukalt kustutatud {deleted} töö(d).",
"deleteFailed": "Ei õnnestunud kustutada {failed} töö(d).",
"deleteError": "Tööde kustutamisel ilmnes viga. Palun proovige uuesti."
},
"auth": {
"email": "E-post",
"password": "Parool",
"currentPassword": "Praegune parool",
"newPassword": "Parool (jätke tühjaks, kui ei muuda)",
"loginButton": "Logi sisse",
"registerButton": "Registreeru",
"updateButton": "Uuenda",
"createAccount": "Loo konto",
"invalidCredentials": "Vigased andmed.",
"emailInUse": "E-post on juba kasutusel.",
"unauthorized": "Volitamata",
"cookiesRequired": "Selle rakenduse kasutamiseks peavad küpsised olema lubatud.",
"noCookies": "Autentimisküpsist pole, võib-olla teie brauser blokeerib küpsised."
},
"setup": {
"welcome": "Tere tulemast ConvertX-CN-i!",
"createYourAccount": "Looge oma konto",
"reportIssues": "Teatage probleemidest",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Tööd ei leitud.",
"fileNotFound": "Faili ei leitud.",
"uploadFailed": "Üleslaadimine ebaõnnestus.",
"conversionFailed": "Teisendamine ebaõnnestus.",
"serverError": "Serveri viga."
},
"upload": {
"success": "Failid edukalt üles laaditud.",
"dragDrop": "Lohistage failid siia"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/eu.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Bultzatua",
"version": "v{version}",
"loading": "Kargatzen...",
"error": "Errorea",
"success": "Arrakasta",
"confirm": "Berretsi",
"cancel": "Utzi",
"close": "Itxi",
"save": "Gorde",
"delete": "Ezabatu",
"remove": "Kendu",
"download": "Deskargatu",
"upload": "Igo",
"submit": "Bidali",
"back": "Atzera",
"next": "Hurrengoa",
"yes": "Bai",
"no": "Ez"
},
"nav": {
"history": "Historia",
"account": "Kontua",
"logout": "Saioa itxi",
"login": "Saioa hasi",
"register": "Erregistratu",
"language": "Hizkuntza"
},
"convert": {
"title": "Bihurtu",
"titleWithType": "Bihurtu .{fileType}",
"chooseFile": "Aukeratu fitxategi bat",
"orDragHere": "edo arrastatu hona",
"searchConversions": "Bilatu bihurketa",
"convertTo": "Bihurtu hona",
"convertButton": "Bihurtu",
"uploading": "Igotzen...",
"processing": "Prozesatzen..."
},
"results": {
"title": "Emaitzak",
"convertedFileName": "Bihurtutako fitxategiaren izena",
"status": "Egoera",
"actions": "Ekintzak",
"downloadAll": "Guztiak",
"downloadTar": "Tar",
"deleteJob": "Ezabatu",
"noFiles": "Oraindik ez da fitxategirik bihurtu.",
"statusPending": "Zain",
"statusCompleted": "Osatuta",
"statusFailed": "Huts egin du"
},
"history": {
"title": "Emaitzak",
"time": "Ordua",
"files": "Fitxategiak",
"filesDone": "Amaitutako fitxategiak",
"status": "Egoera",
"actions": "Ekintzak",
"expandDetails": "Xehetasunak zabaldu",
"detailedFileInfo": "Fitxategiaren informazio zehatza:",
"deleteSelected": "Ezabatu hautatutakoak",
"selectAll": "Hautatu guztiak",
"confirmDelete": "Ziur zaude {count} lan ezabatu nahi duzula? Ekintza hau ezin da desegin.",
"deleteSuccess": "{deleted} lan ondo ezabatu dira.",
"deleteFailed": "Ezin izan dira {failed} lan ezabatu.",
"deleteError": "Errorea gertatu da lanak ezabatzean. Saiatu berriro."
},
"auth": {
"email": "Emaila",
"password": "Pasahitza",
"currentPassword": "Uneko pasahitza",
"newPassword": "Pasahitza (utzi hutsik aldatu nahi ez baduzu)",
"loginButton": "Saioa hasi",
"registerButton": "Erregistratu",
"updateButton": "Eguneratu",
"createAccount": "Kontua sortu",
"invalidCredentials": "Kredentzial baliogabeak.",
"emailInUse": "Emaila dagoeneko erabiltzen ari da.",
"unauthorized": "Baimenik gabe",
"cookiesRequired": "Cookieak gaituta egon behar dute aplikazio hau erabiltzeko.",
"noCookies": "Ez dago autentifikazio cookierik, agian zure nabigatzaileak cookieak blokeatzen ditu."
},
"setup": {
"welcome": "Ongi etorri ConvertX-CN-ra!",
"createYourAccount": "Sortu zure kontua",
"reportIssues": "Jakinarazi edozein arazo hemen",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Lana ez da aurkitu.",
"fileNotFound": "Fitxategia ez da aurkitu.",
"uploadFailed": "Igoerak huts egin du.",
"conversionFailed": "Bihurketak huts egin du.",
"serverError": "Zerbitzariaren errorea."
},
"upload": {
"success": "Fitxategiak ondo igo dira.",
"dragDrop": "Jaregin fitxategiak hona"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/fa.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "قدرت گرفته از",
"version": "v{version}",
"loading": "در حال بارگذاری...",
"error": "خطا",
"success": "موفقیت",
"confirm": "تأیید",
"cancel": "لغو",
"close": "بستن",
"save": "ذخیره",
"delete": "حذف",
"remove": "برداشتن",
"download": "دانلود",
"upload": "آپلود",
"submit": "ارسال",
"back": "بازگشت",
"next": "بعدی",
"yes": "بله",
"no": "خیر"
},
"nav": {
"history": "تاریخچه",
"account": "حساب کاربری",
"logout": "خروج",
"login": "ورود",
"register": "ثبت نام",
"language": "زبان"
},
"convert": {
"title": "تبدیل",
"titleWithType": "تبدیل .{fileType}",
"chooseFile": "انتخاب فایل",
"orDragHere": "یا اینجا بکشید",
"searchConversions": "جستجوی تبدیل‌ها",
"convertTo": "تبدیل به",
"convertButton": "تبدیل",
"uploading": "در حال آپلود...",
"processing": "در حال پردازش..."
},
"results": {
"title": "نتایج",
"convertedFileName": "نام فایل تبدیل شده",
"status": "وضعیت",
"actions": "عملیات",
"downloadAll": "همه",
"downloadTar": "Tar",
"deleteJob": "حذف",
"noFiles": "هنوز فایلی تبدیل نشده است.",
"statusPending": "در انتظار",
"statusCompleted": "تکمیل شد",
"statusFailed": "ناموفق"
},
"history": {
"title": "نتایج",
"time": "زمان",
"files": "فایل‌ها",
"filesDone": "فایل‌های انجام شده",
"status": "وضعیت",
"actions": "عملیات",
"expandDetails": "نمایش جزئیات",
"detailedFileInfo": "اطلاعات دقیق فایل:",
"deleteSelected": "حذف انتخاب شده‌ها",
"selectAll": "انتخاب همه",
"confirmDelete": "آیا مطمئن هستید که می‌خواهید {count} کار را حذف کنید؟ این عمل قابل بازگشت نیست.",
"deleteSuccess": "{deleted} کار با موفقیت حذف شد.",
"deleteFailed": "حذف {failed} کار ناموفق بود.",
"deleteError": "هنگام حذف کارها خطایی رخ داد. لطفاً دوباره تلاش کنید."
},
"auth": {
"email": "ایمیل",
"password": "رمز عبور",
"currentPassword": "رمز عبور فعلی",
"newPassword": "رمز عبور (برای عدم تغییر خالی بگذارید)",
"loginButton": "ورود",
"registerButton": "ثبت نام",
"updateButton": "به‌روزرسانی",
"createAccount": "ایجاد حساب",
"invalidCredentials": "اطلاعات ورود نامعتبر است.",
"emailInUse": "این ایمیل قبلاً استفاده شده است.",
"unauthorized": "غیرمجاز",
"cookiesRequired": "برای استفاده از این برنامه باید کوکی‌ها فعال باشند.",
"noCookies": "کوکی احراز هویت وجود ندارد، شاید مرورگر شما کوکی‌ها را مسدود کرده باشد."
},
"setup": {
"welcome": "به ConvertX-CN خوش آمدید!",
"createYourAccount": "حساب کاربری خود را بسازید",
"reportIssues": "گزارش مشکلات در",
"github": "GitHub"
},
"errors": {
"jobNotFound": "کار پیدا نشد.",
"fileNotFound": "فایل پیدا نشد.",
"uploadFailed": "آپلود ناموفق بود.",
"conversionFailed": "تبدیل ناموفق بود.",
"serverError": "خطای سرور."
},
"upload": {
"success": "فایل‌ها با موفقیت آپلود شدند.",
"dragDrop": "فایل‌ها را اینجا رها کنید"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/fi.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Käyttää",
"version": "v{version}",
"loading": "Ladataan...",
"error": "Virhe",
"success": "Onnistui",
"confirm": "Vahvista",
"cancel": "Peruuta",
"close": "Sulje",
"save": "Tallenna",
"delete": "Poista",
"remove": "Poista",
"download": "Lataa",
"upload": "Lähetä",
"submit": "Lähetä",
"back": "Takaisin",
"next": "Seuraava",
"yes": "Kyllä",
"no": "Ei"
},
"nav": {
"history": "Historia",
"account": "Tili",
"logout": "Kirjaudu ulos",
"login": "Kirjaudu sisään",
"register": "Rekisteröidy",
"language": "Kieli"
},
"convert": {
"title": "Muunna",
"titleWithType": "Muunna .{fileType}",
"chooseFile": "Valitse tiedosto",
"orDragHere": "tai vedä tähän",
"searchConversions": "Etsi muunnoksia",
"convertTo": "Muunna muotoon",
"convertButton": "Muunna",
"uploading": "Lähetetään...",
"processing": "Käsitellään..."
},
"results": {
"title": "Tulokset",
"convertedFileName": "Muunnetun tiedoston nimi",
"status": "Tila",
"actions": "Toiminnot",
"downloadAll": "Kaikki",
"downloadTar": "Tar",
"deleteJob": "Poista",
"noFiles": "Ei vielä muunnettuja tiedostoja.",
"statusPending": "Odottaa",
"statusCompleted": "Valmis",
"statusFailed": "Epäonnistui"
},
"history": {
"title": "Tulokset",
"time": "Aika",
"files": "Tiedostot",
"filesDone": "Valmiit tiedostot",
"status": "Tila",
"actions": "Toiminnot",
"expandDetails": "Laajenna tiedot",
"detailedFileInfo": "Yksityiskohtaiset tiedostotiedot:",
"deleteSelected": "Poista valitut",
"selectAll": "Valitse kaikki",
"confirmDelete": "Haluatko varmasti poistaa {count} työtä? Tätä toimintoa ei voi kumota.",
"deleteSuccess": "Poistettiin onnistuneesti {deleted} työtä.",
"deleteFailed": "Epäonnistui {failed} työn poistaminen.",
"deleteError": "Virhe poistettaessa töitä. Yritä uudelleen."
},
"auth": {
"email": "Sähköposti",
"password": "Salasana",
"currentPassword": "Nykyinen salasana",
"newPassword": "Salasana (jätä tyhjäksi, jos ei muuteta)",
"loginButton": "Kirjaudu sisään",
"registerButton": "Rekisteröidy",
"updateButton": "Päivitä",
"createAccount": "Luo tili",
"invalidCredentials": "Virheelliset tunnistetiedot.",
"emailInUse": "Sähköposti on jo käytössä.",
"unauthorized": "Ei valtuuksia",
"cookiesRequired": "Evästeiden on oltava käytössä tämän sovelluksen käyttämiseksi.",
"noCookies": "Ei todennusevästettä, ehkä selaimesi estää evästeet."
},
"setup": {
"welcome": "Tervetuloa ConvertX-CN:ään!",
"createYourAccount": "Luo tilisi",
"reportIssues": "Ilmoita ongelmista",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Työtä ei löytynyt.",
"fileNotFound": "Tiedostoa ei löytynyt.",
"uploadFailed": "Lähetys epäonnistui.",
"conversionFailed": "Muunnos epäonnistui.",
"serverError": "Palvelinvirhe."
},
"upload": {
"success": "Tiedostot lähetetty onnistuneesti.",
"dragDrop": "Pudota tiedostot tähän"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/fil.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Pinapagana ng",
"version": "v{version}",
"loading": "Naglo-load...",
"error": "Error",
"success": "Tagumpay",
"confirm": "Kumpirmahin",
"cancel": "Kanselahin",
"close": "Isara",
"save": "I-save",
"delete": "Burahin",
"remove": "Alisin",
"download": "I-download",
"upload": "I-upload",
"submit": "Isumite",
"back": "Bumalik",
"next": "Susunod",
"yes": "Oo",
"no": "Hindi"
},
"nav": {
"history": "Kasaysayan",
"account": "Account",
"logout": "Mag-logout",
"login": "Mag-login",
"register": "Magrehistro",
"language": "Wika"
},
"convert": {
"title": "I-convert",
"titleWithType": "I-convert ang .{fileType}",
"chooseFile": "Pumili ng file",
"orDragHere": "o i-drag dito",
"searchConversions": "Maghanap ng conversions",
"convertTo": "I-convert sa",
"convertButton": "I-convert",
"uploading": "Nag-a-upload...",
"processing": "Pinoproseso..."
},
"results": {
"title": "Mga Resulta",
"convertedFileName": "Pangalan ng Na-convert na File",
"status": "Status",
"actions": "Mga Aksyon",
"downloadAll": "Lahat",
"downloadTar": "Tar",
"deleteJob": "Burahin",
"noFiles": "Walang mga file na na-convert pa.",
"statusPending": "Nakabinbin",
"statusCompleted": "Kumpleto",
"statusFailed": "Nabigo"
},
"history": {
"title": "Mga Resulta",
"time": "Oras",
"files": "Mga File",
"filesDone": "Mga Natapos na File",
"status": "Status",
"actions": "Mga Aksyon",
"expandDetails": "Palawakin ang mga detalye",
"detailedFileInfo": "Detalyadong Impormasyon ng File:",
"deleteSelected": "Burahin ang Napili",
"selectAll": "Piliin lahat",
"confirmDelete": "Sigurado ka bang gusto mong burahin ang {count} na trabaho? Ang aksyon na ito ay hindi na maibabalik.",
"deleteSuccess": "Matagumpay na nabura ang {deleted} na trabaho.",
"deleteFailed": "Hindi nabura ang {failed} na trabaho.",
"deleteError": "May error na naganap habang nagbubura ng mga trabaho. Pakisubukang muli."
},
"auth": {
"email": "Email",
"password": "Password",
"currentPassword": "Kasalukuyang Password",
"newPassword": "Password (iwanang blangko kung hindi babaguhin)",
"loginButton": "Mag-login",
"registerButton": "Magrehistro",
"updateButton": "I-update",
"createAccount": "Gumawa ng account",
"invalidCredentials": "Invalid na credentials.",
"emailInUse": "Ginagamit na ang email.",
"unauthorized": "Hindi awtorisado",
"cookiesRequired": "Dapat i-enable ang cookies para magamit ang app na ito.",
"noCookies": "Walang auth cookie, maaaring hinaharangan ng iyong browser ang cookies."
},
"setup": {
"welcome": "Maligayang pagdating sa ConvertX-CN!",
"createYourAccount": "Gumawa ng iyong account",
"reportIssues": "Mag-ulat ng mga isyu sa",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Hindi nahanap ang trabaho.",
"fileNotFound": "Hindi nahanap ang file.",
"uploadFailed": "Nabigo ang pag-upload.",
"conversionFailed": "Nabigo ang conversion.",
"serverError": "Error sa server."
},
"upload": {
"success": "Matagumpay na na-upload ang mga file.",
"dragDrop": "I-drop ang mga file dito"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/fr.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Propulsé par",
"version": "v{version}",
"loading": "Chargement...",
"error": "Erreur",
"success": "Succès",
"confirm": "Confirmer",
"cancel": "Annuler",
"close": "Fermer",
"save": "Enregistrer",
"delete": "Supprimer",
"remove": "Retirer",
"download": "Télécharger",
"upload": "Téléverser",
"submit": "Soumettre",
"back": "Retour",
"next": "Suivant",
"yes": "Oui",
"no": "Non"
},
"nav": {
"history": "Historique",
"account": "Compte",
"logout": "Déconnexion",
"login": "Connexion",
"register": "S'inscrire",
"language": "Langue"
},
"convert": {
"title": "Convertir",
"titleWithType": "Convertir .{fileType}",
"chooseFile": "Choisir un fichier",
"orDragHere": "ou glissez-le ici",
"searchConversions": "Rechercher des conversions",
"convertTo": "Convertir en",
"convertButton": "Convertir",
"uploading": "Téléversement...",
"processing": "Traitement..."
},
"results": {
"title": "Résultats",
"convertedFileName": "Nom du fichier converti",
"status": "Statut",
"actions": "Actions",
"downloadAll": "Tout",
"downloadTar": "Tar",
"deleteJob": "Supprimer",
"noFiles": "Aucun fichier converti pour le moment.",
"statusPending": "En attente",
"statusCompleted": "Terminé",
"statusFailed": "Échoué"
},
"history": {
"title": "Résultats",
"time": "Heure",
"files": "Fichiers",
"filesDone": "Fichiers terminés",
"status": "Statut",
"actions": "Actions",
"expandDetails": "Développer les détails",
"detailedFileInfo": "Informations détaillées sur le fichier :",
"deleteSelected": "Supprimer la sélection",
"selectAll": "Tout sélectionner",
"confirmDelete": "Êtes-vous sûr de vouloir supprimer {count} tâche(s) ? Cette action est irréversible.",
"deleteSuccess": "{deleted} tâche(s) supprimée(s) avec succès.",
"deleteFailed": "Échec de la suppression de {failed} tâche(s).",
"deleteError": "Une erreur s'est produite lors de la suppression des tâches. Veuillez réessayer."
},
"auth": {
"email": "E-mail",
"password": "Mot de passe",
"currentPassword": "Mot de passe actuel",
"newPassword": "Mot de passe (laisser vide pour ne pas changer)",
"loginButton": "Connexion",
"registerButton": "S'inscrire",
"updateButton": "Mettre à jour",
"createAccount": "Créer un compte",
"invalidCredentials": "Identifiants invalides.",
"emailInUse": "E-mail déjà utilisé.",
"unauthorized": "Non autorisé",
"cookiesRequired": "Les cookies doivent être activés pour utiliser cette application.",
"noCookies": "Pas de cookie d'authentification, peut-être que votre navigateur bloque les cookies."
},
"setup": {
"welcome": "Bienvenue sur ConvertX-CN !",
"createYourAccount": "Créez votre compte",
"reportIssues": "Signaler des problèmes sur",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Tâche non trouvée.",
"fileNotFound": "Fichier non trouvé.",
"uploadFailed": "Échec du téléversement.",
"conversionFailed": "Échec de la conversion.",
"serverError": "Erreur serveur."
},
"upload": {
"success": "Fichiers téléversés avec succès.",
"dragDrop": "Déposez les fichiers ici"
},
"file": {
"size": "{size} ko"
}
}

106
src/locales/ga.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Cumhachtaithe ag",
"version": "v{version}",
"loading": "Ag lódáil...",
"error": "Earráid",
"success": "Éirithe",
"confirm": "Deimhnigh",
"cancel": "Cealaigh",
"close": "Dún",
"save": "Sábháil",
"delete": "Scrios",
"remove": "Bain",
"download": "Íoslódáil",
"upload": "Uaslódáil",
"submit": "Cuir isteach",
"back": "Siar",
"next": "Ar aghaidh",
"yes": "Tá",
"no": "Níl"
},
"nav": {
"history": "Stair",
"account": "Cuntas",
"logout": "Logáil amach",
"login": "Logáil isteach",
"register": "Cláraigh",
"language": "Teanga"
},
"convert": {
"title": "Tiontaigh",
"titleWithType": "Tiontaigh .{fileType}",
"chooseFile": "Roghnaigh comhad",
"orDragHere": "nó tarraing anseo é",
"searchConversions": "Cuardaigh tiontuithe",
"convertTo": "Tiontaigh go",
"convertButton": "Tiontaigh",
"uploading": "Ag uaslódáil...",
"processing": "Ag próiseáil..."
},
"results": {
"title": "Torthaí",
"convertedFileName": "Ainm an chomhaid tiontaithe",
"status": "Stádas",
"actions": "Gníomhartha",
"downloadAll": "Gach rud",
"downloadTar": "Tar",
"deleteJob": "Scrios",
"noFiles": "Níl aon chomhaid tiontaithe fós.",
"statusPending": "Ar feitheamh",
"statusCompleted": "Críochnaithe",
"statusFailed": "Theip"
},
"history": {
"title": "Torthaí",
"time": "Am",
"files": "Comhaid",
"filesDone": "Comhaid déanta",
"status": "Stádas",
"actions": "Gníomhartha",
"expandDetails": "Leathnaigh sonraí",
"detailedFileInfo": "Eolas mionsonraithe comhaid:",
"deleteSelected": "Scrios roghnaithe",
"selectAll": "Roghnaigh gach rud",
"confirmDelete": "An bhfuil tú cinnte gur mian leat {count} post(anna) a scriosadh? Ní féidir an gníomh seo a chur ar ceal.",
"deleteSuccess": "Scriosadh {deleted} post(anna) go rathúil.",
"deleteFailed": "Theip ar scriosadh {failed} post(anna).",
"deleteError": "Tharla earráid agus postanna á scriosadh. Bain triail eile as."
},
"auth": {
"email": "Ríomhphost",
"password": "Pasfhocal",
"currentPassword": "Pasfhocal reatha",
"newPassword": "Pasfhocal (fág folamh mura n-athraítear)",
"loginButton": "Logáil isteach",
"registerButton": "Cláraigh",
"updateButton": "Nuashonraigh",
"createAccount": "Cruthaigh cuntas",
"invalidCredentials": "Dintiúir neamhbhailí.",
"emailInUse": "Tá an ríomhphost in úsáid cheana.",
"unauthorized": "Neamhúdaraithe",
"cookiesRequired": "Ba chóir fianáin a chumasú chun an feidhmchlár seo a úsáid.",
"noCookies": "Níl aon fhianán fíordheimhnithe, b'fhéidir go bhfuil do bhrabhsálaí ag blocáil fianáin."
},
"setup": {
"welcome": "Fáilte go ConvertX-CN!",
"createYourAccount": "Cruthaigh do chuntas",
"reportIssues": "Tuairiscigh aon fhadhbanna ar",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Níor aimsíodh an post.",
"fileNotFound": "Níor aimsíodh an comhad.",
"uploadFailed": "Theip ar an uaslódáil.",
"conversionFailed": "Theip ar an tiontú.",
"serverError": "Earráid freastalaí."
},
"upload": {
"success": "Uaslódáladh comhaid go rathúil.",
"dragDrop": "Scaoil comhaid anseo"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/gl.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Impulsado por",
"version": "v{version}",
"loading": "Cargando...",
"error": "Erro",
"success": "Éxito",
"confirm": "Confirmar",
"cancel": "Cancelar",
"close": "Pechar",
"save": "Gardar",
"delete": "Eliminar",
"remove": "Quitar",
"download": "Descargar",
"upload": "Subir",
"submit": "Enviar",
"back": "Atrás",
"next": "Seguinte",
"yes": "Si",
"no": "Non"
},
"nav": {
"history": "Historial",
"account": "Conta",
"logout": "Pechar sesión",
"login": "Iniciar sesión",
"register": "Rexistrarse",
"language": "Idioma"
},
"convert": {
"title": "Converter",
"titleWithType": "Converter .{fileType}",
"chooseFile": "Escolle un ficheiro",
"orDragHere": "ou arrástreo aquí",
"searchConversions": "Buscar conversións",
"convertTo": "Converter a",
"convertButton": "Converter",
"uploading": "Subindo...",
"processing": "Procesando..."
},
"results": {
"title": "Resultados",
"convertedFileName": "Nome do ficheiro convertido",
"status": "Estado",
"actions": "Accións",
"downloadAll": "Todo",
"downloadTar": "Tar",
"deleteJob": "Eliminar",
"noFiles": "Aínda non se converteron ficheiros.",
"statusPending": "Pendente",
"statusCompleted": "Completado",
"statusFailed": "Fallou"
},
"history": {
"title": "Resultados",
"time": "Hora",
"files": "Ficheiros",
"filesDone": "Ficheiros completados",
"status": "Estado",
"actions": "Accións",
"expandDetails": "Ampliar detalles",
"detailedFileInfo": "Información detallada do ficheiro:",
"deleteSelected": "Eliminar seleccionados",
"selectAll": "Seleccionar todo",
"confirmDelete": "Estás seguro de que queres eliminar {count} traballo(s)? Esta acción non se pode desfacer.",
"deleteSuccess": "Elimináronse {deleted} traballo(s) correctamente.",
"deleteFailed": "Non se puideron eliminar {failed} traballo(s).",
"deleteError": "Produciuse un erro ao eliminar os traballos. Por favor, téntao de novo."
},
"auth": {
"email": "Correo electrónico",
"password": "Contrasinal",
"currentPassword": "Contrasinal actual",
"newPassword": "Contrasinal (deixa en branco se non cambia)",
"loginButton": "Iniciar sesión",
"registerButton": "Rexistrarse",
"updateButton": "Actualizar",
"createAccount": "Crear conta",
"invalidCredentials": "Credenciais non válidas.",
"emailInUse": "O correo electrónico xa está en uso.",
"unauthorized": "Non autorizado",
"cookiesRequired": "As cookies deben estar habilitadas para usar esta aplicación.",
"noCookies": "Non hai cookie de autenticación, quizais o teu navegador bloquea as cookies."
},
"setup": {
"welcome": "Benvido a ConvertX-CN!",
"createYourAccount": "Crea a túa conta",
"reportIssues": "Informa de calquera problema en",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Traballo non atopado.",
"fileNotFound": "Ficheiro non atopado.",
"uploadFailed": "Erro ao subir.",
"conversionFailed": "Erro na conversión.",
"serverError": "Erro do servidor."
},
"upload": {
"success": "Ficheiros subidos correctamente.",
"dragDrop": "Solta os ficheiros aquí"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/gu.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "દ્વારા સંચાલિત",
"version": "v{version}",
"loading": "લોડ થઈ રહ્યું છે...",
"error": "ભૂલ",
"success": "સફળતા",
"confirm": "પુષ્ટિ કરો",
"cancel": "રદ કરો",
"close": "બંધ કરો",
"save": "સાચવો",
"delete": "કાઢી નાખો",
"remove": "દૂર કરો",
"download": "ડાઉનલોડ કરો",
"upload": "અપલોડ કરો",
"submit": "સબમિટ કરો",
"back": "પાછા",
"next": "આગળ",
"yes": "હા",
"no": "ના"
},
"nav": {
"history": "ઇતિહાસ",
"account": "એકાઉન્ટ",
"logout": "લૉગઆઉટ",
"login": "લૉગિન",
"register": "નોંધણી કરો",
"language": "ભાષા"
},
"convert": {
"title": "રૂપાંતર કરો",
"titleWithType": ".{fileType} રૂપાંતર કરો",
"chooseFile": "ફાઇલ પસંદ કરો",
"orDragHere": "અથવા અહીં ખેંચો",
"searchConversions": "રૂપાંતરણો શોધો",
"convertTo": "આમાં રૂપાંતર કરો",
"convertButton": "રૂપાંતર કરો",
"uploading": "અપલોડ થઈ રહ્યું છે...",
"processing": "પ્રક્રિયા થઈ રહી છે..."
},
"results": {
"title": "પરિણામો",
"convertedFileName": "રૂપાંતરિત ફાઇલ નામ",
"status": "સ્થિતિ",
"actions": "ક્રિયાઓ",
"downloadAll": "બધું",
"downloadTar": "Tar",
"deleteJob": "કાઢી નાખો",
"noFiles": "હજી કોઈ ફાઇલ રૂપાંતરિત થઈ નથી.",
"statusPending": "બાકી",
"statusCompleted": "પૂર્ણ",
"statusFailed": "નિષ્ફળ"
},
"history": {
"title": "પરિણામો",
"time": "સમય",
"files": "ફાઇલો",
"filesDone": "પૂર્ણ થયેલ ફાઇલો",
"status": "સ્થિતિ",
"actions": "ક્રિયાઓ",
"expandDetails": "વિગતો વિસ્તૃત કરો",
"detailedFileInfo": "વિગતવાર ફાઇલ માહિતી:",
"deleteSelected": "પસંદ કરેલ કાઢી નાખો",
"selectAll": "બધું પસંદ કરો",
"confirmDelete": "શું તમે ખાતરી છો કે તમે {count} જોબ કાઢી નાખવા માંગો છો? આ ક્રિયા પૂર્વવત થઈ શકતી નથી.",
"deleteSuccess": "{deleted} જોબ સફળતાપૂર્વક કાઢી નાખવામાં આવ્યા.",
"deleteFailed": "{failed} જોબ કાઢી નાખવામાં નિષ્ફળ.",
"deleteError": "જોબ કાઢી નાખતી વખતે ભૂલ થઈ. કૃપા કરીને ફરી પ્રયાસ કરો."
},
"auth": {
"email": "ઇમેઇલ",
"password": "પાસવર્ડ",
"currentPassword": "વર્તમાન પાસવર્ડ",
"newPassword": "પાસવર્ડ (બદલવું નથી તો ખાલી રાખો)",
"loginButton": "લૉગિન",
"registerButton": "નોંધણી કરો",
"updateButton": "અપડેટ કરો",
"createAccount": "એકાઉન્ટ બનાવો",
"invalidCredentials": "અમાન્ય ઓળખાણ.",
"emailInUse": "ઇમેઇલ પહેલેથી વપરાશમાં છે.",
"unauthorized": "અનધિકૃત",
"cookiesRequired": "આ એપ વાપરવા માટે કૂકીઝ સક્ષમ હોવી જોઈએ.",
"noCookies": "કોઈ પ્રમાણીકરણ કૂકી નથી, કદાચ તમારું બ્રાઉઝર કૂકીઝ અવરોધિત કરી રહ્યું છે."
},
"setup": {
"welcome": "ConvertX-CN માં સ્વાગત છે!",
"createYourAccount": "તમારું એકાઉન્ટ બનાવો",
"reportIssues": "સમસ્યાઓ જણાવો",
"github": "GitHub"
},
"errors": {
"jobNotFound": "જોબ મળ્યો નથી.",
"fileNotFound": "ફાઇલ મળી નથી.",
"uploadFailed": "અપલોડ નિષ્ફળ.",
"conversionFailed": "રૂપાંતર નિષ્ફળ.",
"serverError": "સર્વર ભૂલ."
},
"upload": {
"success": "ફાઇલો સફળતાપૂર્વક અપલોડ થઈ.",
"dragDrop": "ફાઇલો અહીં છોડો"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/he.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "מופעל על ידי",
"version": "v{version}",
"loading": "טוען...",
"error": "שגיאה",
"success": "הצלחה",
"confirm": "אישור",
"cancel": "ביטול",
"close": "סגור",
"save": "שמור",
"delete": "מחק",
"remove": "הסר",
"download": "הורד",
"upload": "העלה",
"submit": "שלח",
"back": "חזור",
"next": "הבא",
"yes": "כן",
"no": "לא"
},
"nav": {
"history": "היסטוריה",
"account": "חשבון",
"logout": "התנתק",
"login": "התחבר",
"register": "הירשם",
"language": "שפה"
},
"convert": {
"title": "המר",
"titleWithType": "המר .{fileType}",
"chooseFile": "בחר קובץ",
"orDragHere": "או גרור לכאן",
"searchConversions": "חפש המרות",
"convertTo": "המר ל",
"convertButton": "המר",
"uploading": "מעלה...",
"processing": "מעבד..."
},
"results": {
"title": "תוצאות",
"convertedFileName": "שם הקובץ המומר",
"status": "סטטוס",
"actions": "פעולות",
"downloadAll": "הכל",
"downloadTar": "Tar",
"deleteJob": "מחק",
"noFiles": "עדיין לא הומרו קבצים.",
"statusPending": "ממתין",
"statusCompleted": "הושלם",
"statusFailed": "נכשל"
},
"history": {
"title": "תוצאות",
"time": "זמן",
"files": "קבצים",
"filesDone": "קבצים שהושלמו",
"status": "סטטוס",
"actions": "פעולות",
"expandDetails": "הרחב פרטים",
"detailedFileInfo": "מידע מפורט על הקובץ:",
"deleteSelected": "מחק נבחרים",
"selectAll": "בחר הכל",
"confirmDelete": "האם אתה בטוח שברצונך למחוק {count} משימה/ות? פעולה זו אינה ניתנת לביטול.",
"deleteSuccess": "נמחקו בהצלחה {deleted} משימה/ות.",
"deleteFailed": "נכשלה מחיקת {failed} משימה/ות.",
"deleteError": "אירעה שגיאה בעת מחיקת משימות. נסה שוב."
},
"auth": {
"email": "דוא\"ל",
"password": "סיסמה",
"currentPassword": "סיסמה נוכחית",
"newPassword": "סיסמה (השאר ריק אם לא משתנה)",
"loginButton": "התחבר",
"registerButton": "הירשם",
"updateButton": "עדכן",
"createAccount": "צור חשבון",
"invalidCredentials": "פרטי התחברות שגויים.",
"emailInUse": "הדוא\"ל כבר בשימוש.",
"unauthorized": "לא מורשה",
"cookiesRequired": "יש להפעיל עוגיות כדי להשתמש באפליקציה זו.",
"noCookies": "אין עוגיית אימות, ייתכן שהדפדפן שלך חוסם עוגיות."
},
"setup": {
"welcome": "ברוכים הבאים ל-ConvertX-CN!",
"createYourAccount": "צור את החשבון שלך",
"reportIssues": "דווח על בעיות ב",
"github": "GitHub"
},
"errors": {
"jobNotFound": "המשימה לא נמצאה.",
"fileNotFound": "הקובץ לא נמצא.",
"uploadFailed": "ההעלאה נכשלה.",
"conversionFailed": "ההמרה נכשלה.",
"serverError": "שגיאת שרת."
},
"upload": {
"success": "הקבצים הועלו בהצלחה.",
"dragDrop": "גרור קבצים לכאן"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/hi.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "द्वारा संचालित",
"version": "v{version}",
"loading": "लोड हो रहा है...",
"error": "त्रुटि",
"success": "सफलता",
"confirm": "पुष्टि करें",
"cancel": "रद्द करें",
"close": "बंद करें",
"save": "सहेजें",
"delete": "हटाएं",
"remove": "निकालें",
"download": "डाउनलोड",
"upload": "अपलोड",
"submit": "जमा करें",
"back": "वापस",
"next": "अगला",
"yes": "हाँ",
"no": "नहीं"
},
"nav": {
"history": "इतिहास",
"account": "खाता",
"logout": "लॉग आउट",
"login": "लॉग इन",
"register": "पंजीकरण",
"language": "भाषा"
},
"convert": {
"title": "कन्वर्ट करें",
"titleWithType": ".{fileType} कन्वर्ट करें",
"chooseFile": "एक फ़ाइल चुनें",
"orDragHere": "या यहाँ खींचें",
"searchConversions": "रूपांतरण खोजें",
"convertTo": "में कन्वर्ट करें",
"convertButton": "कन्वर्ट करें",
"uploading": "अपलोड हो रहा है...",
"processing": "प्रोसेसिंग..."
},
"results": {
"title": "परिणाम",
"convertedFileName": "कन्वर्ट की गई फ़ाइल का नाम",
"status": "स्थिति",
"actions": "कार्रवाई",
"downloadAll": "सभी",
"downloadTar": "Tar",
"deleteJob": "हटाएं",
"noFiles": "अभी तक कोई फ़ाइल कन्वर्ट नहीं हुई।",
"statusPending": "लंबित",
"statusCompleted": "पूर्ण",
"statusFailed": "विफल"
},
"history": {
"title": "परिणाम",
"time": "समय",
"files": "फ़ाइलें",
"filesDone": "पूर्ण फ़ाइलें",
"status": "स्थिति",
"actions": "कार्रवाई",
"expandDetails": "विवरण विस्तार करें",
"detailedFileInfo": "विस्तृत फ़ाइल जानकारी:",
"deleteSelected": "चयनित हटाएं",
"selectAll": "सभी चुनें",
"confirmDelete": "क्या आप वाकई {count} कार्य हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।",
"deleteSuccess": "{deleted} कार्य सफलतापूर्वक हटाए गए।",
"deleteFailed": "{failed} कार्य हटाने में विफल।",
"deleteError": "कार्य हटाते समय त्रुटि हुई। कृपया पुनः प्रयास करें।"
},
"auth": {
"email": "ईमेल",
"password": "पासवर्ड",
"currentPassword": "वर्तमान पासवर्ड",
"newPassword": "पासवर्ड (अपरिवर्तित के लिए खाली छोड़ें)",
"loginButton": "लॉग इन",
"registerButton": "पंजीकरण",
"updateButton": "अपडेट करें",
"createAccount": "खाता बनाएं",
"invalidCredentials": "अमान्य क्रेडेंशियल।",
"emailInUse": "ईमेल पहले से उपयोग में है।",
"unauthorized": "अनधिकृत",
"cookiesRequired": "इस ऐप का उपयोग करने के लिए कुकीज़ सक्षम होनी चाहिए।",
"noCookies": "कोई प्रमाणीकरण कुकी नहीं, शायद आपका ब्राउज़र कुकीज़ को ब्लॉक कर रहा है।"
},
"setup": {
"welcome": "ConvertX-CN में आपका स्वागत है!",
"createYourAccount": "अपना खाता बनाएं",
"reportIssues": "समस्याओं की रिपोर्ट करें",
"github": "GitHub"
},
"errors": {
"jobNotFound": "कार्य नहीं मिला।",
"fileNotFound": "फ़ाइल नहीं मिली।",
"uploadFailed": "अपलोड विफल।",
"conversionFailed": "रूपांतरण विफल।",
"serverError": "सर्वर त्रुटि।"
},
"upload": {
"success": "फ़ाइलें सफलतापूर्वक अपलोड हुईं।",
"dragDrop": "फ़ाइलें यहाँ छोड़ें"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/hr.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Pokreće",
"version": "v{version}",
"loading": "Učitavanje...",
"error": "Greška",
"success": "Uspjeh",
"confirm": "Potvrdi",
"cancel": "Odustani",
"close": "Zatvori",
"save": "Spremi",
"delete": "Obriši",
"remove": "Ukloni",
"download": "Preuzmi",
"upload": "Prenesi",
"submit": "Pošalji",
"back": "Natrag",
"next": "Sljedeće",
"yes": "Da",
"no": "Ne"
},
"nav": {
"history": "Povijest",
"account": "Račun",
"logout": "Odjava",
"login": "Prijava",
"register": "Registracija",
"language": "Jezik"
},
"convert": {
"title": "Pretvori",
"titleWithType": "Pretvori .{fileType}",
"chooseFile": "Odaberite datoteku",
"orDragHere": "ili je povucite ovdje",
"searchConversions": "Pretraži pretvorbe",
"convertTo": "Pretvori u",
"convertButton": "Pretvori",
"uploading": "Prijenos...",
"processing": "Obrada..."
},
"results": {
"title": "Rezultati",
"convertedFileName": "Naziv pretvorene datoteke",
"status": "Status",
"actions": "Radnje",
"downloadAll": "Sve",
"downloadTar": "Tar",
"deleteJob": "Obriši",
"noFiles": "Još nema pretvorenih datoteka.",
"statusPending": "Na čekanju",
"statusCompleted": "Završeno",
"statusFailed": "Neuspjelo"
},
"history": {
"title": "Rezultati",
"time": "Vrijeme",
"files": "Datoteke",
"filesDone": "Završene datoteke",
"status": "Status",
"actions": "Radnje",
"expandDetails": "Proširi detalje",
"detailedFileInfo": "Detaljne informacije o datoteci:",
"deleteSelected": "Obriši odabrano",
"selectAll": "Odaberi sve",
"confirmDelete": "Jeste li sigurni da želite obrisati {count} zadatak(e)? Ova radnja se ne može poništiti.",
"deleteSuccess": "Uspješno obrisano {deleted} zadatak(a).",
"deleteFailed": "Nije uspjelo brisanje {failed} zadatak(a).",
"deleteError": "Došlo je do greške prilikom brisanja zadataka. Molimo pokušajte ponovo."
},
"auth": {
"email": "E-pošta",
"password": "Lozinka",
"currentPassword": "Trenutna lozinka",
"newPassword": "Lozinka (ostavite prazno za nepromijenjeno)",
"loginButton": "Prijava",
"registerButton": "Registracija",
"updateButton": "Ažuriraj",
"createAccount": "Stvori račun",
"invalidCredentials": "Nevažeće vjerodajnice.",
"emailInUse": "E-pošta je već u upotrebi.",
"unauthorized": "Neovlašteno",
"cookiesRequired": "Kolačići moraju biti omogućeni za korištenje ove aplikacije.",
"noCookies": "Nema kolačića za autentifikaciju, možda vaš preglednik blokira kolačiće."
},
"setup": {
"welcome": "Dobrodošli u ConvertX-CN!",
"createYourAccount": "Stvorite svoj račun",
"reportIssues": "Prijavite probleme na",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Zadatak nije pronađen.",
"fileNotFound": "Datoteka nije pronađena.",
"uploadFailed": "Prijenos nije uspio.",
"conversionFailed": "Pretvorba nije uspjela.",
"serverError": "Greška poslužitelja."
},
"upload": {
"success": "Datoteke su uspješno prenesene.",
"dragDrop": "Ispustite datoteke ovdje"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/hu.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Működteti",
"version": "v{version}",
"loading": "Betöltés...",
"error": "Hiba",
"success": "Sikeres",
"confirm": "Megerősítés",
"cancel": "Mégse",
"close": "Bezárás",
"save": "Mentés",
"delete": "Törlés",
"remove": "Eltávolítás",
"download": "Letöltés",
"upload": "Feltöltés",
"submit": "Küldés",
"back": "Vissza",
"next": "Következő",
"yes": "Igen",
"no": "Nem"
},
"nav": {
"history": "Előzmények",
"account": "Fiók",
"logout": "Kijelentkezés",
"login": "Bejelentkezés",
"register": "Regisztráció",
"language": "Nyelv"
},
"convert": {
"title": "Konvertálás",
"titleWithType": ".{fileType} konvertálása",
"chooseFile": "Válasszon fájlt",
"orDragHere": "vagy húzza ide",
"searchConversions": "Konverziók keresése",
"convertTo": "Konvertálás erre",
"convertButton": "Konvertálás",
"uploading": "Feltöltés...",
"processing": "Feldolgozás..."
},
"results": {
"title": "Eredmények",
"convertedFileName": "Konvertált fájlnév",
"status": "Állapot",
"actions": "Műveletek",
"downloadAll": "Mind",
"downloadTar": "Tar",
"deleteJob": "Törlés",
"noFiles": "Még nincsenek konvertált fájlok.",
"statusPending": "Függőben",
"statusCompleted": "Befejezve",
"statusFailed": "Sikertelen"
},
"history": {
"title": "Eredmények",
"time": "Idő",
"files": "Fájlok",
"filesDone": "Kész fájlok",
"status": "Állapot",
"actions": "Műveletek",
"expandDetails": "Részletek kibontása",
"detailedFileInfo": "Részletes fájlinformáció:",
"deleteSelected": "Kiválasztottak törlése",
"selectAll": "Összes kijelölése",
"confirmDelete": "Biztosan törölni szeretné a(z) {count} feladatot? Ez a művelet nem vonható vissza.",
"deleteSuccess": "Sikeresen törölve {deleted} feladat.",
"deleteFailed": "Nem sikerült törölni {failed} feladatot.",
"deleteError": "Hiba történt a feladatok törlésekor. Kérjük, próbálja újra."
},
"auth": {
"email": "E-mail",
"password": "Jelszó",
"currentPassword": "Jelenlegi jelszó",
"newPassword": "Jelszó (hagyja üresen, ha változatlan)",
"loginButton": "Bejelentkezés",
"registerButton": "Regisztráció",
"updateButton": "Frissítés",
"createAccount": "Fiók létrehozása",
"invalidCredentials": "Érvénytelen hitelesítő adatok.",
"emailInUse": "Az e-mail már használatban van.",
"unauthorized": "Jogosulatlan",
"cookiesRequired": "A sütiknek engedélyezve kell lenniük az alkalmazás használatához.",
"noCookies": "Nincs hitelesítési süti, talán a böngészője blokkolja a sütiket."
},
"setup": {
"welcome": "Üdvözöljük a ConvertX-CN-ben!",
"createYourAccount": "Hozza létre fiókját",
"reportIssues": "Jelentse a problémákat a",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Feladat nem található.",
"fileNotFound": "Fájl nem található.",
"uploadFailed": "Feltöltés sikertelen.",
"conversionFailed": "Konvertálás sikertelen.",
"serverError": "Szerverhiba."
},
"upload": {
"success": "Fájlok sikeresen feltöltve.",
"dragDrop": "Húzza ide a fájlokat"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/id.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Didukung oleh",
"version": "v{version}",
"loading": "Memuat...",
"error": "Kesalahan",
"success": "Berhasil",
"confirm": "Konfirmasi",
"cancel": "Batal",
"close": "Tutup",
"save": "Simpan",
"delete": "Hapus",
"remove": "Hapus",
"download": "Unduh",
"upload": "Unggah",
"submit": "Kirim",
"back": "Kembali",
"next": "Berikutnya",
"yes": "Ya",
"no": "Tidak"
},
"nav": {
"history": "Riwayat",
"account": "Akun",
"logout": "Keluar",
"login": "Masuk",
"register": "Daftar",
"language": "Bahasa"
},
"convert": {
"title": "Konversi",
"titleWithType": "Konversi .{fileType}",
"chooseFile": "Pilih file",
"orDragHere": "atau seret ke sini",
"searchConversions": "Cari konversi",
"convertTo": "Konversi ke",
"convertButton": "Konversi",
"uploading": "Mengunggah...",
"processing": "Memproses..."
},
"results": {
"title": "Hasil",
"convertedFileName": "Nama File Terkonversi",
"status": "Status",
"actions": "Tindakan",
"downloadAll": "Semua",
"downloadTar": "Tar",
"deleteJob": "Hapus",
"noFiles": "Belum ada file yang dikonversi.",
"statusPending": "Menunggu",
"statusCompleted": "Selesai",
"statusFailed": "Gagal"
},
"history": {
"title": "Hasil",
"time": "Waktu",
"files": "File",
"filesDone": "File Selesai",
"status": "Status",
"actions": "Tindakan",
"expandDetails": "Perluas detail",
"detailedFileInfo": "Informasi File Detail:",
"deleteSelected": "Hapus Terpilih",
"selectAll": "Pilih semua",
"confirmDelete": "Apakah Anda yakin ingin menghapus {count} pekerjaan? Tindakan ini tidak dapat dibatalkan.",
"deleteSuccess": "Berhasil menghapus {deleted} pekerjaan.",
"deleteFailed": "Gagal menghapus {failed} pekerjaan.",
"deleteError": "Terjadi kesalahan saat menghapus pekerjaan. Silakan coba lagi."
},
"auth": {
"email": "Email",
"password": "Kata Sandi",
"currentPassword": "Kata Sandi Saat Ini",
"newPassword": "Kata Sandi (kosongkan jika tidak berubah)",
"loginButton": "Masuk",
"registerButton": "Daftar",
"updateButton": "Perbarui",
"createAccount": "Buat akun",
"invalidCredentials": "Kredensial tidak valid.",
"emailInUse": "Email sudah digunakan.",
"unauthorized": "Tidak diizinkan",
"cookiesRequired": "Cookie harus diaktifkan untuk menggunakan aplikasi ini.",
"noCookies": "Tidak ada cookie autentikasi, mungkin browser Anda memblokir cookie."
},
"setup": {
"welcome": "Selamat datang di ConvertX-CN!",
"createYourAccount": "Buat akun Anda",
"reportIssues": "Laporkan masalah di",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Pekerjaan tidak ditemukan.",
"fileNotFound": "File tidak ditemukan.",
"uploadFailed": "Unggahan gagal.",
"conversionFailed": "Konversi gagal.",
"serverError": "Kesalahan server."
},
"upload": {
"success": "File berhasil diunggah.",
"dragDrop": "Letakkan file di sini"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/is.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Keyrt af",
"version": "v{version}",
"loading": "Hleður...",
"error": "Villa",
"success": "Tókst",
"confirm": "Staðfesta",
"cancel": "Hætta við",
"close": "Loka",
"save": "Vista",
"delete": "Eyða",
"remove": "Fjarlægja",
"download": "Hlaða niður",
"upload": "Hlaða upp",
"submit": "Senda",
"back": "Til baka",
"next": "Næsta",
"yes": "Já",
"no": "Nei"
},
"nav": {
"history": "Saga",
"account": "Reikningur",
"logout": "Útskrá",
"login": "Innskrá",
"register": "Nýskrá",
"language": "Tungumál"
},
"convert": {
"title": "Umbreyta",
"titleWithType": "Umbreyta .{fileType}",
"chooseFile": "Veldu skrá",
"orDragHere": "eða dragðu hana hingað",
"searchConversions": "Leita að umbreytingum",
"convertTo": "Umbreyta í",
"convertButton": "Umbreyta",
"uploading": "Hleður upp...",
"processing": "Vinnur úr..."
},
"results": {
"title": "Niðurstöður",
"convertedFileName": "Nafn umbreyttrar skráar",
"status": "Staða",
"actions": "Aðgerðir",
"downloadAll": "Allt",
"downloadTar": "Tar",
"deleteJob": "Eyða",
"noFiles": "Engar skrár hafa verið umbreyttar ennþá.",
"statusPending": "Í bið",
"statusCompleted": "Lokið",
"statusFailed": "Mistókst"
},
"history": {
"title": "Niðurstöður",
"time": "Tími",
"files": "Skrár",
"filesDone": "Loknar skrár",
"status": "Staða",
"actions": "Aðgerðir",
"expandDetails": "Sýna nánar",
"detailedFileInfo": "Ítarlegar skráarupplýsingar:",
"deleteSelected": "Eyða völdum",
"selectAll": "Velja allt",
"confirmDelete": "Ertu viss um að þú viljir eyða {count} verki(um)? Þessa aðgerð er ekki hægt að afturkalla.",
"deleteSuccess": "{deleted} verk(um) eytt.",
"deleteFailed": "Ekki tókst að eyða {failed} verki(um).",
"deleteError": "Villa kom upp við að eyða verkum. Vinsamlegast reyndu aftur."
},
"auth": {
"email": "Netfang",
"password": "Lykilorð",
"currentPassword": "Núverandi lykilorð",
"newPassword": "Lykilorð (skildu eftir autt ef óbreytt)",
"loginButton": "Innskrá",
"registerButton": "Nýskrá",
"updateButton": "Uppfæra",
"createAccount": "Stofna reikning",
"invalidCredentials": "Ógild skilríki.",
"emailInUse": "Netfang er þegar í notkun.",
"unauthorized": "Óheimilt",
"cookiesRequired": "Vefkökur þurfa að vera virkar til að nota þetta forrit.",
"noCookies": "Engin auðkenningarkaka, kannski vafrinn þinn lokar á vefkökur."
},
"setup": {
"welcome": "Velkomin í ConvertX-CN!",
"createYourAccount": "Stofnaðu reikninginn þinn",
"reportIssues": "Tilkynntu vandamál á",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Verk fannst ekki.",
"fileNotFound": "Skrá fannst ekki.",
"uploadFailed": "Upphleðsla mistókst.",
"conversionFailed": "Umbreyting mistókst.",
"serverError": "Villa á þjóni."
},
"upload": {
"success": "Skrár hlaðnar upp.",
"dragDrop": "Slepptu skrám hér"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/it.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Offerto da",
"version": "v{version}",
"loading": "Caricamento...",
"error": "Errore",
"success": "Successo",
"confirm": "Conferma",
"cancel": "Annulla",
"close": "Chiudi",
"save": "Salva",
"delete": "Elimina",
"remove": "Rimuovi",
"download": "Scarica",
"upload": "Carica",
"submit": "Invia",
"back": "Indietro",
"next": "Avanti",
"yes": "Sì",
"no": "No"
},
"nav": {
"history": "Cronologia",
"account": "Account",
"logout": "Esci",
"login": "Accedi",
"register": "Registrati",
"language": "Lingua"
},
"convert": {
"title": "Converti",
"titleWithType": "Converti .{fileType}",
"chooseFile": "Scegli un file",
"orDragHere": "o trascinalo qui",
"searchConversions": "Cerca conversioni",
"convertTo": "Converti in",
"convertButton": "Converti",
"uploading": "Caricamento...",
"processing": "Elaborazione..."
},
"results": {
"title": "Risultati",
"convertedFileName": "Nome file convertito",
"status": "Stato",
"actions": "Azioni",
"downloadAll": "Tutto",
"downloadTar": "Tar",
"deleteJob": "Elimina",
"noFiles": "Nessun file convertito ancora.",
"statusPending": "In attesa",
"statusCompleted": "Completato",
"statusFailed": "Fallito"
},
"history": {
"title": "Risultati",
"time": "Ora",
"files": "File",
"filesDone": "File completati",
"status": "Stato",
"actions": "Azioni",
"expandDetails": "Espandi dettagli",
"detailedFileInfo": "Informazioni dettagliate sul file:",
"deleteSelected": "Elimina selezionati",
"selectAll": "Seleziona tutto",
"confirmDelete": "Sei sicuro di voler eliminare {count} lavoro/i? Questa azione non può essere annullata.",
"deleteSuccess": "{deleted} lavoro/i eliminato/i con successo.",
"deleteFailed": "Impossibile eliminare {failed} lavoro/i.",
"deleteError": "Si è verificato un errore durante l'eliminazione dei lavori. Riprova."
},
"auth": {
"email": "Email",
"password": "Password",
"currentPassword": "Password attuale",
"newPassword": "Password (lascia vuoto per non modificare)",
"loginButton": "Accedi",
"registerButton": "Registrati",
"updateButton": "Aggiorna",
"createAccount": "Crea account",
"invalidCredentials": "Credenziali non valide.",
"emailInUse": "Email già in uso.",
"unauthorized": "Non autorizzato",
"cookiesRequired": "I cookie devono essere abilitati per utilizzare questa app.",
"noCookies": "Nessun cookie di autenticazione, forse il tuo browser sta bloccando i cookie."
},
"setup": {
"welcome": "Benvenuto su ConvertX-CN!",
"createYourAccount": "Crea il tuo account",
"reportIssues": "Segnala problemi su",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Lavoro non trovato.",
"fileNotFound": "File non trovato.",
"uploadFailed": "Caricamento fallito.",
"conversionFailed": "Conversione fallita.",
"serverError": "Errore del server."
},
"upload": {
"success": "File caricati con successo.",
"dragDrop": "Trascina i file qui"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/km.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "ដំណើរការដោយ",
"version": "v{version}",
"loading": "កំពុងផ្ទុក...",
"error": "កំហុស",
"success": "ជោគជ័យ",
"confirm": "បញ្ជាក់",
"cancel": "បោះបង់",
"close": "បិទ",
"save": "រក្សាទុក",
"delete": "លុប",
"remove": "ដកចេញ",
"download": "ទាញយក",
"upload": "ផ្ទុកឡើង",
"submit": "ដាក់ស្នើ",
"back": "ថយក្រោយ",
"next": "បន្ទាប់",
"yes": "បាទ/ចាស",
"no": "ទេ"
},
"nav": {
"history": "ប្រវត្តិ",
"account": "គណនី",
"logout": "ចាកចេញ",
"login": "ចូល",
"register": "ចុះឈ្មោះ",
"language": "ភាសា"
},
"convert": {
"title": "បម្លែង",
"titleWithType": "បម្លែង .{fileType}",
"chooseFile": "ជ្រើសរើសឯកសារ",
"orDragHere": "ឬអូសមកទីនេះ",
"searchConversions": "ស្វែងរកការបម្លែង",
"convertTo": "បម្លែងទៅ",
"convertButton": "បម្លែង",
"uploading": "កំពុងផ្ទុកឡើង...",
"processing": "កំពុងដំណើរការ..."
},
"results": {
"title": "លទ្ធផល",
"convertedFileName": "ឈ្មោះឯកសារដែលបានបម្លែង",
"status": "ស្ថានភាព",
"actions": "សកម្មភាព",
"downloadAll": "ទាំងអស់",
"downloadTar": "Tar",
"deleteJob": "លុប",
"noFiles": "មិនទាន់មានឯកសារដែលបានបម្លែងទេ។",
"statusPending": "កំពុងរង់ចាំ",
"statusCompleted": "បានបញ្ចប់",
"statusFailed": "បរាជ័យ"
},
"history": {
"title": "លទ្ធផល",
"time": "ពេលវេលា",
"files": "ឯកសារ",
"filesDone": "ឯកសារបានបញ្ចប់",
"status": "ស្ថានភាព",
"actions": "សកម្មភាព",
"expandDetails": "ពង្រីកព័ត៌មានលម្អិត",
"detailedFileInfo": "ព័ត៌មានលម្អិតឯកសារ:",
"deleteSelected": "លុបដែលបានជ្រើសរើស",
"selectAll": "ជ្រើសរើសទាំងអស់",
"confirmDelete": "តើអ្នកប្រាកដថាចង់លុបការងារ {count}? សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។",
"deleteSuccess": "បានលុបការងារ {deleted} ដោយជោគជ័យ។",
"deleteFailed": "បរាជ័យក្នុងការលុបការងារ {failed}។",
"deleteError": "មានកំហុសកើតឡើងពេលលុបការងារ។ សូមព្យាយាមម្តងទៀត។"
},
"auth": {
"email": "អ៊ីមែល",
"password": "ពាក្យសម្ងាត់",
"currentPassword": "ពាក្យសម្ងាត់បច្ចុប្បន្ន",
"newPassword": "ពាក្យសម្ងាត់ (ទុកទទេបើមិនប្តូរ)",
"loginButton": "ចូល",
"registerButton": "ចុះឈ្មោះ",
"updateButton": "ធ្វើបច្ចុប្បន្នភាព",
"createAccount": "បង្កើតគណនី",
"invalidCredentials": "ព័ត៌មានសម្គាល់មិនត្រឹមត្រូវ។",
"emailInUse": "អ៊ីមែលមាននរណាប្រើរួចហើយ។",
"unauthorized": "គ្មានការអនុញ្ញាត",
"cookiesRequired": "គួរតែបើកខូគីដើម្បីប្រើកម្មវិធីនេះ។",
"noCookies": "គ្មានខូគីផ្ទៀងផ្ទាត់ទេ ប្រហែលជាកម្មវិធីរុករករបស់អ្នកកំពុងបិទខូគី។"
},
"setup": {
"welcome": "សូមស្វាគមន៍មកកាន់ ConvertX-CN!",
"createYourAccount": "បង្កើតគណនីរបស់អ្នក",
"reportIssues": "រាយការណ៍បញ្ហានៅ",
"github": "GitHub"
},
"errors": {
"jobNotFound": "រកមិនឃើញការងារ។",
"fileNotFound": "រកមិនឃើញឯកសារ។",
"uploadFailed": "ការផ្ទុកឡើងបរាជ័យ។",
"conversionFailed": "ការបម្លែងបរាជ័យ។",
"serverError": "កំហុសម៉ាស៊ីនមេ។"
},
"upload": {
"success": "ឯកសារបានផ្ទុកឡើងដោយជោគជ័យ។",
"dragDrop": "ទម្លាក់ឯកសារទីនេះ"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/kn.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "ಮೂಲಕ ಚಾಲಿತ",
"version": "v{version}",
"loading": "ಲೋಡ್ ಆಗುತ್ತಿದೆ...",
"error": "ದೋಷ",
"success": "ಯಶಸ್ಸು",
"confirm": "ದೃಢೀಕರಿಸಿ",
"cancel": "ರದ್ದುಮಾಡಿ",
"close": "ಮುಚ್ಚಿ",
"save": "ಉಳಿಸಿ",
"delete": "ಅಳಿಸಿ",
"remove": "ತೆಗೆದುಹಾಕಿ",
"download": "ಡೌನ್‌ಲೋಡ್",
"upload": "ಅಪ್‌ಲೋಡ್",
"submit": "ಸಲ್ಲಿಸಿ",
"back": "ಹಿಂದೆ",
"next": "ಮುಂದೆ",
"yes": "ಹೌದು",
"no": "ಇಲ್ಲ"
},
"nav": {
"history": "ಇತಿಹಾಸ",
"account": "ಖಾತೆ",
"logout": "ಲಾಗ್ ಔಟ್",
"login": "ಲಾಗಿನ್",
"register": "ನೋಂದಣಿ",
"language": "ಭಾಷೆ"
},
"convert": {
"title": "ಪರಿವರ್ತಿಸಿ",
"titleWithType": ".{fileType} ಪರಿವರ್ತಿಸಿ",
"chooseFile": "ಫೈಲ್ ಆಯ್ಕೆಮಾಡಿ",
"orDragHere": "ಅಥವಾ ಇಲ್ಲಿ ಎಳೆಯಿರಿ",
"searchConversions": "ಪರಿವರ್ತನೆಗಳನ್ನು ಹುಡುಕಿ",
"convertTo": "ಇದಕ್ಕೆ ಪರಿವರ್ತಿಸಿ",
"convertButton": "ಪರಿವರ್ತಿಸಿ",
"uploading": "ಅಪ್‌ಲೋಡ್ ಆಗುತ್ತಿದೆ...",
"processing": "ಪ್ರಕ್ರಿಯೆ ಆಗುತ್ತಿದೆ..."
},
"results": {
"title": "ಫಲಿತಾಂಶಗಳು",
"convertedFileName": "ಪರಿವರ್ತಿತ ಫೈಲ್ ಹೆಸರು",
"status": "ಸ್ಥಿತಿ",
"actions": "ಕ್ರಿಯೆಗಳು",
"downloadAll": "ಎಲ್ಲಾ",
"downloadTar": "Tar",
"deleteJob": "ಅಳಿಸಿ",
"noFiles": "ಇನ್ನೂ ಯಾವುದೇ ಫೈಲ್‌ಗಳು ಪರಿವರ್ತನೆಯಾಗಿಲ್ಲ.",
"statusPending": "ಬಾಕಿ",
"statusCompleted": "ಪೂರ್ಣಗೊಂಡಿದೆ",
"statusFailed": "ವಿಫಲವಾಯಿತು"
},
"history": {
"title": "ಫಲಿತಾಂಶಗಳು",
"time": "ಸಮಯ",
"files": "ಫೈಲ್‌ಗಳು",
"filesDone": "ಮುಗಿದ ಫೈಲ್‌ಗಳು",
"status": "ಸ್ಥಿತಿ",
"actions": "ಕ್ರಿಯೆಗಳು",
"expandDetails": "ವಿವರಗಳನ್ನು ವಿಸ್ತರಿಸಿ",
"detailedFileInfo": "ವಿವರವಾದ ಫೈಲ್ ಮಾಹಿತಿ:",
"deleteSelected": "ಆಯ್ಕೆಮಾಡಿದವುಗಳನ್ನು ಅಳಿಸಿ",
"selectAll": "ಎಲ್ಲಾ ಆಯ್ಕೆಮಾಡಿ",
"confirmDelete": "ನೀವು {count} ಕೆಲಸ(ಗಳನ್ನು) ಅಳಿಸಲು ಖಚಿತವಾಗಿದ್ದೀರಾ? ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.",
"deleteSuccess": "{deleted} ಕೆಲಸ(ಗಳು) ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಗಿದೆ.",
"deleteFailed": "{failed} ಕೆಲಸ(ಗಳನ್ನು) ಅಳಿಸಲು ವಿಫಲವಾಯಿತು.",
"deleteError": "ಕೆಲಸಗಳನ್ನು ಅಳಿಸುವಾಗ ದೋಷ ಸಂಭವಿಸಿದೆ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."
},
"auth": {
"email": "ಇಮೇಲ್",
"password": "ಪಾಸ್‌ವರ್ಡ್",
"currentPassword": "ಪ್ರಸ್ತುತ ಪಾಸ್‌ವರ್ಡ್",
"newPassword": "ಪಾಸ್‌ವರ್ಡ್ (ಬದಲಾಯಿಸದಿದ್ದರೆ ಖಾಲಿ ಬಿಡಿ)",
"loginButton": "ಲಾಗಿನ್",
"registerButton": "ನೋಂದಣಿ",
"updateButton": "ಅಪ್‌ಡೇಟ್",
"createAccount": "ಖಾತೆ ರಚಿಸಿ",
"invalidCredentials": "ಅಮಾನ್ಯ ರುಜುವಾತುಗಳು.",
"emailInUse": "ಇಮೇಲ್ ಈಗಾಗಲೇ ಬಳಕೆಯಲ್ಲಿದೆ.",
"unauthorized": "ಅನಧಿಕೃತ",
"cookiesRequired": "ಈ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ಕುಕೀಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು.",
"noCookies": "ದೃಢೀಕರಣ ಕುಕೀ ಇಲ್ಲ, ನಿಮ್ಮ ಬ್ರೌಸರ್ ಕುಕೀಗಳನ್ನು ತಡೆಯುತ್ತಿರಬಹುದು."
},
"setup": {
"welcome": "ConvertX-CN ಗೆ ಸುಸ್ವಾಗತ!",
"createYourAccount": "ನಿಮ್ಮ ಖಾತೆಯನ್ನು ರಚಿಸಿ",
"reportIssues": "ಸಮಸ್ಯೆಗಳನ್ನು ವರದಿ ಮಾಡಿ",
"github": "GitHub"
},
"errors": {
"jobNotFound": "ಕೆಲಸ ಕಂಡುಬಂದಿಲ್ಲ.",
"fileNotFound": "ಫೈಲ್ ಕಂಡುಬಂದಿಲ್ಲ.",
"uploadFailed": "ಅಪ್‌ಲೋಡ್ ವಿಫಲವಾಯಿತು.",
"conversionFailed": "ಪರಿವರ್ತನೆ ವಿಫಲವಾಯಿತು.",
"serverError": "ಸರ್ವರ್ ದೋಷ."
},
"upload": {
"success": "ಫೈಲ್‌ಗಳು ಯಶಸ್ವಿಯಾಗಿ ಅಪ್‌ಲೋಡ್ ಆಗಿವೆ.",
"dragDrop": "ಫೈಲ್‌ಗಳನ್ನು ಇಲ್ಲಿ ಬಿಡಿ"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/lo.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "ຂັບເຄື່ອນໂດຍ",
"version": "v{version}",
"loading": "ກຳລັງໂຫລດ...",
"error": "ຜິດພາດ",
"success": "ສຳເລັດ",
"confirm": "ຢືນຢັນ",
"cancel": "ຍົກເລີກ",
"close": "ປິດ",
"save": "ບັນທຶກ",
"delete": "ລຶບ",
"remove": "ເອົາອອກ",
"download": "ດາວໂຫລດ",
"upload": "ອັບໂຫລດ",
"submit": "ສົ່ງ",
"back": "ກັບຄືນ",
"next": "ຕໍ່ໄປ",
"yes": "ແມ່ນ",
"no": "ບໍ່"
},
"nav": {
"history": "ປະຫວັດ",
"account": "ບັນຊີ",
"logout": "ອອກຈາກລະບົບ",
"login": "ເຂົ້າສູ່ລະບົບ",
"register": "ລົງທະບຽນ",
"language": "ພາສາ"
},
"convert": {
"title": "ແປງ",
"titleWithType": "ແປງ .{fileType}",
"chooseFile": "ເລືອກໄຟລ໌",
"orDragHere": "ຫຼືລາກມາທີ່ນີ້",
"searchConversions": "ຄົ້ນຫາການແປງ",
"convertTo": "ແປງເປັນ",
"convertButton": "ແປງ",
"uploading": "ກຳລັງອັບໂຫລດ...",
"processing": "ກຳລັງປະມວນຜົນ..."
},
"results": {
"title": "ຜົນລັບ",
"convertedFileName": "ຊື່ໄຟລ໌ທີ່ແປງແລ້ວ",
"status": "ສະຖານະ",
"actions": "ການກະທຳ",
"downloadAll": "ທັງໝົດ",
"downloadTar": "Tar",
"deleteJob": "ລຶບ",
"noFiles": "ຍັງບໍ່ມີໄຟລ໌ຖືກແປງ.",
"statusPending": "ລໍຖ້າ",
"statusCompleted": "ສຳເລັດ",
"statusFailed": "ລົ້ມເຫລວ"
},
"history": {
"title": "ຜົນລັບ",
"time": "ເວລາ",
"files": "ໄຟລ໌",
"filesDone": "ໄຟລ໌ສຳເລັດ",
"status": "ສະຖານະ",
"actions": "ການກະທຳ",
"expandDetails": "ຂະຫຍາຍລາຍລະອຽດ",
"detailedFileInfo": "ຂໍ້ມູນໄຟລ໌ລະອຽດ:",
"deleteSelected": "ລຶບທີ່ເລືອກ",
"selectAll": "ເລືອກທັງໝົດ",
"confirmDelete": "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບ {count} ວຽກ? ການກະທຳນີ້ບໍ່ສາມາດຍ້ອນກັບໄດ້.",
"deleteSuccess": "ລຶບ {deleted} ວຽກສຳເລັດແລ້ວ.",
"deleteFailed": "ລຶບ {failed} ວຽກບໍ່ສຳເລັດ.",
"deleteError": "ເກີດຄວາມຜິດພາດໃນການລຶບວຽກ. ກະລຸນາລອງໃໝ່."
},
"auth": {
"email": "ອີເມວ",
"password": "ລະຫັດຜ່ານ",
"currentPassword": "ລະຫັດຜ່ານປັດຈຸບັນ",
"newPassword": "ລະຫັດຜ່ານ (ປ່ອຍວ່າງຖ້າບໍ່ປ່ຽນ)",
"loginButton": "ເຂົ້າສູ່ລະບົບ",
"registerButton": "ລົງທະບຽນ",
"updateButton": "ອັບເດດ",
"createAccount": "ສ້າງບັນຊີ",
"invalidCredentials": "ຂໍ້ມູນບໍ່ຖືກຕ້ອງ.",
"emailInUse": "ອີເມວນີ້ຖືກໃຊ້ແລ້ວ.",
"unauthorized": "ບໍ່ໄດ້ຮັບອະນຸຍາດ",
"cookiesRequired": "ຕ້ອງເປີດໃຊ້ cookies ເພື່ອໃຊ້ແອັບນີ້.",
"noCookies": "ບໍ່ມີ cookie ຢືນຢັນ, ບາງທີບຣາວເຊີຂອງທ່ານອາດປິດ cookies."
},
"setup": {
"welcome": "ຍິນດີຕ້ອນຮັບສູ່ ConvertX-CN!",
"createYourAccount": "ສ້າງບັນຊີຂອງທ່ານ",
"reportIssues": "ລາຍງານບັນຫາໃນ",
"github": "GitHub"
},
"errors": {
"jobNotFound": "ບໍ່ພົບວຽກ.",
"fileNotFound": "ບໍ່ພົບໄຟລ໌.",
"uploadFailed": "ອັບໂຫລດລົ້ມເຫລວ.",
"conversionFailed": "ການແປງລົ້ມເຫລວ.",
"serverError": "ຜິດພາດເຊີເວີ."
},
"upload": {
"success": "ອັບໂຫລດໄຟລ໌ສຳເລັດແລ້ວ.",
"dragDrop": "ວາງໄຟລ໌ທີ່ນີ້"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/lt.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Veikia su",
"version": "v{version}",
"loading": "Įkeliama...",
"error": "Klaida",
"success": "Sėkmė",
"confirm": "Patvirtinti",
"cancel": "Atšaukti",
"close": "Uždaryti",
"save": "Išsaugoti",
"delete": "Ištrinti",
"remove": "Pašalinti",
"download": "Atsisiųsti",
"upload": "Įkelti",
"submit": "Pateikti",
"back": "Atgal",
"next": "Kitas",
"yes": "Taip",
"no": "Ne"
},
"nav": {
"history": "Istorija",
"account": "Paskyra",
"logout": "Atsijungti",
"login": "Prisijungti",
"register": "Registruotis",
"language": "Kalba"
},
"convert": {
"title": "Konvertuoti",
"titleWithType": "Konvertuoti .{fileType}",
"chooseFile": "Pasirinkite failą",
"orDragHere": "arba vilkite čia",
"searchConversions": "Ieškoti konversijų",
"convertTo": "Konvertuoti į",
"convertButton": "Konvertuoti",
"uploading": "Įkeliama...",
"processing": "Apdorojama..."
},
"results": {
"title": "Rezultatai",
"convertedFileName": "Konvertuoto failo pavadinimas",
"status": "Būsena",
"actions": "Veiksmai",
"downloadAll": "Visi",
"downloadTar": "Tar",
"deleteJob": "Ištrinti",
"noFiles": "Dar nekonvertuota jokių failų.",
"statusPending": "Laukiama",
"statusCompleted": "Baigta",
"statusFailed": "Nepavyko"
},
"history": {
"title": "Rezultatai",
"time": "Laikas",
"files": "Failai",
"filesDone": "Baigti failai",
"status": "Būsena",
"actions": "Veiksmai",
"expandDetails": "Išskleisti detales",
"detailedFileInfo": "Išsami failo informacija:",
"deleteSelected": "Ištrinti pasirinktus",
"selectAll": "Pasirinkti visus",
"confirmDelete": "Ar tikrai norite ištrinti {count} užduotį(-is)? Šio veiksmo negalima atšaukti.",
"deleteSuccess": "Sėkmingai ištrinta {deleted} užduotis(-ių).",
"deleteFailed": "Nepavyko ištrinti {failed} užduoties(-ių).",
"deleteError": "Trinant užduotis įvyko klaida. Bandykite dar kartą."
},
"auth": {
"email": "El. paštas",
"password": "Slaptažodis",
"currentPassword": "Dabartinis slaptažodis",
"newPassword": "Slaptažodis (palikite tuščią, jei nepakeistas)",
"loginButton": "Prisijungti",
"registerButton": "Registruotis",
"updateButton": "Atnaujinti",
"createAccount": "Sukurti paskyrą",
"invalidCredentials": "Neteisingi prisijungimo duomenys.",
"emailInUse": "El. paštas jau naudojamas.",
"unauthorized": "Neautorizuota",
"cookiesRequired": "Norint naudoti šią programą, turi būti įjungti slapukai.",
"noCookies": "Nėra autentifikacijos slapuko, galbūt jūsų naršyklė blokuoja slapukus."
},
"setup": {
"welcome": "Sveiki atvykę į ConvertX-CN!",
"createYourAccount": "Sukurkite savo paskyrą",
"reportIssues": "Praneškite apie problemas",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Užduotis nerasta.",
"fileNotFound": "Failas nerastas.",
"uploadFailed": "Įkėlimas nepavyko.",
"conversionFailed": "Konvertavimas nepavyko.",
"serverError": "Serverio klaida."
},
"upload": {
"success": "Failai sėkmingai įkelti.",
"dragDrop": "Numeskite failus čia"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/lv.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Darbina",
"version": "v{version}",
"loading": "Ielādē...",
"error": "Kļūda",
"success": "Veiksmīgi",
"confirm": "Apstiprināt",
"cancel": "Atcelt",
"close": "Aizvērt",
"save": "Saglabāt",
"delete": "Dzēst",
"remove": "Noņemt",
"download": "Lejupielādēt",
"upload": "Augšupielādēt",
"submit": "Iesniegt",
"back": "Atpakaļ",
"next": "Nākamais",
"yes": "Jā",
"no": "Nē"
},
"nav": {
"history": "Vēsture",
"account": "Konts",
"logout": "Izrakstīties",
"login": "Ierakstīties",
"register": "Reģistrēties",
"language": "Valoda"
},
"convert": {
"title": "Konvertēt",
"titleWithType": "Konvertēt .{fileType}",
"chooseFile": "Izvēlieties failu",
"orDragHere": "vai velciet to šeit",
"searchConversions": "Meklēt konversijas",
"convertTo": "Konvertēt uz",
"convertButton": "Konvertēt",
"uploading": "Augšupielādē...",
"processing": "Apstrādā..."
},
"results": {
"title": "Rezultāti",
"convertedFileName": "Konvertētā faila nosaukums",
"status": "Statuss",
"actions": "Darbības",
"downloadAll": "Visi",
"downloadTar": "Tar",
"deleteJob": "Dzēst",
"noFiles": "Vēl nav konvertētu failu.",
"statusPending": "Gaida",
"statusCompleted": "Pabeigts",
"statusFailed": "Neizdevās"
},
"history": {
"title": "Rezultāti",
"time": "Laiks",
"files": "Faili",
"filesDone": "Pabeigti faili",
"status": "Statuss",
"actions": "Darbības",
"expandDetails": "Izvērst detaļas",
"detailedFileInfo": "Detalizēta faila informācija:",
"deleteSelected": "Dzēst atlasītos",
"selectAll": "Atlasīt visus",
"confirmDelete": "Vai tiešām vēlaties dzēst {count} uzdevumu(-us)? Šo darbību nevar atsaukt.",
"deleteSuccess": "Veiksmīgi dzēsti {deleted} uzdevums(-i).",
"deleteFailed": "Neizdevās dzēst {failed} uzdevumu(-s).",
"deleteError": "Dzēšot uzdevumus, radās kļūda. Lūdzu, mēģiniet vēlreiz."
},
"auth": {
"email": "E-pasts",
"password": "Parole",
"currentPassword": "Pašreizējā parole",
"newPassword": "Parole (atstājiet tukšu, ja nemainās)",
"loginButton": "Ierakstīties",
"registerButton": "Reģistrēties",
"updateButton": "Atjaunināt",
"createAccount": "Izveidot kontu",
"invalidCredentials": "Nederīgi akreditācijas dati.",
"emailInUse": "E-pasts jau tiek lietots.",
"unauthorized": "Neautorizēts",
"cookiesRequired": "Lai lietotu šo lietotni, jābūt iespējotiem sīkfailiem.",
"noCookies": "Nav autentifikācijas sīkfaila, iespējams, jūsu pārlūkprogramma bloķē sīkfailus."
},
"setup": {
"welcome": "Laipni lūdzam ConvertX-CN!",
"createYourAccount": "Izveidojiet savu kontu",
"reportIssues": "Ziņojiet par jebkādām problēmām",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Uzdevums nav atrasts.",
"fileNotFound": "Fails nav atrasts.",
"uploadFailed": "Augšupielāde neizdevās.",
"conversionFailed": "Konvertēšana neizdevās.",
"serverError": "Servera kļūda."
},
"upload": {
"success": "Faili veiksmīgi augšupielādēti.",
"dragDrop": "Nometiet failus šeit"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/mk.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Овозможено од",
"version": "v{version}",
"loading": "Се вчитува...",
"error": "Грешка",
"success": "Успех",
"confirm": "Потврди",
"cancel": "Откажи",
"close": "Затвори",
"save": "Зачувај",
"delete": "Избриши",
"remove": "Отстрани",
"download": "Преземи",
"upload": "Прикачи",
"submit": "Испрати",
"back": "Назад",
"next": "Следно",
"yes": "Да",
"no": "Не"
},
"nav": {
"history": "Историја",
"account": "Сметка",
"logout": "Одјава",
"login": "Најава",
"register": "Регистрација",
"language": "Јазик"
},
"convert": {
"title": "Конвертирај",
"titleWithType": "Конвертирај .{fileType}",
"chooseFile": "Изберете датотека",
"orDragHere": "или повлечете ја тука",
"searchConversions": "Пребарајте конверзии",
"convertTo": "Конвертирај во",
"convertButton": "Конвертирај",
"uploading": "Се прикачува...",
"processing": "Се обработува..."
},
"results": {
"title": "Резултати",
"convertedFileName": "Име на конвертирана датотека",
"status": "Статус",
"actions": "Дејства",
"downloadAll": "Сите",
"downloadTar": "Tar",
"deleteJob": "Избриши",
"noFiles": "Сè уште нема конвертирани датотеки.",
"statusPending": "Во тек",
"statusCompleted": "Завршено",
"statusFailed": "Неуспешно"
},
"history": {
"title": "Резултати",
"time": "Време",
"files": "Датотеки",
"filesDone": "Завршени датотеки",
"status": "Статус",
"actions": "Дејства",
"expandDetails": "Прошири детали",
"detailedFileInfo": "Детални информации за датотеката:",
"deleteSelected": "Избриши избрани",
"selectAll": "Избери сите",
"confirmDelete": "Дали сте сигурни дека сакате да избришете {count} задача(и)? Оваа акција не може да се поништи.",
"deleteSuccess": "Успешно избришани {deleted} задача(и).",
"deleteFailed": "Не успеа бришењето на {failed} задача(и).",
"deleteError": "Настана грешка при бришење на задачите. Ве молиме обидете се повторно."
},
"auth": {
"email": "Е-пошта",
"password": "Лозинка",
"currentPassword": "Тековна лозинка",
"newPassword": "Лозинка (оставете празно за непроменета)",
"loginButton": "Најава",
"registerButton": "Регистрирај се",
"updateButton": "Ажурирај",
"createAccount": "Креирај сметка",
"invalidCredentials": "Невалидни акредитиви.",
"emailInUse": "Е-поштата е веќе во употреба.",
"unauthorized": "Неовластено",
"cookiesRequired": "Колачињата треба да бидат овозможени за да ја користите оваа апликација.",
"noCookies": "Нема колаче за автентикација, можеби вашиот прелистувач ги блокира колачињата."
},
"setup": {
"welcome": "Добредојдовте во ConvertX-CN!",
"createYourAccount": "Креирајте ја вашата сметка",
"reportIssues": "Пријавете проблеми на",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Задачата не е пронајдена.",
"fileNotFound": "Датотеката не е пронајдена.",
"uploadFailed": "Прикачувањето не успеа.",
"conversionFailed": "Конверзијата не успеа.",
"serverError": "Грешка на серверот."
},
"upload": {
"success": "Датотеките се успешно прикачени.",
"dragDrop": "Пуштете датотеки тука"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/ml.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "പ്രവർത്തിപ്പിക്കുന്നത്",
"version": "v{version}",
"loading": "ലോഡ് ചെയ്യുന്നു...",
"error": "പിശക്",
"success": "വിജയം",
"confirm": "സ്ഥിരീകരിക്കുക",
"cancel": "റദ്ദാക്കുക",
"close": "അടയ്ക്കുക",
"save": "സേവ് ചെയ്യുക",
"delete": "ഇല്ലാതാക്കുക",
"remove": "നീക്കം ചെയ്യുക",
"download": "ഡൗൺലോഡ്",
"upload": "അപ്‌ലോഡ്",
"submit": "സമർപ്പിക്കുക",
"back": "പിന്നോട്ട്",
"next": "അടുത്തത്",
"yes": "അതെ",
"no": "ഇല്ല"
},
"nav": {
"history": "ചരിത്രം",
"account": "അക്കൗണ്ട്",
"logout": "ലോഗൗട്ട്",
"login": "ലോഗിൻ",
"register": "രജിസ്റ്റർ",
"language": "ഭാഷ"
},
"convert": {
"title": "പരിവർത്തനം ചെയ്യുക",
"titleWithType": ".{fileType} പരിവർത്തനം ചെയ്യുക",
"chooseFile": "ഒരു ഫയൽ തിരഞ്ഞെടുക്കുക",
"orDragHere": "അല്ലെങ്കിൽ ഇവിടെ വലിച്ചിടുക",
"searchConversions": "പരിവർത്തനങ്ങൾ തിരയുക",
"convertTo": "ഇതിലേക്ക് പരിവർത്തനം ചെയ്യുക",
"convertButton": "പരിവർത്തനം ചെയ്യുക",
"uploading": "അപ്‌ലോഡ് ചെയ്യുന്നു...",
"processing": "പ്രോസസ്സ് ചെയ്യുന്നു..."
},
"results": {
"title": "ഫലങ്ങൾ",
"convertedFileName": "പരിവർത്തനം ചെയ്ത ഫയൽ പേര്",
"status": "സ്റ്റാറ്റസ്",
"actions": "പ്രവർത്തനങ്ങൾ",
"downloadAll": "എല്ലാം",
"downloadTar": "Tar",
"deleteJob": "ഇല്ലാതാക്കുക",
"noFiles": "ഇതുവരെ ഫയലുകളൊന്നും പരിവർത്തനം ചെയ്തിട്ടില്ല.",
"statusPending": "തീർപ്പാക്കാത്ത",
"statusCompleted": "പൂർത്തിയായി",
"statusFailed": "പരാജയപ്പെട്ടു"
},
"history": {
"title": "ഫലങ്ങൾ",
"time": "സമയം",
"files": "ഫയലുകൾ",
"filesDone": "പൂർത്തിയായ ഫയലുകൾ",
"status": "സ്റ്റാറ്റസ്",
"actions": "പ്രവർത്തനങ്ങൾ",
"expandDetails": "വിശദാംശങ്ങൾ വിപുലീകരിക്കുക",
"detailedFileInfo": "വിശദമായ ഫയൽ വിവരങ്ങൾ:",
"deleteSelected": "തിരഞ്ഞെടുത്തവ ഇല്ലാതാക്കുക",
"selectAll": "എല്ലാം തിരഞ്ഞെടുക്കുക",
"confirmDelete": "{count} ജോബ്(കൾ) ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ? ഈ പ്രവർത്തനം പഴയപടിയാക്കാൻ കഴിയില്ല.",
"deleteSuccess": "{deleted} ജോബ്(കൾ) വിജയകരമായി ഇല്ലാതാക്കി.",
"deleteFailed": "{failed} ജോബ്(കൾ) ഇല്ലാതാക്കുന്നതിൽ പരാജയപ്പെട്ടു.",
"deleteError": "ജോബുകൾ ഇല്ലാതാക്കുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു. വീണ്ടും ശ്രമിക്കുക."
},
"auth": {
"email": "ഇമെയിൽ",
"password": "പാസ്‌വേഡ്",
"currentPassword": "നിലവിലെ പാസ്‌വേഡ്",
"newPassword": "പാസ്‌വേഡ് (മാറ്റമില്ലെങ്കിൽ ശൂന്യമായി വിടുക)",
"loginButton": "ലോഗിൻ",
"registerButton": "രജിസ്റ്റർ",
"updateButton": "അപ്‌ഡേറ്റ്",
"createAccount": "അക്കൗണ്ട് സൃഷ്ടിക്കുക",
"invalidCredentials": "അസാധുവായ ക്രെഡൻഷ്യലുകൾ.",
"emailInUse": "ഇമെയിൽ ഇതിനകം ഉപയോഗത്തിലാണ്.",
"unauthorized": "അനധികൃതം",
"cookiesRequired": "ഈ ആപ്പ് ഉപയോഗിക്കാൻ കുക്കികൾ പ്രവർത്തനക്ഷമമാക്കിയിരിക്കണം.",
"noCookies": "ഓതൻറിക്കേഷൻ കുക്കി ഇല്ല, നിങ്ങളുടെ ബ്രൗസർ കുക്കികൾ ബ്ലോക്ക് ചെയ്യുന്നുണ്ടാകാം."
},
"setup": {
"welcome": "ConvertX-CN-ലേക്ക് സ്വാഗതം!",
"createYourAccount": "നിങ്ങളുടെ അക്കൗണ്ട് സൃഷ്ടിക്കുക",
"reportIssues": "പ്രശ്നങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക",
"github": "GitHub"
},
"errors": {
"jobNotFound": "ജോബ് കണ്ടെത്തിയില്ല.",
"fileNotFound": "ഫയൽ കണ്ടെത്തിയില്ല.",
"uploadFailed": "അപ്‌ലോഡ് പരാജയപ്പെട്ടു.",
"conversionFailed": "പരിവർത്തനം പരാജയപ്പെട്ടു.",
"serverError": "സെർവർ പിശക്."
},
"upload": {
"success": "ഫയലുകൾ വിജയകരമായി അപ്‌ലോഡ് ചെയ്തു.",
"dragDrop": "ഫയലുകൾ ഇവിടെ ഇടുക"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/mr.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "द्वारे समर्थित",
"version": "v{version}",
"loading": "लोड होत आहे...",
"error": "त्रुटी",
"success": "यशस्वी",
"confirm": "पुष्टी करा",
"cancel": "रद्द करा",
"close": "बंद करा",
"save": "सेव्ह करा",
"delete": "हटवा",
"remove": "काढून टाका",
"download": "डाउनलोड करा",
"upload": "अपलोड करा",
"submit": "सबमिट करा",
"back": "मागे",
"next": "पुढे",
"yes": "होय",
"no": "नाही"
},
"nav": {
"history": "इतिहास",
"account": "खाते",
"logout": "लॉगआउट",
"login": "लॉगिन",
"register": "नोंदणी करा",
"language": "भाषा"
},
"convert": {
"title": "रूपांतर करा",
"titleWithType": ".{fileType} रूपांतर करा",
"chooseFile": "फाइल निवडा",
"orDragHere": "किंवा येथे ड्रॅग करा",
"searchConversions": "रूपांतरणे शोधा",
"convertTo": "यात रूपांतर करा",
"convertButton": "रूपांतर करा",
"uploading": "अपलोड होत आहे...",
"processing": "प्रक्रिया होत आहे..."
},
"results": {
"title": "परिणाम",
"convertedFileName": "रूपांतरित फाइल नाव",
"status": "स्थिती",
"actions": "क्रिया",
"downloadAll": "सर्व",
"downloadTar": "Tar",
"deleteJob": "हटवा",
"noFiles": "अद्याप कोणत्याही फाइल्स रूपांतरित झालेल्या नाहीत.",
"statusPending": "प्रलंबित",
"statusCompleted": "पूर्ण",
"statusFailed": "अयशस्वी"
},
"history": {
"title": "परिणाम",
"time": "वेळ",
"files": "फाइल्स",
"filesDone": "पूर्ण झालेल्या फाइल्स",
"status": "स्थिती",
"actions": "क्रिया",
"expandDetails": "तपशील विस्तारित करा",
"detailedFileInfo": "तपशीलवार फाइल माहिती:",
"deleteSelected": "निवडलेले हटवा",
"selectAll": "सर्व निवडा",
"confirmDelete": "तुम्हाला खात्री आहे की तुम्ही {count} जॉब हटवू इच्छिता? ही क्रिया पूर्ववत करता येणार नाही.",
"deleteSuccess": "{deleted} जॉब यशस्वीरित्या हटवले.",
"deleteFailed": "{failed} जॉब हटवण्यात अयशस्वी.",
"deleteError": "जॉब हटवताना त्रुटी आली. कृपया पुन्हा प्रयत्न करा."
},
"auth": {
"email": "ईमेल",
"password": "पासवर्ड",
"currentPassword": "सध्याचा पासवर्ड",
"newPassword": "पासवर्ड (बदलायचा नसेल तर रिक्त ठेवा)",
"loginButton": "लॉगिन",
"registerButton": "नोंदणी करा",
"updateButton": "अपडेट करा",
"createAccount": "खाते तयार करा",
"invalidCredentials": "अवैध क्रेडेन्शियल्स.",
"emailInUse": "ईमेल आधीच वापरात आहे.",
"unauthorized": "अनधिकृत",
"cookiesRequired": "हे अॅप वापरण्यासाठी कुकीज सक्षम असाव्यात.",
"noCookies": "प्रमाणीकरण कुकी नाही, कदाचित तुमचा ब्राउझर कुकीज ब्लॉक करत आहे."
},
"setup": {
"welcome": "ConvertX-CN मध्ये स्वागत आहे!",
"createYourAccount": "तुमचे खाते तयार करा",
"reportIssues": "समस्या कळवा",
"github": "GitHub"
},
"errors": {
"jobNotFound": "जॉब सापडला नाही.",
"fileNotFound": "फाइल सापडली नाही.",
"uploadFailed": "अपलोड अयशस्वी.",
"conversionFailed": "रूपांतर अयशस्वी.",
"serverError": "सर्व्हर त्रुटी."
},
"upload": {
"success": "फाइल्स यशस्वीरित्या अपलोड झाल्या.",
"dragDrop": "फाइल्स येथे सोडा"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/ms.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Dikuasakan oleh",
"version": "v{version}",
"loading": "Memuatkan...",
"error": "Ralat",
"success": "Berjaya",
"confirm": "Sahkan",
"cancel": "Batal",
"close": "Tutup",
"save": "Simpan",
"delete": "Padam",
"remove": "Buang",
"download": "Muat turun",
"upload": "Muat naik",
"submit": "Hantar",
"back": "Kembali",
"next": "Seterusnya",
"yes": "Ya",
"no": "Tidak"
},
"nav": {
"history": "Sejarah",
"account": "Akaun",
"logout": "Log keluar",
"login": "Log masuk",
"register": "Daftar",
"language": "Bahasa"
},
"convert": {
"title": "Tukar",
"titleWithType": "Tukar .{fileType}",
"chooseFile": "Pilih fail",
"orDragHere": "atau seret ke sini",
"searchConversions": "Cari penukaran",
"convertTo": "Tukar ke",
"convertButton": "Tukar",
"uploading": "Memuat naik...",
"processing": "Memproses..."
},
"results": {
"title": "Keputusan",
"convertedFileName": "Nama Fail Ditukar",
"status": "Status",
"actions": "Tindakan",
"downloadAll": "Semua",
"downloadTar": "Tar",
"deleteJob": "Padam",
"noFiles": "Tiada fail ditukar lagi.",
"statusPending": "Menunggu",
"statusCompleted": "Selesai",
"statusFailed": "Gagal"
},
"history": {
"title": "Keputusan",
"time": "Masa",
"files": "Fail",
"filesDone": "Fail Selesai",
"status": "Status",
"actions": "Tindakan",
"expandDetails": "Kembangkan butiran",
"detailedFileInfo": "Maklumat Fail Terperinci:",
"deleteSelected": "Padam Terpilih",
"selectAll": "Pilih semua",
"confirmDelete": "Adakah anda pasti mahu memadam {count} kerja? Tindakan ini tidak boleh dibatalkan.",
"deleteSuccess": "Berjaya memadam {deleted} kerja.",
"deleteFailed": "Gagal memadam {failed} kerja.",
"deleteError": "Ralat berlaku semasa memadam kerja. Sila cuba lagi."
},
"auth": {
"email": "E-mel",
"password": "Kata Laluan",
"currentPassword": "Kata Laluan Semasa",
"newPassword": "Kata Laluan (kosongkan jika tidak berubah)",
"loginButton": "Log Masuk",
"registerButton": "Daftar",
"updateButton": "Kemaskini",
"createAccount": "Cipta akaun",
"invalidCredentials": "Kelayakan tidak sah.",
"emailInUse": "E-mel sudah digunakan.",
"unauthorized": "Tidak dibenarkan",
"cookiesRequired": "Kuki mesti diaktifkan untuk menggunakan aplikasi ini.",
"noCookies": "Tiada kuki pengesahan, mungkin pelayar anda menyekat kuki."
},
"setup": {
"welcome": "Selamat datang ke ConvertX-CN!",
"createYourAccount": "Cipta akaun anda",
"reportIssues": "Laporkan isu di",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Kerja tidak dijumpai.",
"fileNotFound": "Fail tidak dijumpai.",
"uploadFailed": "Muat naik gagal.",
"conversionFailed": "Penukaran gagal.",
"serverError": "Ralat pelayan."
},
"upload": {
"success": "Fail berjaya dimuat naik.",
"dragDrop": "Lepaskan fail di sini"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/mt.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Mgħammar minn",
"version": "v{version}",
"loading": "Qed jitgħabba...",
"error": "Żball",
"success": "Suċċess",
"confirm": "Ikkonferma",
"cancel": "Ikkanċella",
"close": "Agħlaq",
"save": "Issejvja",
"delete": "Ħassar",
"remove": "Neħħi",
"download": "Niżżel",
"upload": "Tella'",
"submit": "Issottometti",
"back": "Lura",
"next": "Li jmiss",
"yes": "Iva",
"no": "Le"
},
"nav": {
"history": "Storja",
"account": "Kont",
"logout": "Oħroġ",
"login": "Idħol",
"register": "Irreġistra",
"language": "Lingwa"
},
"convert": {
"title": "Ikkonverti",
"titleWithType": "Ikkonverti .{fileType}",
"chooseFile": "Agħżel fajl",
"orDragHere": "jew iġbdu hawn",
"searchConversions": "Fittex konverżjonijiet",
"convertTo": "Ikkonverti għal",
"convertButton": "Ikkonverti",
"uploading": "Qed jittella'...",
"processing": "Qed jiġi pproċessat..."
},
"results": {
"title": "Riżultati",
"convertedFileName": "Isem tal-fajl ikkonvertit",
"status": "Status",
"actions": "Azzjonijiet",
"downloadAll": "Kollox",
"downloadTar": "Tar",
"deleteJob": "Ħassar",
"noFiles": "Għad m'hemmx fajls ikkonvertiti.",
"statusPending": "Pendenti",
"statusCompleted": "Komplut",
"statusFailed": "Falla"
},
"history": {
"title": "Riżultati",
"time": "Ħin",
"files": "Fajls",
"filesDone": "Fajls lesti",
"status": "Status",
"actions": "Azzjonijiet",
"expandDetails": "Espandi d-dettalji",
"detailedFileInfo": "Informazzjoni dettaljata tal-fajl:",
"deleteSelected": "Ħassar l-magħżulin",
"selectAll": "Agħżel kollox",
"confirmDelete": "Int żgur li trid tħassar {count} xogħol/xogħlijiet? Din l-azzjoni ma tistax tiġi rriversa.",
"deleteSuccess": "Tħassru {deleted} xogħol/xogħlijiet b'suċċess.",
"deleteFailed": "Falla t-tħassir ta' {failed} xogħol/xogħlijiet.",
"deleteError": "Sar żball waqt li kienu qed jitħassru x-xogħlijiet. Jekk jogħġbok erġa' pprova."
},
"auth": {
"email": "Email",
"password": "Password",
"currentPassword": "Password attwali",
"newPassword": "Password (ħalli vojt jekk ma jinbidilx)",
"loginButton": "Idħol",
"registerButton": "Irreġistra",
"updateButton": "Aġġorna",
"createAccount": "Oħloq kont",
"invalidCredentials": "Kredenzjali invalidi.",
"emailInUse": "L-email diġà qed tintuża.",
"unauthorized": "Mhux awtorizzat",
"cookiesRequired": "Il-cookies għandhom ikunu attivati biex tuża din l-applikazzjoni.",
"noCookies": "M'hemmx cookie ta' awtentikazzjoni, forsi l-browser tiegħek qed jibblokka l-cookies."
},
"setup": {
"welcome": "Merħba għal ConvertX-CN!",
"createYourAccount": "Oħloq il-kont tiegħek",
"reportIssues": "Irrapporta kwalunkwe problema fuq",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Xogħol ma nstabx.",
"fileNotFound": "Fajl ma nstabx.",
"uploadFailed": "It-tella' falla.",
"conversionFailed": "Il-konverżjoni falliet.",
"serverError": "Żball tas-server."
},
"upload": {
"success": "Il-fajls ittellgħu b'suċċess.",
"dragDrop": "Itfa' l-fajls hawn"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/my.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "ဖြင့် လည်ပတ်သည်",
"version": "v{version}",
"loading": "ဖွင့်နေသည်...",
"error": "အမှား",
"success": "အောင်မြင်",
"confirm": "အတည်ပြု",
"cancel": "ပယ်ဖျက်",
"close": "ပိတ်",
"save": "သိမ်း",
"delete": "ဖျက်",
"remove": "ဖယ်ရှား",
"download": "ဒေါင်းလုဒ်",
"upload": "အပ်လုဒ်",
"submit": "တင်သွင်း",
"back": "နောက်သို့",
"next": "ရှေ့သို့",
"yes": "ဟုတ်",
"no": "မဟုတ်"
},
"nav": {
"history": "မှတ်တမ်း",
"account": "အကောင့်",
"logout": "ထွက်",
"login": "ဝင်",
"register": "စာရင်းသွင်း",
"language": "ဘာသာစကား"
},
"convert": {
"title": "ပြောင်း",
"titleWithType": ".{fileType} ပြောင်း",
"chooseFile": "ဖိုင်ရွေး",
"orDragHere": "သို့မဟုတ် ဤနေရာသို့ ဆွဲထည့်",
"searchConversions": "ပြောင်းလဲမှုများ ရှာ",
"convertTo": "သို့ ပြောင်း",
"convertButton": "ပြောင်း",
"uploading": "အပ်လုဒ်တင်နေသည်...",
"processing": "လုပ်ဆောင်နေသည်..."
},
"results": {
"title": "ရလဒ်များ",
"convertedFileName": "ပြောင်းပြီး ဖိုင်အမည်",
"status": "အခြေအနေ",
"actions": "လုပ်ဆောင်ချက်များ",
"downloadAll": "အားလုံး",
"downloadTar": "Tar",
"deleteJob": "ဖျက်",
"noFiles": "ဖိုင်များ မပြောင်းရသေးပါ။",
"statusPending": "စောင့်ဆိုင်း",
"statusCompleted": "ပြီးဆုံး",
"statusFailed": "မအောင်မြင်"
},
"history": {
"title": "ရလဒ်များ",
"time": "အချိန်",
"files": "ဖိုင်များ",
"filesDone": "ပြီးဆုံးသော ဖိုင်များ",
"status": "အခြေအနေ",
"actions": "လုပ်ဆောင်ချက်များ",
"expandDetails": "အသေးစိတ် ကြည့်",
"detailedFileInfo": "အသေးစိတ် ဖိုင်အချက်အလက်:",
"deleteSelected": "ရွေးထားသည်များ ဖျက်",
"selectAll": "အားလုံးရွေး",
"confirmDelete": "{count} အလုပ်(များ) ဖျက်မည်မှာ သေချာပါသလား? ဤလုပ်ဆောင်ချက်ကို ပြန်ပြင်၍မရပါ။",
"deleteSuccess": "{deleted} အလုပ်(များ) အောင်မြင်စွာ ဖျက်ပြီး။",
"deleteFailed": "{failed} အလုပ်(များ) ဖျက်ရန် မအောင်မြင်။",
"deleteError": "အလုပ်များ ဖျက်ရာတွင် အမှားတစ်ခု ဖြစ်ပွားခဲ့သည်။ ထပ်ကြိုးစားပါ။"
},
"auth": {
"email": "အီးမေးလ်",
"password": "စကားဝှက်",
"currentPassword": "လက်ရှိ စကားဝှက်",
"newPassword": "စကားဝှက် (မပြောင်းလျှင် ကွက်လပ်ထား)",
"loginButton": "ဝင်",
"registerButton": "စာရင်းသွင်း",
"updateButton": "အပ်ဒိတ်",
"createAccount": "အကောင့်ဖန်တီး",
"invalidCredentials": "မမှန်ကန်သော အထောက်အထား။",
"emailInUse": "အီးမေးလ် အသုံးပြုပြီး။",
"unauthorized": "ခွင့်ပြုချက်မရှိ",
"cookiesRequired": "ဤအက်ပ်ကို သုံးရန် cookies ဖွင့်ထားရမည်။",
"noCookies": "auth cookie မရှိပါ၊ သင့်ဘရောက်ဆာက cookies ပိတ်ထားနိုင်သည်။"
},
"setup": {
"welcome": "ConvertX-CN မှ ကြိုဆိုပါသည်!",
"createYourAccount": "သင့်အကောင့် ဖန်တီးပါ",
"reportIssues": "ပြဿနာများ အကြောင်းကြားပါ",
"github": "GitHub"
},
"errors": {
"jobNotFound": "အလုပ် မတွေ့ပါ။",
"fileNotFound": "ဖိုင် မတွေ့ပါ။",
"uploadFailed": "အပ်လုဒ် မအောင်မြင်ပါ။",
"conversionFailed": "ပြောင်းလဲခြင်း မအောင်မြင်ပါ။",
"serverError": "ဆာဗာ အမှား။"
},
"upload": {
"success": "ဖိုင်များ အောင်မြင်စွာ အပ်လုဒ်တင်ပြီး။",
"dragDrop": "ဖိုင်များကို ဤနေရာတွင် ချပါ"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/ne.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "द्वारा संचालित",
"version": "v{version}",
"loading": "लोड हुँदैछ...",
"error": "त्रुटि",
"success": "सफल",
"confirm": "पुष्टि गर्नुहोस्",
"cancel": "रद्द गर्नुहोस्",
"close": "बन्द गर्नुहोस्",
"save": "सेभ गर्नुहोस्",
"delete": "मेट्नुहोस्",
"remove": "हटाउनुहोस्",
"download": "डाउनलोड",
"upload": "अपलोड",
"submit": "पेश गर्नुहोस्",
"back": "पछाडि",
"next": "अर्को",
"yes": "हो",
"no": "होइन"
},
"nav": {
"history": "इतिहास",
"account": "खाता",
"logout": "लग आउट",
"login": "लग इन",
"register": "दर्ता गर्नुहोस्",
"language": "भाषा"
},
"convert": {
"title": "रूपान्तरण गर्नुहोस्",
"titleWithType": ".{fileType} रूपान्तरण गर्नुहोस्",
"chooseFile": "फाइल छान्नुहोस्",
"orDragHere": "वा यहाँ तान्नुहोस्",
"searchConversions": "रूपान्तरणहरू खोज्नुहोस्",
"convertTo": "मा रूपान्तरण गर्नुहोस्",
"convertButton": "रूपान्तरण गर्नुहोस्",
"uploading": "अपलोड हुँदैछ...",
"processing": "प्रशोधन हुँदैछ..."
},
"results": {
"title": "परिणामहरू",
"convertedFileName": "रूपान्तरित फाइल नाम",
"status": "स्थिति",
"actions": "कार्यहरू",
"downloadAll": "सबै",
"downloadTar": "Tar",
"deleteJob": "मेट्नुहोस्",
"noFiles": "अझै कुनै फाइल रूपान्तरित भएको छैन।",
"statusPending": "पर्खिरहेको",
"statusCompleted": "पूरा भयो",
"statusFailed": "असफल"
},
"history": {
"title": "परिणामहरू",
"time": "समय",
"files": "फाइलहरू",
"filesDone": "पूरा भएका फाइलहरू",
"status": "स्थिति",
"actions": "कार्यहरू",
"expandDetails": "विवरण विस्तार गर्नुहोस्",
"detailedFileInfo": "विस्तृत फाइल जानकारी:",
"deleteSelected": "चयन गरिएका मेट्नुहोस्",
"selectAll": "सबै चयन गर्नुहोस्",
"confirmDelete": "के तपाईं {count} कार्य(हरू) मेट्न निश्चित हुनुहुन्छ? यो कार्य पूर्ववत गर्न सकिँदैन।",
"deleteSuccess": "{deleted} कार्य(हरू) सफलतापूर्वक मेटियो।",
"deleteFailed": "{failed} कार्य(हरू) मेट्न असफल।",
"deleteError": "कार्यहरू मेट्दा त्रुटि भयो। कृपया पुन: प्रयास गर्नुहोस्।"
},
"auth": {
"email": "इमेल",
"password": "पासवर्ड",
"currentPassword": "हालको पासवर्ड",
"newPassword": "पासवर्ड (नबदल्ने भए खाली छोड्नुहोस्)",
"loginButton": "लग इन",
"registerButton": "दर्ता गर्नुहोस्",
"updateButton": "अद्यावधिक गर्नुहोस्",
"createAccount": "खाता बनाउनुहोस्",
"invalidCredentials": "अवैध प्रमाणहरू।",
"emailInUse": "इमेल पहिले नै प्रयोगमा छ।",
"unauthorized": "अनधिकृत",
"cookiesRequired": "यो एप प्रयोग गर्न कुकीहरू सक्षम हुनुपर्छ।",
"noCookies": "कुनै प्रमाणीकरण कुकी छैन, सायद तपाईंको ब्राउजरले कुकीहरू रोक्दैछ।"
},
"setup": {
"welcome": "ConvertX-CN मा स्वागत छ!",
"createYourAccount": "आफ्नो खाता बनाउनुहोस्",
"reportIssues": "समस्याहरू रिपोर्ट गर्नुहोस्",
"github": "GitHub"
},
"errors": {
"jobNotFound": "कार्य फेला परेन।",
"fileNotFound": "फाइल फेला परेन।",
"uploadFailed": "अपलोड असफल।",
"conversionFailed": "रूपान्तरण असफल।",
"serverError": "सर्भर त्रुटि।"
},
"upload": {
"success": "फाइलहरू सफलतापूर्वक अपलोड भए।",
"dragDrop": "फाइलहरू यहाँ छोड्नुहोस्"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/nl.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Aangedreven door",
"version": "v{version}",
"loading": "Laden...",
"error": "Fout",
"success": "Succes",
"confirm": "Bevestigen",
"cancel": "Annuleren",
"close": "Sluiten",
"save": "Opslaan",
"delete": "Verwijderen",
"remove": "Verwijderen",
"download": "Downloaden",
"upload": "Uploaden",
"submit": "Verzenden",
"back": "Terug",
"next": "Volgende",
"yes": "Ja",
"no": "Nee"
},
"nav": {
"history": "Geschiedenis",
"account": "Account",
"logout": "Uitloggen",
"login": "Inloggen",
"register": "Registreren",
"language": "Taal"
},
"convert": {
"title": "Converteren",
"titleWithType": "Converteer .{fileType}",
"chooseFile": "Kies een bestand",
"orDragHere": "of sleep het hierheen",
"searchConversions": "Zoek conversies",
"convertTo": "Converteren naar",
"convertButton": "Converteren",
"uploading": "Uploaden...",
"processing": "Verwerken..."
},
"results": {
"title": "Resultaten",
"convertedFileName": "Geconverteerde bestandsnaam",
"status": "Status",
"actions": "Acties",
"downloadAll": "Alles",
"downloadTar": "Tar",
"deleteJob": "Verwijderen",
"noFiles": "Nog geen bestanden geconverteerd.",
"statusPending": "Wachtend",
"statusCompleted": "Voltooid",
"statusFailed": "Mislukt"
},
"history": {
"title": "Resultaten",
"time": "Tijd",
"files": "Bestanden",
"filesDone": "Bestanden klaar",
"status": "Status",
"actions": "Acties",
"expandDetails": "Details uitvouwen",
"detailedFileInfo": "Gedetailleerde bestandsinformatie:",
"deleteSelected": "Geselecteerde verwijderen",
"selectAll": "Alles selecteren",
"confirmDelete": "Weet u zeker dat u {count} taak/taken wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.",
"deleteSuccess": "{deleted} taak/taken succesvol verwijderd.",
"deleteFailed": "Kon {failed} taak/taken niet verwijderen.",
"deleteError": "Er is een fout opgetreden bij het verwijderen van taken. Probeer het opnieuw."
},
"auth": {
"email": "E-mail",
"password": "Wachtwoord",
"currentPassword": "Huidig wachtwoord",
"newPassword": "Wachtwoord (leeg laten om niet te wijzigen)",
"loginButton": "Inloggen",
"registerButton": "Registreren",
"updateButton": "Bijwerken",
"createAccount": "Account aanmaken",
"invalidCredentials": "Ongeldige inloggegevens.",
"emailInUse": "E-mail is al in gebruik.",
"unauthorized": "Niet geautoriseerd",
"cookiesRequired": "Cookies moeten ingeschakeld zijn om deze app te gebruiken.",
"noCookies": "Geen authenticatiecookie, misschien blokkeert uw browser cookies."
},
"setup": {
"welcome": "Welkom bij ConvertX-CN!",
"createYourAccount": "Maak uw account aan",
"reportIssues": "Meld problemen op",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Taak niet gevonden.",
"fileNotFound": "Bestand niet gevonden.",
"uploadFailed": "Upload mislukt.",
"conversionFailed": "Conversie mislukt.",
"serverError": "Serverfout."
},
"upload": {
"success": "Bestanden succesvol geüpload.",
"dragDrop": "Bestanden hier neerzetten"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/no.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Drevet av",
"version": "v{version}",
"loading": "Laster...",
"error": "Feil",
"success": "Suksess",
"confirm": "Bekreft",
"cancel": "Avbryt",
"close": "Lukk",
"save": "Lagre",
"delete": "Slett",
"remove": "Fjern",
"download": "Last ned",
"upload": "Last opp",
"submit": "Send",
"back": "Tilbake",
"next": "Neste",
"yes": "Ja",
"no": "Nei"
},
"nav": {
"history": "Historikk",
"account": "Konto",
"logout": "Logg ut",
"login": "Logg inn",
"register": "Registrer",
"language": "Språk"
},
"convert": {
"title": "Konverter",
"titleWithType": "Konverter .{fileType}",
"chooseFile": "Velg en fil",
"orDragHere": "eller dra den hit",
"searchConversions": "Søk etter konverteringer",
"convertTo": "Konverter til",
"convertButton": "Konverter",
"uploading": "Laster opp...",
"processing": "Behandler..."
},
"results": {
"title": "Resultater",
"convertedFileName": "Konvertert filnavn",
"status": "Status",
"actions": "Handlinger",
"downloadAll": "Alle",
"downloadTar": "Tar",
"deleteJob": "Slett",
"noFiles": "Ingen filer konvertert ennå.",
"statusPending": "Venter",
"statusCompleted": "Fullført",
"statusFailed": "Mislyktes"
},
"history": {
"title": "Resultater",
"time": "Tid",
"files": "Filer",
"filesDone": "Filer fullført",
"status": "Status",
"actions": "Handlinger",
"expandDetails": "Utvid detaljer",
"detailedFileInfo": "Detaljert filinformasjon:",
"deleteSelected": "Slett valgte",
"selectAll": "Velg alle",
"confirmDelete": "Er du sikker på at du vil slette {count} jobb(er)? Denne handlingen kan ikke angres.",
"deleteSuccess": "Slettet {deleted} jobb(er) vellykket.",
"deleteFailed": "Kunne ikke slette {failed} jobb(er).",
"deleteError": "Det oppstod en feil under sletting av jobber. Prøv igjen."
},
"auth": {
"email": "E-post",
"password": "Passord",
"currentPassword": "Nåværende passord",
"newPassword": "Passord (la stå tomt for uendret)",
"loginButton": "Logg inn",
"registerButton": "Registrer",
"updateButton": "Oppdater",
"createAccount": "Opprett konto",
"invalidCredentials": "Ugyldige legitimasjonsopplysninger.",
"emailInUse": "E-post er allerede i bruk.",
"unauthorized": "Uautorisert",
"cookiesRequired": "Informasjonskapsler må være aktivert for å bruke denne appen.",
"noCookies": "Ingen autentiseringsinformasjonskapsel, kanskje nettleseren din blokkerer informasjonskapsler."
},
"setup": {
"welcome": "Velkommen til ConvertX-CN!",
"createYourAccount": "Opprett kontoen din",
"reportIssues": "Rapporter eventuelle problemer på",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Jobb ikke funnet.",
"fileNotFound": "Fil ikke funnet.",
"uploadFailed": "Opplasting mislyktes.",
"conversionFailed": "Konvertering mislyktes.",
"serverError": "Serverfeil."
},
"upload": {
"success": "Filer lastet opp vellykket.",
"dragDrop": "Slipp filer her"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/pl.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Obsługiwane przez",
"version": "v{version}",
"loading": "Ładowanie...",
"error": "Błąd",
"success": "Sukces",
"confirm": "Potwierdź",
"cancel": "Anuluj",
"close": "Zamknij",
"save": "Zapisz",
"delete": "Usuń",
"remove": "Usuń",
"download": "Pobierz",
"upload": "Prześlij",
"submit": "Wyślij",
"back": "Wstecz",
"next": "Dalej",
"yes": "Tak",
"no": "Nie"
},
"nav": {
"history": "Historia",
"account": "Konto",
"logout": "Wyloguj",
"login": "Zaloguj",
"register": "Zarejestruj",
"language": "Język"
},
"convert": {
"title": "Konwertuj",
"titleWithType": "Konwertuj .{fileType}",
"chooseFile": "Wybierz plik",
"orDragHere": "lub przeciągnij tutaj",
"searchConversions": "Szukaj konwersji",
"convertTo": "Konwertuj na",
"convertButton": "Konwertuj",
"uploading": "Przesyłanie...",
"processing": "Przetwarzanie..."
},
"results": {
"title": "Wyniki",
"convertedFileName": "Nazwa przekonwertowanego pliku",
"status": "Status",
"actions": "Akcje",
"downloadAll": "Wszystko",
"downloadTar": "Tar",
"deleteJob": "Usuń",
"noFiles": "Brak przekonwertowanych plików.",
"statusPending": "Oczekujące",
"statusCompleted": "Ukończone",
"statusFailed": "Niepowodzenie"
},
"history": {
"title": "Wyniki",
"time": "Czas",
"files": "Pliki",
"filesDone": "Ukończone pliki",
"status": "Status",
"actions": "Akcje",
"expandDetails": "Rozwiń szczegóły",
"detailedFileInfo": "Szczegółowe informacje o pliku:",
"deleteSelected": "Usuń wybrane",
"selectAll": "Zaznacz wszystko",
"confirmDelete": "Czy na pewno chcesz usunąć {count} zadanie(ń)? Ta czynność jest nieodwracalna.",
"deleteSuccess": "Pomyślnie usunięto {deleted} zadanie(ń).",
"deleteFailed": "Nie udało się usunąć {failed} zadania(ń).",
"deleteError": "Wystąpił błąd podczas usuwania zadań. Spróbuj ponownie."
},
"auth": {
"email": "E-mail",
"password": "Hasło",
"currentPassword": "Aktualne hasło",
"newPassword": "Hasło (pozostaw puste, aby nie zmieniać)",
"loginButton": "Zaloguj",
"registerButton": "Zarejestruj",
"updateButton": "Aktualizuj",
"createAccount": "Utwórz konto",
"invalidCredentials": "Nieprawidłowe dane uwierzytelniające.",
"emailInUse": "E-mail jest już używany.",
"unauthorized": "Brak autoryzacji",
"cookiesRequired": "Aby korzystać z tej aplikacji, należy włączyć obsługę plików cookie.",
"noCookies": "Brak pliku cookie uwierzytelniania, być może przeglądarka blokuje pliki cookie."
},
"setup": {
"welcome": "Witamy w ConvertX-CN!",
"createYourAccount": "Utwórz swoje konto",
"reportIssues": "Zgłaszaj problemy na",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Nie znaleziono zadania.",
"fileNotFound": "Nie znaleziono pliku.",
"uploadFailed": "Przesyłanie nie powiodło się.",
"conversionFailed": "Konwersja nie powiodła się.",
"serverError": "Błąd serwera."
},
"upload": {
"success": "Pliki zostały pomyślnie przesłane.",
"dragDrop": "Upuść pliki tutaj"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/pt.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Desenvolvido por",
"version": "v{version}",
"loading": "Carregando...",
"error": "Erro",
"success": "Sucesso",
"confirm": "Confirmar",
"cancel": "Cancelar",
"close": "Fechar",
"save": "Salvar",
"delete": "Excluir",
"remove": "Remover",
"download": "Baixar",
"upload": "Enviar",
"submit": "Enviar",
"back": "Voltar",
"next": "Próximo",
"yes": "Sim",
"no": "Não"
},
"nav": {
"history": "Histórico",
"account": "Conta",
"logout": "Sair",
"login": "Entrar",
"register": "Registrar",
"language": "Idioma"
},
"convert": {
"title": "Converter",
"titleWithType": "Converter .{fileType}",
"chooseFile": "Escolha um arquivo",
"orDragHere": "ou arraste aqui",
"searchConversions": "Pesquisar conversões",
"convertTo": "Converter para",
"convertButton": "Converter",
"uploading": "Enviando...",
"processing": "Processando..."
},
"results": {
"title": "Resultados",
"convertedFileName": "Nome do arquivo convertido",
"status": "Status",
"actions": "Ações",
"downloadAll": "Tudo",
"downloadTar": "Tar",
"deleteJob": "Excluir",
"noFiles": "Nenhum arquivo convertido ainda.",
"statusPending": "Pendente",
"statusCompleted": "Concluído",
"statusFailed": "Falhou"
},
"history": {
"title": "Resultados",
"time": "Hora",
"files": "Arquivos",
"filesDone": "Arquivos concluídos",
"status": "Status",
"actions": "Ações",
"expandDetails": "Expandir detalhes",
"detailedFileInfo": "Informações detalhadas do arquivo:",
"deleteSelected": "Excluir selecionados",
"selectAll": "Selecionar tudo",
"confirmDelete": "Tem certeza de que deseja excluir {count} trabalho(s)? Esta ação não pode ser desfeita.",
"deleteSuccess": "{deleted} trabalho(s) excluído(s) com sucesso.",
"deleteFailed": "Falha ao excluir {failed} trabalho(s).",
"deleteError": "Ocorreu um erro ao excluir os trabalhos. Por favor, tente novamente."
},
"auth": {
"email": "E-mail",
"password": "Senha",
"currentPassword": "Senha atual",
"newPassword": "Senha (deixe em branco para manter)",
"loginButton": "Entrar",
"registerButton": "Registrar",
"updateButton": "Atualizar",
"createAccount": "Criar conta",
"invalidCredentials": "Credenciais inválidas.",
"emailInUse": "E-mail já está em uso.",
"unauthorized": "Não autorizado",
"cookiesRequired": "Os cookies devem estar habilitados para usar este aplicativo.",
"noCookies": "Sem cookie de autenticação, talvez seu navegador esteja bloqueando cookies."
},
"setup": {
"welcome": "Bem-vindo ao ConvertX-CN!",
"createYourAccount": "Crie sua conta",
"reportIssues": "Reportar problemas no",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Trabalho não encontrado.",
"fileNotFound": "Arquivo não encontrado.",
"uploadFailed": "Falha no envio.",
"conversionFailed": "Falha na conversão.",
"serverError": "Erro do servidor."
},
"upload": {
"success": "Arquivos enviados com sucesso.",
"dragDrop": "Solte os arquivos aqui"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/ro.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Alimentat de",
"version": "v{version}",
"loading": "Se încarcă...",
"error": "Eroare",
"success": "Succes",
"confirm": "Confirmă",
"cancel": "Anulează",
"close": "Închide",
"save": "Salvează",
"delete": "Șterge",
"remove": "Elimină",
"download": "Descarcă",
"upload": "Încarcă",
"submit": "Trimite",
"back": "Înapoi",
"next": "Următorul",
"yes": "Da",
"no": "Nu"
},
"nav": {
"history": "Istoric",
"account": "Cont",
"logout": "Deconectare",
"login": "Autentificare",
"register": "Înregistrare",
"language": "Limbă"
},
"convert": {
"title": "Convertire",
"titleWithType": "Convertire .{fileType}",
"chooseFile": "Alegeți un fișier",
"orDragHere": "sau trageți-l aici",
"searchConversions": "Căutați conversii",
"convertTo": "Convertire în",
"convertButton": "Convertire",
"uploading": "Se încarcă...",
"processing": "Se procesează..."
},
"results": {
"title": "Rezultate",
"convertedFileName": "Nume fișier convertit",
"status": "Stare",
"actions": "Acțiuni",
"downloadAll": "Toate",
"downloadTar": "Tar",
"deleteJob": "Șterge",
"noFiles": "Nu au fost convertite fișiere încă.",
"statusPending": "În așteptare",
"statusCompleted": "Finalizat",
"statusFailed": "Eșuat"
},
"history": {
"title": "Rezultate",
"time": "Timp",
"files": "Fișiere",
"filesDone": "Fișiere finalizate",
"status": "Stare",
"actions": "Acțiuni",
"expandDetails": "Extinde detaliile",
"detailedFileInfo": "Informații detaliate despre fișier:",
"deleteSelected": "Șterge selectate",
"selectAll": "Selectează tot",
"confirmDelete": "Sunteți sigur că doriți să ștergeți {count} sarcină(i)? Această acțiune nu poate fi anulată.",
"deleteSuccess": "Au fost șterse cu succes {deleted} sarcină(i).",
"deleteFailed": "Nu s-au putut șterge {failed} sarcină(i).",
"deleteError": "A apărut o eroare la ștergerea sarcinilor. Vă rugăm să încercați din nou."
},
"auth": {
"email": "Email",
"password": "Parolă",
"currentPassword": "Parola curentă",
"newPassword": "Parolă (lăsați gol pentru neschimbat)",
"loginButton": "Autentificare",
"registerButton": "Înregistrare",
"updateButton": "Actualizare",
"createAccount": "Creează cont",
"invalidCredentials": "Credențiale invalide.",
"emailInUse": "Email-ul este deja utilizat.",
"unauthorized": "Neautorizat",
"cookiesRequired": "Cookie-urile trebuie să fie activate pentru a utiliza această aplicație.",
"noCookies": "Nu există cookie de autentificare, poate browserul dvs. blochează cookie-urile."
},
"setup": {
"welcome": "Bine ați venit la ConvertX-CN!",
"createYourAccount": "Creați-vă contul",
"reportIssues": "Raportați orice probleme pe",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Sarcina nu a fost găsită.",
"fileNotFound": "Fișierul nu a fost găsit.",
"uploadFailed": "Încărcarea a eșuat.",
"conversionFailed": "Conversia a eșuat.",
"serverError": "Eroare de server."
},
"upload": {
"success": "Fișierele au fost încărcate cu succes.",
"dragDrop": "Trageți fișierele aici"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/ru.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Работает на",
"version": "v{version}",
"loading": "Загрузка...",
"error": "Ошибка",
"success": "Успешно",
"confirm": "Подтвердить",
"cancel": "Отмена",
"close": "Закрыть",
"save": "Сохранить",
"delete": "Удалить",
"remove": "Убрать",
"download": "Скачать",
"upload": "Загрузить",
"submit": "Отправить",
"back": "Назад",
"next": "Далее",
"yes": "Да",
"no": "Нет"
},
"nav": {
"history": "История",
"account": "Аккаунт",
"logout": "Выйти",
"login": "Войти",
"register": "Регистрация",
"language": "Язык"
},
"convert": {
"title": "Конвертировать",
"titleWithType": "Конвертировать .{fileType}",
"chooseFile": "Выберите файл",
"orDragHere": "или перетащите сюда",
"searchConversions": "Поиск конвертаций",
"convertTo": "Конвертировать в",
"convertButton": "Конвертировать",
"uploading": "Загрузка...",
"processing": "Обработка..."
},
"results": {
"title": "Результаты",
"convertedFileName": "Имя конвертированного файла",
"status": "Статус",
"actions": "Действия",
"downloadAll": "Все",
"downloadTar": "Tar",
"deleteJob": "Удалить",
"noFiles": "Файлы ещё не конвертированы.",
"statusPending": "Ожидание",
"statusCompleted": "Завершено",
"statusFailed": "Ошибка"
},
"history": {
"title": "Результаты",
"time": "Время",
"files": "Файлы",
"filesDone": "Готовые файлы",
"status": "Статус",
"actions": "Действия",
"expandDetails": "Развернуть детали",
"detailedFileInfo": "Подробная информация о файле:",
"deleteSelected": "Удалить выбранные",
"selectAll": "Выбрать все",
"confirmDelete": "Вы уверены, что хотите удалить {count} задание(й)? Это действие нельзя отменить.",
"deleteSuccess": "Успешно удалено {deleted} задание(й).",
"deleteFailed": "Не удалось удалить {failed} задание(й).",
"deleteError": "Произошла ошибка при удалении заданий. Пожалуйста, попробуйте снова."
},
"auth": {
"email": "Электронная почта",
"password": "Пароль",
"currentPassword": "Текущий пароль",
"newPassword": "Пароль (оставьте пустым, чтобы не менять)",
"loginButton": "Войти",
"registerButton": "Зарегистрироваться",
"updateButton": "Обновить",
"createAccount": "Создать аккаунт",
"invalidCredentials": "Неверные учётные данные.",
"emailInUse": "Электронная почта уже используется.",
"unauthorized": "Не авторизован",
"cookiesRequired": "Для использования этого приложения необходимо включить cookies.",
"noCookies": "Нет cookie аутентификации, возможно, ваш браузер блокирует cookies."
},
"setup": {
"welcome": "Добро пожаловать в ConvertX-CN!",
"createYourAccount": "Создайте свой аккаунт",
"reportIssues": "Сообщить о проблемах на",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Задание не найдено.",
"fileNotFound": "Файл не найден.",
"uploadFailed": "Ошибка загрузки.",
"conversionFailed": "Ошибка конвертации.",
"serverError": "Ошибка сервера."
},
"upload": {
"success": "Файлы успешно загружены.",
"dragDrop": "Перетащите файлы сюда"
},
"file": {
"size": "{size} кБ"
}
}

106
src/locales/si.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "මගින් බලගැන්වේ",
"version": "v{version}",
"loading": "පූරණය වෙමින්...",
"error": "දෝෂය",
"success": "සාර්ථකයි",
"confirm": "තහවුරු කරන්න",
"cancel": "අවලංගු කරන්න",
"close": "වසන්න",
"save": "සුරකින්න",
"delete": "මකන්න",
"remove": "ඉවත් කරන්න",
"download": "බාගන්න",
"upload": "උඩුගත කරන්න",
"submit": "ඉදිරිපත් කරන්න",
"back": "ආපසු",
"next": "ඊළඟ",
"yes": "ඔව්",
"no": "නැත"
},
"nav": {
"history": "ඉතිහාසය",
"account": "ගිණුම",
"logout": "පිටවන්න",
"login": "පිවිසෙන්න",
"register": "ලියාපදිංචි වන්න",
"language": "භාෂාව"
},
"convert": {
"title": "පරිවර්තනය",
"titleWithType": ".{fileType} පරිවර්තනය",
"chooseFile": "ගොනුවක් තෝරන්න",
"orDragHere": "හෝ මෙහි ඇද දමන්න",
"searchConversions": "පරිවර්තන සොයන්න",
"convertTo": "වෙත පරිවර්තනය",
"convertButton": "පරිවර්තනය",
"uploading": "උඩුගත වෙමින්...",
"processing": "සැකසෙමින්..."
},
"results": {
"title": "ප්‍රතිඵල",
"convertedFileName": "පරිවර්තිත ගොනු නාමය",
"status": "තත්ත්වය",
"actions": "ක්‍රියා",
"downloadAll": "සියල්ල",
"downloadTar": "Tar",
"deleteJob": "මකන්න",
"noFiles": "තවම ගොනු පරිවර්තනය කර නැත.",
"statusPending": "අපේක්ෂාවෙන්",
"statusCompleted": "සම්පූර්ණයි",
"statusFailed": "අසාර්ථකයි"
},
"history": {
"title": "ප්‍රතිඵල",
"time": "වේලාව",
"files": "ගොනු",
"filesDone": "සම්පූර්ණ ගොනු",
"status": "තත්ත්වය",
"actions": "ක්‍රියා",
"expandDetails": "විස්තර විහිදන්න",
"detailedFileInfo": "සවිස්තර ගොනු තොරතුරු:",
"deleteSelected": "තෝරාගත්තවා මකන්න",
"selectAll": "සියල්ල තෝරන්න",
"confirmDelete": "ඔබට කාර්ය {count}ක් මැකීමට අවශ්‍ය බව විශ්වාසද? මෙම ක්‍රියාව අවලංගු කළ නොහැක.",
"deleteSuccess": "කාර්ය {deleted}ක් සාර්ථකව මකා දැමිණි.",
"deleteFailed": "කාර්ය {failed}ක් මැකීමට අසමත් විය.",
"deleteError": "කාර්යයන් මකන විට දෝෂයක් ඇති විය. කරුණාකර නැවත උත්සාහ කරන්න."
},
"auth": {
"email": "ඊමේල්",
"password": "මුරපදය",
"currentPassword": "වත්මන් මුරපදය",
"newPassword": "මුරපදය (වෙනස් නොකරන්නේ නම් හිස්ව තබන්න)",
"loginButton": "පිවිසෙන්න",
"registerButton": "ලියාපදිංචි වන්න",
"updateButton": "යාවත්කාලීන කරන්න",
"createAccount": "ගිණුමක් සාදන්න",
"invalidCredentials": "අවලංගු අක්තපත්‍ර.",
"emailInUse": "ඊමේල් දැනටමත් භාවිතයේ පවතී.",
"unauthorized": "අනවසර",
"cookiesRequired": "මෙම යෙදුම භාවිතා කිරීමට කුකී සක්‍රීය කළ යුතුය.",
"noCookies": "සත්‍යාපන කුකී නැත, සමහර විට ඔබේ බ්‍රව්සරය කුකී අවහිර කරයි."
},
"setup": {
"welcome": "ConvertX-CN වෙත සාදරයෙන් පිළිගනිමු!",
"createYourAccount": "ඔබේ ගිණුම සාදන්න",
"reportIssues": "ගැටලු වාර්තා කරන්න",
"github": "GitHub"
},
"errors": {
"jobNotFound": "කාර්යය හමු නොවීය.",
"fileNotFound": "ගොනුව හමු නොවීය.",
"uploadFailed": "උඩුගත කිරීම අසාර්ථක විය.",
"conversionFailed": "පරිවර්තනය අසාර්ථක විය.",
"serverError": "සේවාදායක දෝෂය."
},
"upload": {
"success": "ගොනු සාර්ථකව උඩුගත කරන ලදී.",
"dragDrop": "ගොනු මෙහි දමන්න"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/sk.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Poháňané",
"version": "v{version}",
"loading": "Načítava sa...",
"error": "Chyba",
"success": "Úspech",
"confirm": "Potvrdiť",
"cancel": "Zrušiť",
"close": "Zavrieť",
"save": "Uložiť",
"delete": "Vymazať",
"remove": "Odstrániť",
"download": "Stiahnuť",
"upload": "Nahrať",
"submit": "Odoslať",
"back": "Späť",
"next": "Ďalej",
"yes": "Áno",
"no": "Nie"
},
"nav": {
"history": "História",
"account": "Účet",
"logout": "Odhlásiť sa",
"login": "Prihlásiť sa",
"register": "Registrovať",
"language": "Jazyk"
},
"convert": {
"title": "Konvertovať",
"titleWithType": "Konvertovať .{fileType}",
"chooseFile": "Vyberte súbor",
"orDragHere": "alebo ho sem potiahnite",
"searchConversions": "Hľadať konverzie",
"convertTo": "Konvertovať na",
"convertButton": "Konvertovať",
"uploading": "Nahráva sa...",
"processing": "Spracováva sa..."
},
"results": {
"title": "Výsledky",
"convertedFileName": "Názov konvertovaného súboru",
"status": "Stav",
"actions": "Akcie",
"downloadAll": "Všetky",
"downloadTar": "Tar",
"deleteJob": "Vymazať",
"noFiles": "Zatiaľ neboli konvertované žiadne súbory.",
"statusPending": "Čaká sa",
"statusCompleted": "Dokončené",
"statusFailed": "Zlyhalo"
},
"history": {
"title": "Výsledky",
"time": "Čas",
"files": "Súbory",
"filesDone": "Dokončené súbory",
"status": "Stav",
"actions": "Akcie",
"expandDetails": "Rozbaliť detaily",
"detailedFileInfo": "Podrobné informácie o súbore:",
"deleteSelected": "Vymazať vybrané",
"selectAll": "Vybrať všetko",
"confirmDelete": "Ste si istí, že chcete vymazať {count} úlohu(y)? Túto akciu nie je možné vrátiť späť.",
"deleteSuccess": "Úspešne vymazaných {deleted} úloh.",
"deleteFailed": "Nepodarilo sa vymazať {failed} úloh.",
"deleteError": "Pri mazaní úloh došlo k chybe. Skúste to prosím znova."
},
"auth": {
"email": "E-mail",
"password": "Heslo",
"currentPassword": "Aktuálne heslo",
"newPassword": "Heslo (nechajte prázdne pre nezmenené)",
"loginButton": "Prihlásiť sa",
"registerButton": "Registrovať",
"updateButton": "Aktualizovať",
"createAccount": "Vytvoriť účet",
"invalidCredentials": "Neplatné prihlasovacie údaje.",
"emailInUse": "E-mail sa už používa.",
"unauthorized": "Neautorizované",
"cookiesRequired": "Na používanie tejto aplikácie musia byť povolené súbory cookie.",
"noCookies": "Žiadny autentifikačný súbor cookie, možno váš prehliadač blokuje súbory cookie."
},
"setup": {
"welcome": "Vitajte v ConvertX-CN!",
"createYourAccount": "Vytvorte si svoj účet",
"reportIssues": "Nahláste akékoľvek problémy na",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Úloha sa nenašla.",
"fileNotFound": "Súbor sa nenašiel.",
"uploadFailed": "Nahrávanie zlyhalo.",
"conversionFailed": "Konverzia zlyhala.",
"serverError": "Chyba servera."
},
"upload": {
"success": "Súbory boli úspešne nahrané.",
"dragDrop": "Sem presuňte súbory"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/sl.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Poganja",
"version": "v{version}",
"loading": "Nalaganje...",
"error": "Napaka",
"success": "Uspeh",
"confirm": "Potrdi",
"cancel": "Prekliči",
"close": "Zapri",
"save": "Shrani",
"delete": "Izbriši",
"remove": "Odstrani",
"download": "Prenesi",
"upload": "Naloži",
"submit": "Pošlji",
"back": "Nazaj",
"next": "Naprej",
"yes": "Da",
"no": "Ne"
},
"nav": {
"history": "Zgodovina",
"account": "Račun",
"logout": "Odjava",
"login": "Prijava",
"register": "Registracija",
"language": "Jezik"
},
"convert": {
"title": "Pretvori",
"titleWithType": "Pretvori .{fileType}",
"chooseFile": "Izberite datoteko",
"orDragHere": "ali jo povlecite sem",
"searchConversions": "Išči pretvorbe",
"convertTo": "Pretvori v",
"convertButton": "Pretvori",
"uploading": "Nalaganje...",
"processing": "Obdelava..."
},
"results": {
"title": "Rezultati",
"convertedFileName": "Ime pretvorjene datoteke",
"status": "Stanje",
"actions": "Dejanja",
"downloadAll": "Vse",
"downloadTar": "Tar",
"deleteJob": "Izbriši",
"noFiles": "Še ni pretvorjenih datotek.",
"statusPending": "V čakanju",
"statusCompleted": "Končano",
"statusFailed": "Neuspešno"
},
"history": {
"title": "Rezultati",
"time": "Čas",
"files": "Datoteke",
"filesDone": "Končane datoteke",
"status": "Stanje",
"actions": "Dejanja",
"expandDetails": "Razširi podrobnosti",
"detailedFileInfo": "Podrobne informacije o datoteki:",
"deleteSelected": "Izbriši izbrano",
"selectAll": "Izberi vse",
"confirmDelete": "Ali ste prepričani, da želite izbrisati {count} opravilo(a)? Tega dejanja ni mogoče razveljaviti.",
"deleteSuccess": "Uspešno izbrisanih {deleted} opravil.",
"deleteFailed": "Ni uspelo izbrisati {failed} opravil.",
"deleteError": "Pri brisanju opravil je prišlo do napake. Prosimo, poskusite znova."
},
"auth": {
"email": "E-pošta",
"password": "Geslo",
"currentPassword": "Trenutno geslo",
"newPassword": "Geslo (pustite prazno za nespremenjeno)",
"loginButton": "Prijava",
"registerButton": "Registracija",
"updateButton": "Posodobi",
"createAccount": "Ustvari račun",
"invalidCredentials": "Neveljavne poverilnice.",
"emailInUse": "E-pošta je že v uporabi.",
"unauthorized": "Nepooblaščeno",
"cookiesRequired": "Za uporabo te aplikacije morajo biti piškotki omogočeni.",
"noCookies": "Ni piškotka za preverjanje pristnosti, morda vaš brskalnik blokira piškotke."
},
"setup": {
"welcome": "Dobrodošli v ConvertX-CN!",
"createYourAccount": "Ustvarite svoj račun",
"reportIssues": "Prijavite kakršnekoli težave na",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Opravilo ni bilo najdeno.",
"fileNotFound": "Datoteka ni bila najdena.",
"uploadFailed": "Nalaganje ni uspelo.",
"conversionFailed": "Pretvorba ni uspela.",
"serverError": "Napaka strežnika."
},
"upload": {
"success": "Datoteke so bile uspešno naložene.",
"dragDrop": "Spustite datoteke tukaj"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/sq.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Mundësuar nga",
"version": "v{version}",
"loading": "Duke ngarkuar...",
"error": "Gabim",
"success": "Sukses",
"confirm": "Konfirmo",
"cancel": "Anulo",
"close": "Mbyll",
"save": "Ruaj",
"delete": "Fshi",
"remove": "Hiq",
"download": "Shkarko",
"upload": "Ngarko",
"submit": "Dërgo",
"back": "Prapa",
"next": "Tjetër",
"yes": "Po",
"no": "Jo"
},
"nav": {
"history": "Historia",
"account": "Llogaria",
"logout": "Dilni",
"login": "Hyni",
"register": "Regjistrohu",
"language": "Gjuha"
},
"convert": {
"title": "Konverto",
"titleWithType": "Konverto .{fileType}",
"chooseFile": "Zgjidhni një skedar",
"orDragHere": "ose tërhiqeni këtu",
"searchConversions": "Kërkoni konvertime",
"convertTo": "Konverto në",
"convertButton": "Konverto",
"uploading": "Duke ngarkuar...",
"processing": "Duke përpunuar..."
},
"results": {
"title": "Rezultatet",
"convertedFileName": "Emri i skedarit të konvertuar",
"status": "Statusi",
"actions": "Veprimet",
"downloadAll": "Të gjitha",
"downloadTar": "Tar",
"deleteJob": "Fshi",
"noFiles": "Ende nuk ka skedarë të konvertuar.",
"statusPending": "Në pritje",
"statusCompleted": "Përfunduar",
"statusFailed": "Dështoi"
},
"history": {
"title": "Rezultatet",
"time": "Koha",
"files": "Skedarët",
"filesDone": "Skedarët e përfunduar",
"status": "Statusi",
"actions": "Veprimet",
"expandDetails": "Zgjero detajet",
"detailedFileInfo": "Informacion i detajuar i skedarit:",
"deleteSelected": "Fshi të zgjedhurit",
"selectAll": "Zgjidh të gjitha",
"confirmDelete": "Jeni i sigurt që dëshironi të fshini {count} punë? Ky veprim nuk mund të zhbëhet.",
"deleteSuccess": "U fshinë me sukses {deleted} punë.",
"deleteFailed": "Dështoi fshirja e {failed} punëve.",
"deleteError": "Ndodhi një gabim gjatë fshirjes së punëve. Ju lutemi provoni përsëri."
},
"auth": {
"email": "Email",
"password": "Fjalëkalimi",
"currentPassword": "Fjalëkalimi aktual",
"newPassword": "Fjalëkalimi (lëreni bosh nëse nuk ndryshon)",
"loginButton": "Hyni",
"registerButton": "Regjistrohu",
"updateButton": "Përditëso",
"createAccount": "Krijo llogari",
"invalidCredentials": "Kredencialet e pavlefshme.",
"emailInUse": "Emaili është tashmë në përdorim.",
"unauthorized": "I paautorizuar",
"cookiesRequired": "Cookies duhet të jenë të aktivizuara për të përdorur këtë aplikacion.",
"noCookies": "Nuk ka cookie autentifikimi, ndoshta shfletuesi juaj po bllokon cookies."
},
"setup": {
"welcome": "Mirë se vini në ConvertX-CN!",
"createYourAccount": "Krijoni llogarinë tuaj",
"reportIssues": "Raportoni çdo problem në",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Puna nuk u gjet.",
"fileNotFound": "Skedari nuk u gjet.",
"uploadFailed": "Ngarkimi dështoi.",
"conversionFailed": "Konvertimi dështoi.",
"serverError": "Gabim i serverit."
},
"upload": {
"success": "Skedarët u ngarkuan me sukses.",
"dragDrop": "Lëshoni skedarët këtu"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/sr.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Покреће",
"version": "v{version}",
"loading": "Учитавање...",
"error": "Грешка",
"success": "Успех",
"confirm": "Потврди",
"cancel": "Откажи",
"close": "Затвори",
"save": "Сачувај",
"delete": "Обриши",
"remove": "Уклони",
"download": "Преузми",
"upload": "Отпреми",
"submit": "Пошаљи",
"back": "Назад",
"next": "Следеће",
"yes": "Да",
"no": "Не"
},
"nav": {
"history": "Историја",
"account": "Налог",
"logout": "Одјава",
"login": "Пријава",
"register": "Регистрација",
"language": "Језик"
},
"convert": {
"title": "Конвертуј",
"titleWithType": "Конвертуј .{fileType}",
"chooseFile": "Изаберите датотеку",
"orDragHere": "или је превуците овде",
"searchConversions": "Претражи конверзије",
"convertTo": "Конвертуј у",
"convertButton": "Конвертуј",
"uploading": "Отпремање...",
"processing": "Обрада..."
},
"results": {
"title": "Резултати",
"convertedFileName": "Име конвертоване датотеке",
"status": "Статус",
"actions": "Радње",
"downloadAll": "Све",
"downloadTar": "Tar",
"deleteJob": "Обриши",
"noFiles": "Још нема конвертованих датотека.",
"statusPending": "На чекању",
"statusCompleted": "Завршено",
"statusFailed": "Неуспешно"
},
"history": {
"title": "Резултати",
"time": "Време",
"files": "Датотеке",
"filesDone": "Завршене датотеке",
"status": "Статус",
"actions": "Радње",
"expandDetails": "Прошири детаље",
"detailedFileInfo": "Детаљне информације о датотеци:",
"deleteSelected": "Обриши изабрано",
"selectAll": "Изабери све",
"confirmDelete": "Да ли сте сигурни да желите да обришете {count} посао(ва)? Ова радња се не може поништити.",
"deleteSuccess": "Успешно обрисано {deleted} посао(ва).",
"deleteFailed": "Неуспешно брисање {failed} посао(ва).",
"deleteError": "Дошло је до грешке при брисању послова. Покушајте поново."
},
"auth": {
"email": "Е-пошта",
"password": "Лозинка",
"currentPassword": "Тренутна лозинка",
"newPassword": "Лозинка (оставите празно за непромењено)",
"loginButton": "Пријави се",
"registerButton": "Региструј се",
"updateButton": "Ажурирај",
"createAccount": "Направи налог",
"invalidCredentials": "Неважећи акредитиви.",
"emailInUse": "Е-пошта је већ у употреби.",
"unauthorized": "Неовлашћено",
"cookiesRequired": "Колачићи треба да буду омогућени за коришћење ове апликације.",
"noCookies": "Нема колачића за аутентификацију, можда ваш прегледач блокира колачиће."
},
"setup": {
"welcome": "Добродошли у ConvertX-CN!",
"createYourAccount": "Направите свој налог",
"reportIssues": "Пријавите проблеме на",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Посао није пронађен.",
"fileNotFound": "Датотека није пронађена.",
"uploadFailed": "Отпремање није успело.",
"conversionFailed": "Конверзија није успела.",
"serverError": "Грешка сервера."
},
"upload": {
"success": "Датотеке су успешно отпремљене.",
"dragDrop": "Превуците датотеке овде"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/sv.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Drivs av",
"version": "v{version}",
"loading": "Laddar...",
"error": "Fel",
"success": "Lyckades",
"confirm": "Bekräfta",
"cancel": "Avbryt",
"close": "Stäng",
"save": "Spara",
"delete": "Ta bort",
"remove": "Ta bort",
"download": "Ladda ner",
"upload": "Ladda upp",
"submit": "Skicka",
"back": "Tillbaka",
"next": "Nästa",
"yes": "Ja",
"no": "Nej"
},
"nav": {
"history": "Historik",
"account": "Konto",
"logout": "Logga ut",
"login": "Logga in",
"register": "Registrera",
"language": "Språk"
},
"convert": {
"title": "Konvertera",
"titleWithType": "Konvertera .{fileType}",
"chooseFile": "Välj en fil",
"orDragHere": "eller dra den hit",
"searchConversions": "Sök konverteringar",
"convertTo": "Konvertera till",
"convertButton": "Konvertera",
"uploading": "Laddar upp...",
"processing": "Bearbetar..."
},
"results": {
"title": "Resultat",
"convertedFileName": "Konverterat filnamn",
"status": "Status",
"actions": "Åtgärder",
"downloadAll": "Alla",
"downloadTar": "Tar",
"deleteJob": "Ta bort",
"noFiles": "Inga filer konverterade än.",
"statusPending": "Väntar",
"statusCompleted": "Slutförd",
"statusFailed": "Misslyckades"
},
"history": {
"title": "Resultat",
"time": "Tid",
"files": "Filer",
"filesDone": "Färdiga filer",
"status": "Status",
"actions": "Åtgärder",
"expandDetails": "Expandera detaljer",
"detailedFileInfo": "Detaljerad filinformation:",
"deleteSelected": "Ta bort valda",
"selectAll": "Välj alla",
"confirmDelete": "Är du säker på att du vill ta bort {count} jobb? Denna åtgärd kan inte ångras.",
"deleteSuccess": "Lyckades ta bort {deleted} jobb.",
"deleteFailed": "Kunde inte ta bort {failed} jobb.",
"deleteError": "Ett fel uppstod när jobb skulle tas bort. Försök igen."
},
"auth": {
"email": "E-post",
"password": "Lösenord",
"currentPassword": "Nuvarande lösenord",
"newPassword": "Lösenord (lämna tomt för att inte ändra)",
"loginButton": "Logga in",
"registerButton": "Registrera",
"updateButton": "Uppdatera",
"createAccount": "Skapa konto",
"invalidCredentials": "Ogiltiga inloggningsuppgifter.",
"emailInUse": "E-postadressen används redan.",
"unauthorized": "Ej auktoriserad",
"cookiesRequired": "Cookies måste vara aktiverade för att använda denna app.",
"noCookies": "Ingen autentiseringscookie, kanske din webbläsare blockerar cookies."
},
"setup": {
"welcome": "Välkommen till ConvertX-CN!",
"createYourAccount": "Skapa ditt konto",
"reportIssues": "Rapportera problem på",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Jobb hittades inte.",
"fileNotFound": "Fil hittades inte.",
"uploadFailed": "Uppladdning misslyckades.",
"conversionFailed": "Konvertering misslyckades.",
"serverError": "Serverfel."
},
"upload": {
"success": "Filerna laddades upp framgångsrikt.",
"dragDrop": "Släpp filer här"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/sw.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Inayoendeshwa na",
"version": "v{version}",
"loading": "Inapakia...",
"error": "Hitilafu",
"success": "Imefanikiwa",
"confirm": "Thibitisha",
"cancel": "Ghairi",
"close": "Funga",
"save": "Hifadhi",
"delete": "Futa",
"remove": "Ondoa",
"download": "Pakua",
"upload": "Pakia",
"submit": "Wasilisha",
"back": "Rudi",
"next": "Inayofuata",
"yes": "Ndiyo",
"no": "Hapana"
},
"nav": {
"history": "Historia",
"account": "Akaunti",
"logout": "Toka",
"login": "Ingia",
"register": "Jisajili",
"language": "Lugha"
},
"convert": {
"title": "Badilisha",
"titleWithType": "Badilisha .{fileType}",
"chooseFile": "Chagua faili",
"orDragHere": "au iburute hapa",
"searchConversions": "Tafuta ubadilishaji",
"convertTo": "Badilisha kuwa",
"convertButton": "Badilisha",
"uploading": "Inapakia...",
"processing": "Inachakata..."
},
"results": {
"title": "Matokeo",
"convertedFileName": "Jina la faili iliyobadilishwa",
"status": "Hali",
"actions": "Vitendo",
"downloadAll": "Zote",
"downloadTar": "Tar",
"deleteJob": "Futa",
"noFiles": "Hakuna faili zilizobadilishwa bado.",
"statusPending": "Inasubiri",
"statusCompleted": "Imekamilika",
"statusFailed": "Imeshindwa"
},
"history": {
"title": "Matokeo",
"time": "Wakati",
"files": "Faili",
"filesDone": "Faili zilizokamilika",
"status": "Hali",
"actions": "Vitendo",
"expandDetails": "Panua maelezo",
"detailedFileInfo": "Maelezo ya kina ya faili:",
"deleteSelected": "Futa zilizochaguliwa",
"selectAll": "Chagua zote",
"confirmDelete": "Una uhakika unataka kufuta kazi {count}? Kitendo hiki hakiwezi kutenduliwa.",
"deleteSuccess": "Kazi {deleted} zimefutwa kwa mafanikio.",
"deleteFailed": "Imeshindwa kufuta kazi {failed}.",
"deleteError": "Hitilafu imetokea wakati wa kufuta kazi. Tafadhali jaribu tena."
},
"auth": {
"email": "Barua pepe",
"password": "Nenosiri",
"currentPassword": "Nenosiri la sasa",
"newPassword": "Nenosiri (acha tupu ikiwa halijabadilishwa)",
"loginButton": "Ingia",
"registerButton": "Jisajili",
"updateButton": "Sasisha",
"createAccount": "Unda akaunti",
"invalidCredentials": "Vitambulisho batili.",
"emailInUse": "Barua pepe tayari inatumika.",
"unauthorized": "Haujaidhinishwa",
"cookiesRequired": "Kuki zinapaswa kuwezeshwa kutumia programu hii.",
"noCookies": "Hakuna kuki ya uthibitisho, labda kivinjari chako kinazuia kuki."
},
"setup": {
"welcome": "Karibu kwenye ConvertX-CN!",
"createYourAccount": "Unda akaunti yako",
"reportIssues": "Ripoti matatizo yoyote kwenye",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Kazi haijapatikana.",
"fileNotFound": "Faili haijapatikana.",
"uploadFailed": "Upakiaji umeshindwa.",
"conversionFailed": "Ubadilishaji umeshindwa.",
"serverError": "Hitilafu ya seva."
},
"upload": {
"success": "Faili zimepakiwa kwa mafanikio.",
"dragDrop": "Dondosha faili hapa"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/ta.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "மூலம் இயக்கப்படுகிறது",
"version": "v{version}",
"loading": "ஏற்றுகிறது...",
"error": "பிழை",
"success": "வெற்றி",
"confirm": "உறுதிப்படுத்து",
"cancel": "ரத்து செய்",
"close": "மூடு",
"save": "சேமி",
"delete": "நீக்கு",
"remove": "அகற்று",
"download": "பதிவிறக்கு",
"upload": "பதிவேற்று",
"submit": "சமர்ப்பி",
"back": "பின்",
"next": "அடுத்து",
"yes": "ஆம்",
"no": "இல்லை"
},
"nav": {
"history": "வரலாறு",
"account": "கணக்கு",
"logout": "வெளியேறு",
"login": "உள்நுழை",
"register": "பதிவு செய்",
"language": "மொழி"
},
"convert": {
"title": "மாற்று",
"titleWithType": ".{fileType} மாற்று",
"chooseFile": "ஒரு கோப்பைத் தேர்ந்தெடுக்கவும்",
"orDragHere": "அல்லது இங்கே இழுக்கவும்",
"searchConversions": "மாற்றங்களைத் தேடு",
"convertTo": "இதற்கு மாற்று",
"convertButton": "மாற்று",
"uploading": "பதிவேற்றுகிறது...",
"processing": "செயலாக்குகிறது..."
},
"results": {
"title": "முடிவுகள்",
"convertedFileName": "மாற்றப்பட்ட கோப்பு பெயர்",
"status": "நிலை",
"actions": "செயல்கள்",
"downloadAll": "அனைத்தும்",
"downloadTar": "Tar",
"deleteJob": "நீக்கு",
"noFiles": "இன்னும் கோப்புகள் மாற்றப்படவில்லை.",
"statusPending": "நிலுவையில்",
"statusCompleted": "முடிந்தது",
"statusFailed": "தோல்வி"
},
"history": {
"title": "முடிவுகள்",
"time": "நேரம்",
"files": "கோப்புகள்",
"filesDone": "முடிந்த கோப்புகள்",
"status": "நிலை",
"actions": "செயல்கள்",
"expandDetails": "விவரங்களை விரிவாக்கு",
"detailedFileInfo": "விரிவான கோப்பு தகவல்:",
"deleteSelected": "தேர்ந்தெடுத்ததை நீக்கு",
"selectAll": "அனைத்தையும் தேர்ந்தெடு",
"confirmDelete": "{count} பணி(களை) நீக்க விரும்புகிறீர்களா? இந்த செயலை மாற்ற முடியாது.",
"deleteSuccess": "{deleted} பணி(கள்) வெற்றிகரமாக நீக்கப்பட்டன.",
"deleteFailed": "{failed} பணி(களை) நீக்க முடியவில்லை.",
"deleteError": "பணிகளை நீக்கும் போது பிழை ஏற்பட்டது. மீண்டும் முயற்சிக்கவும்."
},
"auth": {
"email": "மின்னஞ்சல்",
"password": "கடவுச்சொல்",
"currentPassword": "தற்போதைய கடவுச்சொல்",
"newPassword": "கடவுச்சொல் (மாற்றவில்லை என்றால் காலியாக விடவும்)",
"loginButton": "உள்நுழை",
"registerButton": "பதிவு செய்",
"updateButton": "புதுப்பி",
"createAccount": "கணக்கை உருவாக்கு",
"invalidCredentials": "தவறான சான்றுகள்.",
"emailInUse": "மின்னஞ்சல் ஏற்கனவே பயன்பாட்டில் உள்ளது.",
"unauthorized": "அங்கீகரிக்கப்படவில்லை",
"cookiesRequired": "இந்த செயலியைப் பயன்படுத்த குக்கீகள் இயக்கப்பட வேண்டும்.",
"noCookies": "அங்கீகார குக்கீ இல்லை, உங்கள் உலாவி குக்கீகளைத் தடுக்கிறது."
},
"setup": {
"welcome": "ConvertX-CN-க்கு வரவேற்கிறோம்!",
"createYourAccount": "உங்கள் கணக்கை உருவாக்கவும்",
"reportIssues": "சிக்கல்களைப் புகாரளிக்கவும்",
"github": "GitHub"
},
"errors": {
"jobNotFound": "பணி கண்டறியப்படவில்லை.",
"fileNotFound": "கோப்பு கண்டறியப்படவில்லை.",
"uploadFailed": "பதிவேற்றம் தோல்வியடைந்தது.",
"conversionFailed": "மாற்றம் தோல்வியடைந்தது.",
"serverError": "சேவையக பிழை."
},
"upload": {
"success": "கோப்புகள் வெற்றிகரமாக பதிவேற்றப்பட்டன.",
"dragDrop": "கோப்புகளை இங்கே விடவும்"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/te.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "ద్వారా శక్తి పొందింది",
"version": "v{version}",
"loading": "లోడ్ అవుతోంది...",
"error": "లోపం",
"success": "విజయం",
"confirm": "నిర్ధారించు",
"cancel": "రద్దు చేయి",
"close": "మూసివేయి",
"save": "సేవ్ చేయి",
"delete": "తొలగించు",
"remove": "తీసివేయి",
"download": "డౌన్‌లోడ్",
"upload": "అప్‌లోడ్",
"submit": "సమర్పించు",
"back": "వెనుకకు",
"next": "తదుపరి",
"yes": "అవును",
"no": "కాదు"
},
"nav": {
"history": "చరిత్ర",
"account": "ఖాతా",
"logout": "లాగ్ అవుట్",
"login": "లాగిన్",
"register": "నమోదు",
"language": "భాష"
},
"convert": {
"title": "మార్చు",
"titleWithType": ".{fileType} మార్చు",
"chooseFile": "ఫైల్ ఎంచుకోండి",
"orDragHere": "లేదా ఇక్కడ డ్రాగ్ చేయండి",
"searchConversions": "మార్పిడులు శోధించు",
"convertTo": "దీనికి మార్చు",
"convertButton": "మార్చు",
"uploading": "అప్‌లోడ్ అవుతోంది...",
"processing": "ప్రాసెస్ అవుతోంది..."
},
"results": {
"title": "ఫలితాలు",
"convertedFileName": "మార్చబడిన ఫైల్ పేరు",
"status": "స్థితి",
"actions": "చర్యలు",
"downloadAll": "అన్నీ",
"downloadTar": "Tar",
"deleteJob": "తొలగించు",
"noFiles": "ఇంకా ఫైళ్లు మార్చబడలేదు.",
"statusPending": "పెండింగ్",
"statusCompleted": "పూర్తయింది",
"statusFailed": "విఫలమైంది"
},
"history": {
"title": "ఫలితాలు",
"time": "సమయం",
"files": "ఫైళ్లు",
"filesDone": "పూర్తయిన ఫైళ్లు",
"status": "స్థితి",
"actions": "చర్యలు",
"expandDetails": "వివరాలు విస్తరించు",
"detailedFileInfo": "వివరణాత్మక ఫైల్ సమాచారం:",
"deleteSelected": "ఎంచుకున్నవి తొలగించు",
"selectAll": "అన్నీ ఎంచుకో",
"confirmDelete": "మీరు {count} జాబ్(లు) తొలగించాలనుకుంటున్నారా? ఈ చర్యను రద్దు చేయలేరు.",
"deleteSuccess": "{deleted} జాబ్(లు) విజయవంతంగా తొలగించబడ్డాయి.",
"deleteFailed": "{failed} జాబ్(లు) తొలగించడంలో విఫలమైంది.",
"deleteError": "జాబ్‌లు తొలగించేటప్పుడు లోపం సంభవించింది. దయచేసి మళ్ళీ ప్రయత్నించండి."
},
"auth": {
"email": "ఇమెయిల్",
"password": "పాస్‌వర్డ్",
"currentPassword": "ప్రస్తుత పాస్‌వర్డ్",
"newPassword": "పాస్‌వర్డ్ (మార్చకపోతే ఖాళీగా ఉంచండి)",
"loginButton": "లాగిన్",
"registerButton": "నమోదు",
"updateButton": "అప్‌డేట్",
"createAccount": "ఖాతా సృష్టించు",
"invalidCredentials": "చెల్లని ఆధారాలు.",
"emailInUse": "ఇమెయిల్ ఇప్పటికే వాడుకలో ఉంది.",
"unauthorized": "అనధికారం",
"cookiesRequired": "ఈ యాప్ ఉపయోగించడానికి కుకీలు ఎనేబుల్ చేయాలి.",
"noCookies": "ప్రమాణీకరణ కుకీ లేదు, మీ బ్రౌజర్ కుకీలను బ్లాక్ చేస్తోంది."
},
"setup": {
"welcome": "ConvertX-CN కు స్వాగతం!",
"createYourAccount": "మీ ఖాతాను సృష్టించండి",
"reportIssues": "సమస్యలను నివేదించండి",
"github": "GitHub"
},
"errors": {
"jobNotFound": "జాబ్ కనుగొనబడలేదు.",
"fileNotFound": "ఫైల్ కనుగొనబడలేదు.",
"uploadFailed": "అప్‌లోడ్ విఫలమైంది.",
"conversionFailed": "మార్పిడి విఫలమైంది.",
"serverError": "సర్వర్ లోపం."
},
"upload": {
"success": "ఫైళ్లు విజయవంతంగా అప్‌లోడ్ అయ్యాయి.",
"dragDrop": "ఫైళ్లను ఇక్కడ వదలండి"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/th.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "ขับเคลื่อนโดย",
"version": "v{version}",
"loading": "กำลังโหลด...",
"error": "ข้อผิดพลาด",
"success": "สำเร็จ",
"confirm": "ยืนยัน",
"cancel": "ยกเลิก",
"close": "ปิด",
"save": "บันทึก",
"delete": "ลบ",
"remove": "นำออก",
"download": "ดาวน์โหลด",
"upload": "อัปโหลด",
"submit": "ส่ง",
"back": "กลับ",
"next": "ถัดไป",
"yes": "ใช่",
"no": "ไม่"
},
"nav": {
"history": "ประวัติ",
"account": "บัญชี",
"logout": "ออกจากระบบ",
"login": "เข้าสู่ระบบ",
"register": "ลงทะเบียน",
"language": "ภาษา"
},
"convert": {
"title": "แปลงไฟล์",
"titleWithType": "แปลงไฟล์ .{fileType}",
"chooseFile": "เลือกไฟล์",
"orDragHere": "หรือลากมาที่นี่",
"searchConversions": "ค้นหาการแปลง",
"convertTo": "แปลงเป็น",
"convertButton": "แปลง",
"uploading": "กำลังอัปโหลด...",
"processing": "กำลังประมวลผล..."
},
"results": {
"title": "ผลลัพธ์",
"convertedFileName": "ชื่อไฟล์ที่แปลงแล้ว",
"status": "สถานะ",
"actions": "การดำเนินการ",
"downloadAll": "ทั้งหมด",
"downloadTar": "Tar",
"deleteJob": "ลบ",
"noFiles": "ยังไม่มีไฟล์ที่แปลง",
"statusPending": "รอดำเนินการ",
"statusCompleted": "เสร็จสมบูรณ์",
"statusFailed": "ล้มเหลว"
},
"history": {
"title": "ผลลัพธ์",
"time": "เวลา",
"files": "ไฟล์",
"filesDone": "ไฟล์ที่เสร็จแล้ว",
"status": "สถานะ",
"actions": "การดำเนินการ",
"expandDetails": "ขยายรายละเอียด",
"detailedFileInfo": "ข้อมูลไฟล์โดยละเอียด:",
"deleteSelected": "ลบที่เลือก",
"selectAll": "เลือกทั้งหมด",
"confirmDelete": "คุณแน่ใจหรือไม่ว่าต้องการลบ {count} งาน? การดำเนินการนี้ไม่สามารถยกเลิกได้",
"deleteSuccess": "ลบ {deleted} งานสำเร็จ",
"deleteFailed": "ไม่สามารถลบ {failed} งาน",
"deleteError": "เกิดข้อผิดพลาดขณะลบงาน กรุณาลองอีกครั้ง"
},
"auth": {
"email": "อีเมล",
"password": "รหัสผ่าน",
"currentPassword": "รหัสผ่านปัจจุบัน",
"newPassword": "รหัสผ่าน (เว้นว่างเพื่อไม่เปลี่ยน)",
"loginButton": "เข้าสู่ระบบ",
"registerButton": "ลงทะเบียน",
"updateButton": "อัปเดต",
"createAccount": "สร้างบัญชี",
"invalidCredentials": "ข้อมูลรับรองไม่ถูกต้อง",
"emailInUse": "อีเมลถูกใช้งานแล้ว",
"unauthorized": "ไม่ได้รับอนุญาต",
"cookiesRequired": "ต้องเปิดใช้งานคุกกี้เพื่อใช้แอปนี้",
"noCookies": "ไม่มีคุกกี้การยืนยันตัวตน อาจเป็นเพราะเบราว์เซอร์ของคุณบล็อกคุกกี้"
},
"setup": {
"welcome": "ยินดีต้อนรับสู่ ConvertX-CN!",
"createYourAccount": "สร้างบัญชีของคุณ",
"reportIssues": "รายงานปัญหาที่",
"github": "GitHub"
},
"errors": {
"jobNotFound": "ไม่พบงาน",
"fileNotFound": "ไม่พบไฟล์",
"uploadFailed": "อัปโหลดล้มเหลว",
"conversionFailed": "การแปลงล้มเหลว",
"serverError": "ข้อผิดพลาดเซิร์ฟเวอร์"
},
"upload": {
"success": "อัปโหลดไฟล์สำเร็จ",
"dragDrop": "วางไฟล์ที่นี่"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/tr.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Tarafından desteklenmektedir",
"version": "v{version}",
"loading": "Yükleniyor...",
"error": "Hata",
"success": "Başarılı",
"confirm": "Onayla",
"cancel": "İptal",
"close": "Kapat",
"save": "Kaydet",
"delete": "Sil",
"remove": "Kaldır",
"download": "İndir",
"upload": "Yükle",
"submit": "Gönder",
"back": "Geri",
"next": "İleri",
"yes": "Evet",
"no": "Hayır"
},
"nav": {
"history": "Geçmiş",
"account": "Hesap",
"logout": ıkış",
"login": "Giriş",
"register": "Kayıt Ol",
"language": "Dil"
},
"convert": {
"title": "Dönüştür",
"titleWithType": ".{fileType} Dönüştür",
"chooseFile": "Bir dosya seçin",
"orDragHere": "veya buraya sürükleyin",
"searchConversions": "Dönüşümleri ara",
"convertTo": "Dönüştür",
"convertButton": "Dönüştür",
"uploading": "Yükleniyor...",
"processing": "İşleniyor..."
},
"results": {
"title": "Sonuçlar",
"convertedFileName": "Dönüştürülen Dosya Adı",
"status": "Durum",
"actions": "İşlemler",
"downloadAll": "Tümü",
"downloadTar": "Tar",
"deleteJob": "Sil",
"noFiles": "Henüz dönüştürülmüş dosya yok.",
"statusPending": "Bekliyor",
"statusCompleted": "Tamamlandı",
"statusFailed": "Başarısız"
},
"history": {
"title": "Sonuçlar",
"time": "Zaman",
"files": "Dosyalar",
"filesDone": "Tamamlanan Dosyalar",
"status": "Durum",
"actions": "İşlemler",
"expandDetails": "Ayrıntıları genişlet",
"detailedFileInfo": "Ayrıntılı Dosya Bilgisi:",
"deleteSelected": "Seçilenleri Sil",
"selectAll": "Tümünü seç",
"confirmDelete": "{count} işi silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"deleteSuccess": "{deleted} iş başarıyla silindi.",
"deleteFailed": "{failed} iş silinemedi.",
"deleteError": "İşler silinirken bir hata oluştu. Lütfen tekrar deneyin."
},
"auth": {
"email": "E-posta",
"password": "Şifre",
"currentPassword": "Mevcut Şifre",
"newPassword": "Şifre (değiştirmemek için boş bırakın)",
"loginButton": "Giriş Yap",
"registerButton": "Kayıt Ol",
"updateButton": "Güncelle",
"createAccount": "Hesap oluştur",
"invalidCredentials": "Geçersiz kimlik bilgileri.",
"emailInUse": "E-posta zaten kullanımda.",
"unauthorized": "Yetkisiz",
"cookiesRequired": "Bu uygulamayı kullanmak için çerezler etkinleştirilmelidir.",
"noCookies": "Kimlik doğrulama çerezi yok, belki tarayıcınız çerezleri engelliyor."
},
"setup": {
"welcome": "ConvertX-CN'e Hoş Geldiniz!",
"createYourAccount": "Hesabınızı oluşturun",
"reportIssues": "Sorunları bildirin",
"github": "GitHub"
},
"errors": {
"jobNotFound": "İş bulunamadı.",
"fileNotFound": "Dosya bulunamadı.",
"uploadFailed": "Yükleme başarısız.",
"conversionFailed": "Dönüştürme başarısız.",
"serverError": "Sunucu hatası."
},
"upload": {
"success": "Dosyalar başarıyla yüklendi.",
"dragDrop": "Dosyaları buraya bırakın"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/uk.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Працює на",
"version": "v{version}",
"loading": "Завантаження...",
"error": "Помилка",
"success": "Успіх",
"confirm": "Підтвердити",
"cancel": "Скасувати",
"close": "Закрити",
"save": "Зберегти",
"delete": "Видалити",
"remove": "Прибрати",
"download": "Завантажити",
"upload": "Завантажити",
"submit": "Надіслати",
"back": "Назад",
"next": "Далі",
"yes": "Так",
"no": "Ні"
},
"nav": {
"history": "Історія",
"account": "Обліковий запис",
"logout": "Вийти",
"login": "Увійти",
"register": "Реєстрація",
"language": "Мова"
},
"convert": {
"title": "Конвертувати",
"titleWithType": "Конвертувати .{fileType}",
"chooseFile": "Виберіть файл",
"orDragHere": "або перетягніть сюди",
"searchConversions": "Пошук конвертацій",
"convertTo": "Конвертувати в",
"convertButton": "Конвертувати",
"uploading": "Завантаження...",
"processing": "Обробка..."
},
"results": {
"title": "Результати",
"convertedFileName": "Ім'я конвертованого файлу",
"status": "Статус",
"actions": "Дії",
"downloadAll": "Усі",
"downloadTar": "Tar",
"deleteJob": "Видалити",
"noFiles": "Файли ще не конвертовані.",
"statusPending": "Очікування",
"statusCompleted": "Завершено",
"statusFailed": "Помилка"
},
"history": {
"title": "Результати",
"time": "Час",
"files": "Файли",
"filesDone": "Готові файли",
"status": "Статус",
"actions": "Дії",
"expandDetails": "Розгорнути деталі",
"detailedFileInfo": "Детальна інформація про файл:",
"deleteSelected": "Видалити вибрані",
"selectAll": "Вибрати все",
"confirmDelete": "Ви впевнені, що хочете видалити {count} завдання? Цю дію не можна скасувати.",
"deleteSuccess": "Успішно видалено {deleted} завдання.",
"deleteFailed": "Не вдалося видалити {failed} завдання.",
"deleteError": "Сталася помилка під час видалення завдань. Спробуйте ще раз."
},
"auth": {
"email": "Електронна пошта",
"password": "Пароль",
"currentPassword": "Поточний пароль",
"newPassword": "Пароль (залиште порожнім, щоб не змінювати)",
"loginButton": "Увійти",
"registerButton": "Зареєструватися",
"updateButton": "Оновити",
"createAccount": "Створити обліковий запис",
"invalidCredentials": "Невірні облікові дані.",
"emailInUse": "Електронна пошта вже використовується.",
"unauthorized": "Не авторизовано",
"cookiesRequired": "Для використання цього додатка потрібно увімкнути cookies.",
"noCookies": "Немає cookie автентифікації, можливо, ваш браузер блокує cookies."
},
"setup": {
"welcome": "Ласкаво просимо до ConvertX-CN!",
"createYourAccount": "Створіть свій обліковий запис",
"reportIssues": "Повідомляйте про проблеми на",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Завдання не знайдено.",
"fileNotFound": "Файл не знайдено.",
"uploadFailed": "Помилка завантаження.",
"conversionFailed": "Помилка конвертації.",
"serverError": "Помилка сервера."
},
"upload": {
"success": "Файли успішно завантажено.",
"dragDrop": "Перетягніть файли сюди"
},
"file": {
"size": "{size} кБ"
}
}

106
src/locales/vi.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Được hỗ trợ bởi",
"version": "v{version}",
"loading": "Đang tải...",
"error": "Lỗi",
"success": "Thành công",
"confirm": "Xác nhận",
"cancel": "Hủy",
"close": "Đóng",
"save": "Lưu",
"delete": "Xóa",
"remove": "Gỡ bỏ",
"download": "Tải xuống",
"upload": "Tải lên",
"submit": "Gửi",
"back": "Quay lại",
"next": "Tiếp theo",
"yes": "Có",
"no": "Không"
},
"nav": {
"history": "Lịch sử",
"account": "Tài khoản",
"logout": "Đăng xuất",
"login": "Đăng nhập",
"register": "Đăng ký",
"language": "Ngôn ngữ"
},
"convert": {
"title": "Chuyển đổi",
"titleWithType": "Chuyển đổi .{fileType}",
"chooseFile": "Chọn tệp",
"orDragHere": "hoặc kéo vào đây",
"searchConversions": "Tìm kiếm chuyển đổi",
"convertTo": "Chuyển đổi sang",
"convertButton": "Chuyển đổi",
"uploading": "Đang tải lên...",
"processing": "Đang xử lý..."
},
"results": {
"title": "Kết quả",
"convertedFileName": "Tên tệp đã chuyển đổi",
"status": "Trạng thái",
"actions": "Hành động",
"downloadAll": "Tất cả",
"downloadTar": "Tar",
"deleteJob": "Xóa",
"noFiles": "Chưa có tệp nào được chuyển đổi.",
"statusPending": "Đang chờ",
"statusCompleted": "Hoàn thành",
"statusFailed": "Thất bại"
},
"history": {
"title": "Kết quả",
"time": "Thời gian",
"files": "Tệp",
"filesDone": "Tệp hoàn thành",
"status": "Trạng thái",
"actions": "Hành động",
"expandDetails": "Mở rộng chi tiết",
"detailedFileInfo": "Thông tin chi tiết tệp:",
"deleteSelected": "Xóa đã chọn",
"selectAll": "Chọn tất cả",
"confirmDelete": "Bạn có chắc muốn xóa {count} công việc? Hành động này không thể hoàn tác.",
"deleteSuccess": "Đã xóa thành công {deleted} công việc.",
"deleteFailed": "Không thể xóa {failed} công việc.",
"deleteError": "Đã xảy ra lỗi khi xóa công việc. Vui lòng thử lại."
},
"auth": {
"email": "Email",
"password": "Mật khẩu",
"currentPassword": "Mật khẩu hiện tại",
"newPassword": "Mật khẩu (để trống nếu không thay đổi)",
"loginButton": "Đăng nhập",
"registerButton": "Đăng ký",
"updateButton": "Cập nhật",
"createAccount": "Tạo tài khoản",
"invalidCredentials": "Thông tin đăng nhập không hợp lệ.",
"emailInUse": "Email đã được sử dụng.",
"unauthorized": "Không được phép",
"cookiesRequired": "Cần bật cookie để sử dụng ứng dụng này.",
"noCookies": "Không có cookie xác thực, có thể trình duyệt của bạn đang chặn cookie."
},
"setup": {
"welcome": "Chào mừng đến với ConvertX-CN!",
"createYourAccount": "Tạo tài khoản của bạn",
"reportIssues": "Báo cáo sự cố tại",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Không tìm thấy công việc.",
"fileNotFound": "Không tìm thấy tệp.",
"uploadFailed": "Tải lên thất bại.",
"conversionFailed": "Chuyển đổi thất bại.",
"serverError": "Lỗi máy chủ."
},
"upload": {
"success": "Tải tệp lên thành công.",
"dragDrop": "Thả tệp vào đây"
},
"file": {
"size": "{size} kB"
}
}

106
src/locales/zu.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Iqhutshwa yi",
"version": "v{version}",
"loading": "Iyalayisha...",
"error": "Iphutha",
"success": "Impumelelo",
"confirm": "Qinisekisa",
"cancel": "Khansela",
"close": "Vala",
"save": "Londoloza",
"delete": "Susa",
"remove": "Susa",
"download": "Landa",
"upload": "Layisha",
"submit": "Thumela",
"back": "Emuva",
"next": "Okulandelayo",
"yes": "Yebo",
"no": "Cha"
},
"nav": {
"history": "Umlando",
"account": "I-akhawunti",
"logout": "Phuma",
"login": "Ngena",
"register": "Bhalisa",
"language": "Ulimi"
},
"convert": {
"title": "Guqula",
"titleWithType": "Guqula .{fileType}",
"chooseFile": "Khetha ifayela",
"orDragHere": "noma yihudulele lapha",
"searchConversions": "Sesha ukuguqulwa",
"convertTo": "Guqulela ku",
"convertButton": "Guqula",
"uploading": "Iyalayisha...",
"processing": "Iyacubungula..."
},
"results": {
"title": "Imiphumela",
"convertedFileName": "Igama lefayela eliguquliwe",
"status": "Isimo",
"actions": "Izenzo",
"downloadAll": "Konke",
"downloadTar": "Tar",
"deleteJob": "Susa",
"noFiles": "Awakho amafayela aguquliwe okwamanje.",
"statusPending": "Kulindwe",
"statusCompleted": "Kuqediwe",
"statusFailed": "Kwehlulekile"
},
"history": {
"title": "Imiphumela",
"time": "Isikhathi",
"files": "Amafayela",
"filesDone": "Amafayela aqediwe",
"status": "Isimo",
"actions": "Izenzo",
"expandDetails": "Nweba imininingwane",
"detailedFileInfo": "Imininingwane yefayela enemininingwane:",
"deleteSelected": "Susa okukhethiwe",
"selectAll": "Khetha konke",
"confirmDelete": "Uqinisekile ukuthi ufuna ukususa imisebenzi engu-{count}? Lesi senzo asinakubuyiselwa emuva.",
"deleteSuccess": "Kususiwe ngempumelelo imisebenzi engu-{deleted}.",
"deleteFailed": "Kwehlulekile ukususa imisebenzi engu-{failed}.",
"deleteError": "Kwenzeke iphutha ngenkathi kususa imisebenzi. Sicela uzame futhi."
},
"auth": {
"email": "I-imeyili",
"password": "Iphasiwedi",
"currentPassword": "Iphasiwedi yamanje",
"newPassword": "Iphasiwedi (shiya kungenalutho uma ingashintshiwe)",
"loginButton": "Ngena",
"registerButton": "Bhalisa",
"updateButton": "Buyekeza",
"createAccount": "Dala i-akhawunti",
"invalidCredentials": "Imininingwane engavumelekile.",
"emailInUse": "I-imeyili isivele isetshenziswa.",
"unauthorized": "Akuvunyelwe",
"cookiesRequired": "Amakhukhi kufanele avunyelwe ukuze usebenzise lolu hlelo lokusebenza.",
"noCookies": "Awekho amakhukhi okuqinisekisa, mhlawumbe isiphequluli sakho sivimbela amakhukhi."
},
"setup": {
"welcome": "Siyakwamukela ku-ConvertX-CN!",
"createYourAccount": "Dala i-akhawunti yakho",
"reportIssues": "Bika noma yiziphi izinkinga ku",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Umsebenzi awutholakali.",
"fileNotFound": "Ifayela alitholakali.",
"uploadFailed": "Ukulayisha kwehlulekile.",
"conversionFailed": "Ukuguqula kwehlulekile.",
"serverError": "Iphutha leseva."
},
"upload": {
"success": "Amafayela alayishwe ngempumelelo.",
"dragDrop": "Lahla amafayela lapha"
},
"file": {
"size": "{size} kB"
}
}