Umbracoには貢献したいけど、どうやってか、わかりいません?
心配しないで!一緒に貢献しましょう!
初めて貢献する前に、Umbracoのセットアップは難しいと思っていた。(実は、貢献のドキュメントを読まないでしまった)
それに、初めて貢献する前に、僕は緊張していた。
そのために、このブログ記事では、僕が貢献するまでの全てのプロセスをみなさんに紹介する!
このブログ記事ではこれをする
これは一番大切だよ!
Umbracoのコミュニティは本当に優しいから、何か間違えても心配しないで!
まずは、貢献できることを見つけなければいけない!
さて、何をしようか?
日本でもっと人気になってほしいから、もっと日本語の翻訳を追加する!
翻訳のセクションでは、「Export」と「Import」のラベルの翻訳が必要だよ!
それに、エクスポートのmodalは翻訳も必要だよ!

かんぺきだ!貢献できることが見つかった!
貢献できることが見つかったら、同じイシューがないか、Umbracoのリポジトリで確認したほうがいい。
デュプリケートのイシューがない?
イシューを作ったほうがいい!
Umbracoにはイシューのテンプレートがあるから、イシューを作るのが簡単だ!
これが僕のイシューだ!#22037
まずUmbracoのリポジトリをフォークして、新しいブランチを作る。
Umbracoはこのブランチの構造の名前をおすすめしている。
v{major}/{feature|bugfix|task|qa|improvement}/{issue}-{description}
だから、僕たちのブランチの名前はv17/improvement/22037-export-dictionary-modalにしたほうがいい!
重要!
masterブランチには絶対にコミットしないこと。
今回はフロントエンドのコードだけを変える。
新しいブランチを作った時、Umbraco.Web.UIのプロジェクトのappsettings.jsonでUmbraco:Cms:Securityにこれを追加したほうがいい。
"BackOfficeHost": "http://localhost:5173",
"AuthorizeCallbackPathName": "/oauth_complete",
"AuthorizeCallbackLogoutPathName": "/logout",
"AuthorizeCallbackErrorPathName": "/error",
"BackOfficeTokenCookie": {
"SameSite": "None"
}そして、Umbraco.Web.UIのプロジェクトを起動する。
cd <solution root>\src\Umbraco.Web.UI
dotnet run --no-build次に、フロントエンドの開発サーバーを起動する。
cd <solution root>\src\Umbraco.Web.UI.Client
npm run dev:serverこれで、Umbracoに貢献できる!
まずは正しいファイルを見つけたほうがいい。
フロントエンドのコードだけを変えるので、Umbraco.Web.UI.Clientのプロジェクトに探すといい。
このパスに正しいファイルがあった!
src/Umbraco.Web.UI.Client/src/assets/lang/ja.ts
ここで、翻訳を追加する。


src/Umbraco.Web.UI.Client/src/packages/dictionary/entity-action/export/export-dictionary-modal.element.ts
ハードコードされたテキストをthis.localize.term("")に変える。

これは僕たちの結果だ!
次に、プルリクエストを出したほうがいい。
Umbracoにはこちらもプルリクエストのテンプレートがあるから、プルリクエストを出すことが簡単だ!
これが僕のプルリクエスト!#22038
Umbraco HQのメンバーがレビューしてくれる。
今回は Andy Butlandさんがレビューしてくれた。
Andyさんは、general:exportの翻訳は必要ないと言ってくれた。
だから、その翻訳を削除した。
その翻訳を削除した後で、もう一つコミットした。
そしてAndyさんはプルリクエストを承認してマージした!
僕たちの貢献はUmbraco 17.3.0に追加された!
これでプルリクエストができた!あなたも一緒にプルリクエストを出してみよう!

ヨハネス・ランツ
ウェブ開発者・経験8年