Skip to content

jcug-oss/camel-ja

Repository files navigation

camel-ja

Apache Camel公式ウェブサイトの日本語翻訳プロジェクトです。以下の公式ウェブサイトのリポジトリを翻訳し、公開する作業を行っています。

日本語ウェブサイトは現在以下に公開されてます。

ローカライズアーキテクチャ

camel-jaは、ja-quarkusioプロジェクトの成果を元にしています。

オリジナルのApache CamelウェブサイトはAntora + Hugoで構築されています。 その内容のほとんどは、Markdown(.md)ファイルとAsciidoctor(.adoc)ファイルで書かれています。 camel-jaは po4aを使ってテキストをpoファイルに展開し、翻訳します。 その後、元のテキスト形式(.mdまたは.adoc)に書き戻して、ローカライズされたサイトを構築します。 DeepL APIによる下訳処理を含むほとんどのワークフローは、GitHub Actionsによって自動化されています。 翻訳プロジェクト参加者は、下訳をベースに翻訳の精度を向上させることに集中できます。 ローカライズに興味のある方は、.poファイルを編集して、プルリクエストを送ってください。

翻訳ワークフロー

テキストファイルのローカライズ

Syncワークフロー

camel-jのGitHubリポジトリには、アップストリームリポジトリ(サブモジュール)の更新をチェックするGitHub Actionsワークフローが用意されています。 アップストリームのテキストファイルから.poファイルにテキストを抽出し、翻訳メモリとDeepL APIを使って下訳を行います。

.poファイルの翻訳

l10n/poディレクトリにある.poファイルを翻訳する必要があります。 .poファイルはソフトウェアの国際化によく使われるファイル形式で、多くのCATソフトやSaaSが読み書きできるようになっています。 .poファイルに対応した翻訳エディタには、Windows/Mac/Linuxで動作するPOEditなどがあります。 機械翻訳された.poファイルには、"fuzzy"マークが付いています。 "fuzzy"マークを取り除き、必要に応じて不適切な訳文を修正します。

ローカライズされたサイトのビルド

プルリクエストを送信すると、GitHub Actionsワークフローが自動的に.poファイルの翻訳をテキストファイルに適用します。 その後ローカライズされたサイトをビルドし、それをプレビュードメイン付きの surge.sh にデプロイします。 デプロイが完了すると、GitHub ActionsはそのURLをプルリクエストにコメントします。レビュアーは、デプロイされたサイトを確認できます。 プルリクエストがmainブランチにマージされると、自動的に本番サイトにデプロイされます(http://camel-ja.surge.sh/)。

ローカライズされたサイトをローカルにビルドする

ローカルにサイトをビルドしたい場合は、次のように実行します。

bin/apply-translation
bin/exec-antora-preview

サイトはdocディレクトリにビルドされ、 http://localhost:1313/ で見ることができます。

HTMLテンプレートのローカライズ

Apache Camelウェブサイトのほとんどのコンテンツは.mdまたは.adocファイルですが、いくつかのテキストはHTMLテンプレートになっています。 HTMLテンプレートはpo4aでは解析できないので、このローカライズプロジェクトのリポジトリでは直接翻訳したHTMLテンプレートをl10n/overrideに置いています。 アップストリームリポジトリのテンプレートが更新されると、GitHub Actionsのワークフローが自動的にIssueを作成して通知します。 どのファイルが更新されたかは、l10n/stats/override.csvを参照してください。 変更されたオーバーライドファイルは常に更新して、最新の状態にしてください。

FAQ

一部のガイドやブログ記事が翻訳されていません。

これらの記事は翻訳されていませんが、対応する.poファイルに機械翻訳が用意されています。 .poファイルの訳文を編集後、該当の"fuzzy"マークを削除してプルリクエストを送信してください。

翻訳された記事の中に翻訳されていない文章がある

対応するアップストリームの文章が更新され、以前に完成させた翻訳が利用できなくなっているようです。 対応する.poファイルの訳文を更新し、該当の"fuzzy"マークを削除してプルリクエストを送信してください。

コントリビュートするには

プルリクエストや問題の報告を歓迎します。

翻訳の流れについては、翻訳ガイドを参照してください。

ライセンス

camel-jaは、Apache 2.0ライセンスの下で公開されているオープンソースプロジェクトです。