# 国际化支持 / Internationalization (i18n)
MCP Session Saver 支持多语言界面,为全球用户提供本地化体验。
## 支持的语言 / Supported Languages
| 语言 | Language | 代码 | Code |
|------|----------|------|------|
| 简体中文 | Simplified Chinese | `zh-CN` | Default |
| English | English | `en-US` | - |
| 日本語 | Japanese | `ja-JP` | - |
| 한국어 | Korean | `ko-KR` | - |
## 配置方法 / Configuration
### 方法 1: 环境变量 / Environment Variable
设置 `MCP_SESSION_LANGUAGE` 环境变量:
**Windows:**
```cmd
set MCP_SESSION_LANGUAGE=en-US
```
**macOS/Linux:**
```bash
export MCP_SESSION_LANGUAGE=en-US
```
**在 MCP 配置文件中:**
```json
{
"mcpServers": {
"session-saver": {
"command": "node",
"args": ["path/to/mcp-session-saver/index.js"],
"env": {
"MCP_SESSION_LANGUAGE": "en-US"
}
}
}
}
```
### 方法 2: 配置文件 / Config File
在 `config.json` 中添加 `language` 字段:
```json
{
"defaultBaseDir": "~/Documents/ide_sessions",
"language": "en-US"
}
```
### 方法 3: 自动检测 / Auto Detection
如果未设置语言,系统会自动检测以下环境变量:
- `LANG`
- `LANGUAGE`
- `LC_ALL`
并选择最匹配的支持语言,默认为简体中文。
## 优先级 / Priority
语言设置的优先级从高到低:
1. 环境变量 `MCP_SESSION_LANGUAGE`(最高优先级)
2. `config.json` 中的 `language` 字段
3. 系统语言自动检测
4. 默认语言:`zh-CN`
## 翻译内容 / Translated Content
国际化支持涵盖以下内容:
### 1. 会话保存消息 / Session Save Messages
- ✅ 会话已保存到 / Session saved to
- 📖 正在读取会话 / Reading session
- 🗑️ 正在删除会话 / Deleting session
- ✅ 会话已删除 / Session deleted
### 2. 列表显示 / List Display
- 找到 X 个会话 / Found X session(s)
- 未找到任何会话 / No sessions found
- IDE、日期、时间、文件、大小 / IDE, Date, Time, File, Size
### 3. 错误消息 / Error Messages
- 配置错误 / Config error
- 环境变量无效 / Environment variable invalid
- 路径不能为空 / Path cannot be empty
- 路径遍历攻击 / Path traversal attack
- 文件写入失败 / File write failed
- 内容过大 / Content too large
- 磁盘空间不足 / Disk space insufficient
### 4. Markdown 文件头 / Markdown Headers
- **IDE:** VSCode
- **日期:** 2025-12-16 / **Date:** 2025-12-16
- **时间:** 22:00:00 / **Time:** 22:00:00
## 示例 / Examples
### 中文界面 (zh-CN)
```
✅ 会话已保存到 D:\Sessions\VSCode\2025-12-16\session.md
```
### English Interface (en-US)
```
✅ Session saved to D:\Sessions\VSCode\2025-12-16\session.md
```
### 日本語インターフェース (ja-JP)
```
✅ セッションが保存されました D:\Sessions\VSCode\2025-12-16\session.md
```
### 한국어 인터페이스 (ko-KR)
```
✅ 세션이 저장되었습니다 D:\Sessions\VSCode\2025-12-16\session.md
```
## 添加新语言 / Adding New Languages
如需添加新语言支持,请编辑 `i18n.js` 文件:
1. 在 `SUPPORTED_LANGUAGES` 数组中添加语言代码
2. 在 `translations` 对象中添加完整的翻译字典
3. 在 `getSupportedLanguages()` 函数中添加语言名称
示例 / Example:
```javascript
// 1. 添加语言代码
export const SUPPORTED_LANGUAGES = ['zh-CN', 'en-US', 'ja-JP', 'ko-KR', 'fr-FR'];
// 2. 添加翻译
const translations = {
// ... existing translations ...
'fr-FR': {
'session.saved': '✅ Session enregistrée dans',
'session.reading': '📖 Lecture de la session',
// ... more translations ...
}
};
// 3. 添加语言名称
export function getSupportedLanguages() {
return [
// ... existing languages ...
{ code: 'fr-FR', name: 'Français' }
];
}
```
## API 使用 / API Usage
在代码中使用翻译:
```javascript
import { t, setLanguage, getLanguage } from './i18n.js';
// 设置语言
setLanguage('en-US');
// 获取当前语言
const currentLang = getLanguage(); // 'en-US'
// 获取翻译文本
const message = t('session.saved'); // '✅ Session saved to'
// 带参数的翻译
const error = t('error.fileWriteFailed', { retries: 3 });
// '文件写入失败,已重试 3 次' (zh-CN)
// 'File write failed after 3 retries' (en-US)
```
## 测试 / Testing
所有测试在国际化后仍然通过:
```bash
npm run test:all
```
测试结果:
- ✅ 单元测试:10/10
- ✅ 边界测试:10/10
- ✅ 集成测试:全部通过
- ✅ 性能测试:680+ 个/秒
## 注意事项 / Notes
1. **Markdown 文件**:保存的 Markdown 文件头部会根据当前语言显示
2. **向后兼容**:默认中文,不影响现有用户
3. **性能影响**:翻译函数高效,无明显性能损失
4. **时间格式**:使用 `toLocaleString()` 自动适配本地时间格式
## 贡献翻译 / Contributing Translations
欢迎贡献新语言或改进现有翻译!
1. Fork 本项目
2. 编辑 `i18n.js` 添加/修改翻译
3. 测试翻译效果
4. 提交 Pull Request
翻译指南:
- 保持简洁明了
- 使用适当的 emoji
- 保持与其他语言一致的风格
- 注意专业术语的准确性
---
**感谢使用 MCP Session Saver!**
**Thank you for using MCP Session Saver!**
**MCP Session Saver をご利用いただきありがとうございます!**
**MCP Session Saver를 사용해 주셔서 감사합니다!**