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

[DS-188] Color storybook 문서에 영어 번역 추가 #171

Merged
merged 4 commits into from
Apr 22, 2024
Merged
Show file tree
Hide file tree
Changes from 2 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
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const ColorSystem = () => {
}}
>
<BlockBox>
<Box>색상 코드 값</Box>
<Box>Color Hex Value</Box>
<ColorBox bgcolor="#FFFFFF">#FFFFFF</ColorBox>
<ColorBox bgcolor="#00C9EA">#00C9EA</ColorBox>
<ColorBox bgcolor="#FFB3B8">#FFB3B8</ColorBox>
Expand Down
86 changes: 55 additions & 31 deletions packages/design-system/src/stories/foundation/colors/Docs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,62 +10,85 @@ import * as TokenInComponentStories from "./Token.inComponent.stories";
<Meta of={ColorsStories} />

# Color System & Token
> _To make it easier to understand the system, we provide explanations in both Korean and English within the Color System document._
> _시스템의 이해를 돕기 위해 Color System 문서만 한국어와 영어를 병기하여 설명합니다._
Copy link
Contributor

Choose a reason for hiding this comment

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

For the color documents, we provide both Korean and English to ensure understanding of our unique color system and tokens.

문장 뜻을 조금 더 구체적으로 바꿔 보았습니다만, 원문도 문법 상 틀리지는 않아서 조금 조심스럽네용!


> 루닛 디자인 시스템에서는 일관된 색상 사용을 위해 미리 색상 팔레트를 구성하고, 이를 컴포넌트나 페이지에 쉽게 적용할 수 있도록 토큰화하여 제공한다.
In the Lunit design system, we pre-configure a color palette to ensure consistent use of colors.
We tokenize this palette to make it easy for developers to apply to components or pages.
_루닛 디자인 시스템에서는 일관된 색상 사용을 위해 미리 색상 팔레트를 구성하고, 이를 컴포넌트나 페이지에 쉽게 적용할 수 있도록 토큰화하여 제공한다._

Copy link
Contributor

@HyejinYang HyejinYang Apr 15, 2024

Choose a reason for hiding this comment

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

루닛 디자인 시스템은 명시적이고 일관된 색상 사용을 보장하기 위해 공통 색상 팔레트를 정의한다. 사전 구성된 팔레트는 토큰 형태로 제공되므로 컴포넌트나 페이지 단에서 쉽게 적용 가능하다.

The Lunit Design System defines a common color palette to ensure explicit and consistent color usage. Pre-configured palettes are provided in token form, allowing for easy application within components or pages.

(이 부분은 한글도 다소 수정했습니다! 사실 처음 읽었을 때에는 약간 이해가 어려웠기 때문인데, 의견이 다를 수 있을 것 같아서 조금 조심스럽네요!)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

'공통' 색상 팔레트라는 표현은 맞지 않는 것 같아요. 공통이 아니라 시스템에서 사용하는 모든 색상군의 정의해두고 있는 거라서요. 그냥 공통이라는 표현을 빼는건 어떨까요? 영문에서 common 은 크게 무리 없는 느낌이라 빼도 안빼도 나쁘지 않을 것 같구요!

Copy link
Contributor

Choose a reason for hiding this comment

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

네 한국어 영어도 둘 다 common을 빼는 게 자연스러울 것 같습니다!

## Color System의 구조
루닛의 색상 시스템은 다음과 같은 구조로 이루어져 있다.<br />
**색상 코드 값** (ex: hex, rgb값) → **Global Palette** (ex: Red10, Blue40..) → **Token** (ex: bg_01, btn_text_primary)

## Structure of Color system
The color system in Lunit is structured as follows.
_루닛의 색상 시스템은 다음과 같은 구조로 이루어져 있다._
- **색상 코드 값** (ex: hex, rgb값) → **Global Palette** (ex: Red10, Blue40..) → **Token** (ex: bg_01, btn_text_primary)
Copy link
Contributor

Choose a reason for hiding this comment

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

색상 코드 값** (ex: hex, rgb값) 이 부분 번역이 빠져 있습니다!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

음 이부분은 아래 테이블로 설명을 대체할 수 있을 것 같아서 저 줄을 빼도록 하겠습니다. 너무 텍스트가 중복되는 느낌이 들어서요!


<ColorSystem />

### Global Palette Color

> [Global Palette Color의 종류(link)](?path=/story/foundation-colors--global-colors)
- 루닛 디자인 시스템 안에서 사용할 색상을 종류와 음영으로 분류해 구성한 색상의 모음.
- 루닛 디자인 시스템에서는 이 팔레트 안에서만 색을 이용하고, 팔레트 이외의 색상은 가급적 사용하지 않는다.
- Global Palette의 각 항목은 색상 코드(hex값)와 1:1 대응한다.
- Color Token은 이 Global Paltte 값과 연결된다.
- A collection of colors organized by type and shade to be used within the AK design system.
_루닛 디자인 시스템 안에서 사용할 색상을 종류와 음영으로 분류해 구성한 색상의 모음._
Copy link
Contributor

Choose a reason for hiding this comment

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

이 부분은 사실 한국어가 잘 이해가 가지 않습니다. 🥲
색상 종류 안에 음영은 포함되지 않는 이유가 있을까요? 그리고 '음영'이란 표현 자체가 다소 와닿지 않아서, 구체적인 예시가 들어가는 게 나을 것 같습니다!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

종류는 red, blue, green 과 같은 분류를 의미하구요. 음영은 10, 20, 50 등과 같이 밝고 어두운 것으로 나누는 분류를 의미합니다.
음영이란 표현이 이해하는데 어려우면 '밝기' 로 바꾸도록 하겠습니다. 그 편이 더 와닿을 것 같아요.
사실 글로벌 팔레트가 그냥 보면 아 이거구나! 하고 아는건데 그걸 굳이 글로 설명을 하려다보니 더 어려워진 것 같긴 하네요..

- Within the Lunit design system, colors are only utilized from this palette, and colors outside of the palette are preferably avoided.
_루닛 디자인 시스템에서는 이 팔레트 안에서만 색을 이용하고, 팔레트 이외의 색상은 가급적 사용하지 않는다._
Copy link
Contributor

@HyejinYang HyejinYang Apr 15, 2024

Choose a reason for hiding this comment

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

Colors outside the predefined color palette in the Lunit Design System are not allowed. If additional colors are needed, consultation with the design team is required. For one-time use colors that do not need to be added to the color palette, they should be used without utilizing the Lunit Design System.

루닛 디자인 시스템에서 사전 정의된 색상 팔레트 이외의 색상은 허용되지 않는다. 추가 색상이 필요한 경우 디자인 팀과 협의가 필요하며, 색상 팔레트에 추가할 필요가 없는 일회성 색상의 경우 루닛 디자인 시스템을 활용하지 않고 사용해야 한다.

위처럼 수정하는 것은 어떨까욤? 좀 더 설명을 추가해보았습니다!

Copy link
Contributor Author

@Jiyeon-lunit Jiyeon-lunit Apr 15, 2024

Choose a reason for hiding this comment

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

The components and foundations provided by the lunit design system only utilize colors from this palette.
루닛 디자인 시스템에서 제공하는 컴포넌트와 파운데이션은 이 팔레트의 색상만을 이용하고 있다.

루닛 디자인 시스템에서는 이 팔레트 안에서만 색을 이용하고, 팔레트 이외의 색상은 가급적 사용하지 않는다. 라는 기존 문장을 바꿔보았는데 어떤가요?

Copy link
Contributor

Choose a reason for hiding this comment

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

좋은 것 같습니다! 고생하셨습니다

- Each item in the Global Palette corresponds 1:1 with a color code (hex value).
_Global Palette의 각 항목은 색상 코드(hex값)와 1:1 대응한다._
- Color Tokens are linked to these values in the Global Palette.
_Color Token은 이 Global Paltte 값과 연결된다._

### Color Token

> [Core token의 종류(link)](?path=/story/foundation-colors--core-tokens) <br />
> [Component token의 종류(link)](?path=/story/foundation-colors--component-tokens)

- **Core Token** : background, text 색상과 같이 범용적으로 적용되는 UI 에서 사용하는 컬러 토큰
- **Component Token** : button, chip 등과 같이 특정 컴포넌트 안에서만 사용하는 컬러 토큰
- 색상 코드나 Global Color 대신 _Color Token 을 이용하는 것_ 을 권장한다.
- Color Token은 4가지 테마(Light1,2, Dark1,2) 별 색상을 가지고 있고, **해당 컴포넌트를 둘러싸고 있는 Base Wrapper** 에 의해 테마가 결정된다.

## Color Token에 테마를 부여하는 Base Wrapper
- Color token에 테마를 부여해주는 wrapper로, Base Layer 라고도 부른다.
- Base Wrapper 설정은 **컴포넌트 className에 테마 이름을 추가하는 방식** 으로 이루어진다.
- **Core Token**: Color tokens used universally in UI elements such as background and text colors.
Copy link
Contributor

Choose a reason for hiding this comment

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

Core Tokens: These are color tokens universally used in UI elements, including background and text colors.

문법 상 틀리지는 않았는데 These are가 들어가는 게 바로 이해가 쉬울 것 같아요!

_**Core Token** : background, text 색상과 같이 범용적으로 적용되는 UI 에서 사용하는 컬러 토큰_
- **Component Token**: Color tokens used specifically within certain components like buttons and chips.
_**Component Token** : button, chip 등과 같이 특정 컴포넌트 안에서만 사용하는 컬러 토큰_
Copy link
Contributor

Choose a reason for hiding this comment

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

Component Tokens: These are color tokens specifically utilized for certain components, such as buttons and chips.

- It is recommended to use **Color Tokens** instead of color codes or Global Colors.
_색상 코드나 Global Color 대신 **Color Token** 을 이용하는 것 을 권장한다._
Copy link
Contributor

Choose a reason for hiding this comment

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

궁금해졌는데, 디자인 시스템을 사용하는 이상 색상 코드를 직접 쓸 경우가 있을까요? 만약 색상 코드를 직접 사용한다면 이는 디자인 시스템을 이용하는 것은 아닐 것 같아서요.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

디자인 시스템 컴포넌트를 이용하되 다른 색상으로 커스텀하여 사용하고 싶을 때 색상 코드를 사용하게 되지 않을까 싶습니다!

- Color Tokens have colors for four themes (Light1,2, Dark1,2), and the theme **is determined by the Base Wrapper surrounding the respective component**.
_Color Token은 4가지 테마(Light1,2, Dark1,2) 별 색상을 가지고 있고, **해당 컴포넌트를 둘러싸고 있는 Base Wrapper** 에 의해 테마가 결정된다._
Copy link
Contributor

Choose a reason for hiding this comment

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

Base Wrapper라고만 하면 이게 우리 디자인 시스템에서 제공하는 특정 Wrapper라고 오해할 수 있을 것 같습니다! 바로 뒤에 설명이 나오지만, 뒤의 소제목을 링크로 걸어주는 등의 배려가 있어야 할 것 같습니다


## What is Base Wrapper?
- The wrapper that assigns themes to color tokens is also known as the Base Layer.
Copy link
Contributor

@HyejinYang HyejinYang Apr 15, 2024

Choose a reason for hiding this comment

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

In our design system, any component that encompasses another child component is considered a base wrapper. It is also referred to as a base layer, as it can assign a color theme to the color token of the child component.

루닛 디자인 시스템에서 다른 하위 컴포넌트를 포함하는 모든 컴포넌트는 베이스래퍼로 간주된다. 베이스래퍼는 자식 컴포넌트의 색상 토큰에 색상 테마를 할당할 수 있으므로 베이스 레이어라고도 불린다.

<div> <!-- Base Wrapper -->
   <div> Color </div> <!-- Child Wrapper -->
</div>

위는 설명과 함께 바로 코드가 들어가 있어야 이해가 쉬울 듯해 내용을 추가해 보았습니다!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

베이스 어쩌구 하는 애들은 다시 한번 문서를 수정해서 써보겠습니다!

_Color token에 테마를 부여해주는 wrapper로, Base Layer 라고도 부른다._
- Setting the Base Wrapper involves **adding the theme name to the component's className**.
_Base Wrapper 설정은 **컴포넌트 className에 테마 이름을 추가하는 방식** 으로 이루어진다._
- ex) `<div className='light1'>`, `<Box className='dark2'>`
- 테마의 종류 : light1, light2, dark1, dark2
- Color token은 Base Wrapper에서 설정한 테마에 해당하는 색이 적용된다.
- Base Wrapper를 설정하지 않으면, Color Token은 기본적으로 Dark1 테마가 적용된다.
- Base Wrapper가 중첩되었을 때 Color Token은 _바로 상위 부모_ Wrapper의 테마를 따른다.
- ex)
```jsx
- Types of themes: light1, light2, dark1, dark2
_테마의 종류 : light1, light2, dark1, dark2_
- Color tokens apply colors corresponding to the theme set in the Base Wrapper.
_Color token은 Base Wrapper에서 설정한 테마에 해당하는 색이 적용된다._
- If no Base Wrapper is set, Color Tokens default to the Dark1 theme.
_Base Wrapper를 설정하지 않으면, Color Token은 기본적으로 Dark1 테마가 적용된다._
- When Base Wrappers are nested, Color Tokens follow the theme of **the immediate parent** Wrapper.
_Base Wrapper가 중첩되었을 때 Color Token은 **바로 상위 부모** Wrapper의 테마를 따른다._
- ex)
```jsx
<div className='light1'>
<div className='dark1'>
<Button
sx={{
backgroundColor: (theme) =>
theme.palette.lunit_token.component.btn_primary_bg
// Due to the theme of the immediate parent being dark1,
// the color of btn_primary_bg here will be applied as the dark1 theme color.
// 바로 상위 부모의 테마가 dark1이기 때문에, 이 곳의 btn_primary_bg 색상은 dark1 테마 색상이 적용됨
}}
/>
</div>
</div>
```
</div>
```

## Usage
The components in the Lunit design system are already developed using Color Tokens. If no custom styling is needed, you just need to set the base wrapper around the component.
Color Tokens are implemented based on the MUI theme, so the usage is similar to utilizing the MUI theme.
_루닛 디자인 시스템의 컴포넌트는 이미 Color Token을 이용해 개발되어 있다. 따로 스타일 커스텀이 필요없다면 컴포넌트를 감싸는 base wrapper만 설정하면 된다._
_Color Token은 MUI theme 기반으로 구현되어, 사용법도 MUI theme를 이용하는 방식과 비슷하다._

## 토큰 사용법
루닛 디자인 시스템의 컴포넌트는 이미 Color Token을 이용해 개발되어 있다. 따로 스타일 커스텀이 필요없다면 컴포넌트를 감싸는 base wrapper만 설정하면 된다.
Color Token은 MUI theme 기반으로 구현되어, 사용법도 MUI theme를 이용하는 방식과 비슷하다.

### Styled 내에서 사용법
### With Styled Components

<Canvas of={TokenInComponentStories.InComponentWithStyled} sourceState="none" />

Expand Down Expand Up @@ -97,7 +120,8 @@ const InComponentWithStyled = () => {
};
```

### sx 내에서 사용법
### With sx prop

<Canvas of={TokenInComponentStories.InComponentWithSx} sourceState="none" />

```jsx
Expand Down Expand Up @@ -144,7 +168,7 @@ const InComponentWithSx = () => {
};
```

### useTheme 이용해 inline style 내에서 사용법
### With useTheme for inline styling

<Canvas of={TokenInComponentStories.InComponentWithInlineStyle} sourceState="none" />

Expand Down
Loading