JHipsterの公開Webサイト(日本語) のソースです
- 本家のWebサイト: https://www.jhipster.tech/
- 本家のリポジトリ: https://github.com/jhipster/jhipster.github.io
- 日本語訳について
- 自動翻訳システム
JHipster ウェブサイトは、最新の静的サイトジェネレーターである Docusaurus を使用して構築されています。
npm install
npm start
このコマンドにより、ローカル開発サーバーが起動し、ブラウザウィンドウが開きます。ほとんどの変更は、サーバーの再起動を必要とせずにライブで反映されます。
npm run build
このコマンドは、build
ディレクトリに静的コンテンツを生成し、任意の静的コンテンツホスティングサービスで提供できます。
SSHを使用する場合:
USE_SSH=true npm run deploy
SSHを使用しない場合:
GIT_USER=<あなたのGitHubユーザー名> npm run deploy
GitHub Pagesをホスティングに使用している場合、このコマンドはウェブサイトをビルドしてgh-pages
ブランチにプッシュする便利な方法です。
本サイトの日本語訳にあたっては、OSS活動へも使用可能なみんなの自動翻訳@TexTra®の翻訳内容を活用させていただきました。この場を借りてお礼を申し上げます。
翻訳の文体は、本家のpackage.jsonにtextlintパッケージを加えての指摘と、TexTraの翻訳内容になるべく従うことで、統一させています。
誤訳や不自然な言い回しが無いよう、注意しながら進めてはいますが、もし問題がありましたら、Issue/PRでご指摘ください。
本家の更新に伴う日本語訳の追従については、ReactやVueの翻訳での実績がある、オープンソースドキュメント翻訳プラットフォームとしての GitHubの運用方法がとても素晴らしく、参考にしています。この場を借りてお礼を申し上げます。
運用方法は以下の通りです。
- Github Actionsで以下を処理
- 定期的に本家の
main
をチェック - 更新があれば翻訳用
sync
ブランチを作成 - 本家の差分を翻訳中(コンフリクトマーカー有)状態として
sync
へコミット sync
をmain
にマージするプルリクエストを作成
- 定期的に本家の
- 翻訳者がプルリクエストの内容を確認し、
sync
の内容を翻訳しコミット main
にマージ
本家と同様、Github Pagesを使って表示します。表示元はgh-pages
ブランチの内容になります。
gh-pages
はほぼ全てmain
ブランチと同様ですが、ごく一部、日本語サイト表示のためにgh-pages
のみ変更した内容があります。
main
との差分はこちらを見て確認してください。
main
に書かない理由は、本家のサイトの構造上、main
に入れるとローカルのテスト環境で動かないためです。
結果、本家との差分がmain
とgh-pages
で散在しまいますが、gh-pages
の変更箇所は大幅なサイトの変更がない限りほぼ更新することはないので、しばらくこの構造で運用していきます。
このリポジトリには、upstream(本家)の更新を自動的に翻訳するシステムが組み込まれています。
- LLM: Google Gemini APIを使用した自動翻訳
- スケジュール: 毎日12:00 JST(UTC 03:00)に自動実行
- プロセス: upstream取得 → 変更分類 → 翻訳 → ポストプロセッシング → PR作成
- Python 3.11+
- Poetry(依存関係管理)
- 必要なAPIキー(Gemini API、GitHub Token)
# 自動翻訳ディレクトリに移動
cd .github/auto-translation
# 依存関係インストール
make install
# 開発環境セットアップ
make dev-setup
# 環境変数設定(.envファイルを編集)
cp .env.sample .env
# GEMINI_API_KEY、GH_TOKEN等を設定
# 自動翻訳ディレクトリ内で実行
cd .github/auto-translation
# ドライランモード(実際のコミット・PRなし)
make run-dry
# 新規ファイルのみ翻訳
make run-new
# 選択的翻訳(衝突ファイル除外)
make run-selective
# 全ファイル翻訳
make run
# 自動翻訳ディレクトリ内で実行
cd .github/auto-translation
# upstream取得
make fetch
# 変更分類
make classify
# 翻訳
make translate
# ポストプロセッシング
make postprocess
# コミット&PR作成
make commit
├── .github/auto-translation/ # 自動翻訳システム
│ ├── scripts/ # Python翻訳スクリプト
│ │ ├── fetch_upstream.py # upstream取得とマージ
│ │ ├── classify_changes.py # 変更ファイル分類
│ │ ├── translate_chunk.py # Gemini翻訳
│ │ ├── postprocess.py # ポストプロセッシング
│ │ └── commit_and_pr.py # コミット&PR作成
│ ├── tests/ # テストファイル
│ ├── docs/style-guide.md # 翻訳スタイルガイド
│ ├── spec.md # システム仕様書
│ ├── tasks.md # タスク一覧
│ ├── pyproject.toml # Poetry設定
│ ├── Makefile # 実行用コマンド
│ └── .env.sample # 環境変数サンプル
└── .github/workflows/
└── auto-translation.yml # 自動翻訳ワークフロー
- スタイルガイド:
.github/auto-translation/docs/style-guide.md
に統一ルールを定義 - 品質チェック: LanguageToolによる文法チェック
- 一貫性: 既存翻訳との用語統一
- レビュー: 自動生成されたPRは人間による確認が推奨
- API制限: Gemini APIの利用制限に注意
- 翻訳精度: LLM翻訳のため人間によるレビューが必要
- コンフリクト: 大きな変更がある場合は手動解決が必要
-
API エラー
# API キーを確認 echo $GEMINI_API_KEY
-
翻訳品質の問題
.github/auto-translation/docs/style-guide.md
を更新- テスト実行で検証:
cd .github/auto-translation && make test
-
Git エラー
# リポジトリ状態をクリーンアップ git status git clean -fd
詳細な仕様については以下のドキュメントを参照してください:
- 仕様書:
.github/auto-translation/spec.md
- タスク一覧:
.github/auto-translation/tasks.md
注意: 自動翻訳システムは.github/auto-translation
ディレクトリ内で完結して管理されており、メインプロジェクトのファイル構成に影響しません。
自動翻訳システムの改善提案やバグ報告は、GitHubのIssueでお知らせください。