Documentation restructure: - New docs/getting-started/ guide (4 files: install, quick-start, first-skill, next-steps) - New docs/user-guide/ section (6 files: core concepts through troubleshooting) - New docs/reference/ section (CLI_REFERENCE, CONFIG_FORMAT, ENVIRONMENT_VARIABLES, MCP_REFERENCE) - New docs/advanced/ section (custom-workflows, mcp-server, multi-source) - New docs/ARCHITECTURE.md - system architecture overview - Archived legacy files (QUICKSTART.md, QUICK_REFERENCE.md, docs/guides/USAGE.md) to docs/archive/legacy/ Chinese (zh-CN) translations: - Full zh-CN mirror of all user-facing docs (getting-started, user-guide, reference, advanced) - GitHub Actions workflow for translation sync (.github/workflows/translate-docs.yml) - Translation sync checker script (scripts/check_translation_sync.sh) - Translation helper script (scripts/translate_doc.py) Content updates: - CHANGELOG.md: [Unreleased] → [3.1.0] - 2026-02-22 - README.md: updated with new doc structure links - AGENTS.md: updated agent documentation - docs/features/UNIFIED_SCRAPING.md: updated for unified scraper workflow JSON config Analysis/planning artifacts (kept for reference): - DOCUMENTATION_OVERHAUL_PLAN.md, DOCUMENTATION_OVERHAUL_SUMMARY.md - FEATURE_GAP_ANALYSIS.md, IMPLEMENTATION_GAPS_ANALYSIS.md, CREATE_COMMAND_COVERAGE_ANALYSIS.md - CHINESE_TRANSLATION_IMPLEMENTATION_SUMMARY.md, ISSUE_260_UPDATE.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Check if Chinese translations are in sync with English originals
|
|
# Usage: ./scripts/check_translation_sync.sh
|
|
|
|
set -e
|
|
|
|
echo "🔍 Checking translation sync..."
|
|
echo ""
|
|
|
|
MISSING=0
|
|
OUT_OF_SYNC=0
|
|
|
|
# Find all English docs (excluding zh-CN and archive)
|
|
find docs -name "*.md" -not -path "docs/zh-CN/*" -not -path "docs/archive/*" | while read -r en_file; do
|
|
# Calculate corresponding Chinese file path
|
|
rel_path="${en_file#docs/}"
|
|
zh_file="docs/zh-CN/$rel_path"
|
|
|
|
# Check if Chinese version exists
|
|
if [ ! -f "$zh_file" ]; then
|
|
echo "❌ Missing: $zh_file (source: $en_file)"
|
|
MISSING=$((MISSING + 1))
|
|
continue
|
|
fi
|
|
|
|
# Get last modification times
|
|
en_mtime=$(git log -1 --format=%ct "$en_file" 2>/dev/null || stat -c %Y "$en_file" 2>/dev/null || echo 0)
|
|
zh_mtime=$(git log -1 --format=%ct "$zh_file" 2>/dev/null || stat -c %Y "$zh_file" 2>/dev/null || echo 0)
|
|
|
|
# Check if English is newer
|
|
if [ "$en_mtime" -gt "$zh_mtime" ]; then
|
|
echo "⚠️ Out of sync: $zh_file (English updated more recently)"
|
|
OUT_OF_SYNC=$((OUT_OF_SYNC + 1))
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
|
|
# Summary
|
|
TOTAL_EN=$(find docs -name "*.md" -not -path "docs/zh-CN/*" -not -path "docs/archive/*" | wc -l)
|
|
TOTAL_ZH=$(find docs/zh-CN -name "*.md" 2>/dev/null | wc -l)
|
|
|
|
echo "📊 Summary:"
|
|
echo " English docs: $TOTAL_EN"
|
|
echo " Chinese docs: $TOTAL_ZH"
|
|
|
|
if [ "$MISSING" -gt 0 ]; then
|
|
echo " ❌ Missing translations: $MISSING"
|
|
fi
|
|
|
|
if [ "$OUT_OF_SYNC" -gt 0 ]; then
|
|
echo " ⚠️ Out of sync: $OUT_OF_SYNC"
|
|
fi
|
|
|
|
if [ "$MISSING" -eq 0 ] && [ "$OUT_OF_SYNC" -eq 0 ]; then
|
|
echo ""
|
|
echo "✅ All translations in sync!"
|
|
exit 0
|
|
else
|
|
echo ""
|
|
echo "❌ Translation sync issues found"
|
|
exit 1
|
|
fi
|