Skip to content

i18n(ja) Distribution Section (part 1 of 3) #3300

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: v2
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
392 changes: 392 additions & 0 deletions src/content/docs/ja/distribute/app-store.mdx

Large diffs are not rendered by default.

78 changes: 78 additions & 0 deletions src/content/docs/ja/distribute/appimage.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
title: AppImage で配布
sidebar:
order: 1
i18nReady: true
---

import TranslationNote from '@components/i18n/TranslationNote.astro';

「`AppImage`」は、システムにインストールされているパッケージに依存せず、代わりにアプリケーションに必要な依存関係とファイルをすべてバンドルした配布形式です。このため、出力ファイルは大きくなりますが、多くの Linux ディストリビューションでサポートされており、インストールなしで実行できるため、配布が容易です。ユーザーは、ファイルを実行可能ファイル(`chmod a+x MyProject.AppImage`)にするだけで、実行できます(`./MyProject.AppImage`)。

AppImage は便利で、各ディストリビューションのパッケージ・マネージャー用のパッケージを作成できない場合でも、配布プロセスを簡素化します。とは言っても、ファイル・サイズが元々の 2~6 MB 程度から 70 MB 以上となってしまうため、その使用は慎重に行なう必要があります。

## GStreamer によるマルチメディアサポート

あなたのアプリがオーディオ/ビデオの再生を行なう場合は、`tauri.conf.json > bundle > linux > appimage > bundleMediaFramework`(「メディア・フレームワークをバンドル」フラグ)を有効にする必要があります。これにより、メディアの再生に必要な gstreamer ファイルが追加されるため、AppImage バンドルのサイズが増加します。このフラグは現在、Ubuntu のビルド・システムでのみ完全な対応が行なわれています。アプリの実行時に必要となるかもしれないプラグインがすべて、自分のビルド・システムにインストールされていることを確認してください。

:::caution

[GStreamer] の `ugly` パッケージ内のプラグインには、あなたの「アプリの一部として配布することが困難」になるかもしれないライセンスになっているものがあります。

<TranslationNote lang="ja">

**GStramer** のライセンス問題: GStreamer 本体は LGPL でライセンスされていますが、プラグインのライブラリ群の中には別のライセンスで配布されている場合があるようですので、使用されているプラグインにライセンスにご注意ください。ライセンス関連の詳細は [GStreamer website](英語サイト)を参照してください。

</TranslationNote>

:::

{/* TODO: Add some reference links for gst setup/plugins */}

## カスタム・ファイル

Tauriの「`resources` 機能」(「[追加ファイルの埋め込み](/ja/develop/resources/)」の章を参照)を用いずにカスタム・ファイルを AppImage に含めるためには、対象のファイルやフォルダのリストを `tauri.conf.json > bundle > linux > appimage > files` に指定します。この設定オブジェクトは、AppImage 内のパスを、あなたのファイルシステム上のファイルへのパスに、`tauri.conf.json` ファイルからの相対パスで展開(マッピング)します。以下が設定事例です:

```json title="tauri.conf.json"
{
"bundle": {
"linux": {
"appimage": {
"files": {
"/usr/share/README.md": "../README.md", // 「../README.md」ファイルを「<appimage>/usr/share/README.md」にコピー
"/usr/assets": "../assets/" // 「../assets」ディレクトリのすべてを「<appimage>/usr/assets」にコピー
}
}
}
}
}
```

:::note

現時点では、宛先のパスは `/usr/` で始まる必要があることに注意してください。

:::

## ARM ベースのデバイス用 AppImages

Tauri が使用している AppImage ツールの「`linuxdeploy`」は、現在 ARM AppImage との[クロスコンパイルをサポートしていません]。つまり、ARM AppImage は ARM デバイス上またはエミュレータ上でのみビルドが可能となります。

アプリをビルドするためにエミュレーション環境の「QEMU」を利用するワークフローの事例については、[GitHub Action 設定ガイド](/ja/distribute/pipelines/github/#arm-runner-のコンパイル) の章をご覧ください。ただし、この処理は非常に遅いため、Build Minutes(ビルド時間)が無料のパブリック・リポジトリでのみ推奨されます。プライベート・リポジトリでは、GitHub の「ARM ランナー」(上記リンク)の方がコスト効率が良く、セットアップもはるかに簡単です。

<TranslationNote lang="ja">

**QEMU** 読み「キューエミュ」。オープンソースの CPU/システム・エミュレータ。詳しくは [Wikipedia](https://ja.wikipedia.org/wiki/QEMU) を参照してください。

</TranslationNote>

[クロスコンパイルをサポートしていません]: https://github.com/linuxdeploy/linuxdeploy/issues/258

<!-- Additional Links for JA -->

[GStreamer]: https://ja.wikipedia.org/wiki/GStreamer
[GStreamer website]: https://gstreamer.freedesktop.org/documentation/frequently-asked-questions/licensing.html?gi-language=c

<div style="text-align: right">
【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】
</div>
168 changes: 168 additions & 0 deletions src/content/docs/ja/distribute/aur.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
---
title: AUR
sidebar:
order: 1
i18nReady: true
---

import TranslationNote from '@components/i18n/TranslationNote.astro';

# Arch User Repository (AUR) に公開する

<TranslationNote lang="ja">

**AUR** = Arch User Repository: ArchLinux コミュニティが運営する Arch ユーザーのためのリポジトリの名称。ArchLinux Japan のサイトは [こちら](https://wiki.archlinux.jp/index.php/Arch_User_Repository)。

</TranslationNote>

## 設定

まず最初に、`https://aur.archlinux.org` にアクセスしてアカウントを作成してください。必ず、適切な「SSH キー」を追加してください。次に、次のコマンドを使って空の Git リポジトリをクローンしてください。

```sh
git clone https://aur.archlinux.org/your-repo-name
```

上記の手順が完了したら、`PKGBUILD` という名前のファイルを作成します。ファイルの作成が完了したら、次のステップに進みます。

### PKGBUILD ファイルの書き方

```ini title="PKGBUILD"
pkgname=<pkgname>
pkgver=1.0.0
pkgrel=1
pkgdesc="アプリの説明(description)"
arch=('x86_64' 'aarch64')
url="https://github.com/<user>/<project>"
license=('MIT')
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
options=('!strip' '!emptydirs')
install=${pkgname}.install
source_x86_64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_amd64.deb")
source_aarch64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_arm64.deb")
```

- ファイルの先頭で「パッケージ名」を定義し、変数 `pkgname` に割り当てます。
- 「`pkgver`」変数を設定します。通常、コードの保守性を高めるために、この変数をソース内の変数で使用するのが最適です。
- 「`pkgdesc`」変数は、AUR リポジトリ・ページ上の変数で、訪問者にあなたのアプリで何が行なえるのかを伝えます。
- 「`arch`」変数は、どの CPU アーキテクチャにあなたのパッケージをインストール可能かを提示します。
- 「`url`」変数は必須ではありませんが、パッケージをよりプロフェッショナルに見せるのに役立ちます。
- 「`install`」変数は、パッケージがインストール、削除、またはアップグレードされるときに実行される「.install スクリプト」の名前を指定します。
- 「`depends`」変数には、アプリの実行に必要なライブラリ等のリストが格納されます。Tauri アプリを実行するには、上記で表示されているものすべての依存関係を含める必要があります。
- 「`source`」変数は必須で、アップストリーム・パッケージの場所を定義します。変数名の末尾にアーキテクチャを追加することで、アーキテクチャ特定の `source` にすることができます。

### `.SRCINFO` の生成

あなたのリポジトリを AUR にプッシュするには、`.SRCINFO` ファイルを生成する必要があります。これは次のコマンドで実行できます。

```sh
makepkg --printsrcinfo > .SRCINFO
```

### テスト

アプリのテストは非常に簡単です。`PKGBUILD` ファイルと同じディレクトリ内で `makepkg` を実行し、機能するかどうかを確認するだけです。

### 公開

最後に、テスト・フェーズが終了したら、以下のコマンドを使用してアプリケーションを AUR(Arch User Repository)に公開できます。

```sh
git add .

git commit -m "Initial Commit"

git push
```

すべてがうまくいけば、あなたのリポジトリが AUR Web サイトに表示されるはずです。

## 実施例

### Debian パッケージからの抽出

```ini title="PKGBUILD"
# Maintainer:
# Contributor:
pkgname=<pkgname>
pkgver=1.0.0
pkgrel=1
pkgdesc="Description of your app"
arch=('x86_64' 'aarch64')
url="https://github.com/<user>/<project>"
license=('MIT')
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
options=('!strip' '!debug')
install=${pkgname}.install
source_x86_64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_amd64.deb")
source_aarch64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_arm64.deb")
sha256sums_x86_64=('ca85f11732765bed78f93f55397b4b4cbb76685088553dad612c5062e3ec651f')
sha256sums_aarch64=('ed2dc3169d34d91188fb55d39867713856dd02a2360ffe0661cb2e19bd701c3c')
package() {
# パッケージ・データを抽出
tar -xvf data.tar.gz -C "${pkgdir}"

}
```

```ini title="my-tauri-app.install"
post_install() {
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
update-desktop-database -q
}

post_upgrade() {
post_install
}

post_remove() {
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
update-desktop-database -q
}

```

### ソースからのビルド

```ini title="PKGBUILD"
# Maintainer:
pkgname=<pkgname>-git
pkgver=<pkgver>
pkgrel=1
pkgdesc="Description of your app"
arch=('x86_64' 'aarch64')
url="https://github.com/<user>/<project>"
license=('MIT')
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
makedepends=('git' 'openssl' 'appmenu-gtk-module' 'libappindicator-gtk3' 'librsvg' 'cargo' 'pnpm' 'nodejs')
provides=('<pkgname>')
conflicts=('<binname>' '<pkgname>')
source=("git+${url}.git")
sha256sums=('SKIP')

pkgver() {
cd <project>
( set -o pipefail
git describe --long --abbrev=7 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
)
}

prepare() {
cd <project>
pnpm install
}

build() {
cd <project>
pnpm tauri build -b deb
}

package() {
cp -a <project>/src-tauri/target/release/bundle/deb/<project>_${pkgver}_*/data/* "${pkgdir}"
}
```

<div style="text-align: right">
【※ この日本語版は、「Mar 29, 2025 英語版」に基づいています】
</div>
31 changes: 31 additions & 0 deletions src/content/docs/ja/distribute/crabnebula-cloud.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: CrabNebula クラウドで配布する
sidebar:
label: CrabNebula Cloud
order: 1
i18nReady: true
---

import TranslationNote from '@components/i18n/TranslationNote.astro';

[CrabNebula] は、Tauri アプリケーション向けのサービスとツールを提供する公式 Tauri パートナーです。
[CrabNebula Cloud]は、Tauri アップデーターとシームレスに統合されたアプリケーション配布プラットフォームです。

この「Cloud(クラウド)」では、アプリケーションのインストーラーと更新プログラムを世界中に配布できる「コンテンツ配信ネットワーク(CDN)」を提供しつつ、その一方で、コストパフォーマンスが良く、ダウンロード数の指標も公開しています。

CrabNebula Cloud サービスを利用すると、複数のリリース・チャネルや自分のアプリケーション Web サイト用ダウンロード・ボタンなどを始め、いろいろなものを簡単に実装できます。

「Cloud」を利用するための Tauri アプリの設定は簡単です: やるべきことは、「[Cloud ウェブサイト]」にあなたの GitHub アカウントでサインインし、「所属組織」と「アプリケーション」を作成、「リリース版」作成のためにそのCLI(コマンドライン・インターフェイス)をインストールし、Tauri バンドルをアップロードするだけです。
さらには、[GitHub Action] も提供されており、GitHub ワークフローで CLI を使用するプロセスが簡素化されています。

詳細については、[CrabNebula Cloud ドキュメント](英語版)を参照してください。

[CrabNebula]: https://crabnebula.dev
[CrabNebula Cloud]: https://crabnebula.dev/cloud/
[GitHub Action]: https://github.com/crabnebula-dev/cloud-release/
[Cloud ウェブサイト]: https://web.crabnebula.cloud/
[CrabNebula Cloud ドキュメント]: https://docs.crabnebula.dev/cloud/

<div style="text-align: right">
【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】
</div>
45 changes: 45 additions & 0 deletions src/content/docs/ja/distribute/debian.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: Debian
sidebar:
order: 1
i18nReady: true
---

{/* Is this about building .deb files, creating PPAs, or adding something to the debian/ubuntu repos? */}

import TranslationNote from '@components/i18n/TranslationNote.astro';

## Debian(デビアン)

Tauri バンドラーによって生成される通常の [Debian] パッケージには、あなたのアプリケーションを Debian ベースの Linux ディストリビューションに配布するために必要なものがすべて含まれています。たとえば、アプリケーション・アイコンの定義、デスクトップ・ファイルの生成、`libwebkit2gtk-4.1-0` と `libgtk-3-0` の依存関係の指定(もしアプリケーションがシステム・トレイを使用しているのであれば `libappindicator3-1` の依存関係も)、などです。

### カスタム・ファイル

より多くの調整が必要な場合に備えて、Tauri は Debian パッケージの設定をいくつか公開しています。

あなたのアプリが他のシステム依存関係をも必要としている場合は、`tauri.conf.json > bundle > linux > deb` で指定できます。

Debian パッケージにカスタム・ファイルを含めるには、`tauri.conf.json > bundle > linux > deb > files` にファイルまたはフォルダのリストを指定します。設定オブジェクトは、Debian パッケージ内のパスを、あなたのファイルシステム上のファイルへのパスに、`tauri.conf.json` ファイルからの相対パスで展開(マッピング)します。以下が設定事例です:

```json
{
"bundle": {
"linux": {
"deb": {
"files": {
"/usr/share/README.md": "../README.md", // 「../README.md」ファイルを「/usr/share/README.md」にコピー
"/usr/share/assets": "../assets/" // 「../assets」ディレクトリのすべてを「/usr/assets」にコピー
}
}
}
}
}
```

<!-- Additional links for JA -->

[Debian]: https://www.debian.or.jp/using/

<div style="text-align: right">
【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】
</div>
Loading