mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-04 08:10:55 +00:00
82 lines
3.5 KiB
Markdown
82 lines
3.5 KiB
Markdown
# Gopeed コントリビューターガイド
|
|
|
|
まず最初に、Gopeed への貢献に興味を持っていただきありがとうございます。このガイドは、あなたが Gopeed の
|
|
開発に参加するための手助けとなるでしょう。
|
|
|
|
## ブランチの説明
|
|
|
|
このプロジェクトのメインブランチは `main` ブランチのみです。Gopeed の開発に参加したい場合は、
|
|
まずこのプロジェクトをフォークし、フォークしたプロジェクトで開発を行ってください。開発が完了したら、
|
|
このプロジェクトに PR を提出し、`main` ブランチにマージしてください。
|
|
|
|
## ローカル開発
|
|
|
|
開発およびデバッグはウェブ上で行うことを推奨する。まずバックエンドのサービスを起動し、
|
|
コマンドライン `go run cmd/api/main.go` で起動する。サービスのデフォルトポートは `9999` で、
|
|
次にフロントエンドの flutter プロジェクトを `debug` モードで起動して実行します。
|
|
|
|
## 翻訳
|
|
|
|
Flutter の翻訳ファイルは `ui/flutter/lib/l10n` にあります。`app_en.arb` を原文テンプレートとして、
|
|
`app_<locale>.arb`(例: `app_de.arb`、`app_zh_TW.arb`)を編集または追加してください。すべての言語で
|
|
英語テンプレートと同じメッセージ key が必要です。
|
|
|
|
翻訳するのはメッセージ値だけです。`{count}` や `{name}` など、中括弧内の変数名は変更しないでください。
|
|
`@` で始まるメタデータ key は翻訳しません。変更した ARB ソースファイルだけをコミットし、
|
|
`app_localizations*.dart` は生成もコミットも不要です。PR の CI が全言語を検証し、国際化コードを生成して
|
|
統合結果を確認します。
|
|
|
|
以下の例では、ARB に記述する定義と、アプリが値を渡した後にユーザーが実際に見る表示を示します。
|
|
|
|
1. メッセージに変数を挿入する
|
|
|
|
ARB 定義:
|
|
|
|
```json
|
|
"welcomeUser": "こんにちは、{name}"
|
|
```
|
|
|
|
最終表示:`name = 太郎` の場合は「こんにちは、太郎」と表示されます。語順は変更できますが、`{name}` は残します。
|
|
|
|
2. 数量に応じて表示を切り替える
|
|
|
|
ARB 定義:
|
|
|
|
```json
|
|
"fileCount": "{count, plural, =0{ファイルなし} =1{1 個のファイル} other{{count} 個のファイル}}"
|
|
```
|
|
|
|
最終表示:
|
|
|
|
- `count = 0` →「ファイルなし」
|
|
- `count = 1` →「1 個のファイル」
|
|
- `count = 3` →「3 個のファイル」
|
|
|
|
`=0`、`=1`、`other` はそれぞれ 0、1、その他の数量を表します。各分岐の中で画面に表示される文字だけを翻訳します。
|
|
|
|
3. 変数の値に応じて表示を切り替える
|
|
|
|
ARB 定義:
|
|
|
|
```json
|
|
"taskState": "{state, select, running{実行中} paused{一時停止} other{不明}}"
|
|
```
|
|
|
|
最終表示:
|
|
|
|
- `state = running` →「実行中」
|
|
- `state = paused` →「一時停止」
|
|
- その他の値 →「不明」
|
|
|
|
`running`、`paused`、`other` はアプリが渡す分岐値なので翻訳せず、その後の中括弧内にある表示文字だけを翻訳します。
|
|
|
|
## flutter での開発
|
|
|
|
コミットする前に `dart format ./ui/flutter` を実行し、コードを標準の dart フォーマットにしておくことを忘れないでください
|
|
|
|
api/models を編集したい場合は build_runner watcher をオンにします:
|
|
|
|
```
|
|
flutter pub run build_runner watch
|
|
```
|