Skip to content

Commit ae9c386

Browse files
authored
feat: Japanese full support (feature-sliced#728)
1 parent b68ece7 commit ae9c386

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+7173
-1
lines changed

DEV.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ This website is built using [Docusaurus 2](https://docusaurus.io/), a modern sta
77
- [Russian docs version](i18n/ru)
88
- [English docs version](i18n/en)
99
- [Uzbek docs version](i18n/uz)
10+
- [Japanese docs version](i18n/ja)
1011

1112
## Installation
1213

@@ -20,6 +21,8 @@ pnpm install
2021
pnpm start # for default locale
2122
pnpm start:ru # for RU locale
2223
pnpm start:en # for EN locale
24+
pnpm start:uz # for UZ locale
25+
pnpm start:ja # for JA locale
2326
```
2427

2528
> About [docusaurus/i18n commands](https://docusaurus.io/docs/i18n/git#translate-the-files)

config/docusaurus/i18n.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const { DEFAULT_LOCALE } = require("./consts");
33
/** @type {import('@docusaurus/types').DocusaurusConfig["i18n"]} */
44
const i18n = {
55
defaultLocale: DEFAULT_LOCALE,
6-
locales: ["ru", "en", "uz", "kr"],
6+
locales: ["ru", "en", "uz", "kr", "ja"],
77
localeConfigs: {
88
ru: {
99
label: "Русский",
@@ -17,6 +17,9 @@ const i18n = {
1717
kr: {
1818
label: "한국어",
1919
},
20+
ja: {
21+
label: "日本語",
22+
},
2023
},
2124
};
2225

i18n/ja/code.json

Lines changed: 410 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
hide_table_of_contents: true
3+
---
4+
5+
# 💫 コミュニティ
6+
7+
<p class="summary">
8+
コミュニティリソースと追加資料
9+
</p>
10+
11+
## メイン {#main}
12+
13+
import NavCard from "@site/src/shared/ui/nav-card/tmpl.mdx"
14+
import { StarOutlined, SearchOutlined, TeamOutlined, VerifiedOutlined } from "@ant-design/icons";
15+
16+
<NavCard
17+
title="素晴らしいリソース"
18+
description="興味深いビデオ、記事、ツールキットのコレクション"
19+
to="https://github.com/feature-sliced/awesome"
20+
Icon={StarOutlined}
21+
/>
22+
<NavCard
23+
title="チーム"
24+
description="コアチーム、チャンピオン、コントリビューター、企業"
25+
to="/community/team"
26+
Icon={TeamOutlined}
27+
/>
28+
<NavCard
29+
title="ブランドブック"
30+
description="FSDのブランドアイデンティティの使用に関するガイドライン"
31+
to="/docs/branding"
32+
Icon={VerifiedOutlined}
33+
/>
34+
<NavCard
35+
title="コントリビューション"
36+
description="始め方、ワークフロー、支援と協力"
37+
to="#"
38+
Icon={SearchOutlined}
39+
disabled
40+
/>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
sidebar_class_name: sidebar-item--wip
3+
sidebar_position: 2
4+
---
5+
6+
import WIP from '@site/src/shared/ui/wip/tmpl.mdx'
7+
8+
# チーム
9+
10+
<WIP ticket="192" />
11+
12+
## コアチーム
13+
14+
### チャンピオンズ {#champions}
15+
16+
## コントリビューター {#contributors}
17+
18+
## 会社 {#companies}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"version.label": {
3+
"message": "v2.0.0 🍰",
4+
"description": "現在のバージョンのラベル"
5+
},
6+
"sidebar.getstartedSidebar.category.🚀 Get Started": {
7+
"message": "🚀 はじめに",
8+
"description": "サイドバーの「はじめに」カテゴリのラベル"
9+
},
10+
"sidebar.guidesSidebar.category.🎯 Guides": {
11+
"message": "🎯 ガイド",
12+
"description": "サイドバーの「ガイド」カテゴリのラベル"
13+
},
14+
"sidebar.referenceSidebar.category.📚 Reference": {
15+
"message": "📚 参考書",
16+
"description": "サイドバーの「参考書」カテゴリのラベル"
17+
},
18+
"sidebar.aboutSidebar.category.🍰 About": {
19+
"message": "🍰 メソッドについて",
20+
"description": "サイドバーの「メソッドについて」カテゴリのラベル"
21+
},
22+
"sidebar.aboutSidebar.category.Understanding": {
23+
"message": "理解",
24+
"description": "サイドバーの「理解」カテゴリのラベル"
25+
},
26+
"sidebar.aboutSidebar.category.Promote": {
27+
"message": "推進",
28+
"description": "サイドバーの「推進」カテゴリのラベル"
29+
},
30+
"sidebar.guidesSidebar.category.Examples": {
31+
"message": "実装例",
32+
"description": "サイドバーの「例」カテゴリのラベル"
33+
},
34+
"sidebar.guidesSidebar.category.Migration": {
35+
"message": "移行",
36+
"description": "サイドバーの「移行」カテゴリのラベル"
37+
},
38+
"sidebar.guidesSidebar.category.Tech": {
39+
"message": "技術",
40+
"description": "サイドバーの「技術」カテゴリのラベル"
41+
},
42+
"sidebar.referenceSidebar.category.Units": {
43+
"message": "ユニット",
44+
"description": "サイドバーの「ユニット」カテゴリのラベル"
45+
},
46+
"sidebar.referenceSidebar.category.Isolation": {
47+
"message": "分離",
48+
"description": "サイドバーの「分離」カテゴリのラベル"
49+
},
50+
"sidebar.referenceSidebar.category.Layer": {
51+
"message": "レイヤー",
52+
"description": "サイドバーの「レイヤー」カテゴリのラベル"
53+
}
54+
}
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
sidebar_class_name: sidebar-item--wip
3+
sidebar_position: 3
4+
---
5+
6+
import WIP from '@site/src/shared/ui/wip/tmpl.mdx'
7+
8+
# 代替案
9+
10+
<WIP ticket="62" />
11+
12+
## ビッグボールオブマッド
13+
14+
<WIP ticket="258" />
15+
16+
- [(記事) DDD - Big Ball of mud](https://thedomaindrivendesign.io/big-ball-of-mud/)
17+
18+
19+
## スマート&ダムコンポーネント
20+
21+
<WIP ticket="214" />
22+
23+
- [(記事) Dan Abramov - Presentational and Container Components (TLDR: 非推奨)](https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0)
24+
25+
26+
## デザイン原則
27+
28+
<WIP ticket="59" />
29+
30+
## DDD
31+
32+
<WIP ticket="1" />
33+
34+
## 参照 {#see-also}
35+
36+
- [(記事) DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together](https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/)
37+
38+
## クリーンアーキテクチャ
39+
40+
<WIP ticket="165" />
41+
42+
- [(記事) DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together](https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/)
43+
44+
## フレームワーク
45+
46+
<WIP ticket="58" />
47+
48+
- [(記事) FSDの作成理由 (フレームワークに関する断片)](/docs/about/motivation)
49+
50+
51+
## Atomic Design
52+
53+
### これは何か?
54+
55+
アトミックデザインでは、責任の範囲が標準化された層に分かれています。
56+
57+
アトミックデザインは**5つの層**に分かれます(上から下へ)。
58+
59+
1. `pages` - FSDの`pages`層と同様の目的を持つ。
60+
2. `templates` - コンテンツに依存しないページの構造を定義するコンポーネント。
61+
3. `organisms` - ビジネスロジックを持つ分子から構成されるモジュール。
62+
4. `molecules` - 通常、ビジネスロジックを持たないより複雑なコンポーネント。
63+
5. `atoms` - ビジネスロジックを持たないUIコンポーネント。
64+
65+
同じ層のモジュールは、FSDのように下の層のモジュールとだけ相互作用しています。
66+
つまり、分子(molecule)は原子(atom)から構築され、生命体(organism)は分子から、テンプレート(template)は生命体から、ページ(page)はテンプレートから構築されます。
67+
また、アトミックデザインはモジュール内での**公開API**の使用を前提としています。
68+
69+
### フロントエンドでの適用性
70+
アトミックデザインはプロジェクトで比較的よく見られます。アトミックデザインは、開発者の間というより、ウェブデザイナーの間で人気です。ウェブデザイナーは、スケーラブルでメンテナンスしやすいデザインを作成するためにアトミックデザインをよく使用しています。
71+
開発では、アトミックデザインは他のアーキテクチャ設計方法論と混合されることがよくあります。
72+
73+
しかし、アトミックデザインはUIコンポーネントとその構成に焦点を当てているため、
74+
アーキテクチャ内でビジネスロジックを実装する問題が発生してしまいます。
75+
76+
問題は、アトミックデザインがビジネスロジックのための明確な責任レベルを提供していないため、
77+
ビジネスロジックがさまざまなコンポーネントやレベルに分散され、メンテナンスやテストが複雑になることです。
78+
ビジネスロジックは曖昧になり、責任の明確な分離が困難になり、コードがモジュール化されず再利用可能でなくなります。
79+
80+
### FSDとの統合
81+
FSDの文脈では、アトミックデザインのいくつかの要素を使用して柔軟でスケーラブルなUIコンポーネントを作成することができます。 `atoms``molecules`の層は、FSDの`shared/ui`に実装でき、基本的なUI要素の再利用とメンテナンスを簡素化しています。
82+
83+
```sh
84+
├── shared
85+
│   ├── ui 
86+
│   │   ├── atoms
87+
│   │   ├── molecules
88+
│   ...
89+
```
90+
91+
FSDとアトミックデザインの比較は、両方の設計方法論がモジュール性と再利用性を目指していることを示していますが、
92+
異なる側面に焦点を当てています。アトミックデザインは視覚的コンポーネントとその構成に焦点を当てています。
93+
FSDはアプリケーションの機能を独立したモジュールに分割し、それらの相互関係に焦点を当てています。
94+
95+
- [Atomic Design](https://atomicdesign.bradfrost.com/table-of-contents/)
96+
- [(動画) Atomic Design: What is it and why is it important?](https://youtu.be/Yi-A20x2dcA)
97+
98+
## Feature Driven
99+
100+
<WIP ticket="219" />
101+
102+
- [(講演) Feature Driven Architecture - Oleg Isonen](https://youtu.be/BWAeYuWFHhs)
103+
- [Feature Driven-Short specification (from the point of view of FSD)](https://github.com/feature-sliced/documentation/tree/rc/feature-driven)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
hide_table_of_contents: true
3+
pagination_prev: reference/index
4+
---
5+
6+
# 🍰 FSDについて
7+
8+
<span class="badge badge--violet margin-bottom--md">背景指向</span>
9+
10+
<p class="summary">
11+
FSD設計方法論、チーム、コミュニティ、そして発展の歴史に関する一般情報
12+
</p>
13+
14+
## 主な内容 {#main}
15+
16+
import NavCard from "@site/src/shared/ui/nav-card/tmpl.mdx"
17+
import { StarOutlined, TrophyOutlined, BulbOutlined, TeamOutlined } from "@ant-design/icons";
18+
19+
<NavCard
20+
title="ミッション"
21+
description="FSDの目的と制約"
22+
to="/docs/about/mission"
23+
Icon={TrophyOutlined}
24+
/>
25+
<NavCard
26+
title="モチベーション"
27+
description="FSDの創造と発展の理由"
28+
to="/docs/about/motivation"
29+
Icon={StarOutlined}
30+
/>
31+
<NavCard
32+
title="理解"
33+
description="FSD概念の深掘り"
34+
to="/docs/about/understanding/architecture"
35+
Icon={BulbOutlined}
36+
tags={['アーキテクチャについて', 'ニーズ駆動', 'ネーミング']}
37+
/>
38+
<NavCard
39+
title="プロモーション"
40+
description="企業におけるFSDのプロモーションと統合について"
41+
to="/docs/about/promote/integration"
42+
Icon={TeamOutlined}
43+
tags={['統合', 'チーム内でのプロモーション', '企業内でのプロモーション']}
44+
/>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# ミッション
6+
7+
ここでは、私たちがFSD方法論を開発する際に従う方法論適用の制限と目標について説明します。
8+
9+
- 私たちは、目標をイデオロギーとシンプルさのバランスとして考えている
10+
- 私たちは、すべての人に適した銀の弾丸を作ることはできない
11+
12+
**それでも、FSD方法論が広範な開発者にとって近く、アクセス可能であることを望んでいます。**
13+
14+
## 目標 {#goals}
15+
16+
### 幅広い開発者に対する直感的な明確さ {#intuitive-clarity-for-a-wide-range-of-developers}
17+
18+
FSD方法論は、プロジェクトチームの大部分にとってアクセス可能であるべきです。
19+
20+
*なぜなら、将来のすべてのツールがあっても、FSD方法論を理解できるのは経験豊富なシニアやリーダーだけでは不十分だからである*
21+
22+
### 日常的な問題の解決 {#solving-everyday-problems}
23+
24+
FSD方法論には、プロジェクト開発における日常的な問題の理由と解決策が示されるべきです。
25+
26+
また、開発者が*コミュニティーの経験に基づいた*アプローチを使用できるようにし、長年のアーキテクチャや開発の問題を回避できるようにするには、**FSD方法論はこれに関連するツール(CLI、リンター)を提供することも必要です。**
27+
28+
29+
> *@sergeysova: 想像してみてください。開発者が方法論に基づいてコードを書いているとき、開発者の直面している問題は10倍少なく発生しています。それは他の人々が多くの問題の解決策を考え出したから、可能になったのです。*
30+
31+
## 制限 {#limitations}
32+
33+
私たちは*自分たちの見解を押し付けたくありません*が、同時に*多くの開発者の習慣が日々の開発の妨げになっていることを理解しています。*
34+
35+
すべての開発者にはシステム設計と開発経験レベルが異なるため、**次のことを理解することが重要です。**
36+
37+
- FSD方法論は、すべての開発者にとって、同時に非常にシンプルで、非常に明確にするのは不可能
38+
> *@sergeysova: 一部の概念は、問題に直面し、解決に数年を費やさない限り、直感的に理解することはできない。*
39+
>
40+
> - *数学の例 — グラフ理論。*
41+
> - *物理の例 — 量子力学。*
42+
> - *プログラミングの例 — アプリケーションのアーキテクチャ。*
43+
>
44+
- シンプルさ、拡張性は、実現可能であって望ましい
45+
46+
## 参照 {#see-also}
47+
48+
- [アーキテクチャの問題][refs-architecture--problems]
49+
50+
[refs-architecture--problems]: /docs/about/understanding/architecture#problems

0 commit comments

Comments
 (0)