【PHP8.3】ランディングページが日本語訳されてなかったので深い悲しみに包まれた

[PHP8.3のランディングページ](https://www.php.net/releases/8.3/)がありますね。

右上のChange languageに日本語がありませんね。

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/86f5c968-9802-a18c-fabf-889824e4204f.png)

深い悲しみに包まれたので増やした。

![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/eb7a4ef4-3541-d577-3c91-d537afc638fa.png)


# fork

ランディングページの最下段、`View Source`ってところから[ドキュメントのソース](https://github.com/php/web-php)に進めます。
そこで右上の`Fork`ボタンを押せば、[自分のスペースにfork](https://github.com/NurseAngel/web-php)されます。


# branch

[作業用にブランチを切ります](https://github.com/NurseAngel/web-php/tree/japanese-translation-of-release-page-83)。
名前はわりと適当。

# Add Japanese translation

実際に動作する必要があるプログラムとかであれば開発環境の整ったローカルまで持ってくるほうがいいかもしれませんが、今回はただのドキュメントなのでオンラインで十分です。
まあ最近は実行環境とかもオンラインで色々できるみたいですがよくわかりません。

GitHubの画面上でおもむろに`.`を押すとオンラインエディタが起動します。
あとはランディングページの本体である`releases/8.3/languages/en.php`を`ja.php`にコピペし、中身を和訳していくだけです。

またプルダウンに表示する選択肢などの用意も必要になりますが、そのあたりは[過去の](https://github.com/php/web-php/pull/830)[プルリク](https://github.com/php/web-php/pull/832)を参考に作成しました。

最後に[commit](https://github.com/NurseAngel/web-php/commit/fd3b8cb6fe15393502fc77607b30edc6936e20cb)して終了です。


# pull request

commitするとプルリクボタンが出てくるので、それを押したら[勝手にプルリクが生成されます](https://github.com/php/web-php/pull/838)。
めでたいですね。

と思ったら、自動でテストが2個走って、そのうちひとつが失敗してしまいました。
もちろん文法が正しいことは確認済です。
なんだこれ？

![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/06465e94-44ff-c08f-d836-4d758300906a.png)

# Change eol from CRLF to LF.

どうやらPHPドキュメントの[改行コードはLF](https://github.com/php/web-php/pull/838/#issuecomment-1826252847)だそうです。
私はWindowsなので息を吸うが如くCRLFになっており、そのせいでテストがエラーになってしまいました。

```bash
$ php-cs-fixer fix --ansi --config=.php-cs-fixer.php
```

指摘した人は[解決策も教えてくれた](https://github.com/php/web-php/pull/838#issuecomment-1826252847)のですが、そもそもオンラインエディタでどうやってコマンドを打ち込めばいいのかわかりません。
またオンラインエディタ上では、LFで書いたコードをコピペしてもなぜかCRLFになってしまいます。
というかエディタ上では改行コードの区別が一切できません。

ではどうするかというと、エディタの右下あたりで改行コードを選択できるので単にそこから選べばいいです。

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/81fedb12-951b-39f7-ac62-4a84505b322d.png)

逆に言うと、ファイルの一部分だけLFで残りはCRLFみたいなことはできません。
する必要もありませんが。

最後にcommitすると、[追加のcommit](https://github.com/NurseAngel/web-php/commit/4ee5785a42669a5d180cdf72efc4bf5c8d4cd5e7)は自動的に[プルリクにも追加](https://github.com/php/web-php/pull/838/commits/4ee5785a42669a5d180cdf72efc4bf5c8d4cd5e7)され、テストも自動的に更新されます。
べんりですね。

追加のcommitによってエラーがなくなり、[今度こそ正しいプルリクエスト](https://github.com/php/web-php/pull/838)になりました。
めでたしめでたし。

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/71e95570-8279-9428-d086-7363a599287c.png)

ちなみにこの改行コードチェック、[2年前はなかった](https://github.com/php/web-php/pull/480)ので、その後どこかで追加されたみたいです。


# merge

もちろん私はPHP本体側の権限を持っていないので、あとは権限を持っている誰かがmergeしてくれるのを待つだけです。

ということで2023/11/26 16:12に[mergeされました](https://github.com/php/web-php/pull/838#pullrequestreview-1749283438)。

# release

調べてないからわかりませんが、おそらくmasterへのmerge=本番リリースです。
今どきならだいたいそんなかんじでしょう。

ということでおそらく2023/11/26 16:12頃に、[日本語版ランディングページ](https://www.php.net/releases/8.3/ja.php)が公開されました。
めでたしめでたし。


# 感想

[なんでテストにfailしてるんだ？](https://github.com/php/web-php/pull/838)に回答くれた[mumumu氏](https://github.com/mumumu)ですが、[PHPマニュアル日本語版](https://www.php.net/manual/ja/index.php)を[一人で維持している](https://github.com/php/doc-ja/graphs/contributors)すごい人です。
バス係数は完全に1です。

PHP8.3がリリースされるだいぶ前から早々と日本語訳されていた[マイグレーションガイド](https://www.php.net/manual/ja/migration83.php)も、全部[一人でやっています](https://github.com/php/doc-ja/commits/master/appendices/migration83)。
いやあ一体何者なのでしょうねこの人。