mirror of
https://github.com/rustfs/console.git
synced 2026-08-30 17:14:47 +08:00
6b40c2bc166304564acd3dbf7d825d99b8589472
* feat: 补充任务状态和操作相关的翻译键 - 添加小写版本的状态翻译键:waiting, in progress, success, failed, paused, canceled - 添加 Upload 翻译键 - 更新任务状态显示使用新的翻译键 - 统一翻译键命名规范 * feat: 为法语语言包补充任务状态和操作相关的翻译键 - 添加小写版本的状态翻译键:waiting, in progress, success, failed, paused, canceled - 添加 Upload 翻译键 - 修复 In Progress 参数名(deleting -> processing) - 更新 Success Status 和 Failed Status 翻译 * fix: 对齐所有语言包的翻译键 - 为法语语言包添加 Processing (with count) 键 - 为土耳其语语言包添加 success 和 Success Status 键 - 为中文和英文语言包添加 Success Status 键 - 确保所有语言包(中文、英文、土耳其语、法语)的键完全对齐 - 所有语言包现在都有 880 个键 * feat: 添加国际主流语言支持 新增语言包: - 日语 (ja-JP) - 日本語 - 韩语 (ko-KR) - 한국어 - 德语 (de-DE) - Deutsch - 西班牙语 (es-ES) - Español - 俄语 (ru-RU) - Русский - 葡萄牙语 (pt-BR) - Português - 意大利语 (it-IT) - Italiano 更新内容: - 更新 nuxt.config.ts 添加新语言配置 - 更新 language-switcher.vue 组件添加新语言选项 - 所有新语言包包含 880 个翻译键(目前使用英文作为占位符) 现在支持共 11 种语言:英语、中文、日语、韩语、德语、法语、西班牙语、葡萄牙语、意大利语、俄语、土耳其语 * fix: 暂时隐藏未翻译的语言选项 - 从语言选择器中移除尚未翻译的语言(日语、韩语、德语、西班牙语、葡萄牙语、意大利语、俄语) - 只保留已完整翻译的语言:英语、中文、法语、土耳其语 - 未翻译的语言配置已注释,待翻译完成后可重新启用 这些语言包文件已创建但内容为英文占位符,切换后会显示英文内容 * feat: 完成德语和日语语言包翻译 - 将德语文件 (de-DE.json) 中的所有英文值翻译为德语 - 将日语文件 (ja-JP.json) 中的所有英文值翻译为日语 - 技术术语(如 API、KMS、IAM、MQTT 等)保持英文或使用适当的本地化形式 - 遵循德语和日语的本地化习惯和语言环境 * feat: 完成意大利语、韩语、巴西葡萄牙语和俄语翻译 * feat: 完成西班牙语翻译 * refactor: remove duplicate language options in language-switcher - Generate options array dynamically from languageConfig - Eliminate redundant language definitions - Maintain single source of truth for language data * fix: input shadow
RustFS Console
A modern web management console for RustFS distributed file system.
Features
- Vue 3 + Nuxt 4 + TypeScript + Tailwind CSS v4
- shadcn-vue components with dark mode
- i18n support (English, Chinese, Turkish)
- Responsive design
- S3-compatible API with AWS signing
- Real-time monitoring dashboard
Quick Start
Prerequisites
- Node.js >= 22.0.0
- pnpm >= 10.19.0
- RustFS backend running
Installation
git clone https://github.com/rustfs/console.git
cd console
pnpm install
Development
pnpm dev
Server starts at http://localhost:3000.
Environment (Optional)
Create .env:
APP_NAME=RustFS
BASE_URL=/rustfs/console/
API_BASE_URL=http://localhost:9000/rustfs/admin/v3
SERVER_HOST=http://localhost:9000
S3_REGION=us-east-1
S3_ENDPOINT=http://localhost:9000
Configuration is auto-detected from server config, localStorage, or browser host.
Production Build
pnpm build
pnpm preview
Project Structure
├── components/ # Vue components
├── composables/ # Reusable logic
├── pages/ # Nuxt routes
├── lib/ # API clients, utilities
├── store/ # Pinia stores
├── tests/ # Test files
└── utils/ # Utility functions
Development
Code Quality
pnpm type-check # TypeScript checking
pnpm lint # Linting
pnpm lint:fix # Auto-fix formatting
Testing
pnpm test # Run tests
pnpm test:run # CI mode
pnpm test:coverage # With coverage
See tests/README.md for details.
Coding Standards
- Component files: kebab-case (
bucket-selector.vue) - Component usage: StudlyCase (
<BucketSelector />) - Composables: camelCase with
useprefix (useBucket.ts) - TypeScript: Strict mode, avoid
any - Comments: English only
Contributing
Workflow
- Fork and clone
- Create feature branch:
git checkout -b feature/amazing-feature - Make changes following coding standards
- Test:
pnpm type-check && pnpm lint && pnpm test:run - Commit:
git commit -m 'feat: add amazing feature'(English only) - Push and create PR
Pre-Commit Checklist
Before committing, run all checks:
# Quick check (lint, type-check, tests, build)
pnpm run check
# Full check (includes security audit)
pnpm run pre-commit
Or manually:
- ✅
pnpm lintpasses - ✅
pnpm type-checkpasses - ✅
pnpm test:runpasses - ✅
pnpm buildsucceeds - ✅
pnpm audit --audit-level=moderatepasses - ✅ No debug code (
console.log) - ✅ Self-reviewed
- ✅ Commit messages in English
Tip: Run pnpm run check before every commit to catch issues early.
Commit Convention
Follow Conventional Commits:
feat: New featuresfix: Bug fixesdocs: Documentationstyle: Formattingrefactor: Code refactoringtest: Testschore: Build/tool changes
All commit messages must be in English.
Deployment
Build
pnpm build
Output: .output/public (static files)
Docker
FROM node:22-alpine AS builder
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN corepack enable && corepack prepare pnpm@10.19.0 --activate
RUN pnpm install --frozen-lockfile
COPY . .
RUN pnpm build
FROM nginx:alpine
COPY --from=builder /app/.output/public /usr/share/nginx/html
EXPOSE 80
License
Apache License 2.0 - see LICENSE
Description
A modern, responsive web management console for RustFS distributed file system, built with Vue 3 + Nuxt 4 + TypeScript + Tailwind CSS v4 and TypeScript.
Readme
Apache-2.0
37 MiB
Languages
TypeScript
90.3%
JavaScript
9.4%
CSS
0.3%