diff --git a/docs/i18n/japanese/devops.md b/docs/i18n/japanese/devops.md index b498e1a7cf..f476a12ec3 100644 --- a/docs/i18n/japanese/devops.md +++ b/docs/i18n/japanese/devops.md @@ -104,21 +104,21 @@ > [!NOTE] 強制的にプッシュすることはできません。履歴を書き直した場合、これらのコマンドはエラーになります。 > - > If they do, you may have done something incorrectly and you should just start over. + > エラーになったとしたら、誤った操作をしたかもしれませんので、やり直します。 -The above steps will automatically trigger a run on the build pipeline for the `prod-staging` branch. Once the build is complete, the artifacts are saved as `.zip` files in a cold storage to be retrieved and used later. +上記手順では、`prod-staging` ブランチのビルドパイプラインで自動的に実行がトリガーされます。 ビルドが完了すると、アーティファクトは `.zip` ファイルとしてコールドストレージで保存され、後で取り出され使用されます。 -The release pipeline is triggered automatically when a fresh artifact is available from the connected build pipeline. For staging platforms, this process does not involve manual approval and the artifacts are pushed to the Client CDN and API servers. +接続されたビルドパイプラインから新たなアーティファクトが利用可能になると、リリースパイプラインが自動的にトリガーされます。 ステージングプラットフォームでは、このプロセスに手動での承認は含まれません。また、アーティファクトは クライアント CDN および API サーバーにプッシュされます。 -### Pushing changes to Production Applications. +### 本番アプリケーションに変更をプッシュする -The process is mostly the same as the staging platforms, with a few extra checks in place. This is just to make sure, we do not break anything on freeCodeCamp.org which can see hundreds of users using it at any moment. +プロセスはほとんどステージングプラットフォームと同じですが、いくつかの追加のチェックが行われます。 これは、何百人ものユーザーが常に使用している freeCodeCamp.org 上で何も壊さないようにするためです。 -| Do NOT execute these commands unless you have verified that everything is working on the staging platform. You should not bypass or skip any testing on staging before proceeding further. | -|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| | +| すべてがステージングプラットフォームで動作していることを確認しない限り、これらのコマンドを実行しないでください。 先に進む前に、ステージング上のテストを回避またはスキップしないでください。 | +|:---------------------------------------------------------------------------------------------- | +| | -1. Make sure your `prod-staging` branch is pristine and in sync with the upstream. +1. `prod-staging` ブランチが初期状態であり、アップストリームと同期していることを確認してください。 ```sh git checkout prod-staging @@ -126,7 +126,7 @@ The process is mostly the same as the staging platforms, with a few extra checks git reset --hard upstream/prod-staging ``` -2. Move changes from `prod-staging` to `prod-current` via a fast-forward merge +2. 早送りマージにより、変更を `prod-staging` から `prod-current` に移行します。 ``` git checkout prod-current @@ -134,129 +134,129 @@ The process is mostly the same as the staging platforms, with a few extra checks git push upstream ``` - > [!NOTE] You will not be able to force push and if you have re-written the history in anyway these commands will error out. + > [!NOTE] 強制的にプッシュすることはできません。履歴を書き直した場合、これらのコマンドはエラーになります。 > - > If they do, you may have done something incorrectly and you should just start over. + > エラーになったとしたら、誤った操作をしたかもしれませんので、やり直します。 -The above steps will automatically trigger a run on the build pipeline for the `prod-current` branch. Once a build artifact is ready, it will trigger a run on the release pipeline. +上記手順では、`prod-current` ブランチのビルドパイプラインで自動的に実行がトリガーされます。 ビルドアーティファクトの準備が完了すると、リリースパイプラインで実行がトリガーされます。 -**Additional Steps for Staff Action** +**スタッフアクションの追加手順** -One a release run is triggered, members of the developer staff team will receive an automated manual intervention email. They can either _approve_ or _reject_ the release run. +リリースの実行がトリガーされると、開発者スタッフチームのメンバーは自動的に手動介入メールを受け取ります。 彼らはリリース実行を _承認_、または _拒否_ することができます。 -If the changes are working nicely and have been tested on the staging platform, then it can be approved. The approval must be given within 4 hours of the release being triggered before getting rejected automatically. A staff can re-trigger the release run manually for rejected runs, or wait for the next cycle of release. +変更がうまく動作し、ステージングプラットフォームでテストされている場合は、承認することができます。 承認は、自動的に拒否される前に、リリースがトリガーされてから4時間以内に行われる必要があります。 拒否された実行が拒否された場合、スタッフは手動でリリース実行を再トリガーするか、リリースの次のサイクルを待つことになります。 -For staff use: +スタッフ用: -| Check your email for a direct link or [go to the release dashboard](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release) after the build run is complete. | -|:------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| | +| ビルドの実行が完了したら、直接リンクについて E メールを確認するか、[リリースダッシュボードにアクセス](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release) してください。 | +|:--------------------------------------------------------------------------------------------------------------------------- | +| | -Once one of the staff members approves a release, the pipeline will push the changes live to freeCodeCamp.org's production CDN and API servers. +スタッフがリリースを承認すると、パイプラインは freeCodeCamp.org の本番用 CDN および API サーバーにその変更を反映させます。 -## Build, Test and Deployment Status +## ビルド、テスト、デプロイスのテータス -Here is the current test, build and deployment status of the codebase. +ここでは、コードベースの現在のテスト、ビルド、およびデプロイの状況を示します。 -| Branch | Unit Tests | Integration Tests | Builds & Deployments | +| ブランチ | 単体テスト | 統合テスト | ビルド & デプロイ | |:-------------------------------------------------------------------------------- |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:--------------------------------------------------------------------------------------------------------------------------------- | | [`main`](https://github.com/freeCodeCamp/freeCodeCamp/tree/main) | [![Node.js CI](https://github.com/freeCodeCamp/freeCodeCamp/workflows/Node.js%20CI/badge.svg?branch=main)](https://github.com/freeCodeCamp/freeCodeCamp/actions?query=workflow%3A%22Node.js+CI%22) | [![Cypress E2E Tests](https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/simple/ke77ns/main&style=flat&logo=cypress)](https://dashboard.cypress.io/projects/ke77ns/analytics/runs-over-time) | - | | [`prod-staging`](https://github.com/freeCodeCamp/freeCodeCamp/tree/prod-staging) | [![Node.js CI](https://github.com/freeCodeCamp/freeCodeCamp/workflows/Node.js%20CI/badge.svg?branch=prod-staging)](https://github.com/freeCodeCamp/freeCodeCamp/actions?query=workflow%3A%22Node.js+CI%22+branch%3Aprod-staging) | [![Cypress E2E Tests](https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/simple/ke77ns/prod-staging&style=flat&logo=cypress)](https://dashboard.cypress.io/projects/ke77ns/analytics/runs-over-time) | [Azure Pipelines](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_dashboards/dashboard/d59f36b9-434a-482d-8dbd-d006b71713d4) | | [`prod-current`](https://github.com/freeCodeCamp/freeCodeCamp/tree/prod-staging) | [![Node.js CI](https://github.com/freeCodeCamp/freeCodeCamp/workflows/Node.js%20CI/badge.svg?branch=prod-current)](https://github.com/freeCodeCamp/freeCodeCamp/actions?query=workflow%3A%22Node.js+CI%22+branch%3Aprod-current) | [![Cypress E2E Tests](https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/simple/ke77ns/prod-current&style=flat&logo=cypress)](https://dashboard.cypress.io/projects/ke77ns/analytics/runs-over-time) | [Azure Pipelines](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_dashboards/dashboard/d59f36b9-434a-482d-8dbd-d006b71713d4) | -| `prod-next` (experimental, upcoming) | - | - | - | +| `prod-next` (試験的、予定) | - | - | - | -## Early access and beta testing +## 早期アクセスとベータテスト -We welcome you to test these releases in a **"public beta testing"** mode and get early access to upcoming features to the platforms. Sometimes these features/changes are referred to as **next, beta, staging,** etc. interchangeably. +皆さんがこれらのリリースを **"パブリックベータテスト"** モードでテストし、プラットフォームの今後の機能に早期アクセスできるようにします。 これらの機能 / 変更は、**次の、ベータ、ステージング** などと呼ばれます。 -Your contributions via feedback and issue reports will help us in making the production platforms at `freeCodeCamp.org` more **resilient**, **consistent** and **stable** for everyone. +フィードバックや Issue 報告を通じた貢献は、**復元力**、**一貫性** および **安定性** のある `freeCodeCamp.org` 本番プラットフォームを構築するのに役立ちます。 -We thank you for reporting bugs that you encounter and help in making freeCodeCamp.org better. You rock! +見つけたバグの報告や、freeCodeCamp.orgをより良くする支援に感謝します。 素晴らしい皆さんです! -### Identifying the upcoming version of the platforms +### プラットフォームの今後のバージョンを特定する -Currently a public beta testing version is available at: +現在、パブリックベータテストバージョンは次の場所で利用できます。 -| Application | Language | URL | -|:----------- |:-------- |:---------------------------------------- | -| Learn | English | | -| | Espanol | | -| | Chinese | | -| News | English | | -| Forum | English | | -| | Chinese | | -| API | - | `https://api.freecodecamp.dev` | +| アプリケーション | 言語 | URL | +|:-------- |:----- |:---------------------------------------- | +| 学習 | 英語 | | +| | スペイン語 | | +| | 中国語 | | +| ニュース | 英語 | | +| フォーラム | 英語 | | +| | 中国語 | | +| API | - | `https://api.freecodecamp.dev` | -> [!NOTE] The domain name is different than **`freeCodeCamp.org`**. This is intentional to prevent search engine indexing and avoid confusion for regular users of the platform. +> [!NOTE] ドメイン名は **`freeCodeCamp.org`** とは異なります。 これは、検索エンジンのインデックス作成を防止し、プラットフォームの通常ユーザーの混乱を避けるための、意図的なものです。 > -> The above list not exhaustive of all the applications that we provision. Also not all language variants are deployed in staging to conserve resources. +> 上記リストは、提供するアプリケーションを包括したものではありません。 また、リソースを節約するために、すべての言語バリエーションがステージングにデプロイされるわけではありません。 -### Identifying the current version of the platforms +### プラットフォームの現在のバージョンを特定する -**The current version of the platform is always available at [`freeCodeCamp.org`](https://www.freecodecamp.org).** +**プラットフォームの現在のバージョンは [`freeCodeCamp.org`](https://www.freecodecamp.org) で常に利用できます。** -The dev-team merges changes from the `prod-staging` branch to `prod-current` when they release changes. The top commit should be what you see live on the site. +開発者チームは、リリース変更時に、`prod-stageing` ブランチから `prod-current` への変更をマージします。 トップコミットは、サイト上で表示されるもののはずです。 -You can identify the exact version deployed by visiting the build and deployment logs available in the status section. Alternatively you can also ping us in the [contributors chat room](https://chat.freecodecamp.org/channel/contributors) for a confirmation. +状況セクションにあるデプロイログおよびビルドにアクセスして、デプロイされた正確なバージョンを確認できます。 あるいは、[contributors チャットルーム](https://chat.freecodecamp.org/channel/contributors) で確認することもできます。 -### Known Limitations +### 既知の制限 -There are some known limitations and tradeoffs when using the beta version of the platform. +プラットフォームのベータ版を使用する場合、いくつかの既知の制限とトレードオフがあります。 -- #### All data / personal progress on these beta platforms will NOT be saved or carried over to production. +- #### これらのベータプラットフォーム上のデータ / 個人的な進捗は、保存されたり本番環境に移行されることはありません。 - **Users on the beta version will have a separate account from the production.** The beta version uses a physically separate database from production. This gives us the ability to prevent any accidental loss of data or modifications. The dev team may purge the database on this beta version as needed. + **ベータ版のユーザーは本番とは異なるアカウントを持つことになります。** ベータ版は本番と物理的に分離されたデータベースを使用します。 これにより、偶発的なデータ損失や変更を防ぐことができます。 開発チームは、必要に応じてこのベータ版のデータベースを削除する可能性があります。 -- #### There are no guarantees on the uptime and reliability of the beta platforms. +- #### ベータ版プラットフォームの稼働時間と信頼性については保証はありません。 - Deployment is expected to be frequent and in rapid iterations, sometimes multiple times a day. As a result there will be unexpected downtime at times or broken functionality on the beta version. + デプロイは頻繁に行われ、時には非常に速いペースで 1 日に複数回行われることになります。 その結果、ベータ版において、不測のダウンタイムが発生したり機能が壊れることがあります。 -- #### Do not send regular users to this site as a measure of confirming a fix +- #### 修正を確認する手段として、このサイトに一般ユーザーを送らないでください。 - The beta site is and always has been to augment local development and testing, nothing else. It's not a promise of what’s coming, but a glimpse of what is being worked upon. + ベータサイトは、ローカルの開発とテストを強化するためのものでしたし、今もそうです。 それはこれから起こることを約束するものではありませんが、取り組まれていることを垣間見るものです。 -- #### Sign in page may look different than production +- #### サインインページが本番環境とは異なる場合があります。 - We use a test tenant for freeCodeCamp.dev on Auth0, and hence do not have the ability to set a custom domain. This makes it so that all the redirect callbacks and the login page appear at a default domain like: `https://freecodecamp-dev.auth0.com/`. This does not affect the functionality and is as close to production as we can get. + Auth0 上で freeCodeCamp 開発用のテストテナントを使用しているため、カスタムドメインを設定することはできません。 そのため、すべてのリダイレクトコールバックとログインページが `https://freecodecamp-dev.auth0.com/` のようなデフォルトドメインに表示されます。 This does not affect the functionality and is as close to production as we can get. -## Reporting issues and leaving feedback +## Issue の報告とフィードバック -Please open fresh issues for discussions and reporting bugs. +ディスカッションやバグ報告をする場合、新しい Issue を開いてください。 -You may send an email to `dev[at]freecodecamp.org` if you have any queries. As always all security vulnerabilities should be reported to `security[at]freecodecamp.org` instead of the public tracker and forum. +ご質問があれば、`dev[at]freecodecamp.org` にメールをご送信ください。 セキュリティ脆弱性は、公開トラッカーやフォーラムではなく、`security[at]freecodecamp.org` に報告する必要があります。 -# Flight Manual - Server Maintenance +# フライトマニュアル - サーバーメンテナンス > [!WARNING] > -> 1. The guide applies to the **freeCodeCamp Staff members only**. -> 2. These instructions should not be considered exhaustive, please use caution. +> 1. ガイドは、**freeCodeCamp スタッフのみ** に適用されます。 +> 2. インストラクションは包括的なものではありませんので、ご注意ください。 -As a member of the staff, you may have been given access to our cloud service providers like Azure, Digital Ocean, etc. +スタッフの一員として、Azure、Digital Ocean などのクラウドサービスプロバイダーへのアクセスが許可されている可能性があります。 -Here are some handy commands that you can use to work on the Virtual Machines (VM), for instance performing maintenance updates or doing general housekeeping. +仮想マシン (VM) で作業するために使用できる便利なコマンドをいくつか紹介します。例えばメンテナンスの更新や一般的なハウスキーピングの実行です。 -## Get a list of the VMs +## VM のリストを取得する -> [!NOTE] While you may already have SSH access to the VMs, that alone will not let you list VMs unless you been granted access to the cloud portals as well. +> [!NOTE] 既に VM へ SSH アクセスできるかもしれませんが、クラウドポータルへのアクセスが許可されていない限り VMを一覧表示することはできません。 ### Azure -Install Azure CLI `az`: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli +Azure CLI のインストール `az`: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli -> **(One-time) Install on macOS with [`homebrew`](https://brew.sh):** +> **(一回のみ) [`homebrew`](https://brew.sh) で macOS にインストールします。** ``` brew install azure-cli ``` -> **(One-time) Login:** +> **(一回のみ) ログインします。** ``` az login ``` -> **Get the list of VM names and P addresses:** +> **VM 名と P アドレスのリストを取得します。** ``` az vm list-ip-addresses --output table @@ -264,72 +264,72 @@ az vm list-ip-addresses --output table ### Digital Ocean -Install Digital Ocean CLI `doctl`: https://github.com/digitalocean/doctl#installing-doctl +Digital Ocean CLI のインストール `doctl`: https://github.com/digitalocean/doctl#installing-doctl -> **(One-time) Install on macOS with [`homebrew`](https://brew.sh):** +> **(一回のみ) [`homebrew`](https://brew.sh) で macOS にインストールします。** ``` brew install doctl ``` -> **(One-time) Login:** +> **(一回のみ) ログインします。** -Authentication and context switching: https://github.com/digitalocean/doctl#authenticating-with-digitalocean +認証とコンテキストの切り替え: https://github.com/digitalocean/doctl#authenticating-with-digitalocean ``` doctl auth init ``` -> **Get the list of VM names and IP addresses:** +> **VM 名と IP アドレスのリストを取得します。** ``` doctl compute droplet list --format "ID,Name,PublicIPv4" ``` -## Spin new Resources +## 新しいリソースをスピンする -We are working on creating our IaC setup, and while that is in works you can use the Azure portal or the Azure CLI to spin new virtual machines and other resources. +私たちは IaC 設定の作成に取り組んでいます。そして、その作業中は Azure ポータルまたは Azure CLI を使用して、新しい仮想マシンやその他のリソースをスピンさせることができます。 -> [!TIP] No matter your choice of spinning resources, we have a few [handy cloud-init config files](https://github.com/freeCodeCamp/infra/tree/main/cloud-init) to help you do some of the basic provisioning like installing docker or adding SSH keys, etc. +> [!TIP] スピニングリソースの選択に関係なく、docker のインストールや SSH キーの追加など基本的なプロビジョニングを行うのに役立つ [便利な cloud-init 設定ファイル](https://github.com/freeCodeCamp/infra/tree/main/cloud-init) がいくつかあります。 -## Keep VMs updated +## VM を最新に保つ -You should keep the VMs up to date by performing updates and upgrades. This will ensure that the virtual machine is patched with latest security fixes. +アップデートとアップグレードを行うことで、VM を最新の状態に保つ必要があります。 これにより、仮想マシンが最新のセキュリティ修正でパッチされるようになります。 -> [!WARNING] Before you run these commands: +> [!WARNING] これらのコマンドを実行する前に下記を実行します。 > -> - Make sure that the VM has been provisioned completely and there is no post-install steps running. -> - If you are updating packages on a VM that is already serving an application, make sure the app has been stopped / saved. Package updates will cause network bandwidth, memory and/or CPU usage spikes leading to outages on running applications. +> - VM が完全にプロビジョニングされており、インストール後の手順が実行されていないことを確認してください。 +> - アプリケーションを既に提供している VM 上で、パッケージを更新する場合は、アプリが停止 / 保存されていることを確認してください。 パッケージ更新により、ネットワーク帯域幅や、メモリ、CPU の使用率が急増し、 実行中のアプリケーションが停止します。 -Update package information +パッケージ情報を更新する ```console sudo apt update ``` -Upgrade installed packages +インストール済みパッケージをアップグレードする ```console sudo apt upgrade -y ``` -Cleanup unused packages +未使用のパッケージをクリーンアップする ```console sudo apt autoremove -y ``` -## Work on Web Servers (Proxy) +## Web サーバーでの作業 (プロキシ) -We are running load balanced (Azure Load Balancer) instances for our web servers. These servers are running NGINX which reverse proxy all of the traffic to freeCodeCamp.org from various applications running on their own infrastructures. +Web サーバーのために、負荷分散 (Azure Load Balancer) インスタンスを実行しています。 これらのサーバーは NGINX を実行しています。NGINX は、独自インフラストラクチャで実行される様々なアプリケーションから freeCodeCamp.org へと、トラフィックを中継するリバースプロキシとして使用されます。 -The NGINX config is available on [this repository](https://github.com/freeCodeCamp/nginx-config). +NGINX 設定は [このリポジトリ](https://github.com/freeCodeCamp/nginx-config) で確認できます。 -### First Install +### 最初のインストール -Provisioning VMs with the Code +コードを使用して VM をプロビジョニング -1. Install NGINX and configure from repository. +1. NGINX をインストールし、リポジトリから設定します。 ```console sudo su @@ -344,13 +344,13 @@ Provisioning VMs with the Code cd /etc/nginx ``` -2. Install Cloudflare origin certificates and upstream application config. +2. Cloudflare のオリジン証明書とアップストリームアプリケーション設定をインストールします。 - Get the Cloudflare origin certificates from the secure storage and install at required locations. + 安全なストレージから Cloudflare のオリジン証明書を取得し、 必要な場所にインストールします。 - **OR** + **または** - Move over existing certificates: + 既存の証明書上に移動します。 ```console # Local @@ -362,45 +362,45 @@ Provisioning VMs with the Code mv /tmp/ssl ./ ``` - Update Upstream Configurations: + アップストリーム設定を更新します。 ```console vi configs/upstreams.conf ``` - Add/update the source/origin application IP addresses. + ソース / オリジンアプリケーションの IP アドレスを追加 / 更新します。 -3. Setup networking and firewalls. +3. ネットワーキングとファイアウォールを設定します。 - Configure Azure firewalls and `ufw` as needed for ingress origin addresses. + 必要に応じて、イングレスオリジンアドレスに Azure ファイアウォールと `ufw` を設定します。 -4. Add the VM to the load balancer backend pool. +4. VM をロードバランサーバックエンドプールに追加します。 - Configure and add rules to load balancer if needed. You may also need to add the VMs to load balancer backend pool if needed. + 必要に応じて、ロードバランサーにルールを設定し追加します。 バランサーバックエンドプールをロードするために、VM を追加する必要があるかもしれません。 -### Logging and Monitoring +### ログとモニタリング -1. Check status for NGINX service using the below command: +1. 以下のコマンドを使用して NGINX サービスのステータスを確認します。 ```console sudo systemctl status nginx ``` -2. Logging and monitoring for the servers are available at: +2. サーバーのログとモニタリングは以下で行います。 - NGINX Amplify: [https://amplify.nginx.com]('https://amplify.nginx.com'), our current basic monitoring dashboard. We are working on more granular metrics for better observability + 現行の基本的なモニタリングダッシュボードは、NGINX Amplify ([https://amplify.nginx.com]('https://amplify.nginx.com')) です。 監視向上のため、より細かいメトリックに取り組んでいます。 -### Updating Instances (Maintenance) +### インスタンスの更新 (メンテナンス) -Config changes to our NGINX instances are maintained on GitHub, these should be deployed on each instance like so: +NGINX インスタンスへの設定変更は、GitHub 上でメンテナンスされています。これらは、以下のように各インスタンスにデプロイされる必要があります。 -1. SSH into the instance and enter sudo +1. SSH でインスタンスに接続し、sudo と入力します。 ```console sudo su ``` -2. Get the latest config code. +2. 最新の設定コードを取得します。 ```console cd /etc/nginx @@ -408,26 +408,26 @@ git fetch --all --prune git reset --hard origin/main ``` -3. Test and reload the config [with Signals](https://docs.nginx.com/nginx/admin-guide/basic-functionality/runtime-control/#controlling-nginx). +3. 設定 [with Signals](https://docs.nginx.com/nginx/admin-guide/basic-functionality/runtime-control/#controlling-nginx) をテストして再度読み込みます。 ```console nginx -t nginx -s reload ``` -## Work on API Instances +## API インスタンスでの作業 -1. Install build tools for node binaries (`node-gyp`) etc. +1. ノードバイナリのビルドツール (`node-gyp`) をインストールします。 ```console sudo apt install build-essential ``` -### First Install +### 最初のインストール -Provisioning VMs with the Code +コードを使用して VM をプロビジョニング -1. Install Node LTS. +1. ノード LTS をインストールします。 2. Update `npm` and install PM2 and setup `logrotate` and startup on boot diff --git a/docs/i18n/japanese/how-to-add-cypress-tests.md b/docs/i18n/japanese/how-to-add-cypress-tests.md index 6614c9a6ec..0164bda969 100644 --- a/docs/i18n/japanese/how-to-add-cypress-tests.md +++ b/docs/i18n/japanese/how-to-add-cypress-tests.md @@ -2,7 +2,7 @@ ページの機能やレイアウトを変更する可能性がある JavaScript、CSS、または HTML を変更する際には、対応する [Cypress](https://docs.cypress.io) 統合テストを追加することが重要です。 -Cypress テストもしくは「specs」の書き方については、Cypress の公式 [ドキュメント ](https://docs.cypress.io/guides/getting-started/writing-your-first-test.html) をご覧ください。 +Cypress テストもしくは「specs」の書き方については、Cypress の公式 [ドキュメント](https://docs.cypress.io/guides/getting-started/writing-your-first-test.html) をご覧ください。 ## テストを追加する場所 @@ -74,4 +74,4 @@ npm run cypress:install-build-tools - 端末でプロンプトが表示されたら、言語/エリアでキーボードのレイアウトを選択してください。 -これで、[Cypress を実行することができます ](/how-to-add-cypress-tests#_2-run-the-cypress-tests)。 +これで、[Cypress を実行することができます](/how-to-add-cypress-tests#_2-run-the-cypress-tests)。 diff --git a/docs/i18n/japanese/how-to-help-with-video-challenges.md b/docs/i18n/japanese/how-to-help-with-video-challenges.md index be0526b906..68f8766aaf 100644 --- a/docs/i18n/japanese/how-to-help-with-video-challenges.md +++ b/docs/i18n/japanese/how-to-help-with-video-challenges.md @@ -4,9 +4,9 @@ ビデオチャレンジは、特定のトピックに関するノーカットビデオコースの小さなセクションです。 ビデオチャレンジページには、YouTube 動画が埋め込まれています。 各チャレンジページには、動画に関連する多肢選択問題があります。 コース内で次のビデオチャレンジに進む前に、ユーザーは質問に正しく答える必要があります。 -ビデオチャレンジのページは、freeCodeCamp チームのメンバーによって作成されます。 YouTube 動画は、FreeCodeCamp チームのメンバーによってアップロードもされます。 ビデオチャレンジの多くは、関連する質問がありません。 +ビデオチャレンジのページは、freeCodeCamp チームのメンバーによって作成されます。 YouTube 動画も、FreeCodeCamp チームのメンバーによってアップロードされます。 しかし、多くのビデオチャレンジは、まだ関連する質問がありません。 -ビデオセクションに関連する多肢選択式の質問を作成し、ビデオチャレンジマークダウンファイルに質問を追加することができます。 +ビデオセクションに関連する多肢選択式の質問を作成し、ビデオチャレンジマークダウンファイルに質問を追加する作業を手伝うことができます。 ## チャレンジテンプレート @@ -103,11 +103,11 @@ https://www.youtube.com/watch?v=[videoId] (URL 中の `videoId` をビデオの ## --answers-- -回答 1 +Answer 1 --- -回答 2 +Answer 2 --- 他の回答 @@ -132,7 +132,7 @@ https://www.youtube.com/watch?v=[videoId] (URL 中の `videoId` をビデオの ````md # --question-- -## -text--- +## --text-- この JavaScript コードは、コンソールに何を記録しますか? diff --git a/docs/i18n/japanese/how-to-test-translations-locally.md b/docs/i18n/japanese/how-to-test-translations-locally.md index e205df1514..3cd6a27678 100644 --- a/docs/i18n/japanese/how-to-test-translations-locally.md +++ b/docs/i18n/japanese/how-to-test-translations-locally.md @@ -10,11 +10,11 @@ まず、`config/i18n/all-langs.ts` ファイルにアクセスして、利用可能な言語リストに言語を追加し、値を設定します。 ここには 4 つのオブジェクトがあります。 -- `availableLangs` : `client` と `curriculum` 両方の配列で、言語のテキスト名を追加します。 これは `.env` ファイルで使用される値です。 -- `auditedCerts` : 言語のテキスト名を _key_ として追加し、`SuperBlocks.{cert}` 変数の配列を _value_ として追加します。 これは、クライアントにどの認定講座の翻訳が完了しているのかを伝えます。 -- `i18nextCodes` : これらは各言語の ISO の言語コードです。 有効にしようとしている言語に適切な ISO コードを追加する必要があります。 言語コードは、各言語に固有のものである必要があります。 -- `langDisplayNames` : これらはナビゲーションメニューの言語セレクターで使用する表示名です。 -- `langcodes` : これらは日付と数字の書式設定に使用する言語コードです。 ISO コードではなく、Unicode CLDR コードである必要があります。 +- `availableLangs`: `client` と `curriculum` 両方の配列で、言語のテキスト名を追加します。 これは `.env` ファイルで使用される値です。 +- `auditedCerts`: 言語のテキスト名を _key_ として追加し、`SuperBlocks.{cert}` 変数の配列を _value_ として追加します。 これは、クライアントにどの認定講座の翻訳が完了しているのかを伝えます。 +- `i18nextCodes`: これらは各言語の ISO の言語コードです。 有効にしようとしている言語に適切な ISO コードを追加する必要があります。 言語コードは、各言語に固有のものである必要があります。 +- `langDisplayNames`: これらはナビゲーションメニューの言語セレクターで使用する表示名です。 +- `langCodes`: これらは日付と数字の書式設定に使用する言語コードです。 ISO コードではなく、Unicode CLDR コードである必要があります。 一例を挙げると、Dothraki という言語を有効にしたい場合、`all-langs.js` の各オブジェクトは次のようになります。 @@ -127,7 +127,7 @@ const algoliaIndices = { }; ``` -最後に、`.env` ファイルの中で、`CLIENT_LOCALE` と `CURRICUUM_LOCALE` を新しい言語 (`availableLangs` 値を使用) に設定します。 +最後に、`.env` ファイルの中で、`CLIENT_LOCALE` と `CURRICULUM_LOCALE` を新しい言語 (`availableLangs` 値を使用) に設定します。 ```txt CLIENT_LOCALE="dothraki" diff --git a/docs/i18n/japanese/how-to-translate-files.md b/docs/i18n/japanese/how-to-translate-files.md index e719d1b348..7bced82682 100644 --- a/docs/i18n/japanese/how-to-translate-files.md +++ b/docs/i18n/japanese/how-to-translate-files.md @@ -121,13 +121,13 @@ Crowdin はドキュメントを翻訳可能な文字列 (通常は文単位) LearnToCode RPGはRen'Py上で動作します。Ren'Pyでは翻訳の際に独特の構文が使用されます([Ren'Py Text documentation](https://www.renpy.org/doc/html/text.html) を参照してください)。 -- `" "`で囲まれた文章が翻訳対象です。 ダイアログまたはUI(ユーザーインターフェース)文字列です。 ダイアログの前後に表示されるキーワードは、ゲームエンジンを制御するキーワードです。詳細は後続のルールにて説明します。 このルールは、後続で説明する全ルールの基本であり、最も重要です。 +- `""`で囲まれた文章が翻訳対象です。 ダイアログまたはUI(ユーザーインターフェース)文字列です。 ダイアログの前後に表示されるキーワードは、ゲームエンジンを制御するキーワードです。詳細は後続のルールにて説明します。 このルールは、後続で説明する全ルールの基本であり、最も重要です。 - `new "..."` のように表示される場合、接頭辞 `new` の部分はキーワードなので翻訳しないでください。 - `player`、`annika`、`layla`、`marco` が先頭にて付く用語 (`player happy` や `player @ happy` などの複合形も含む) は、翻訳しないでください。 これらは、ゲーム内のキャラクターのスプライトを正しく表示し制御するためのキーワードです。 - `nointeract` のような接尾辞も翻訳しないでください。 - `[]` と `{}` で囲まれた部分は翻訳しないでください。 これらは補間機能とテキストタグです。 半角の `[]` と `{}` は翻訳文章にも残し、全角の `【】` や `「」`は使用しません。 - 文末の `nointeract` キーワードは翻訳しないでください。 -- 全角括弧 `()`を使用しようとすると、品質保証に関する警告が表示されます。 品質保証に関する警告を避けるためには、半角括弧 `()` を使用してください。 +- 全角括弧 `()`を使用しようとすると、品質保証に関する警告が表示されます。 品質保証に関する警告を避けるためには、半角括弧 `()` を使用してください。 ### 例 diff --git a/docs/i18n/japanese/how-to-work-on-coding-challenges.md b/docs/i18n/japanese/how-to-work-on-coding-challenges.md index 1c5cd31e29..0c5b85e72f 100644 --- a/docs/i18n/japanese/how-to-work-on-coding-challenges.md +++ b/docs/i18n/japanese/how-to-work-on-coding-challenges.md @@ -266,11 +266,11 @@ title: Challenge Title 変数 `realNumber` を整数に変換するには、`parseInt` を使用します。 ``` -- ファイル名とパスディレクトリへの参照 (例: `package.json`、`src/component`) は `` \` `` バックティックで囲みます。 +- ファイル名とパスディレクトリへの参照 (例: `package.json`、`src/components`) は `` \` `` バックティックで囲みます。 - 複数行コードブロック **の前に空行** が必要です。 次の行は、3つのバックティックに続いて [対応言語](https://prismjs.com/#supported-languages) の1つで始まります。 コードブロックを完了するには、3 つのバックティックのみの新しい行と **別の空行** が必要です。 下記の例を参照してください。 - 空白はマークダウンでも重要ですので、エディターで表示させることをお勧めします。 -**注:** YMAL でコード例を使用する場合、バックティックの右側に言語用の `yml` を使用するのではなく、`yaml` を使用してください。 +**注:** YMAL のコード例を使用する場合、バックティックの右側に記載する言語は、 `yml` ではなく `yaml` を使用してください。 以下はコードの例です。 @@ -282,11 +282,11 @@ title: Challenge Title ```` ```` -- 注意書き形式の追加情報は空白行で囲みます。例: `**注:** 注記のテキスト...` -- 複数の注意書きが必要な場合は、すべての注意書きを別々の文章でリスト化します。例: `**注:** 最初の注記のテキスト。 2 番目の注記のテキスト。` +- 注意書き形式の追加情報は空白行で囲みます。例: `**Note:** Rest of note text...` +- 複数の注意書きが必要な場合は、すべての注意書きを別々の文章でリスト化します。例: `**Notes:** First note text. Second note text.` - 可能であれば、一重引用符を使用します。 -**注:** 同等の_マークダウン_は、_HTML_タグの代わりに使用します。 +**注:** _HTML_ タグの代わりに同等の _マークダウン_ を使用してください。 ## テストの記述 @@ -368,7 +368,7 @@ class MyComponent extends React.Component { ### シードコードコメントの翻訳 -各言語には、個別のコメント辞書があります。 [コメント辞書の英語版](/curriculum/dictionaries/english/comments.js) は、英語以外のバージョンファイルにある翻訳のベースになります。 英語以外のバージョンである中国語のコメント辞書は、`/curriculum/dictionaries/chinese/comments.js`にあります。 それぞれの辞書は一意の `id` プロパティと `text` プロパティを持つオブジェクトの配列で構成されています。 `text` のみ、対応する英語のコメントの翻訳を含むように変更する必要があります。 +各言語には、個別のコメント辞書があります。 [コメント辞書の英語版](/curriculum/dictionaries/english/comments.js) は、英語以外のバージョンファイルにある翻訳のベースになります。 英語以外のバージョン、例えば中国語のコメント辞書は、`/curriculum/dictionaries/chinese/comments.js` にあります。 それぞれの辞書は一意の `id` プロパティと `text` プロパティを持つオブジェクトの配列で構成されています。 `text` のみ、対応する英語のコメントの翻訳を含むように変更する必要があります。 一部のコメントには、翻訳してはいけない単語 / フレーズが含まれています。 例えば、変数名や「React」のような固有ライブラリ名は翻訳しません。 例として以下のコメントをご覧ください。 `myGlobal` という単語は翻訳しません。 @@ -378,7 +378,7 @@ class MyComponent extends React.Component { > [!NOTE] > -> コメント辞書の i18n で作業できるようにするために統合に取り組んでいます。 +> 現在、コメント辞書の i18n 作業ができるようにするためのインテグレーションに取り組んでいます。 ## ヒントとソリューション @@ -419,11 +419,11 @@ class MyComponent extends React.Component { ### ヒント 1 -ヒントを記述してください +ヒントを記述 ### ヒント 2 -ヒントを記述してください +ヒントを記述 --- @@ -439,8 +439,8 @@ function myFunc() { #### コードの説明 -- コードの説明はこちら -- コードの説明はこちら +- コードの説明を記述 +- コードの説明を記述 #### 関連リンク @@ -452,7 +452,7 @@ function myFunc() { ## チャレンジのテスト -変更のために [プルリクエストを作成する] (how-to-open-a-pull-request.md) 前に、行った変更が誤ってチャレンジに問題を引き起こさないことを確認する必要があります。 +変更のために [プルリクエストを作成する](how-to-open-a-pull-request.md) 前に、行った変更が誤ってチャレンジに問題を引き起こさないことを確認する必要があります。 1. すべてのチャレンジをテストするには、ルートディレクトリから以下のコマンドを実行してください。 @@ -472,7 +472,7 @@ npm run test:curriculum --superblock=responsive-web-design 次の手順を実行することで、1 つのチャレンジを個別にテストすることもできます。 -1. `カリキュラム` ディレクトリに切り替えてください。 +1. `curriculum` ディレクトリに切り替えてください。 ``` cd curriculum @@ -485,7 +485,7 @@ npm run test:curriculum --superblock=responsive-web-design 各チャレンジがテストに合格したことを確認したら、[プルリクエストを作成](how-to-open-a-pull-request.md) してください。 -> [!TIP] `.env` にある環境変数 `LOCALE` を、テストするチャレンジ言語に設定できます。 +> [!TIP] `.env` にある環境変数 `LOCALE` で、テストするチャレンジの言語を設定できます。 > > 現在受け入れられている値は、`english` と `chinese`で、デフォルトは `english` です。 @@ -493,6 +493,6 @@ npm run test:curriculum --superblock=responsive-web-design チャレンジの作成および編集 -1. [チャレンジタイプ](https://github.com/freeCodeCamp/freeCodeCamp/blob/main/client/utils/challenge-types.js#L1-L13) - 数値チャレンジ型の値が何を意味するのか (列挙) +1. [チャレンジタイプ](https://github.com/freeCodeCamp/freeCodeCamp/blob/main/client/utils/challenge-types.js#L1-L13) - チャレンジタイプの値の、どの数値が何を意味するか (enum) -2. [FreeCodeCampへの貢献 - ES6 Challenge Tests の作成](https://www.youtube.com/watch?v=iOdD84OSfAE#t=2h49m55s) - 古いバージョンのカリキュラムに貢献している [Ethan Arrowood](https://twitter.com/ArrowoodTech) のビデオ +2. [freeCodeCamp への貢献 - ES6 Challenge Tests の作成](https://www.youtube.com/watch?v=iOdD84OSfAE#t=2h49m55s) - 古いバージョンのカリキュラムに貢献している [Ethan Arrowood](https://twitter.com/ArrowoodTech) の動画 diff --git a/docs/i18n/japanese/how-to-work-on-localized-client-webapp.md b/docs/i18n/japanese/how-to-work-on-localized-client-webapp.md index bece3d64c9..4b7d528c57 100644 --- a/docs/i18n/japanese/how-to-work-on-localized-client-webapp.md +++ b/docs/i18n/japanese/how-to-work-on-localized-client-webapp.md @@ -8,7 +8,7 @@ これは、ローカライゼーションを含むものを対象にし、例えば別の言語でボタンラベルを検証する必要がある機能に関して作業している場合に役立ちます。 -> [!TIP] freeCodeCamp のカリキュラムを翻訳したりドキュメントに貢献したりするために、このドキュメントに従う必要はありません。 代わりに、[このガイド](how-to-translate-files.md) をお読みください。 +> [!TIP] freeCodeCamp のカリキュラムやコントリビューションドキュメントを翻訳するために、このドキュメントに従う必要はありません。 代わりに、[このガイド](how-to-translate-files.md) をお読みください。 i18n フレームワークとツールがどのように機能するかを理解しましょう。 @@ -216,7 +216,7 @@ import { Trans } from 'react-i18next'

Check out our forum

``` -上記の例では、キーは `Trans` コンポーネントの属性に設定されています。 JSON の `<0>` と `` はコンポーネントの最初の子を表します。 この場合、アンカー要素です。 もっと多くの子供がいたら、同じ構文を使ってそこから数えるだけです。 検査により、React 開発ツールでコンポーネントの子供を見つけることができます。 `placeholder` は単にそこにあるだけです。なぜなら、リンターが空の `` 要素について不平を言うからです。 +上記の例では、キーは `Trans` コンポーネントの属性に設定されています。 JSON の `<0>` と `` はコンポーネントの最初の子要素を表します。 この場合、アンカー要素です。 もっと多くの子要素がある場合、同じ構文を使ってそこから数えるだけです。 React 開発ツールで調べることにより、コンポーネントの子要素を見つけることができます。 `placeholder` は単にそこにあるだけです。なぜなら、リンターが空の `` 要素について不平を言うからです。 ### 変数の使用 diff --git a/docs/i18n/japanese/how-to-work-on-tutorials-that-use-coderoad.md b/docs/i18n/japanese/how-to-work-on-tutorials-that-use-coderoad.md index 40cfa36708..f27ec542d5 100644 --- a/docs/i18n/japanese/how-to-work-on-tutorials-that-use-coderoad.md +++ b/docs/i18n/japanese/how-to-work-on-tutorials-that-use-coderoad.md @@ -1,12 +1,12 @@ -このページでは、CodeCamp の freeCodeCamp チュートリアルや、CodeRoad VS Code 拡張機能を使用して完了したプロジェクトに貢献する方法を説明します。 +このページでは、CodeRoad VS Code 拡張機能を使用して作成された freeCodeCamp チュートリアルやプロジェクトに貢献する方法を説明します。 ## チュートリアルの仕組み -CodeRoad を使用している freeCodeCamp チュートリアルは、それぞれ freeCodeCamp GitHub 組織 の下に独自のリポジトリを持っています。 それらはすべて `learn-` から始まります。 例えば、`https://github.com/freeCodeCamp/learn-bash-by-building-aboilerplate/` です。 +CodeRoad を使用している freeCodeCamp チュートリアルは、それぞれ freeCodeCamp GitHub 組織 の下に独自のリポジトリを持っています。 それらはすべて `learn-` から始まります。 例えば、`https://github.com/freeCodeCamp/learn-bash-by-building-a-boilerplate/` です。 各チュートリアルリポジトリには、`main` ブランチと「バージョン」ブランチがあります。例えば、 `v1.0.0` です。 -`main` ブランチには、`TUTORIAL.md` と `coderad.yaml` 2 つのメインファイルがあります。 `TUTORIAL.md` には、チュートリアルのすべての手順、ヒント、タイトルなどが含まれています。 `coderoad.yaml` には、どのコマンドを実行するか、どのファイルの変更を監視するか、どのブランチバージョンをステップに使用するかなど CodeRoad に対する指示が含まれています。 +`main` ブランチには、`TUTORIAL.md` と `coderoad.yaml` 2 つのメインファイルがあります。 `TUTORIAL.md` には、チュートリアルのすべての手順、ヒント、タイトルなどが含まれています。 `coderoad.yaml` には、どのコマンドを実行するか、どのファイルの変更を監視するか、どのブランチバージョンをステップに使用するかなど CodeRoad に対する指示が含まれています。 「バージョン」ブランチには、チュートリアルの各ステップにロードされるコミットが含まれています。 このブランチのコミットメッセージは特定のものでなければなりません。 最初のコミットには、メッセージに `INIT` が必要であり、初回レッスン前にロードするファイルがすべて含まれています。 diff --git a/docs/i18n/japanese/moderator-handbook.md b/docs/i18n/japanese/moderator-handbook.md index a211d00a9c..1c05e9dd9e 100644 --- a/docs/i18n/japanese/moderator-handbook.md +++ b/docs/i18n/japanese/moderator-handbook.md @@ -4,7 +4,7 @@ > [!NOTE] すべての freeCodeCamp モデレーターは、コミュニティ全体のモデレーターです。 上記いずれかの場所を監督していただきます。 -最も興味のあるプラットフォームのモデレーターなることができます。 GitHub を支援するモデレーターもいれば、フォーラムを支援するモデレーターもいます。 すべての場所においてご活躍いただくモデレーターもいます。 +最も興味のあるプラットフォームのモデレーターになることができます。 GitHub を支援するモデレーターもいれば、フォーラムを支援するモデレーターもいます。 すべての場所においてご活躍いただくモデレーターもいます。 モデレーターであることを楽しんでください。 興味のある場所に皆さんの時間を投資してください。 @@ -43,7 +43,7 @@ main の [`freeCodeCamp/freeCodeCamp`](https://github.com/freeCodeCamp/freeCodeC #### 古く、期限切れで、不活発な Issue とプルリクエストをクローズする -- 古い Issue または 古い PR とは、作成者が過去21 日間 (最後の活動から 3 週間) アクティビティを行っていないものを指しますが、具体的にはモデレーターが作成者に対して追加情報 / 変更を要求してから上記既定の日数を経過したものを指します。 +- 古い Issue または 古い PR とは、作成者が過去 21 日間 (最後の活動から 3 週間) アクティビティを行っていないものを指しますが、具体的にはモデレーターが作成者に対して追加情報 / 変更を要求してから上記既定の日数を経過したものを指します。 - アクティビティは、`status: update needed` ラベルなどの PR とトリアージの更新をリクエストするコメントと定義されます。 @@ -101,7 +101,7 @@ main の [`freeCodeCamp/freeCodeCamp`](https://github.com/freeCodeCamp/freeCodeC ##### CI チェックに合格していることを確認する -プルリクエストをマージする前に、GitHubが、プルリクエストですべてのチェックに合格 (緑色のチェックマーク) していることを報告しているかどうかを確認してください。 チェックが不合格の場合は、原因を調べて明確にしてください。 テストに不合格となるような変更ですか? PR がマージされる場合、サイトは正しく構築されますか? これらのチェックはプラットフォームの安定性に不可欠です。 +プルリクエストをマージする前に、GitHub で、プルリクエストのすべてのチェックが合格 (緑色のチェックマーク) となっていることを確認してください。 チェックが不合格の場合は、原因を調べて明確にしてください。 テストに不合格となるような変更ですか? PR がマージされる場合、サイトは正しく構築されますか? これらのチェックはプラットフォームの安定性に不可欠です。 > [!WARNING] CI/CD チェックが不合格の PR をマージすると、開発チームやコントリビューターを含むすべてのステークホルダーに問題を引き起こす可能性があります。 @@ -193,7 +193,7 @@ freeCodeCamp のリポジトリへの書き込み権限はありますが、**fr ```markdown 件名: 13 歳未満のユーザーは、利用規約によりフォーラムを利用できません -あなたが 13 歳未満のユーザーの方であるということが判明しました。 [freeCodeCamp 利用規約] (https://www.freecodecamp.org/news/terms-of-service) では、サイトまたはフォーラムを利用するには 13 歳以上である必要があります。 そのため、あなたの freeCodeCamp アカウントとフォーラムアカウントの両方を削除させていただきます。 この制限は米国の法律に準拠したものです。 +あなたが 13 歳未満のユーザーの方であるということが判明しました。 [freeCodeCamp 利用規約](https://www.freecodecamp.org/news/terms-of-service) では、サイトまたはフォーラムを利用するには 13 歳以上である必要があります。 そのため、あなたの freeCodeCamp アカウントとフォーラムアカウントの両方を削除させていただきます。 この制限は米国の法律に準拠したものです。 13 歳以上になってからご参加いただけるのをお待ちしています。 @@ -370,7 +370,7 @@ http://www.suicide.org/international-suicide-hotlines.html > 新規コントリビューターへの感謝と励まし ```markdown -@usernameさん、こんにちは。 最初のプルリクエスト (PR) おめでとうございます! 🎉 +@username さん、こんにちは。 最初のプルリクエスト (PR) おめでとうございます! 🎉 このページに貢献していただきありがとうございます! 👍 喜んでこれらの変更を承認いたします。今後の貢献に期待しています。 📝 @@ -431,9 +431,9 @@ GUI を使用している場合は、単純に `Add a new remote...` を使用 この問題が解決すれば、PR を確認してマージすることができます。 😊 --- +--- -マージ競合プロセスに慣れていない場合は、GitHub のガイド の [「マージ競合の解決」] をご覧ください (https://help.github.com/articles/resolving-a-merge-conflict-on-github/)。 🔍 +マージ競合プロセスに慣れていない場合は、GitHub のガイド の [「Resolving a merge conflict」] をご覧ください (https://help.github.com/articles/resolving-a-merge-conflict-on-github/)。 🔍 また、GitHub で PR を作成する際に、変更に関する簡単な説明を記述することをお勧めします。 📝 ```` @@ -477,7 +477,7 @@ GUI を使用している場合は、単純に `Add a new remote...` を使用 ```markdown プルリクエストを作成していただきありがとうございました。 -しかしながら、このプルリクエストをクローズさせていただきます。 [フォーラムトピック] (https://forum.freecodecamp.org/new-topic?category=Contributors&title=&body=**What%20is%20your%20hint%20or%20solution%20suggestion%3F**%0A%0A%0A%0A%0A**Challenge%3A**%0A%0A%0A**Link%20to%20the%20challenge%3A**) に投稿されているチャレンジの該当ガイドを追加するためのリンクおよびその他詳細を提案してください。 +しかしながら、このプルリクエストをクローズさせていただきます。 [フォーラムトピック](https://forum.freecodecamp.org/new-topic?category=Contributors&title=&body=**What%20is%20your%20hint%20or%20solution%20suggestion%3F**%0A%0A%0A%0A%0A**Challenge%3A**%0A%0A%0A**Link%20to%20the%20challenge%3A**) に投稿されているチャレンジの該当ガイドを追加するためのリンクおよびその他詳細を提案してください。 この Issue をクローズすることが誤りであると思われる場合は、再オープンをリクエストして説明を追加してください。 ご理解のほどよろしくお願いいたします。 ``` @@ -531,7 +531,7 @@ GUI を使用している場合は、単純に `Add a new remote...` を使用 2. ... 3. ... -[貢献に関するガイドライン] (https://contribute.freecodecamp.org/#/) を必ずお読みください。私たちは、ガイドの指示に従ってコントリビューターに優先順位を付けます。 [チャットルーム] (https://chat.freecodecamp.org/channel/contributors) もしくは [フォーラム] (https://forum.freecodecamp.org/c/contributors/3) に参加してください。貢献するのに支援が必要な場合、モデレーターがガイドいたします。 +[貢献に関するガイドライン](https://contribute.freecodecamp.org/#/) を必ずお読みください。私たちは、ガイドの指示に従ってコントリビューターに優先順位を付けます。 [チャットルーム](https://chat.freecodecamp.org/channel/contributors) もしくは [フォーラム](https://forum.freecodecamp.org/c/contributors/3) に参加してください。貢献するのに支援が必要な場合、モデレーターがガイドいたします。 複数のプルリクエストを受け取ることもあります。 私たちは通常、最も質の高い貢献を受け入れ、その後に最初の貢献を受け入れます。