Slide 1

Slide 1 text

ドキュメント翻訳で学ぶ 新しい言語仕様・機能 2024/12/08 PHP勉強会in広島 vol.2 @jdkfx

Slide 2

Slide 2 text

自己紹介 - 名前 - 田添春樹 / @jdkfx - やっていること - フロントエンドの開発体験向上 - OSS貢献としてドキュメント整備やリファクタリングなど - よく使う技術 ( 使っていた技術 ) - PHP, JavaScript, Vue.js, Svelte … - PHPとは学生時代に出会う - 個人開発や自作フレームワークの制作 - 最近はViteにハマっている

Slide 3

Slide 3 text

アジェンダ 1. はじめに 2. PHP 8.4 で追加された仕様 3. 日本語ドキュメントについて 4. 翻訳に貢献しよう 5. デモ

Slide 4

Slide 4 text

目的 - 新バージョンのキャッチアップ方法について知る - 日本語ドキュメントについて知る - ドキュメント翻訳について知る

Slide 5

Slide 5 text

2024/11/21 PHP 8.4 リリース 🎉

Slide 6

Slide 6 text

追加された仕様・機能🔧

Slide 7

Slide 7 text

- プロパティフック - 非対称可視性 - #[\Deprecated] アトリビュート - BCMath のオブジェクト API - etc. PHP: PHP 8.4 Release Announcement https://www.php.net/releases/8.4/ja.php

Slide 8

Slide 8 text

一例として、DOMNode - DOMNode::compareDocumentPosition() - 2つのノードの位置を比較し 位置関係を定数のビットマスクで返す - 関連する定数 - DOCUMENT_POSITION_* PHP: DOMNode - Manual https://www.php.net/manual/ja/class.domnode.php PHP: DOMNode::compareDocumentPosition - Manual https://www.php.net/manual/ja/domnode.comparedocumentposition.php

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

int(20) // DOMNode::DOCUMENT_POSITION_CONTAINED_BY | DOMNode::DOCUMENT_POSITION_FOLLOWING もう一方のノードが子孫である int(16) もう一方のノードが後に続く int(4)

Slide 12

Slide 12 text

int(2) // DOMNode::DOCUMENT_POSITION_PRECEDING もう一方のノードが参照ノードより前にある int(2)

Slide 13

Slide 13 text

日本語ドキュメントについて📕

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

このマニュアルについて - このマニュアルは、関数リファレンスを中心として、言語リファレンス、 PHP の主な機能、そして、その他の付録から構成されています。 - 多くの我々の活動を支援してくれる人がおり、また、過去にこのプロジェク トを支援してくれた人がいます。 - 本マニュアルの日本語への翻訳は、PHP マニュアル翻訳プロジェクトにて行 われています。 PHP: 序文 - Manual https://www.php.net/manual/ja/preface.php

Slide 16

Slide 16 text

https://x.com/KentarouTakeda/status/1854461443133038899

Slide 17

Slide 17 text

https://x.com/KentarouTakeda/status/1854461446580732175

Slide 18

Slide 18 text

https://x.com/KentarouTakeda/status/1854461446580732175 もしかして貢献チャンスでは...?

Slide 19

Slide 19 text

https://x.com/KentarouTakeda/status/1854461446580732175 翻訳しながら新しい仕様・機能を 勉強できるのでは...?

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

翻訳に貢献しよう!🤝

Slide 23

Slide 23 text

作業手順 - 翻訳に取り組めそうなプルリクエストを見つける - 環境を構築 - 差分から英文を移植して翻訳 - セルフプレビュー - プルリクエストを作成

Slide 24

Slide 24 text

プルリクエストを見つける - 以下の二つを主に利用 - php/doc-en - https://github.com/php/doc-en - ドキュメントの最新の変更を追いかけることができる - php/doc-ja - PHP 8.4 マニュアル翻訳状況 - https://github.com/php/doc-ja/issues/150 - 熟練度順にタスクがリスト化されているので取り組みやすい

Slide 25

Slide 25 text

環境を構築 - php/doc-ja の README 各種いろいろ読んでください - issue コメントに方法を詳しく書いてくださっている方がいます - https://github.com/php/doc-ja/issues/150#issuecomment-249516 3753 - jdkfx/phpdoc を利用 - https://github.com/jdkfx/phpdoc - Makefile で簡単にセットアップからビルド、HTML 生成まで可能

Slide 26

Slide 26 text

差分から英文を移植して翻訳 - File Changed を見て、対象のファイルを日本語マニュアルで編集 - ファイルのリビジョンを確認 - 作業ファイルのコミットハッシュを確認 - 翻訳中のファイルのコミットハッシュ前後で作業があれば、 それも合わせて作業するかも(内容による)

Slide 27

Slide 27 text

セルフプレビュー - ビルドとHTMLファイルの生成 - make build - make xhtml - ブラウザで確認 - make open

Slide 28

Slide 28 text

プルリクエストの作成 - コミットしてプッシュ - 自身のプルリクエスト内に取り組んだ php/doc-en のプルリクエストを記載 - その他メンテナーに伝えるべき内容を記載

Slide 29

Slide 29 text

デモ✍

Slide 30

Slide 30 text

余談 - ちょっとしたことでも、環境を整えたことで、よかったこと - 予想よりも多くの方から反応をいただけた - 自分と同じ悩みで取り掛かる手を止めてしまった方がいることを知った - 初めてのOSS貢献をされた方がいた

Slide 31

Slide 31 text

壁のない、ゴールまで一直線に登ることができる山 やりたいことを一直線にできるため、 作業を始める前から完了までにストレスがかからない

Slide 32

Slide 32 text

壁があり、ゴールまで一直線に登ることができない山 やりたいことを一直線にできないため、 取り組む作業以外のことに注力しなければならず ストレスがかかってしまうことも...

Slide 33

Slide 33 text

壁を取り除いてあげることでたくさんの人の助けに スムーズに作業が行えるように環境を整えたり サポートしたりすることは大事なこと

Slide 34

Slide 34 text

No content