Skip to content

Commit

Permalink
Japanese Translation for Solana Cookbook (#517)
Browse files Browse the repository at this point in the history
* #502
add Japanese routing to config.js

* #502
create jp directory

* #502
translate getting started section into ja

* #502
translate core concepts section into ja

* #502
translate get program accounts page into ja

* translate guides section into ja

* translate references section into ja

* fix title of pda

* translate integration section into ja

* add C++ examples into ja

* translate cpi page into ja
  • Loading branch information
PokoPoko2ry authored Apr 22, 2023
1 parent d7e4159 commit 01d4fc4
Show file tree
Hide file tree
Showing 65 changed files with 8,678 additions and 0 deletions.
90 changes: 90 additions & 0 deletions docs/.vuepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -706,6 +706,81 @@ export default defineUserConfig<DefaultThemeOptions>({
],
},
},
"/ja/": {
selectLanguageName: "日本語",
navbar: [
{
text: "コントリビュート",
link: "https://github.com/solana-developers/solana-cookbook",
},
{
text: "インテグレーション",
link: "/ja/integrations",
},
],
sidebar: {
"/": [
{
text: "はじめに",
children: ["/ja/", "/ja/getting-started/installation.md"],
},
{
text: "コアコンセプト",
children: [
"/ja/core-concepts/accounts.md",
"/ja/core-concepts/programs.md",
"/ja/core-concepts/transactions.md",
"/ja/core-concepts/pdas.md",
"/ja/core-concepts/cpi.md",
],
},
{
text: "ガイド",
children: [
"/ja/guides/get-program-accounts.md",
"/ja/guides/serialization.md",
"/ja/guides/data-migration.md",
"/ja/guides/account-maps.md",
"/ja/guides/retrying-transactions.md",
"/ja/guides/debugging-solana-programs.md",
"/ja/guides/feature-parity-testing.md",
],
},
{
text: "リファレンス",
children: [
"/ja/references/local-development.md",
"/ja/references/keypairs-and-wallets.md",
"/ja/references/basic-transactions.md",
"/ja/references/accounts.md",
"/ja/references/programs.md",
"/ja/references/token.md",
"/ja/references/staking.md",
"/ja/references/nfts.md",
"/ja/references/offline-transactions.md",
"/ja/references/name-service.md",
],
},
],
"/ja/integrations": [
{
text: "インテグレーション",
children: [
"/ja/integrations",
"/ja/integrations/serum.md",
"/ja/integrations/pyth.md",
"/ja/integrations/switchboard.md",
"/ja/integrations/mango.md",
"/ja/integrations/strata.md",
"/ja/integrations/web3auth.md",
"/ja/integrations/react-native.md",
"/ja/integrations/jupiter.md",
"/ja/integrations/orao-vrf.md",
],
},
],
},
},
},
},
locales: {
Expand Down Expand Up @@ -750,6 +825,10 @@ export default defineUserConfig<DefaultThemeOptions>({
"/tr/": {
lang: "tr-TR",
title: "Solana Cookbook"
},
"/ja/": {
lang: "ja-JP",
title: "Solana Cookbook"
}
},
markdown: {
Expand Down Expand Up @@ -790,6 +869,9 @@ export default defineUserConfig<DefaultThemeOptions>({
"/kr/": {
placeholder: "검색",
},
"/ja/": {
placeholder: "検索",
},
},
maxSuggestions: 10,
},
Expand Down Expand Up @@ -866,6 +948,14 @@ export default defineUserConfig<DefaultThemeOptions>({
},
},
},
"/ja/": {
placeholder: "検索",
translations: {
button: {
buttonText: "検索",
},
},
},
},
},
],
Expand Down
62 changes: 62 additions & 0 deletions docs/ja/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: Cooking with Solana
head:
- - meta
- name: title
content: Solana Cookbook | Home to Solana References
- - meta
- name: og:title
content: Solana Cookbook | Home to Solana References
- - meta
- name: description
content: The Solana cookbook is a collection of useful examples and references for building on Solana
- - meta
- name: og:description
content: The Solana cookbook is a collection of useful examples and references for building on Solana
- - meta
- name: og:image
content: https://solanacookbook.com/cookbook-sharing-card.png
- - meta
- name: og:image:alt
content: Solana splash card
- - meta
- name: twitter:card
content: summary
- - meta
- name: twitter:site
content: "@solanacookbook"
- - meta
- name: twitter:image
content: "https://solanacookbook.com/cookbook-sharing-card.png"
- - meta
- name: robots
content: index,follow,noodp
- - meta
- name: googlebot
content: index,follow
footer: MIT Licensed
---

# Cooking with Solana

「Solana Cookbook」はsolanaでアプリケーションを構築するうえで欠かせない基本的なコンセプトを解説する
開発者向けのリファレンスガイドです。
各コンセプトとリファレンスは、詳細な解説と例を用いてsolanaの開発における特有の側面に焦点を当てています。

## コントリビューション

Cookbookは、Solana開発の初心者でも気軽にコンリビュートできるよう設計されています。<br>
何かわからないことがあったとしても、Cookbookへのコントリビューションは学習の大きな手助けとなるはずです!

Solana Cookbookにおいて未解決、未報告の問題がある場合は、まずissueの追加をお願いいたします。
issueは[こちら](https://github.com/solana-developers/solana-cookbook/issues)。 コントリビューションガイドラインは[こちら](https://github.com/solana-developers/solana-cookbook#contributing)

## Cookbookの読み方

Solana Cookbook ではそれぞれの目的に応じ下記の章に分けて解説しています。

|| 概要 |
|---------------|-----------------------------------------------------------------|
| コアコンセプト | 開発において役立つSolanaの構成要素 |
| ガイド | 各開発ツールの簡単な紹介 |
| リファレンス | 普遍的なコードスニペット |
Binary file added docs/ja/core-concepts/account-matrix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/ja/core-concepts/account_example.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
124 changes: 124 additions & 0 deletions docs/ja/core-concepts/accounts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
---
title: アカウント
head:
- - meta
- name: title
content: Solana Cookbook | Accounts
- - meta
- name: og:title
content: Solana Cookbook | Accounts
- - meta
- name: description
content: Accounts are an essential building block for developing on Solana. Learn about Accounts and more Core Concepts at The Solana cookbook.
- - meta
- name: og:description
content: Accounts are an essential building block for developing on Solana. Learn about Accounts and more Core Concepts at The Solana cookbook.
- - meta
- name: og:image
content: https://solanacookbook.com/cookbook-sharing-card.png
- - meta
- name: og:image:alt
content: Solana splash card
- - meta
- name: twitter:card
content: summary
- - meta
- name: twitter:site
content: "@solanacookbook"
- - meta
- name: twitter:image
content: "https://solanacookbook.com/cookbook-sharing-card.png"
- - meta
- name: robots
content: index,follow,noodp
- - meta
- name: googlebot
content: index,follow
footer: MIT Licensed
---

# アカウント

Solanaにおけるアカウントは状態の保存に利用される、Solana開発における必要不可欠な構成要素です。

## 概要

::: tip Fact Sheet

- アカウントはデータの保存に使用されます。
- それぞれのアカウントは一位のアドレスを持ちます。
- アカウントが保持できるデータの最大容量は10MB (10 Mega Bytes)です。
- PDAアカウントが保持できるデータの最大容量は10KB (10 Kilo Bytes)です。
- PDA アカウントはプログラムに代わり、署名の実行に使用できます。
- アカウントのサイズは作成時に固定されますが、[realloc](https://solanacookbook.com/references/programs.html#how-to-change-account-size)を使用して変更可能です。
- アカウントのデータストレージに対し、rent(家賃)が支払われます。
- デフォルトのアカウント所有者はシステムプログラムです。
:::

## 詳細

### アカウントモデル

Solanaには三種類のアカウントがあります。:

- 「データアカウント」はデータの保存を行います。
- 「プログラムアカウント」は実行可能プログラムの保存を行います。
- 「ネイティブアカウント」は、System、Stake、VoteなどのSolanaのネイティブプログラムを意味します。

データアカウントには、さらに二種類のアカウントがあります。:

- システムが所有するアカウント
- PDA (プログラム派生アドレス/Program Derived Address) アカウント

各アカウントは、アドレス(通常は公開鍵)と所有者(プログラムアカウントのアドレス)を持ちます。
アカウントが保存するすべてのフィールドを下記のリストに示します。

| フィールド名 | 説明 |
| ---------- | ---------------------------------------------- |
| lamports | このアカウントが所有するlamportsの数 |
| owner | このアカウントを所有するプログラムオーナー |
| executable | 支持された処理を処理可能かどうか |
| data | このアカウントによって保存された生データのバイト配列 |
| rent_epoch | このアカウントが家賃を支払う次のepoch |

所有に関していくつかの重要な規則があります。:

- データ アカウントの所有者のみがそのデータを変更し、ランポートを引き落とすことができます。
- データアカウントへのlamportsの入金は誰でも可能です。
- アカウントのデータがゼロになっている場合、アカウントの所有者は新しい所有者を割り当てることができます。

プログラム アカウントは状態を保存しません。

たとえば、counterという数値をインクリメントするカウンタプログラムの場合、
カウントアップを実行するプログラムを格納するプログラムアカウントと、counterの数値を保存するデータアカウントの 2 つのアカウントを作成する必要があります。

![](./account_example.jpeg)

アカウントが削除されないようにするためには、家賃(rent)を払い続ける必要があります。

### rent(家賃)
データアカウントにデータを保存し続けるためにはSOLの支払いが必要となり、
これはrent(家賃)と呼ばれるものにより賄われることになります。
口座に2年分の家賃の支払いに相当する最低残高を維持している場合、あなたのwalletは家賃の支払いが免除されます。
rentは、アカウントを閉鎖しlamportsをwalletに送り返すことで回収できます。

rentは次の二つのタイミングで支払われます。:

1. トランザクションに参照されたとき
2. epochごと

アカウントにより収集された割合のrentが破棄され、残りは各slotの最後に投票アカウントに分配がされます。

アカウントが家賃を支払うのに十分な残高を持たない場合、アカウントの割り当ては解除されデータが削除されます。

新しいアカウントは家賃の支払いが免除されることにも注意が必要です。

## その他参考資料

- [Solana Account Model](https://solana.wiki/zh-cn/docs/account-model/#account-storage)
- [Official Documentation](https://docs.solana.com/developing/programming-model/accounts)
- [pencilflip account thread](https://twitter.com/pencilflip/status/1452402100470644739)

### Credit

Pencilflipの功績によりこのページは作成されました。[Twitterをフォロー](https://twitter.com/intent/user?screen_name=pencilflip).
Loading

1 comment on commit 01d4fc4

@vercel
Copy link

@vercel vercel bot commented on 01d4fc4 Apr 22, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.