Skip to content
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

feat: Japanese Language #344

Open
wants to merge 25 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d952b4b
feat: Japanese settings
0xkaz Oct 8, 2024
9b3ff10
add src/ja/concepts without translate
0xkaz Oct 8, 2024
0f66d76
add src/ja/getting-started without translate
0xkaz Oct 8, 2024
bab6365
add src/ja/guides
0xkaz Oct 8, 2024
5417f8c
add src/ja/kits
0xkaz Oct 8, 2024
db9b77d
add src/ja/references
0xkaz Oct 8, 2024
216ee8f
update languages/strings/ja.json
0xkaz Oct 8, 2024
17e7c25
Merge pull request #1 from arweavejp/feat-japanese-settings
0xkaz Oct 9, 2024
7539fbc
translate ja/getting-started
0xkaz Oct 9, 2024
6cee20f
translate ja/references
0xkaz Oct 9, 2024
6c7942d
feat: translate ja/kits
0xkaz Oct 9, 2024
019d9a2
feat: translate ja/guides
0xkaz Oct 9, 2024
7005461
Merge pull request #2 from arweavejp/feat-translate-ja-getting-started
0xkaz Oct 9, 2024
fa6070f
Merge pull request #3 from arweavejp/feat-translate-ja-references
0xkaz Oct 9, 2024
b416eae
Merge pull request #4 from arweavejp/feat-translate-ja-kits
0xkaz Oct 9, 2024
4307187
Merge pull request #5 from arweavejp/feat-translate-ja-guides
0xkaz Oct 9, 2024
de81504
feat: translate ja/guide [WIP]
0xkaz Oct 9, 2024
8c60506
translate deploying-manifests
0xkaz Oct 10, 2024
8778a65
translate ja/guides/dns-integration
0xkaz Oct 10, 2024
df1012a
translate ja/guides/testing,smartweave,etc
0xkaz Oct 10, 2024
fb6d633
translate ja/guides/exm
0xkaz Oct 10, 2024
19d05f8
translate ja/guides/smartweave, posting-transactions,querying-arweave
0xkaz Oct 10, 2024
c794dfa
Merge pull request #6 from arweavejp/feat-translate-ja-guides
0xkaz Oct 10, 2024
c214d07
fix: typo cookbook
0xkaz Oct 15, 2024
c654358
Merge pull request #7 from arweavejp/fix-typo-permaweb-cookbook
0xkaz Oct 15, 2024
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
7 changes: 7 additions & 0 deletions docs/languages/def.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ const enStrings = require("./strings/en.json");
const esStrings = require("./strings/es.json");
const zhStrings = require("./strings/zh.json");
const idStrings = require("./strings/id.json");
const jaStrings = require("./strings/ja.json");

// Start adding new languages by making a new language object inside the array
// display: Name of the language displayed in UI
Expand All @@ -28,6 +29,12 @@ const languages = [
code: "id",
strings: idStrings,
},
{
display: "日本語",
name: "Japanese",
code: "ja",
strings: jaStrings,
},
];

const i18n_strs = languages.reduce((langs, currentLang) => {
Expand Down
72 changes: 72 additions & 0 deletions docs/languages/strings/ja.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"cookbook-meetup-notification": "クックブックコミュニティミートアップ - 毎週水曜日の午後12時(ET)/ 午後5時(GMT)",
"edit": "編集",
"language": "言語",
"docs": "ドキュメント",
"contributors": "貢献者",
"last-updated": "最終更新",
"featured-contributors": "注目の貢献者",
"featured-contributors-action": "すべての貢献者を見る",
"onboarding-title": "パーマウェブ上で構築する。",
"onboarding-desc": "パーマウェブ上で構築するための開発者ガイドとその他のキュレーションされたコレクション。すべてが一か所に。",
"get-started": "始める",
"first-time": "初めてですか?",
"hello-world": "こんにちは世界",
"hello-world-card-desc": "パーマウェブの始め方",
"hello-world-card-action": "さあ行こう",
"core-concepts": "コアコンセプト",
"core-concepts-card-desc": "開発者のための包括的な構成要素",
"core-concepts-card-action": "始める",
"guides": "ガイド",
"guides-card-desc": "特定の展開を簡単に",
"guides-card-action": "始める",
"contribute": "貢献する",
"contribute-card-desc": "知識を共有する",
"contribute-card-action": "GitHubリポジトリへ行く",
"documentation": "ドキュメンテーション",
"getting-started": "始める",
"getting-started-welcome": "ようこそ",
"getting-started-hw-cli": "こんにちは世界(CLI)",
"getting-started-hw-code": "こんにちは世界(コードあり)",
"getting-started-hw-node": "こんにちは世界(Nodejs)",
"getting-started-contributing": "貢献する",
"concepts": "コアコンセプト",
"concepts-post-transactions": "トランザクションの投稿",
"concepts-tags": "メタデータ(タグ)",
"concepts-querying": "クエリ",
"concepts-fetching-data": "データの取得",
"concepts-transaction-types": "トランザクションの種類",
"concepts-bundles": "バンドル",
"concepts-path-manifests": "パスマニフェスト",
"concepts-wallets-and-keys": "ウォレットとキー",
"concepts-permaweb-applications": "パーマウェブアプリケーション",
"concepts-gateways": "ゲートウェイサービス",
"concepts-bundlers": "バンドリングサービス",
"concepts-atomic-tokens": "アトミックトークン",
"concepts-vouch": "保証",
"guides-arprofile": "ArProfile",
"guides-dns-integration": "DNS統合",
"guides-server-side": "サーバーサイド",
"guides-spheron": "Spheron",
"guides-atomic-token": "アトミックトークン",
"guides-atomic-asset": "アトミックアセット",
"guides-deploying-apps": "アプリの展開",
"guides-github-action": "GitHubアクション",
"guides-deploying-manifests": "パスマニフェストの展開",
"guides-deploying-psts": "PSTの展開",
"guides-execution-machine": "実行マシン",
"guides-sdk-intro": "実行マシンSDK",
"guides-sdk-deploy": "SDKで展開",
"guides-sdk-write": "SDKで書く",
"guides-sdk-read": "SDKで読む",
"guides-search-indexing-service": "検索インデックスサービス",
"guides-intro": "導入",
"guides-warp-deploying-contracts": "コントラクトの展開",
"guides-warp-read-state": "コントラクトの状態を読む",
"guides-warp-write-interactions": "コントラクトの相互作用を書く",
"guides-warp-evolve": "コントラクトを進化させる",
"guides-api-token": "APIトークン",
"guides-testing": "テスト",
"references": "リファレンス",
"kits": "スターターキット"
}
24 changes: 24 additions & 0 deletions docs/src/ja/concepts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# コアコンセプト

ArweaveおよびPermawebの基盤です。

- [トランザクションの投稿](post-transactions.md)
- [メタデータ (タグ)](tags.md)
- [クエリ](queryTransactions.md)
- [データの取得](/guides/http-api.md)
- [トランザクションタイプ](bundles.md)
- [バンドル](bundles.md)
- [パスマニフェスト](manifests.md)
- [ウォレットと鍵](keyfiles-and-wallets.md)
- [パーマウェブ](permaweb.md)
- [パーマウェブアプリケーション](permawebApplications.md)
- [ゲートウェイサービス](gateways.md)
- [バンドルサービス](bundlers.md)
- [Arweaveファイルシステム (ArFS)](arfs/arfs.md)
- [データモデル](arfs/data-model.md)
- [エンティティタイプ](arfs/entity-types.md)
- [コンテンツタイプ](arfs/content-types.md)
- [プライバシー](arfs/privacy.md)
- [スキーマ図](arfs/schema-diagrams.md)

> Permawebのコアコンセプトが不足していると思いますか?[Github](https://github.com/twilson63/permaweb-cookbook/issues)でイシューを作成するか、[貢献することを検討してください](../getting-started/contributing.md)。
53 changes: 53 additions & 0 deletions docs/src/ja/concepts/arfs/arfs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
locale: ja
next: "data-model.md"
---
# ArFSプロトコル:Arweave上の分散型ファイルシステム

Arweaveファイルシステム、または「ArFS」は、一般的なファイルシステム操作を模倣し、Arweaveのそれ以外は永久的で不変なデータストレージブロックウェーブ上でデータ階層に可変性の側面を提供するために設計されたデータモデリング、ストレージ、および取得プロトコルです。

Arweaveの永久的、不変、かつ公開の性質のため、権限、ファイル/フォルダーの名前変更や移動、ファイルの更新などの従来のファイルシステム操作は、単にオンチェーンデータモデルを更新することで行うことはできません。

ArFSは、プライバシーと暗号化のパターンを実装し、[Arweaveトランザクションヘッダー](https://docs.arweave.org/developers/server/http-api#transaction-format)内のタグを使用して追加専用のトランザクションデータモデルを定義することで、この問題を解決します。

## 主な特徴

### ファイル構造

ArFSは、階層構造を使用してファイルとフォルダーを整理します。ファイルはArweaveブロックチェーン上の個々のトランザクションとして保存され、フォルダーはこれらのファイルトランザクションを参照するメタデータです。

### メタデータ

各ファイルとフォルダーには、名前、タイプ、サイズ、変更タイムスタンプなどの関連メタデータがあります。ArFSは、標準化された形式でこのメタデータを保存するためにArweaveのタグ付けシステムを活用し、簡単なクエリと整理を可能にします。

### ファイル権限

ArFSは、パブリックおよびプライベートファイル権限をサポートします。パブリックファイルはネットワーク上の誰でもアクセスできますが、プライベートファイルは所有者の秘密鍵を使用して暗号化されており、所有者のみが内容を復号してアクセスできます。

### ファイルのバージョン管理

ArFSはファイルのバージョン管理をサポートしており、ユーザーはファイルの複数のバージョンを保存し、いつでも以前のバージョンにアクセスできます。これは、新しいファイルトランザクションをメタデータタグを使用して以前のバージョンにリンクすることで実現されます。

### データ重複排除

ストレージの冗長性とコストを最小限に抑えるために、ArFSはデータ重複排除技術を採用しています。ユーザーがすでにネットワーク上に存在するファイルを保存しようとした場合、プロトコルは単に既存のファイルへの新しい参照を作成し、重複コピーを保存するのではなく、既存のファイルを参照します。

### 検索と発見

ArFSは、ファイル名、タイプ、タグなどのメタデータに基づいてファイルを検索および発見する機能を提供します。これは、Arweaveブロックチェーン内に保存されたメタデータをインデックス化することで実現されます。

### 相互運用性

ArFSは、Arweaveネットワーク上に構築された他の分散型アプリケーションやサービスと相互運用可能になるように設計されています。これにより、さまざまなアプリケーションやユーザー間でシームレスな統合とコラボレーションが可能になります。

## 始めるには

ArFSを使用するには、Arweaveエコシステムに慣れ、ストレージコストをカバーするためのARトークンを取得し、ArFSプロトコルと対話するための互換性のあるクライアントまたはライブラリを選択する必要があります。

## リソース

さらに情報、文書、およびコミュニティサポートについては、以下のリソースを参照してください。

- [Arweave公式ウェブサイト](https://www.arweave.org/)
- [Arweave開発者ドキュメント](https://docs.arweave.org/)
- [Arweaveコミュニティフォーラム](https://community.arweave.org/)
44 changes: 44 additions & 0 deletions docs/src/ja/concepts/arfs/content-types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
locale: ja
prev: "entity-types.md"
next: "privacy.md"
---

# コンテンツタイプ

ArFSのすべてのトランザクションタイプは、トランザクションに含まれるデータのContent-Type(MIMEタイプとも呼ばれる)に特定のメタデータタグを利用します。ArFSクライアントは、データのMIMEタイプを決定する必要があります。これにより、Arweaveゲートウェイやブラウザがこのコンテンツを適切にレンダリングできるようになります。

すべてのパブリックドライブ、フォルダー、およびファイル(メタデータのみ)エンティティトランザクションはすべてJSON標準を使用するため、次のコンテンツタイプタグを持つ必要があります:


```json
Content-Type: '<application/json>'
```

ただし、ファイルのデータトランザクションにはMIMEタイプを決定する必要があります。これは、ファイルの対応するメタデータトランザクションJSONの`dataContentType`に格納されているほか、データトランザクション自体のコンテンツタイプタグにも格納されます。

```json
Content-Type: "<file's mime-type>"
```

すべてのプライベートドライブ、フォルダー、およびファイルエンティティトランザクションは、暗号化されているため、次のコンテンツタイプを持つ必要があります:

```json
Content-Type: '<application/octet-stream>'
```

[ArDrive-Core](https://docs.ardrive.io/docs/core-sdk.html)には、ファイルのコンテンツタイプを決定するためのメソッドが含まれています。

## その他のタグ

ArFS対応クライアントは、トランザクションに次のタグを含めて、アプリケーションを識別する必要があります。


```json
App-Name: "<defined application name eg. ArDrive"
App-Version: "<defined version of the app eg. 0.5.0"
Client?: "<if the application has multiple clients, they should be specified here eg. Web"
```



61 changes: 61 additions & 0 deletions docs/src/ja/concepts/arfs/data-model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
prev: "arfs.md"
next: "entity-types.md"
---

# データモデル

Arweaveの永久不変の性質により、ファイルやフォルダーの名前変更や移動といった従来のファイル構造操作は、オンチェーンデータを単に更新することでは達成できません。ArFSは、Arweaveの[トランザクションヘッダー](https://docs.arweave.org/developers/server/http-api#transaction-format)に見られるメタデータタグに基づく追記専用のトランザクションデータモデルを定義することでこれを回避しています。

このモデルはボトムアップの参照方式を使用しており、ファイルシステムの更新時に発生するレースコンディションを回避します。各ファイルには親フォルダーを指すメタデータが含まれ、各フォルダーにはその親ドライブを指すメタデータが含まれています。トップダウンのデータモデルでは、親モデル(つまりフォルダー)がその子供の参照を保持する必要があります。

これらの定義されたエンティティにより、クライアントはドライブの状態を構築してファイルシステムのように見えるようにできます。

- ドライブエンティティにはフォルダーとファイルが含まれます
- フォルダーエンティティには他のフォルダーやファイルが含まれます
- ファイルエンティティにはファイルデータとメタデータの両方が含まれます
- スナップショットエンティティにはドライブ内のすべてのファイルとフォルダーメタデータの状態がロールアップされて含まれます

## エンティティの関係

以下の図は、ドライブ、フォルダー、およびファイルエンティティ間の高レベルの関係とそれに関連するデータを示しています。各エンティティタイプに関する詳細な情報は[こちら](./entity-types.md)で確認できます。

<img :src="$withBase('/entity-relationship-diagram.png')" style="height: auto; display: block; margin-left: auto; margin-right: auto; width: 75%;">

<div style="text-align: center; font-size: .75em;">エンティティ関係図</div>

ご覧の通り、各ファイルとフォルダーには親フォルダーと親ドライブの両方を指すメタデータが含まれています。ドライブエンティティは自分自身に関するメタデータを含んでいますが、子の内容については含んでいません。したがって、クライアントは最低レベルからドライブの状態を構築し、上に進んでいかなければなりません。

## メタデータ形式

Arweaveのトランザクションタグに保存されるメタデータは、以下のように定義されます。


```json
{ "name": "Example-Tag", "value": "example-data" }
```

トランザクションデータペイロードに保存されるメタデータは、以下のようにJSON形式に従います。

```json
{
"exampleField": "exampleData"
}
```

`?`が付くフィールドはオプションです。

```json
{
"name": "My Project",
"description": "This is a sample project.",
"version?": "1.0.0",
"author?": "John Doe"
}
```

列挙されたフィールド値(特定の値に従う必要があるもの)は、「値1 | 値2」という形式で定義されます。

エンティティIDに使用されるすべてのUUIDは、[ユニバーサリー一意識別子](https://en.wikipedia.org/wiki/Universally_unique_identifier)の標準に基づいています。

ArFSタグを特定の順序でリストする必要はありません。
Loading