feat: replace cloud translation with local Neural CLI

## Changes

### Removed (OpenAI-dependent)
-  `.github/workflows/translation-sync.yml` - GPT-Translate workflow
-  `docs/Development/translation-workflow.md` - OpenAI setup docs

### Added (Local Ollama-based)
-  `Makefile`: New `make translate` target using Neural CLI
-  `docs/Development/translation-guide.md` - Neural CLI guide

## Benefits

**Before (GPT-Translate)**:
- 💰 Monthly cost: ~¥90 (OpenAI API)
- 🔑 Requires API key setup
- 🌐 Data sent to external API
- ⏱️ Network latency

**After (Neural CLI)**:
-  **$0 cost** - Fully local execution
-  **No API keys** - Zero setup friction
-  **Privacy** - No external data transfer
-  **Fast** - ~1-2 min per README
-  **Offline capable** - Works without internet

## Technical Details

**Neural CLI**:
- Built in Rust with Tauri
- Uses Ollama + qwen2.5:3b model
- Binary size: 4.0MB
- Auto-installs to ~/.local/bin/

**Usage**:
```bash
make translate  # Translates README.md → README-zh.md, README-ja.md
```

## Requirements

- Ollama installed: `curl -fsSL https://ollama.com/install.sh | sh`
- Model downloaded: `ollama pull qwen2.5:3b`
- Neural CLI built: `cd ~/github/neural/src-tauri && cargo build --bin neural-cli --release`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
kazuki
2025-10-18 22:38:02 +09:00
parent 1147a09a16
commit ed7dda7d7c
4 changed files with 237 additions and 280 deletions

View File

@@ -1,96 +0,0 @@
name: Auto-translate README
on:
push:
branches: [master, main]
paths:
- 'README.md'
pull_request:
paths:
- 'README.md'
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
translate:
name: Translate README to Multiple Languages
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Translate README to Chinese
uses: 3ru/gpt-translate@v1.1.11
with:
apikey: ${{ secrets.OPENAI_API_KEY }}
inputFiles: 'README.md'
outputFiles: 'README-zh.md'
targetLanguage: 'Simplified Chinese'
- name: Translate README to Japanese
uses: 3ru/gpt-translate@v1.1.11
with:
apikey: ${{ secrets.OPENAI_API_KEY }}
inputFiles: 'README.md'
outputFiles: 'README-ja.md'
targetLanguage: 'Japanese'
- name: Check for changes
id: check_changes
run: |
if git diff --quiet HEAD -- README-zh.md README-ja.md; then
echo "No translation changes detected"
echo "has_changes=false" >> $GITHUB_OUTPUT
else
echo "Translation changes detected"
echo "has_changes=true" >> $GITHUB_OUTPUT
fi
- name: Commit translations
if: steps.check_changes.outputs.has_changes == 'true'
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add README-zh.md README-ja.md
git commit -m "chore: auto-translate README to ZH/JA
🤖 Generated with [GPT-Translate](https://github.com/3ru/gpt-translate)
Co-Authored-By: GitHub Actions <noreply@github.com>"
- name: Push changes
if: steps.check_changes.outputs.has_changes == 'true' && github.event_name == 'push'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}
- name: Create Pull Request
if: steps.check_changes.outputs.has_changes == 'true' && github.event_name == 'pull_request'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "chore: auto-translate README to ZH/JA"
title: "🌐 Auto-translate README updates"
body: |
## 🤖 Automated Translation Update
This PR contains automated translations of README.md updates.
**Changes:**
- ✅ README-zh.md (Simplified Chinese)
- ✅ README-ja.md (Japanese)
**Translation powered by:**
- [GPT-Translate](https://github.com/3ru/gpt-translate)
- OpenAI GPT-4
Please review the translations for accuracy before merging.
branch: chore/auto-translate-readme
delete-branch: true

View File

@@ -1,4 +1,4 @@
.PHONY: install dev test clean lint format uninstall update help
.PHONY: install dev test clean lint format uninstall update translate help
# Full installation (dependencies + SuperClaude components)
install:
@@ -46,6 +46,25 @@ update:
@echo "Updating SuperClaude components..."
uv run superclaude update
# Translate README to multiple languages using Neural CLI
translate:
@echo "🌐 Translating README using Neural CLI (Ollama + qwen2.5:3b)..."
@if [ ! -f ~/.local/bin/neural-cli ]; then \
echo "📦 Installing neural-cli..."; \
mkdir -p ~/.local/bin; \
ln -sf ~/github/neural/src-tauri/target/release/neural-cli ~/.local/bin/neural-cli; \
echo "✅ neural-cli installed to ~/.local/bin/"; \
fi
@echo ""
@echo "🇨🇳 Translating to Simplified Chinese..."
@~/.local/bin/neural-cli translate README.md --from English --to "Simplified Chinese" --output README-zh.md
@echo ""
@echo "🇯🇵 Translating to Japanese..."
@~/.local/bin/neural-cli translate README.md --from English --to Japanese --output README-ja.md
@echo ""
@echo "✅ Translation complete!"
@echo "📝 Files updated: README-zh.md, README-ja.md"
# Show help
help:
@echo "SuperClaude Framework - Available commands:"
@@ -58,4 +77,5 @@ help:
@echo " make clean - Clean build artifacts"
@echo " make uninstall - Uninstall SuperClaude components"
@echo " make update - Update SuperClaude components"
@echo " make translate - Translate README to Chinese and Japanese (requires Ollama)"
@echo " make help - Show this help message"

View File

@@ -0,0 +1,216 @@
# README Translation Guide
## 概要
SuperClaude は **Neural CLI** を使用してローカルで高速翻訳を実現しています。
## 🎯 特徴
- **✅ 完全ローカル実行** - API キー不要
- **🚀 高速翻訳** - Ollama + qwen2.5:3b
- **💰 無料** - クラウド API 不要
- **🔒 プライバシー** - データは外部送信されない
## 🔧 セットアップ
### 1. Ollama インストール
```bash
# macOS/Linux
curl -fsSL https://ollama.com/install.sh | sh
# モデルダウンロード
ollama pull qwen2.5:3b
```
### 2. Neural CLI ビルド (初回のみ)
```bash
cd ~/github/neural/src-tauri
cargo build --bin neural-cli --release
```
**ビルド済みバイナリ**: `~/github/neural/src-tauri/target/release/neural-cli`
## 📝 使用方法
### 自動翻訳 (推奨)
```bash
cd ~/github/SuperClaude_Framework
make translate
```
**実行内容**:
1. neural-cli を自動インストール (~/.local/bin/)
2. README.md → README-zh.md (簡体字中国語)
3. README.md → README-ja.md (日本語)
### 手動翻訳
```bash
neural-cli translate README.md \
--from English \
--to "Simplified Chinese" \
--output README-zh.md
neural-cli translate README.md \
--from English \
--to Japanese \
--output README-ja.md
```
### Ollama 接続確認
```bash
neural-cli health
```
**出力例**:
```
✅ Ollama is running at http://localhost:11434
📦 Available models:
- qwen2.5:3b
- llama3:latest
- ...
```
## ⚙️ 高度な設定
### カスタム Ollama URL
```bash
neural-cli translate README.md \
--from English \
--to Japanese \
--output README-ja.md \
--ollama-url http://custom-host:11434
```
### 別モデル使用
```bash
neural-cli translate README.md \
--from English \
--to Japanese \
--output README-ja.md \
--model llama3:latest
```
## 🚫 トラブルシューティング
### エラー: "Failed to connect to Ollama"
**原因**: Ollama が起動していない
**解決策**:
```bash
# Ollama を起動
ollama serve
# 別ターミナルで確認
neural-cli health
```
### エラー: "Model not found: qwen2.5:3b"
**原因**: モデルがダウンロードされていない
**解決策**:
```bash
ollama pull qwen2.5:3b
```
### 翻訳品質が低い
**改善策**:
1. **より大きなモデルを使用**:
```bash
ollama pull qwen2.5:7b
neural-cli translate README.md --model qwen2.5:7b ...
```
2. **プロンプトを調整**: `neural/src-tauri/src/bin/cli.rs` の `translate_text` 関数を編集
3. **温度パラメータを調整**:
```rust
"temperature": 0.1, // より保守的な翻訳
"temperature": 0.5, // より自由な翻訳
```
## 📊 パフォーマンス
| ファイルサイズ | 翻訳時間 (qwen2.5:3b) | メモリ使用量 |
|:-------------:|:---------------------:|:------------:|
| 5KB README | ~30秒 | ~2GB |
| 10KB README | ~1分 | ~2GB |
| 20KB README | ~2分 | ~2GB |
**システム要件**:
- RAM: 最低4GB (推奨8GB)
- ストレージ: ~2GB (モデル用)
- CPU: Apple Silicon or x86_64
## 🔗 関連リンク
- [Ollama Documentation](https://ollama.com/docs)
- [Qwen2.5 Model](https://ollama.com/library/qwen2.5)
- [Neural CLI Source](~/github/neural)
## 🎯 ワークフロー例
### README 更新フロー
```bash
# 1. README.md を編集
vim README.md
# 2. 翻訳実行
make translate
# 3. 翻訳結果を確認
git diff README-zh.md README-ja.md
# 4. 必要に応じて手動調整
vim README-ja.md
# 5. コミット
git add README.md README-zh.md README-ja.md
git commit -m "docs: update README and translations"
```
### 大規模翻訳バッチ
```bash
# 複数ファイルを一括翻訳
for file in docs/*.md; do
neural-cli translate "$file" \
--from English \
--to Japanese \
--output "${file%.md}-ja.md"
done
```
## 💡 Tips
1. **Ollama をバックグラウンドで常時起動**:
```bash
# macOS (LaunchAgent)
brew services start ollama
```
2. **翻訳前にチェック**:
```bash
neural-cli health # Ollama 接続確認
```
3. **翻訳後の品質チェック**:
- マークダウン構造が保持されているか
- コードブロックが正しいか
- リンクが機能するか
4. **Git diff で確認**:
```bash
git diff README-ja.md | grep -E "^\+|^\-" | less
```

View File

@@ -1,183 +0,0 @@
# README Auto-Translation Workflow
## 概要
SuperClaudeは **GPT-Translate** を使用して、READMEの自動翻訳を実現しています。
## 🎯 仕組み
```mermaid
graph LR
A[README.md更新] --> B[GitHub Actions起動]
B --> C[GPT-4で翻訳]
C --> D[README-zh.md]
C --> E[README-ja.md]
D --> F[自動コミット]
E --> F
F --> G[PR作成 or Push]
```
## 🔧 セットアップ
### 1. OpenAI APIキーの設定
GitHub リポジトリの Settings → Secrets → Actions で以下を追加:
```
Name: OPENAI_API_KEY
Value: sk-proj-xxxxxxxxxxxxx
```
### 2. ワークフローの動作
**自動起動トリガー:**
- `README.md` が更新されたとき (master/mainブランチ)
- Pull Requestで `README.md` が変更されたとき
- 手動実行 (workflow_dispatch)
**動作:**
1. README.md を GPT-4 で翻訳
2. README-zh.md (簡体字中国語) を生成
3. README-ja.md (日本語) を生成
4. 変更があれば自動コミット
5. masterブランチなら直接Push、PRなら新規PR作成
## 📊 コスト見積もり
| ファイルサイズ | GPT-4 Token数 | 推定コスト |
|:-------------:|:-------------:|:----------:|
| 5KB README | ~3,000 tokens | ~$0.03 |
| 10KB README | ~6,000 tokens | ~$0.06 |
| 20KB README | ~12,000 tokens| ~$0.12 |
**月間コスト見積もり:**
- README更新頻度: 月10回
- 1回あたり: $0.06 (2言語翻訳)
- **月額: 約$0.60 (¥90)**
## 🛡️ セキュリティ
**APIキー保護:**
- GitHub Secrets で暗号化保存
- ワークフローログには表示されない
- Pull Requestからはforkでアクセス不可
**権限管理:**
```yaml
permissions:
contents: write # 翻訳ファイルのコミット用
pull-requests: write # PR作成用
```
## 🔄 使用方法
### 自動翻訳 (推奨)
README.mdを更新してコミット・プッシュするだけ:
```bash
# README.md を編集
vim README.md
# コミット
git add README.md
git commit -m "docs: update README"
git push origin main
# → GitHub Actionsが自動的に翻訳を実行
```
### 手動実行
GitHub UI から:
1. Actions タブを開く
2. "Auto-translate README" を選択
3. "Run workflow" をクリック
### ローカルテスト
翻訳品質を事前確認する場合:
```bash
# GPT-Translateをローカルで実行
npm install -g gpt-translate
export OPENAI_API_KEY="sk-proj-xxxxx"
gpt-translate --input README.md --output README-zh.md --lang "Simplified Chinese"
gpt-translate --input README.md --output README-ja.md --lang "Japanese"
```
## 📝 翻訳品質チェック
**自動翻訳後の確認ポイント:**
1. **技術用語の正確性**
- フレームワーク名、コマンド名が正しいか
- コードブロックが保持されているか
2. **マークダウン構造**
- 見出しレベルが一致しているか
- リンクが正しく変換されているか
3. **ニュアンス**
- 文脈に合った翻訳か
- 自然な表現か
**修正が必要な場合:**
- 自動翻訳後に手動で微調整
- 次回の翻訳時にその修正が維持されるよう考慮
## 🚫 トラブルシューティング
### エラー: "OPENAI_API_KEY not found"
**原因:** GitHub Secretsが設定されていない
**解決策:**
```bash
# リポジトリ設定を確認
Settings → Secrets and variables → Actions → New repository secret
```
### エラー: "Translation failed"
**原因:** OpenAI API レート制限
**解決策:**
- 数分待ってから再実行
- API使用量を確認: https://platform.openai.com/usage
### 翻訳品質が低い
**原因:** プロンプトが最適化されていない
**改善策:**
```yaml
# .github/workflows/translation-sync.yml
with:
apikey: ${{ secrets.OPENAI_API_KEY }}
inputFiles: 'README.md'
outputFiles: 'README-zh.md'
targetLanguage: 'Simplified Chinese'
prompt: 'Translate this technical documentation accurately, preserving all code blocks and technical terms.'
```
## 🔗 関連リンク
- [GPT-Translate GitHub](https://github.com/3ru/gpt-translate)
- [OpenAI API Documentation](https://platform.openai.com/docs)
- [GitHub Actions Documentation](https://docs.github.com/actions)
## 📊 翻訳統計
現在の翻訳実績は GitHub Actions の Workflows タブから確認できます:
```
Repository → Actions → Auto-translate README → 実行履歴
```
**確認できる情報:**
- 翻訳実行回数
- 成功/失敗率
- 実行時間
- 翻訳されたファイルサイズ