{"route":"/ja-JP/about/contributing/","title":"貢献ガイドライン","description":"貢献ガイドライン\n","part":null,"outline":[{"id":"翻訳の進め方","name":"翻訳の進め方","children":[{"id":"翻訳提案の手順","name":"翻訳提案の手順","children":[]},{"id":"技術的な詳細","name":"技術的な詳細","children":[]},{"id":"ローカル環境でwebページを生成","name":"ローカル環境でWebページを生成","children":[{"id":"tl-dr","name":"TL;DR","children":[]},{"id":"miseによる開発環境のセットアップ","name":"miseによる開発環境のセットアップ","children":[]},{"id":"typstのソースコードからドキュメントデータの-jsonファイルを生成","name":"TypstのソースコードからドキュメントデータのJSONファイルを生成","children":[]},{"id":"ドキュメントデータのjsonファイルから-webサイトを生成","name":"ドキュメントデータのJSONファイルからWebサイトを生成","children":[]},{"id":"webサイトの生成までを一括実行","name":"Webサイトの生成までを一括実行","children":[]},{"id":"文章校正","name":"文章校正","children":[]},{"id":"dev-containerによる開発環境のセットアップ","name":"Dev Containerによる開発環境のセットアップ","children":[]}]}]}],"body":{"kind":"html","content":"<h1>貢献ガイドライン</h1>\n<p><strong>Note:</strong> 当プロジェクトの<a href=\"https://github.com/typst-jp/docs/blob/main/README.md\">README</a>や「<a href=\"https://typst-jp.github.io/docs/about/\">日本語版について</a>」、<a href=\"https://typst.app/\">Typst公式</a>の<a href=\"https://github.com/typst/typst/blob/main/LICENSE\">ライセンス</a>や<a href=\"https://github.com/typst/typst/blob/main/CONTRIBUTING.md\">コントリビューション・ガイド</a>もあわせてご参照ください。</p>\n<p>Typst日本語ドキュメント翻訳プロジェクトにご興味をお持ちいただき、どうもありがとうございます。</p>\n<p>このプロジェクトは、<a href=\"https://typst.app/legal/\">Typst GmbH</a>の許諾を得て、最新の<a href=\"https://typst.app/docs/\">公式のドキュメント</a>より翻訳を行うことで、非公式な日本語ドキュメントを提供することを目的としています。まさに、あなたのようなボランティアの皆様のご協力の元、成り立っています。当ガイドラインをご一読の上、翻訳・校正・提案およびその他の作業にご参加いただければ幸いです。</p>\n<h2 id=\"翻訳の進め方\">翻訳の進め方</h2>\n<p>翻訳は<a href=\"https://github.com/typst-jp/docs\">GitHub上の当リポジトリ</a>を中心に行います。実際の翻訳作業やそれに対する議論や提案などは、主にGitHubの<a href=\"https://github.com/typst-jp/docs/issues\">Issue</a>や<a href=\"https://github.com/typst-jp/docs/pulls\">Pull Request</a>機能を通じて行います。また、<a href=\"https://discord.gg/9xF7k4aAuH\">Discordサーバー「くみはんクラブ」</a>の<code>#typst-翻訳</code>チャンネルでも、質問の対応などが可能です。</p>\n<h3 id=\"翻訳提案の手順\">翻訳提案の手順</h3>\n<p><strong>Warning:</strong> ここに記載されている内容は改訂中です。現在の手順は最新の<a href=\"https://github.com/typst-jp/docs/pulls?q=sort%3Aupdated-desc+is%3Apr+is%3Aopen\">Pull Request</a>を参照してください。</p>\n<ol>\n<li>このGitHubリポジトリをフォークします。Git submoduleを含むため、リポジトリを<code>git clone</code>する際に<code>--recursive</code>オプションを付けてください。</li>\n<li>ドキュメントの実体は、主にMarkdownファイルおよびコンパイラのソースコード内のコメントの2種類から構成されています。それぞれ、下記の注意書きに従って翻訳作業をお願いします。\n<ul>\n<li><code>./crates/typst-library/src/</code>内の<code>.rs</code>ファイル群は、Typstのコンパイラのソースコードです。ソースコード内に含まれている、<strong>既存のコメントを直接書き換えて翻訳してください</strong>。\n<ul>\n<li>例1：<a href=\"https://typst.app/docs/reference/foundations/\">Reference &gt; Foundations</a>を翻訳する際は、<code>./crates/typst-library/src/foundations/mod.rs</code>のコメントを編集してください。</li>\n<li>例2：<a href=\"https://typst.app/docs/reference/foundations/arguments/\">Reference &gt; Foundations &gt; Arguments</a>を翻訳する際は、<code>./crates/typst-library/src/foundations/args.rs</code>のコメントを編集してください。</li>\n</ul>\n</li>\n<li><code>./docs</code>内のMarkdownファイル群は、Typstのチュートリアルや入門ガイドなど、言語リファレンス以外のページの本体です。<strong>既存のMarkdownファイルを直接書き換えて翻訳してください</strong>。</li>\n<li>上記いずれの場合においても、<a href=\"https://github.com/typst-jp/docs/blob/main/website/translation-status.json\">website/translation-status.json</a>の該当箇所を<code>\"translated\"</code>に変更してください。</li>\n</ul>\n</li>\n<li>翻訳の際の文体や表記は<a href=\"https://github.com/typst-jp/docs/blob/main/TRANSLATING_GUIDELINES.md\">翻訳ガイドライン</a>を参照してください。\n<ul>\n<li>翻訳ガイドラインに最低限沿っているかを確認する補助ツールとしてtextlintを導入しております。Pull Requestが作成されると、GitHub Actionsにてtextlintによる確認が入ります。textlintの処理が警告無く完了するように翻訳文を<a href=\"#%E6%96%87%E7%AB%A0%E6%A0%A1%E6%AD%A3\">文章校正</a>してください。</li>\n<li>ドキュメントの最新バージョンへの追従は管理者が一括で行っているため、日本語ドキュメントと公式ドキュメントのバージョンが異なる場合でも、日本語ドキュメントで管理されている原文を優先してください。</li>\n</ul>\n</li>\n<li>翻訳作業の途中でも、Draft Pull Requestを作成して、翻訳の進捗状況を共有することもできます。</li>\n<li>翻訳作業が終わったら、Pull Requestを作成し、送信してください。</li>\n</ol>\n<p>ご質問などがある場合は、<a href=\"https://discord.gg/9xF7k4aAuH\">「くみはんクラブ」のDiscordサーバー</a>に参加してご連絡ください。</p>\n<p>もちろん、Discordサーバーに参加していない方からのPull Requestも大いに歓迎します。</p>\n<h3 id=\"技術的な詳細\">技術的な詳細</h3>\n<p><a href=\"https://github.com/typst-jp/docs/blob/main/website/README.md\"><code>./website/</code>のREADME</a>を参照してください。</p>\n<h3 id=\"ローカル環境でwebページを生成\">ローカル環境でWebページを生成</h3>\n<p>当プロジェクトの開発ツールおよびコマンドは<a href=\"https://mise.jdx.dev/\">mise</a>で一元管理しています。導入していない場合は、<a href=\"https://mise.jdx.dev/getting-started.html\">Getting Started | mise-en-place</a>に従ってインストールしてください。</p>\n<p>コマンドラインでの操作を避けたい方や<a href=\"https://docs.docker.com/\">Docker</a>で作業したい方へ向けて、<a href=\"#dev-container%E3%81%AB%E3%82%88%E3%82%8B%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%81%AE%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97\">Dev Containerの環境</a>もご用意しております。</p>\n<p><strong>Note:</strong> Windowsのネイティブ環境で実行する場合には、<a href=\"https://learn.microsoft.com/ja-jp/windows/apps/get-started/enable-your-device-for-development\">開発者モード</a>に設定する必要があります。その他Windowsに起因する潜在的なトラブルを回避するため、Windowsユーザーには<a href=\"https://learn.microsoft.com/ja-jp/windows/wsl/install\">WSL</a>やDev Containerの使用を推奨します。</p>\n<h4 id=\"tl-dr\">TL;DR</h4>\n<p><strong>Note:</strong> こちらの説明は要約版です。詳細を知りたい場合は、次以降の見出しを参照してください。</p>\n<p>当プロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。このコマンドは初回のみ実行する必要があります。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> trust\n</span><span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> install\n</span></pre>\n<p>Webサイトを再生成するには、以下のコマンドを実行します。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run generate\n</span></pre>\n<p>Webサイトをローカルサーバーでプレビューするには、以下のコマンドを実行します。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run preview\n</span></pre>\n<p><a href=\"https://github.com/typst-jp/docs/blob/main/TRANSLATING_GUIDELINES.md\">翻訳ガイドライン</a>に従った体裁になっているかどうかを確認するには、以下のコマンドを実行します。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run textlint-html  </span><span style=\"color:#74747c;\"># Rustソースコードを翻訳した場合\n</span><span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run textlint-md    </span><span style=\"color:#74747c;\"># Markdownファイルを翻訳した場合\n</span></pre>\n<h4 id=\"miseによる開発環境のセットアップ\">miseによる開発環境のセットアップ</h4>\n<p><strong>Note:</strong> 以下の内容はmise v2025.5.6に基づいています。内容の不備を発見した場合は、Issueを立ててください。</p>\n<p>miseが導入されている環境で初めて当プロジェクトのルートディレクトリに移動すると、以下のように構成ファイルを信頼することを求められます。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#000000;\">mise ERROR Config file /path/to/typst-jp.github.io/mise.toml is not trusted.\n</span><span style=\"color:#000000;\">Trust it with `mise trust`.\n</span><span style=\"color:#000000;\">mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information\n</span></pre>\n<p>この場合は、指示に従って<code>mise trust</code>を実行してください。<code>mise trust</code>の詳細は、<a href=\"https://mise.jdx.dev/cli/trust.html\">mise trust | mise-en-place</a>を参照してください。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> trust\n</span></pre>\n<p>次に、<code>mise install</code>を実行して、miseで管理されているツールをインストールおよびアクティベートします。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> install\n</span></pre>\n<h4 id=\"typstのソースコードからドキュメントデータの-jsonファイルを生成\">TypstのソースコードからドキュメントデータのJSONファイルを生成</h4>\n<p>ドキュメントデータのJSONファイルは、typst-docsによりTypstのソースコード内のコメントおよび<code>docs/</code>にあるMarkdownファイル群から生成されます。</p>\n<p><code>mise run generate-docs</code>を実行すると、ドキュメントデータのJSONファイルがリポジトリルートの<code>docs.json</code>に生成されます。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run generate-docs\n</span></pre>\n<h4 id=\"ドキュメントデータのjsonファイルから-webサイトを生成\">ドキュメントデータのJSONファイルからWebサイトを生成</h4>\n<p>Webサイトの生成にはNode.jsとViteとHonoを使用しています。また、パッケージ管理にBunを使用しています。</p>\n<p><code>mise run generate-web</code>を実行すると、<code>docs.json</code>をもとにWebサイトのデータが<code>website/typst-docs-web/dist/</code>に生成されます。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run generate-web\n</span></pre>\n<p>生成されたWebサイトをプレビューするには、<code>mise run preview</code>を実行します。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run preview\n</span></pre>\n<h4 id=\"webサイトの生成までを一括実行\">Webサイトの生成までを一括実行</h4>\n<p><code>mise run generate</code>を実行すると、<code>generate-docs</code>および<code>generate-web</code>を一括で実行します。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run generate\n</span></pre>\n<h4 id=\"文章校正\">文章校正</h4>\n<p><a href=\"https://github.com/typst-jp/docs/blob/main/TRANSLATING_GUIDELINES.md\">翻訳ガイドライン</a>に従った体裁へと校正するための補助ツールとしてtextlintの設定も整備しております。\n<code>mise run textlint-html</code>を実行すると、生成されたWebサイトのHTMLコードをtextlintで校正します。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run textlint-html\n</span></pre>\n<p>現在、Rustのソースコードを直接textlintで解析することはできません。これは、Rustのrustdocに対応したtextlintプラグインがまだ存在しないためです。そのため、当面の対応として、出力されたHTMLファイルをtextlintで解析しています。\nそのため、textlintの警告が出た該当箇所のRustコードを手動で修正して、再度<code>mise run generate</code>を実行してください。\ntextlintの警告内容が不適当であると思われる場合にはIssueやPull Requestにてご報告お願いいたします。</p>\n<p>Markdownファイルを翻訳した場合には、<code>mise run textlint-md</code>を実行します。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run textlint-md\n</span></pre>\n<p>直接textlintで校正するMarkdownファイルに関しては、<code>mise run textlint-md-fix</code>を実行することで、自動修正も可能です。\nファイルを上書きするため、Gitで現状を記録した状態で実施することを推奨します。</p>\n<pre style=\"background-color:#ffffff;\">\n<span style=\"color:#4b69c6;\">mise</span><span style=\"color:#000000;\"> run textlint-md-fix\n</span></pre>\n<h4 id=\"dev-containerによる開発環境のセットアップ\">Dev Containerによる開発環境のセットアップ</h4>\n<p>Dockerコンテナー上に上記と同一の環境を構築して作業することも可能です。\n以下の操作はDockerがインストール済み、かつDockerデーモンを起動していることが前提となります。\nこのプロジェクトでは<a href=\"https://code.visualstudio.com/docs/devcontainers/containers\">Dev Container</a>もご使用いただけます。\nVisual Studio Codeにおける操作フロー例は以下の通りです。</p>\n<ol>\n<li>Ctrl+Shift+Pを押してから<code>&gt; Dev Containers: Reopen in Container</code>を実行します。</li>\n<li>Webサーバーが起動したらブラウザで http://localhost:5173 にアクセスします。</li>\n<li>翻訳したファイルの変更を反映させるためにはCtrl+Shift+Bで再ビルドしてください。</li>\n<li>体裁を確認したい場合、Ctrl+Shift+Pを押してから<code>&gt; Tasks: Run task</code>を実行し以下のいずれかを選択します。\n<ul>\n<li><code>textlint-html</code> : Rustソースコードを翻訳した場合</li>\n<li><code>textlint-md</code> : Markdownファイルを翻訳した場合</li>\n</ul>\n</li>\n<li>自動修正を実施したい場合も同様に以下から選択します。\n<ul>\n<li><code>textlint-md:fix</code> : Markdownファイルを自動修正します。</li>\n<li>Rustコードの自動修正は対応していなため、該当箇所を手動で修正してください。</li>\n</ul>\n</li>\n</ol>\n<p><code>&gt; Tasks: Run task</code>はDocker環境でなく、miseで環境構築した際にも使用できます。</p>"}}