i18n 적용
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
import type { AppLocale } from "../locale";
|
||||
import { DEFAULT_LOCALE } from "../locale";
|
||||
|
||||
export type EditorSidebarMessages = {
|
||||
blocksTitle: string;
|
||||
blocksText: string;
|
||||
blocksButton: string;
|
||||
blocksImage: string;
|
||||
blocksVideo: string;
|
||||
blocksDivider: string;
|
||||
blocksList: string;
|
||||
blocksSection: string;
|
||||
formsTitle: string;
|
||||
formsController: string;
|
||||
formsInput: string;
|
||||
formsSelect: string;
|
||||
formsRadio: string;
|
||||
formsCheckbox: string;
|
||||
templatesTitle: string;
|
||||
templatesGroupHeroCta: string;
|
||||
templatesGroupContent: string;
|
||||
templatesGroupTrust: string;
|
||||
templatesGroupFooter: string;
|
||||
templateHeroLabel: string;
|
||||
templateHeroDescription: string;
|
||||
templateCtaLabel: string;
|
||||
templateCtaDescription: string;
|
||||
templateFeaturesLabel: string;
|
||||
templateFeaturesDescription: string;
|
||||
templateFaqLabel: string;
|
||||
templateFaqDescription: string;
|
||||
templatePricingLabel: string;
|
||||
templatePricingDescription: string;
|
||||
templateBlogLabel: string;
|
||||
templateBlogDescription: string;
|
||||
templateTestimonialsLabel: string;
|
||||
templateTestimonialsDescription: string;
|
||||
templateTeamLabel: string;
|
||||
templateTeamDescription: string;
|
||||
templateFooterLabel: string;
|
||||
templateFooterDescription: string;
|
||||
};
|
||||
|
||||
const EDITOR_SIDEBAR_MESSAGES: Record<AppLocale, EditorSidebarMessages> = {
|
||||
en: {
|
||||
blocksTitle: "Blocks",
|
||||
blocksText: "Text",
|
||||
blocksButton: "Button",
|
||||
blocksImage: "Image",
|
||||
blocksVideo: "Video",
|
||||
blocksDivider: "Divider",
|
||||
blocksList: "List",
|
||||
blocksSection: "Section",
|
||||
formsTitle: "Form elements",
|
||||
formsController: "Form controller",
|
||||
formsInput: "Input field",
|
||||
formsSelect: "Select field",
|
||||
formsRadio: "Radio group",
|
||||
formsCheckbox: "Checkbox group",
|
||||
templatesTitle: "Templates",
|
||||
templatesGroupHeroCta: "Hero · CTA",
|
||||
templatesGroupContent: "Content sections",
|
||||
templatesGroupTrust: "Trust & about",
|
||||
templatesGroupFooter: "Footer & misc",
|
||||
templateHeroLabel: "Hero template",
|
||||
templateHeroDescription: "Top-of-page hero section (headline + subtext + button)",
|
||||
templateCtaLabel: "CTA template",
|
||||
templateCtaDescription: "Call-to-action (CTA) section",
|
||||
templateFeaturesLabel: "Features template",
|
||||
templateFeaturesDescription: "Three-column features section",
|
||||
templateFaqLabel: "FAQ template",
|
||||
templateFaqDescription: "Frequently asked questions (FAQ) section",
|
||||
templatePricingLabel: "Pricing template",
|
||||
templatePricingDescription: "Pricing plans section",
|
||||
templateBlogLabel: "Blog template",
|
||||
templateBlogDescription: "Blog post listing section",
|
||||
templateTestimonialsLabel: "Testimonials template",
|
||||
templateTestimonialsDescription: "Customer testimonials section",
|
||||
templateTeamLabel: "Team template",
|
||||
templateTeamDescription: "Team members section",
|
||||
templateFooterLabel: "Footer template",
|
||||
templateFooterDescription: "Page footer section",
|
||||
},
|
||||
ko: {
|
||||
blocksTitle: "블록",
|
||||
blocksText: "텍스트",
|
||||
blocksButton: "버튼",
|
||||
blocksImage: "이미지",
|
||||
blocksVideo: "비디오",
|
||||
blocksDivider: "구분선",
|
||||
blocksList: "리스트",
|
||||
blocksSection: "섹션",
|
||||
formsTitle: "폼 요소",
|
||||
formsController: "폼 컨트롤러",
|
||||
formsInput: "입력(Input)",
|
||||
formsSelect: "셀렉트(Select)",
|
||||
formsRadio: "단일 선택(Radio)",
|
||||
formsCheckbox: "다중 선택(Checkbox)",
|
||||
templatesTitle: "템플릿",
|
||||
templatesGroupHeroCta: "히어로 · CTA",
|
||||
templatesGroupContent: "콘텐츠 섹션",
|
||||
templatesGroupTrust: "신뢰/소개",
|
||||
templatesGroupFooter: "푸터/기타",
|
||||
templateHeroLabel: "Hero 템플릿",
|
||||
templateHeroDescription: "페이지 상단 Hero 섹션 (큰 제목 + 서브텍스트 + 버튼)",
|
||||
templateCtaLabel: "CTA 템플릿",
|
||||
templateCtaDescription: "콜투액션(CTA) 섹션",
|
||||
templateFeaturesLabel: "기능 템플릿",
|
||||
templateFeaturesDescription: "3컬럼 기능 소개 섹션",
|
||||
templateFaqLabel: "FAQ 템플릿",
|
||||
templateFaqDescription: "자주 묻는 질문(FAQ) 섹션",
|
||||
templatePricingLabel: "상품 템플릿",
|
||||
templatePricingDescription: "요금제/플랜 소개 섹션",
|
||||
templateBlogLabel: "블로그 템플릿",
|
||||
templateBlogDescription: "블로그 포스트 목록 섹션",
|
||||
templateTestimonialsLabel: "후기 템플릿",
|
||||
templateTestimonialsDescription: "고객 후기(Testimonials) 섹션",
|
||||
templateTeamLabel: "Team 템플릿",
|
||||
templateTeamDescription: "팀 소개 섹션",
|
||||
templateFooterLabel: "Footer 템플릿",
|
||||
templateFooterDescription: "페이지 푸터 섹션",
|
||||
},
|
||||
};
|
||||
|
||||
export function getEditorSidebarMessages(locale: AppLocale | null | undefined): EditorSidebarMessages {
|
||||
const key = (locale ?? DEFAULT_LOCALE) as AppLocale;
|
||||
return EDITOR_SIDEBAR_MESSAGES[key] ?? EDITOR_SIDEBAR_MESSAGES[DEFAULT_LOCALE];
|
||||
}
|
||||
Reference in New Issue
Block a user