# International Design URL: /foundations/international-design Source: https://github.com/daangn/seed-design/blob/dev/docs/content/foundations/international-design.mdx SEED는 전 세계에서 똑같이 유용하고 가치있는 경험을 제공할 수 있도록 돕습니다. ## Overview 국제화는 단순한 언어 번역을 넘어서는 작업입니다. 어떤 언어로 번역하더라도 톤, 용어, 표현이 일관되게 전달되어 브랜드 아이덴티티와 사용자 경험이 유지되어야 합니다. 나아가 각 지역의 문화와 언어에 자연스럽게 녹아들어, 사용자가 서비스를 신뢰하고 적극적으로 활용할 수 있어야 합니다. 이 가이드는 다양한 언어와 문화에 대응하는 디자인 지침을 제공합니다. ## Managing Locale Elements 국제화의 핵심은 다양한 문화와 언어에 맞춰 UI 요소가 유연하게 변화하도록 설계하는 것입니다. 아래 항목을 통해 각 로케일에서 고려해야 할 사항을 정리합니다. ### Time and Date Formats 시간과 날짜는 로케일마다 표기 형식이 크게 다릅니다. 각 지역의 관습에 맞는 형식을 사용해 사용자가 정보를 자연스럽게 받아들일 수 있도록 합니다. #### 상대적 시간 표기 사용자에게 경과 시간을 명확하게 전달하기 위해 각 로케일에 맞는 표기 방식을 사용합니다. | 기준 | ko\_KR | en\_CA, en\_US, en\_GB | ja\_JP | 비고 | | -------- | ------ | ---------------------- | ------ | ---------------------------------- | | 매우 짧은 시간 | 방금 전 | Just now | たった今 | | | 초, 단수 | 1초 전 | 1s | 1 秒前 | | | 초, 복수 | 2초 전 | 2s | 2 秒前 | | | 분, 단수 | 1분 전 | 1min | 1 分前 | '분' 단위임을 명확히 나타내기 위해 'min'으로 표기합니다 | | 분, 복수 | 2분 전 | 2min | 2 分前 | | | 시간, 단수 | 1시간 전 | 1h | 1 時間前 | | | 시간, 복수 | 2시간 전 | 2h | 2 時間前 | | | 일, 단수 | 1일 전 | 1d | 1 日前 | | | 일, 복수 | 2일 전 | 2d | 2 日前 | | | 주, 단수 | 1주 전 | 1w | 1 週間前 | | | 주, 복수 | 2주 전 | 2w | 2 週間前 | | | 월, 단수 | 1달 전 | 1mo | 1 か月前 | | | 월, 복수 | 2달 전 | 2mo | 2 か月前 | | | 년, 단수 | 1년 전 | 1y | 1 年前 | | | 년, 복수 | 2년 전 | 2y | 2 年前 | | #### 날짜 표기 | ICU Locale ID | Standard Date | Compact Date | 점(.) 축약 | | ------------- | --------------- | ------------ | ------------ | | ko\_KR | 2015년 7월 16일 | 7월 16일 | 2015. 7. 16. | | en\_GB | 16 Jul 2015 | 16 Jul | — | | en\_CA | Jul 16, 2015 | Jul 16 | — | | en\_US | Jul 16, 2015 | Jul 16 | — | | ja\_JP | 2015 年 7 月 16 日 | 7 月 16 日 | — | 한국어(ko\_KR)에서 날짜를 점(.)으로 축약할 때 각 점은 \[연]·\[월]·\[일]을 대신하므로, 마지막 \[일] 뒤에도 점을 반드시 찍습니다. 축약형은 `7. 16.`처럼 표기합니다. `점(.) 축약`은 ko\_KR 날짜의 표기 변형일 뿐, 전달 가능한 로케일 ID가 아닙니다. (예: 2026년 3월 31일 → 2026. 3. 31.) [ICU Date Format](https://unicode-org.github.io/icu/userguide/format_parse/datetime/) | ICU Locale ID | Standard Date | Compact Date | | ------------- | -------------- | ------------ | | ko\_KR | yyyy년 M월 d일 | M월 d일 | | en\_GB | dd MMM yyyy | dd MMM | | en\_CA | MMM dd, yyyy | MMM dd | | en\_US | MMM dd, yyyy | MMM dd | | ja\_JP | yyyy 年 M 月 d 日 | M 月 d 日 | #### 요일 및 시간 포함 날짜 표기 | ICU Locale ID | 요일 및 시간 포함 | 요일 포함 | | ------------- | ---------------------- | ----------- | | ko\_KR | 7월 16일 (수) 오후 9:41 | 7월 16일 수요일 | | en\_GB | Wed 16 Jul at 9:41 PM | Wed 16 Jul | | en\_CA | Wed, Jul 16 at 9:41 PM | Wed, Jul 16 | | en\_US | Wed, Jul 16 at 9:41 PM | Wed, Jul 16 | | ja\_JP | 7 月 16 日(水) 21:41 | 7 月 16 日(水) | [ICU Date Format](https://unicode-org.github.io/icu/userguide/format_parse/datetime/) | ICU Locale ID | 요일 및 시간 포함 | 요일 포함 | | ------------- | ------------------ | ---------- | | ko\_KR | M월 d일 (E) a h:mm | M월 d일 eeee | | en\_GB | E d MMM at h:mm a | E d MMM | | en\_CA | E, MMM d at h:mm a | E, MMM d | | en\_US | E, MMM d at h:mm a | E, MMM d | | ja\_JP | M 月 d 日(E) HH:mm | M 月 d 日(E) | ### Counter and Number Formats #### 숫자와 단위의 순서 조회수, 좋아요처럼 개수를 나타내는 단위는 언어별로 숫자와 단위의 순서가 다릅니다. 일관된 표기를 유지하기 위해 아래 예시를 참고하세요. | ICU Locale ID | 조회수 예시 | 후기 예시 (단수) | 후기 예시 (복수) | 비고 | | ------------- | --------- | ---------- | ---------- | ------ | | ko\_KR | 조회수 3만 | 후기 1개 | 후기 3개 | | | en\_GB | 30K views | 1 review | 3 reviews | 복수형 구분 | | en\_CA | 30K views | 1 review | 3 reviews | 복수형 구분 | | en\_US | 30K views | 1 review | 3 reviews | 복수형 구분 | | ja\_JP | 閲覧数 3 万 | レビュー 1 件 | レビュー 3 件 | | #### 큰 수 표기 방식 숫자 표기 방식과 단위는 언어마다 다릅니다. 한국어와 다른 언어 사이에서 숫자를 변환할 때는 이러한 차이를 고려해야 합니다. - 한국어에서는 만(10,000) 단위로 숫자를 세는 반면, 영어에서는 천(1,000) 단위로 숫자를 셉니다. - 예를 들어, 100,000은 한국어로 "십만"이지만 영어로는 "one hundred thousand"입니다. - 한국어에는 억(100,000,000) 단위가 있지만, 영어에서는 이에 해당하는 별도의 단위가 없고 100 million으로 표현합니다. | Number | ko\_KR | en\_CA | en\_GB | en\_US | ja\_JP | 비고 | | ----------- | ------ | ------ | ------ | ------ | ------- | -------------------------------- | | 123 | 123 | 123 | 123 | 123 | 123 | | | 1,230 | 1.23천 | 1.23K | 1.23K | 1.23K | 1,230 | 일본어에서 '千' 단위를 소수점과 함께 사용하지 않습니다. | | 12,300 | 1.23만 | 12.3K | 12.3K | 12.3K | 1.23 万 | | | 123,000 | 12.3만 | 123K | 123K | 123K | 12.3 万 | | | 1,230,000 | 123만 | 1.23M | 12.3M | 1.23M | 123 万 | | | 12,300,000 | 1,230만 | 12.3M | 12.3M | 12.3M | 1,230 万 | | | 123,000,000 | 1.23억 | 123M | 123M | 123M | 123 億 | | ### Other Important Formats #### 거리, 통화, 전화번호 및 강조 표기 | ICU Locale ID | 거리 | 통화 | 전화번호 | 강조 표기 | | ------------- | -- | ----------- | -------------- | ----- | | ko\_KR | km | 1,234,567원 | 010-XXXX-XXXX | 'abc' | | en\_CA | km | $12,345.67 | (AAA) XXX-XXXX | "abc" | | en\_GB | mi | £12,345.67 | 07XXX XXXXXX | 'abc' | | en\_US | mi | $12,345.67 | (AAA) XXX-XXXX | "abc" | | ja\_JP | km | 1,234,567 円 | 0A0-XXXX-XXXX | 「abc」 | #### 구간 표기 한국어에서는 구간 표기에 물결표(~)를 사용하지만, 영미권에서는 En Dash (-)를 주로 사용합니다. 당근 서비스에서는 지역 및 언어에 관계없이 Hyphen(-)으로 통일하여 사용합니다. #### 괄호의 사용 언어마다 괄호 사용법에 차이가 있으므로 아래 예시를 참고합니다. | 언어 | 텍스트 | 비고 | | -------- | ----------------------------------- | --------------------------------------------------------------------------------------------- | | Korean | 매일 운동을 한다(매일 30분) | 한국어에서 사용되는 방식과 동일하게 활용합니다. | | English | Exercise every day (30 min per day) | 영어에서는 괄호와 앞 단어 사이에 반드시 띄어쓰기를 포함합니다. | | Japanese | 毎日運動をする(毎日 30 分) | ( ) : 한국어에서 사용되는 방식과 동일하게 활용합니다. 「 」 : ( )와 같은 용도로 사용하지 않습니다. 특정 단어를 강조하거나, 인용문을 표시할 때 사용합니다. | ## Considerations ### 번역 후 텍스트 길이 변화 #### 텍스트 확장 대비 한국어를 다른 언어로 번역하면 단어 길이와 글자 수가 달라져 버튼, 레이블처럼 폭이 고정된 UI 요소가 영향을 받습니다. 따라서 충분한 여유 공간을 미리 확보해야 합니다. | 언어 | 텍스트 | 글자수 | | -------- | ----------- | --- | | Korean | 저장 | 2자 | | Japanese | 保存 | 2자 | | English | Save | 4자 | | German | Speichern | 9자 | | French | Sauvegarder | 11자 | #### 예상 확장 비율 아래 표를 참고하여 한국어 원문이 다른 언어로 번역될 때 예상되는 확장 비율을 확인하세요. | 한국어 원문 글자수 | 번역 시 확장 공간 | | ---------- | ----------- | | 10자 이하 | 150% - 250% | | 11 - 20자 | 130% - 150% | | 21 - 30자 | 110% - 130% | | 31 - 50자 | 90% - 110% | | 51 - 70자 | 80% - 90% | | 71자 이상 | 80% | [W3의 국제화 관련 글](https://www.w3.org/International/articles/article-text-size.en)에 자세한 내용이 있습니다. ### 디자인 레이아웃 적용 - 버튼, 레이블 등 핵심 UI 요소에 긴 번역문이 삽입될 수 있으므로, 디자인 시 충분한 공간 확보 및 텍스트 줄 바꿈(wrap) 처리에 유의해야 합니다. - Figma에서 pseudoloc 플러그인을 활용해 다양한 언어에서의 텍스트 길이 변화를 사전에 테스트할 수 있습니다. - 동네명이나 카테고리 명칭 등 경우에 따라 긴 텍스트가 들어갈 수 있으므로, 해당 영역의 레이아웃 반응성을 반드시 점검하세요. ## 추가 참고 자료 및 테스트 데이터 ### 동네명 예시 영미권의 동네명은 한국어보다 긴 경우가 많으므로, 해당 영역의 디자인 여유 공간을 꼭 확인하세요. #### Canada | 일반적 예시 | 긴 동네명 예시 | | ---------------------- | ----------------------------------------------------- | | Bay Street Corridor | University Of Saskatchewan Management Area (가장 긴 동네명) | | Yonge Eglinton | Edmonton Research And Development Park | | Waterfront Communities | - | #### United States | 일반적 예시 | 긴 동네명 예시 | | --------------- | ------------------------------------------------ | | Tribeca | John F. Kennedy International Airport (가장 긴 동네명) | | Upper West Side | Prince of Wales-Hyder Census Area | #### United Kingdom | 일반적 예시 | 긴 동네명 예시 | | --------- | ---------------------- | | Barnsbury | Laughton-en-le-Morthen | | Angel | - | | Sutton | - | #### Japan | 일반적 예시 | 긴 동네명 예시 | | ---------------- | ------------------------------------ | | 世田谷(Setagaya) | 大字富士山栗原新田 (Fujiyamakurihara Shinden) | | 松原(Matsubara) | - | | 三軒茶屋(Sangenjaya) | - |