import type { AppLocale } from "../locale"; import { DEFAULT_LOCALE } from "../locale"; export type EditorFormRadioPanelMessages = { sectionTitle: string; requiredNoticeText: string; styleSectionTitle: string; textSizeLabel: string; textSizeUnitLabel: string; lineHeightLabel: string; lineHeightUnitLabel: string; letterSpacingLabel: string; letterSpacingUnitLabel: string; fixedWidthLabel: string; fixedWidthUnitLabel: string; paddingXLabel: string; paddingXUnitLabel: string; paddingYLabel: string; paddingYUnitLabel: string; optionGapLabel: string; optionGapUnitLabel: string; textColorLabel: string; textColorPickerAria: string; textColorHexAria: 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; }; const EDITOR_FORM_RADIO_PANEL_MESSAGES: Record = { en: { sectionTitle: "Radio field", requiredNoticeText: "Required state is configured in the form controller.", styleSectionTitle: "Field style", textSizeLabel: "Radio text size (px)", textSizeUnitLabel: "(px)", lineHeightLabel: "Radio line height (px)", lineHeightUnitLabel: "(px)", letterSpacingLabel: "Radio letter spacing (px)", letterSpacingUnitLabel: "(px)", fixedWidthLabel: "Field fixed width", fixedWidthUnitLabel: "(px)", paddingXLabel: "Radio horizontal padding (px)", paddingXUnitLabel: "(px)", paddingYLabel: "Radio vertical padding (px)", paddingYUnitLabel: "(px)", optionGapLabel: "Radio option gap (px)", optionGapUnitLabel: "(px)", textColorLabel: "Text color", textColorPickerAria: "Radio text color picker", textColorHexAria: "Radio text color HEX", fillColorLabel: "Background color", fillColorPickerAria: "Radio background color picker", fillColorHexAria: "Radio background color HEX", strokeColorLabel: "Border color", strokeColorPickerAria: "Radio border color picker", strokeColorHexAria: "Radio border color HEX", borderRadiusLabel: "Field border radius", borderRadiusPresetNone: "None", borderRadiusPresetSmall: "Small", borderRadiusPresetMedium: "Medium", borderRadiusPresetLarge: "Large", borderRadiusPresetFull: "Fully rounded", }, ko: { sectionTitle: "라디오 필드", requiredNoticeText: "필수 여부는 폼 컨트롤러에서 설정합니다.", styleSectionTitle: "필드 스타일", textSizeLabel: "라디오 텍스트 크기 (px)", textSizeUnitLabel: "(px)", lineHeightLabel: "라디오 줄간격 (px)", lineHeightUnitLabel: "(px)", letterSpacingLabel: "라디오 자간 (px)", letterSpacingUnitLabel: "(px)", fixedWidthLabel: "필드 고정 너비", fixedWidthUnitLabel: "(px)", paddingXLabel: "라디오 가로 패딩 (px)", paddingXUnitLabel: "(px)", paddingYLabel: "라디오 세로 패딩 (px)", paddingYUnitLabel: "(px)", optionGapLabel: "라디오 옵션 간격 (px)", optionGapUnitLabel: "(px)", textColorLabel: "텍스트 색상", textColorPickerAria: "라디오 텍스트 색상 피커", textColorHexAria: "라디오 텍스트 색상 HEX", fillColorLabel: "배경 색상", fillColorPickerAria: "라디오 배경 색상 피커", fillColorHexAria: "라디오 배경 색상 HEX", strokeColorLabel: "테두리 색상", strokeColorPickerAria: "라디오 테두리 색상 피커", strokeColorHexAria: "라디오 테두리 색상 HEX", borderRadiusLabel: "필드 모서리 둥글기", borderRadiusPresetNone: "없음", borderRadiusPresetSmall: "작게", borderRadiusPresetMedium: "보통", borderRadiusPresetLarge: "크게", borderRadiusPresetFull: "완전 둥글게", }, }; export function getEditorFormRadioPanelMessages(locale: AppLocale | null | undefined): EditorFormRadioPanelMessages { const key = (locale ?? DEFAULT_LOCALE) as AppLocale; return EDITOR_FORM_RADIO_PANEL_MESSAGES[key] ?? EDITOR_FORM_RADIO_PANEL_MESSAGES[DEFAULT_LOCALE]; }