Skip to content

Commit 60c9346

Browse files
authored
feat: main, tutorial, and FAQ pages translated into Korean (feature-sliced#730)
1 parent ae9c386 commit 60c9346

File tree

3 files changed

+2363
-24
lines changed

3 files changed

+2363
-24
lines changed

โ€Ži18n/kr/code.jsonโ€Ž

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,82 @@
11
{
22
"pages.home.features.title": {
3-
"message": "Features",
3+
"message": "ํŠน์ง•",
44
"description": "Features"
55
},
66
"pages.home.features.logic.title": {
7-
"message": "Explicit business logic",
7+
"message": "๋ช…์‹œ์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง",
88
"description": "Feature title"
99
},
1010
"pages.home.features.logic.description": {
11-
"message": "Easily discoverable architecture thanks to domain scopes",
11+
"message": "๋„๋ฉ”์ธ ์Šค์ฝ”ํ”„ ๋•๋ถ„์— ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋กœ์ง์„ ์‰ฝ๊ฒŒ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค.",
1212
"description": "Feature description"
1313
},
1414
"pages.home.features.adaptability.title": {
15-
"message": "Adaptability",
15+
"message": "์œ ์—ฐ์„ฑ",
1616
"description": "Feature title"
1717
},
1818
"pages.home.features.adaptability.description": {
19-
"message": "Architecture components can be flexibly replaced and added for new requirements",
19+
"message": "์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž์ถฐ ์œ ์—ฐํ•˜๊ฒŒ ๊ต์ฒดํ•˜๊ณ  ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
2020
"description": "Feature description"
2121
},
2222
"pages.home.features.debt.title": {
23-
"message": "Tech debt & Refactoring",
23+
"message": "๊ธฐ์ˆ  ๋ถ€์ฑ„ ๋ฐ ๋ฆฌํŒฉํ† ๋ง",
2424
"description": "Feature title"
2525
},
2626
"pages.home.features.debt.description": {
27-
"message": "Each module can be independently modified / rewritten without side effects",
27+
"message": "๊ฐ ๋ชจ๋“ˆ์„ ๋ถ€์ž‘์šฉ ์—†์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜์ •, ์žฌ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
2828
"description": "Feature description"
2929
},
3030
"pages.home.features.shared.title": {
31-
"message": "Explicit code reuse",
31+
"message": "๋ช…์‹œ์  ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ",
3232
"description": "Feature title"
3333
},
3434
"pages.home.features.shared.description": {
35-
"message": "A balance is maintained between DRY and local customization",
35+
"message": "DRY ์›์น™๊ณผ ๋กœ์ปฌ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์‚ฌ์ด์— ๊ท ํ˜•์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.",
3636
"description": "Feature description"
3737
},
3838
"pages.home.concepts.title": {
39-
"message": "Concepts",
39+
"message": "๊ฐœ๋…",
4040
"description": "Concepts"
4141
},
4242
"pages.home.concepts.public.title": {
43-
"message": "Public API",
43+
"message": "๊ณต์šฉ API",
4444
"description": "Concept title"
4545
},
4646
"pages.home.concepts.public.description": {
47-
"message": "Each module must have a declaration of its public API at the top level",
47+
"message": "๊ฐ ๋ชจ๋“ˆ์—๋Š” ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์— ๊ณต์šฉ API ์„ ์–ธ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.",
4848
"description": "Concept description"
4949
},
5050
"pages.home.concepts.isolation.title": {
51-
"message": "Isolation",
51+
"message": "๊ฒฉ๋ฆฌ",
5252
"description": "Concept title"
5353
},
5454
"pages.home.concepts.isolation.description": {
55-
"message": "The module should not depend directly on other modules of the same layer or overlying layers",
55+
"message": "๊ฐ™์€ ๋ ˆ์ด์–ด ๋˜๋Š” ์ƒ์œ„ ๋ ˆ์ด์–ด์˜ ๋ชจ๋“ˆ์— ์ง์ ‘ ์˜์กดํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.",
5656
"description": "Concept description"
5757
},
5858
"pages.home.concepts.needs.title": {
59-
"message": "Needs Driven",
59+
"message": "์š”๊ตฌ์‚ฌํ•ญ ์ค‘์‹ฌ",
6060
"description": "Concept title"
6161
},
6262
"pages.home.concepts.needs.description": {
63-
"message": "Orientation to business and user needs",
63+
"message": "๋น„์ฆˆ๋‹ˆ์Šค ๋ฐ ์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ์„ ์ค‘์‹ฌ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.",
6464
"description": "Concept description"
6565
},
6666
"pages.home.scheme.title": {
67-
"message": "Scheme",
67+
"message": "๊ตฌ์กฐ",
6868
"description": "Scheme"
6969
},
7070
"pages.home.companies.using": {
71-
"message": "Companies using FSD",
71+
"message": "FSD๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์—…",
7272
"description": "Companies using FSD"
7373
},
7474
"pages.home.companies.add_me": {
75-
"message": "FSD is used in your company?",
75+
"message": "FSD๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์—…์ด์‹ ๊ฐ€์š”?",
7676
"description": "FSD is used in your company?"
7777
},
7878
"pages.home.companies.tell_us": {
79-
"message": "Tell us",
79+
"message": "์•Œ๋ ค์ฃผ์„ธ์š”",
8080
"description": "Tell us"
8181
},
8282
"pages.examples.title": {
@@ -192,19 +192,19 @@
192192
"description": "The placeholder for rating stars input"
193193
},
194194
"features.hero.tagline": {
195-
"message": "Architectural methodology for frontend projects",
195+
"message": "ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ์•„ํ‚คํ…์ฒ˜ ๋ฐฉ๋ฒ•๋ก ",
196196
"description": "Architectural methodology for frontend projects"
197197
},
198198
"features.hero.get_started": {
199-
"message": "Get Started",
199+
"message": "์‹œ์ž‘ํ•˜๊ธฐ",
200200
"description": "Get Started"
201201
},
202202
"features.hero.examples": {
203-
"message": "Examples",
203+
"message": "์˜ˆ์ œ",
204204
"description": "Examples"
205205
},
206206
"features.hero.previous": {
207-
"message": "Previous version",
207+
"message": "์ด์ „ ๋ฒ„์ „",
208208
"description": "Previous version"
209209
},
210210
"shared.wip.title": {
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
sidebar_position: 20
3+
pagination_next: guides/index
4+
---
5+
6+
# FAQ
7+
8+
:::info
9+
10+
์—ฌ๋Ÿฌ๋ถ„์€ [Telegram chat][telegram], [Discord community][discord] ๊ทธ๋ฆฌ๊ณ  [GitHub Discussions][github-discussions]์—์„œ ์งˆ๋ฌธ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
11+
12+
:::
13+
14+
### toolkit์ด๋‚˜ linter๊ฐ€ ์žˆ๋‚˜์š”?
15+
16+
๊ณต์‹ ESLint ์„ค์ •์ธ [@feature-sliced/eslint-config][eslint-config-official]์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฉค๋ฒ„์ธ Aleksandr Belous๊ฐ€ ๋งŒ๋“  ESLint ํ”Œ๋Ÿฌ๊ทธ์ธ [@conarti/eslint-plugin-feature-sliced][eslint-plugin-conarti]๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋“ค์— ๊ธฐ์—ฌํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ๋ถ„๋งŒ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•ด๋ณด์„ธ์š”!
17+
18+
### Where to store the layout/template of pages?
19+
20+
์ˆœ์ˆ˜ํ•œ ๋งˆํฌ์—… ๋ ˆ์ด์•„์›ƒ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด `shared/ui`์— ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์œ„ ๊ณ„์ธต์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
21+
22+
- ๋ ˆ์ด์•„์›ƒ์ด ํ•„์š” ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์ด์•„์›ƒ์ด ๋ช‡ ์ค„๋ฐ–์— ์•ˆ ๋œ๋‹ค๋ฉด, ์ถ”์ƒํ™”ํ•˜๋ ค๊ณ  ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๊ฐ ํŽ˜์ด์ง€์—์„œ ์ฝ”๋“œ๋ฅผ ์ค‘๋ณตํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
23+
- ๋ ˆ์ด์•„์›ƒ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด, ๋ณ„๋„์˜ ์œ„์ ฏ์ด๋‚˜ ํŽ˜์ด์ง€๋กœ ๋งŒ๋“ค๊ณ  App์˜ ๋ผ์šฐํ„ฐ ์„ค์ •์—์„œ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘์ฒฉ ๋ผ์šฐํŒ…๋„ ๋‹ค๋ฅธ ์˜ต์…˜์ž…๋‹ˆ๋‹ค.
24+
25+
### feature์™€ entity์˜ ์ฐจ์ด์ ์ด ๋ฌด์—‡์ธ๊ฐ€์š”?
26+
27+
*entity*๋Š” ์•ฑ์ด ๋‹ค๋ฃจ๋Š” ์‹ค์ œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. *feature*๋Š” ์•ฑ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹ค์ œ ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ƒํ˜ธ์ž‘์šฉ, ์ฆ‰ ์‚ฌ๋žŒ๋“ค์ด entity๋กœ ํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
28+
29+
๋” ์ž์„ธํ•œ ์ •๋ณด์™€ ์˜ˆ์‹œ๋Š” [slices][reference-entities] ์ฐธ์กฐ ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•˜์„ธ์š”.
30+
31+
### pages/features/entities๋ฅผ ์„œ๋กœ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‚˜์š”?
32+
33+
๋„ค, ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ํฌํ•จ์€ ์ƒ์œ„ ๊ณ„์ธต์—์„œ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ„์ ฏ ๋‚ด๋ถ€์—์„œ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ๊ฐ€์ ธ์™€์„œ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์˜ props/children์œผ๋กœ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
34+
35+
ํ•œ ๊ธฐ๋Šฅ์„ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” [**๊ณ„์ธต์— ๋Œ€ํ•œ ๊ฐ€์ ธ์˜ค๊ธฐ ๊ทœ์น™**][import-rule-layers]์— ์˜ํ•ด ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค.
36+
37+
### ์•„ํ† ๋ฏน ๋””์ž์ธ์€ ์–ด๋–ค๊ฐ€์š”?
38+
39+
ํ˜„์žฌ ๋ฒ„์ „์˜ ๋ฐฉ๋ฒ•๋ก ์€ Feature-Sliced Design๊ณผ ํ•จ๊ป˜ ์•„ํ† ๋ฏน ๋””์ž์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์š”๊ตฌํ•˜์ง€๋„, ๊ธˆ์ง€ํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.
40+
41+
์˜ˆ๋ฅผ ๋“ค์–ด, ์•„ํ† ๋ฏน ๋””์ž์ธ์€ ๋ชจ๋“ˆ์˜ `ui` ์„ธ๊ทธ๋จผํŠธ์— [์ž˜ ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค](https://t.me/feature_sliced/1653).
42+
43+
### FSD์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ๋ฆฌ์†Œ์Šค/๊ธฐ์‚ฌ ๋“ฑ์ด ์žˆ๋‚˜์š”?
44+
45+
๋„ค! https://github.com/feature-sliced/awesome ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
46+
47+
### Feature-Sliced Design์ด ์™œ ํ•„์š”ํ•œ๊ฐ€์š”?
48+
49+
ํ”„๋กœ์ ํŠธ๋ฅผ ์ฃผ์š” ๊ฐ€์น˜ ์ฐฝ์ถœ ๊ตฌ์„ฑ ์š”์†Œ ์ธก๋ฉด์—์„œ ๋น ๋ฅด๊ฒŒ ๊ฐœ์š”๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ํ™”๋œ ์•„ํ‚คํ…์ฒ˜๋Š” ์˜จ๋ณด๋”ฉ ์†๋„๋ฅผ ๋†’์ด๊ณ  ์ฝ”๋“œ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๋…ผ์Ÿ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. FSD๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ์ด์œ ์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด [๋™๊ธฐ][motivation] ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
50+
51+
### ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์•„ํ‚คํ…์ฒ˜/๋ฐฉ๋ฒ•๋ก ์ด ํ•„์š”ํ•œ๊ฐ€์š”?
52+
53+
๊ทธ๋ ‡๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
54+
55+
*๋ณดํ†ต ํ•œ ์‚ฌ๋žŒ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ฐœ๋ฐœํ•  ๋•Œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์— ์ค‘๋‹จ์ด ์žˆ๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ์ž๊ฐ€ ํŒ€์— ํ•ฉ๋ฅ˜ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค*
56+
57+
58+
### ์ธ์ฆ ์ปจํ…์ŠคํŠธ๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ๋‚˜์š”?
59+
60+
[์—ฌ๊ธฐ](/docs/guides/examples/auth)์—์„œ ๋‹ต๋ณ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
61+
62+
[import-rule-layers]: /docs/reference/layers#import-rule-on-layers
63+
[reference-entities]: /docs/reference/layers#entities
64+
[eslint-config-official]: https://github.com/feature-sliced/eslint-config
65+
[eslint-plugin-conarti]: https://github.com/conarti/eslint-plugin-feature-sliced
66+
[motivation]: /docs/about/motivation
67+
[telegram]: https://t.me/feature_sliced
68+
[discord]: https://discord.gg/S8MzWTUsmp
69+
[github-discussions]: https://github.com/feature-sliced/documentation/discussions

0 commit comments

Comments
ย (0)