import type { AppLocale } from "../locale"; import { DEFAULT_LOCALE } from "../locale"; export type EditorButtonPanelMessages = { buttonTextLabel: string; buttonTextAria: string; imageSectionTitle: string; imageSourceLabel: string; imageSourceAria: string; imageSourceOptionNone: string; imageSourceOptionUrl: string; imageSourceOptionUpload: string; imageUrlLabel: string; imageUrlAria: string; imageUploadLabel: string; imageUploadAria: string; imageAltLabel: string; imageAltAria: string; imagePlacementLabel: string; imagePlacementAria: string; imagePlacementOptionLeft: string; imagePlacementOptionRight: string; imagePlacementOptionTop: string; imagePlacementOptionBottom: string; paddingXLabel: string; paddingYLabel: string; linkLabel: string; linkAria: string; alignLabel: string; alignAria: string; alignOptionLeft: string; alignOptionCenter: string; alignOptionRight: string; textColorLabel: string; textColorPickerAria: string; textColorHexAria: string; styleLabel: string; styleAria: string; styleOptionSolid: string; styleOptionOutline: string; styleOptionGhost: string; fillColorLabel: string; fillColorPickerAria: string; fillColorHexAria: string; strokeColorLabel: string; strokeColorPickerAria: string; strokeColorHexAria: string; borderRadiusLabel: string; borderRadiusPresetNone: string; borderRadiusPresetSmall: string; borderRadiusPresetMedium: string; borderRadiusPresetLarge: string; borderRadiusPresetFull: string; widthModeLabel: string; widthModeAria: string; widthModeOptionAuto: string; widthModeOptionFull: string; widthModeOptionFixed: string; fixedWidthLabel: string; fixedWidthUnitLabel: string; fixedWidthPresetSmall: string; fixedWidthPresetMedium: string; fixedWidthPresetLarge: string; fontSizeLabel: string; fontSizeUnitLabel: string; lineHeightLabel: string; lineHeightPresetTight: string; lineHeightPresetNormal: string; lineHeightPresetRelaxed: string; letterSpacingLabel: string; letterSpacingUnitLabel: string; letterSpacingPresetTighter: string; letterSpacingPresetTight: string; letterSpacingPresetNormal: string; letterSpacingPresetWide: string; letterSpacingPresetWider: string; }; const EDITOR_BUTTON_PANEL_MESSAGES: Record = { en: { buttonTextLabel: "Button text", buttonTextAria: "Button text", imageSectionTitle: "Button image", imageSourceLabel: "Button image source", imageSourceAria: "Button image source", imageSourceOptionNone: "None", imageSourceOptionUrl: "URL", imageSourceOptionUpload: "File upload", imageUrlLabel: "Button image URL", imageUrlAria: "Button image URL", imageUploadLabel: "Button image file upload", imageUploadAria: "Button image file upload", imageAltLabel: "Button image alt text", imageAltAria: "Button image alt text", imagePlacementLabel: "Button image placement", imagePlacementAria: "Button image placement", imagePlacementOptionLeft: "Text left", imagePlacementOptionRight: "Text right", imagePlacementOptionTop: "Text top", imagePlacementOptionBottom: "Text bottom", paddingXLabel: "Horizontal padding", paddingYLabel: "Vertical padding", linkLabel: "Button link", linkAria: "Button link", alignLabel: "Alignment", alignAria: "Button alignment", alignOptionLeft: "Left", alignOptionCenter: "Center", alignOptionRight: "Right", textColorLabel: "Text color", textColorPickerAria: "Button text color picker", textColorHexAria: "Button text color HEX", styleLabel: "Style", styleAria: "Button style", styleOptionSolid: "Fill", styleOptionOutline: "Outline", styleOptionGhost: "Ghost", fillColorLabel: "Fill color", fillColorPickerAria: "Button fill color picker", fillColorHexAria: "Button fill color HEX", strokeColorLabel: "Border color", strokeColorPickerAria: "Button border color picker", strokeColorHexAria: "Button border color HEX", borderRadiusLabel: "Border radius", borderRadiusPresetNone: "None", borderRadiusPresetSmall: "Small", borderRadiusPresetMedium: "Medium", borderRadiusPresetLarge: "Large", borderRadiusPresetFull: "Full", widthModeLabel: "Button width mode", widthModeAria: "Button width mode", widthModeOptionAuto: "Auto", widthModeOptionFull: "Full width", widthModeOptionFixed: "Fixed", fixedWidthLabel: "Button fixed width", fixedWidthUnitLabel: "(px)", fixedWidthPresetSmall: "Small", fixedWidthPresetMedium: "Medium", fixedWidthPresetLarge: "Wide", fontSizeLabel: "Button font size", fontSizeUnitLabel: "(px)", lineHeightLabel: "Line height", lineHeightPresetTight: "Tight", lineHeightPresetNormal: "Normal", lineHeightPresetRelaxed: "Relaxed", letterSpacingLabel: "Letter spacing", letterSpacingUnitLabel: "(px)", letterSpacingPresetTighter: "Very tight", letterSpacingPresetTight: "Tight", letterSpacingPresetNormal: "Normal", letterSpacingPresetWide: "Wide", letterSpacingPresetWider: "Very wide", }, ko: { buttonTextLabel: "버튼 텍스트", buttonTextAria: "버튼 텍스트", imageSectionTitle: "버튼 이미지", imageSourceLabel: "버튼 이미지 소스", imageSourceAria: "버튼 이미지 소스", imageSourceOptionNone: "사용 안 함", imageSourceOptionUrl: "URL", imageSourceOptionUpload: "파일 업로드", imageUrlLabel: "버튼 이미지 URL", imageUrlAria: "버튼 이미지 URL", imageUploadLabel: "버튼 이미지 파일 업로드", imageUploadAria: "버튼 이미지 파일 업로드", imageAltLabel: "버튼 이미지 대체 텍스트", imageAltAria: "버튼 이미지 대체 텍스트", imagePlacementLabel: "버튼 이미지 위치", imagePlacementAria: "버튼 이미지 위치", imagePlacementOptionLeft: "텍스트 왼쪽", imagePlacementOptionRight: "텍스트 오른쪽", imagePlacementOptionTop: "텍스트 위쪽", imagePlacementOptionBottom: "텍스트 아래쪽", paddingXLabel: "가로 패딩", paddingYLabel: "세로 패딩", linkLabel: "버튼 링크", linkAria: "버튼 링크", alignLabel: "정렬", alignAria: "버튼 정렬", alignOptionLeft: "왼쪽", alignOptionCenter: "가운데", alignOptionRight: "오른쪽", textColorLabel: "텍스트 색상", textColorPickerAria: "버튼 텍스트 색상 피커", textColorHexAria: "버튼 텍스트 색상 HEX", styleLabel: "스타일", styleAria: "버튼 스타일", styleOptionSolid: "채움", styleOptionOutline: "외곽선", styleOptionGhost: "고스트", fillColorLabel: "채움 색상", fillColorPickerAria: "버튼 채움 색상 피커", fillColorHexAria: "버튼 채움 색상 HEX", strokeColorLabel: "외곽선 색상", strokeColorPickerAria: "버튼 외곽선 색상 피커", strokeColorHexAria: "버튼 외곽선 색상 HEX", borderRadiusLabel: "모서리 둥글기", borderRadiusPresetNone: "없음", borderRadiusPresetSmall: "작게", borderRadiusPresetMedium: "보통", borderRadiusPresetLarge: "크게", borderRadiusPresetFull: "완전 둥글게", widthModeLabel: "버튼 너비 모드", widthModeAria: "버튼 너비 모드", widthModeOptionAuto: "자동", widthModeOptionFull: "전체 폭", widthModeOptionFixed: "고정 값", fixedWidthLabel: "버튼 고정 너비", fixedWidthUnitLabel: "(px)", fixedWidthPresetSmall: "작게", fixedWidthPresetMedium: "보통", fixedWidthPresetLarge: "넓게", fontSizeLabel: "버튼 크기", fontSizeUnitLabel: "(px)", lineHeightLabel: "줄 간격", lineHeightPresetTight: "좁게", lineHeightPresetNormal: "보통", lineHeightPresetRelaxed: "넓게", letterSpacingLabel: "글자 간격", letterSpacingUnitLabel: "(px)", letterSpacingPresetTighter: "아주 좁게", letterSpacingPresetTight: "좁게", letterSpacingPresetNormal: "보통", letterSpacingPresetWide: "넓게", letterSpacingPresetWider: "아주 넓게", }, }; export function getEditorButtonPanelMessages( locale: AppLocale | null | undefined, ): EditorButtonPanelMessages { const key = (locale ?? DEFAULT_LOCALE) as AppLocale; return EDITOR_BUTTON_PANEL_MESSAGES[key] ?? EDITOR_BUTTON_PANEL_MESSAGES[DEFAULT_LOCALE]; }