299 lines
8.8 KiB
TypeScript
299 lines
8.8 KiB
TypeScript
import type { AppLocale } from "../locale";
|
|
import { DEFAULT_LOCALE } from "../locale";
|
|
|
|
export type EditorFormCheckboxPanelMessages = {
|
|
sectionTitle: string;
|
|
|
|
groupTitleTypeLabel: string;
|
|
groupTitleTypeOptionText: string;
|
|
groupTitleTypeOptionImage: string;
|
|
|
|
groupTitleDisplayLabel: string;
|
|
groupTitleDisplayOptionVisible: string;
|
|
groupTitleDisplayOptionHidden: string;
|
|
|
|
layoutLabel: string;
|
|
layoutOptionStacked: string;
|
|
layoutOptionInline: string;
|
|
|
|
optionLayoutLabel: string;
|
|
optionLayoutOptionStacked: string;
|
|
optionLayoutOptionInline: string;
|
|
|
|
labelGapLabel: string;
|
|
|
|
groupTitleLabel: string;
|
|
|
|
submitKeyLabel: string;
|
|
|
|
optionsLabel: string;
|
|
addOptionButtonLabel: string;
|
|
optionLabelPlaceholder: string;
|
|
optionValuePlaceholder: string;
|
|
|
|
optionImageSourceLabel: string;
|
|
optionImageSourceOptionUrl: string;
|
|
optionImageSourceOptionUpload: string;
|
|
|
|
optionImageUrlPlaceholder: string;
|
|
optionImageUploadLabel: string;
|
|
optionImageUploadAria: string;
|
|
|
|
groupTitleImageSourceLabel: string;
|
|
groupTitleImageSourceOptionUrl: string;
|
|
groupTitleImageSourceOptionUpload: string;
|
|
|
|
groupTitleImageUrlLabel: string;
|
|
groupTitleImageUploadLabel: string;
|
|
groupTitleImageUploadAria: string;
|
|
|
|
requiredNoticeText: string;
|
|
|
|
styleSectionTitle: string;
|
|
|
|
textSizeLabel: string;
|
|
textSizeUnitLabel: string;
|
|
|
|
lineHeightLabel: string;
|
|
lineHeightUnitLabel: string;
|
|
|
|
letterSpacingLabel: string;
|
|
letterSpacingUnitLabel: string;
|
|
|
|
widthModeLabel: string;
|
|
widthModeOptionAuto: string;
|
|
widthModeOptionFull: string;
|
|
widthModeOptionFixed: 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_CHECKBOX_PANEL_MESSAGES: Record<AppLocale, EditorFormCheckboxPanelMessages> = {
|
|
en: {
|
|
sectionTitle: "Checkbox field",
|
|
|
|
groupTitleTypeLabel: "Group title type",
|
|
groupTitleTypeOptionText: "Text",
|
|
groupTitleTypeOptionImage: "Image",
|
|
|
|
groupTitleDisplayLabel: "Group title display mode",
|
|
groupTitleDisplayOptionVisible: "Visible (default)",
|
|
groupTitleDisplayOptionHidden: "Hidden",
|
|
|
|
layoutLabel: "Layout",
|
|
layoutOptionStacked: "Vertical (default)",
|
|
layoutOptionInline: "Horizontal (inline)",
|
|
|
|
optionLayoutLabel: "Option layout",
|
|
optionLayoutOptionStacked: "Vertical (default)",
|
|
optionLayoutOptionInline: "Horizontal (inline)",
|
|
|
|
labelGapLabel: "Label/field gap (px)",
|
|
|
|
groupTitleLabel: "Group title",
|
|
|
|
submitKeyLabel: "Submit key",
|
|
|
|
optionsLabel: "Options",
|
|
addOptionButtonLabel: "Add option",
|
|
optionLabelPlaceholder: "Label",
|
|
optionValuePlaceholder: "Value (value)",
|
|
|
|
optionImageSourceLabel: "Option image source",
|
|
optionImageSourceOptionUrl: "URL",
|
|
optionImageSourceOptionUpload: "File upload",
|
|
|
|
optionImageUrlPlaceholder: "Option image URL (optional)",
|
|
optionImageUploadLabel: "Option image file upload",
|
|
optionImageUploadAria: "Option image file upload",
|
|
|
|
groupTitleImageSourceLabel: "Group title image source",
|
|
groupTitleImageSourceOptionUrl: "URL",
|
|
groupTitleImageSourceOptionUpload: "File upload",
|
|
|
|
groupTitleImageUrlLabel: "Group title image URL",
|
|
groupTitleImageUploadLabel: "Group title image file upload",
|
|
groupTitleImageUploadAria: "Group title image file upload",
|
|
|
|
requiredNoticeText: "Required state is configured in the form controller.",
|
|
|
|
styleSectionTitle: "Field style",
|
|
|
|
textSizeLabel: "Checkbox text size (px)",
|
|
textSizeUnitLabel: "(px)",
|
|
|
|
lineHeightLabel: "Checkbox line height (px)",
|
|
lineHeightUnitLabel: "(px)",
|
|
|
|
letterSpacingLabel: "Checkbox letter spacing (px)",
|
|
letterSpacingUnitLabel: "(px)",
|
|
|
|
widthModeLabel: "Field width",
|
|
widthModeOptionAuto: "Auto",
|
|
widthModeOptionFull: "Full width",
|
|
widthModeOptionFixed: "Fixed value",
|
|
|
|
fixedWidthLabel: "Field fixed width",
|
|
fixedWidthUnitLabel: "(px)",
|
|
|
|
paddingXLabel: "Checkbox horizontal padding (px)",
|
|
paddingXUnitLabel: "(px)",
|
|
|
|
paddingYLabel: "Checkbox vertical padding (px)",
|
|
paddingYUnitLabel: "(px)",
|
|
|
|
optionGapLabel: "Checkbox option gap (px)",
|
|
optionGapUnitLabel: "(px)",
|
|
|
|
textColorLabel: "Text color",
|
|
textColorPickerAria: "Checkbox text color picker",
|
|
textColorHexAria: "Checkbox text color HEX",
|
|
|
|
fillColorLabel: "Background color",
|
|
fillColorPickerAria: "Checkbox background color picker",
|
|
fillColorHexAria: "Checkbox background color HEX",
|
|
|
|
strokeColorLabel: "Border color",
|
|
strokeColorPickerAria: "Checkbox border color picker",
|
|
strokeColorHexAria: "Checkbox border color HEX",
|
|
|
|
borderRadiusLabel: "Field border radius",
|
|
borderRadiusPresetNone: "None",
|
|
borderRadiusPresetSmall: "Small",
|
|
borderRadiusPresetMedium: "Medium",
|
|
borderRadiusPresetLarge: "Large",
|
|
borderRadiusPresetFull: "Fully rounded",
|
|
},
|
|
ko: {
|
|
sectionTitle: "체크박스 필드",
|
|
|
|
groupTitleTypeLabel: "그룹 타이틀 타입",
|
|
groupTitleTypeOptionText: "텍스트",
|
|
groupTitleTypeOptionImage: "이미지",
|
|
|
|
groupTitleDisplayLabel: "그룹 타이틀 표시 방식",
|
|
groupTitleDisplayOptionVisible: "표시 (기본)",
|
|
groupTitleDisplayOptionHidden: "숨김",
|
|
|
|
layoutLabel: "레이아웃",
|
|
layoutOptionStacked: "세로 (기본)",
|
|
layoutOptionInline: "가로 (인라인)",
|
|
|
|
optionLayoutLabel: "옵션 레이아웃",
|
|
optionLayoutOptionStacked: "세로 (기본)",
|
|
optionLayoutOptionInline: "가로 (인라인)",
|
|
|
|
labelGapLabel: "라벨/필드 간격 (px)",
|
|
|
|
groupTitleLabel: "그룹 타이틀",
|
|
|
|
submitKeyLabel: "전송 키",
|
|
|
|
optionsLabel: "옵션",
|
|
addOptionButtonLabel: "옵션 추가",
|
|
optionLabelPlaceholder: "라벨",
|
|
optionValuePlaceholder: "값(value)",
|
|
|
|
optionImageSourceLabel: "옵션 이미지 소스",
|
|
optionImageSourceOptionUrl: "URL",
|
|
optionImageSourceOptionUpload: "파일 업로드",
|
|
|
|
optionImageUrlPlaceholder: "옵션 이미지 URL (선택)",
|
|
optionImageUploadLabel: "옵션 이미지 파일 업로드",
|
|
optionImageUploadAria: "옵션 이미지 파일 업로드",
|
|
|
|
groupTitleImageSourceLabel: "그룹 타이틀 이미지 소스",
|
|
groupTitleImageSourceOptionUrl: "URL",
|
|
groupTitleImageSourceOptionUpload: "파일 업로드",
|
|
|
|
groupTitleImageUrlLabel: "그룹 타이틀 이미지 URL",
|
|
groupTitleImageUploadLabel: "그룹 타이틀 이미지 파일 업로드",
|
|
groupTitleImageUploadAria: "그룹 타이틀 이미지 파일 업로드",
|
|
|
|
requiredNoticeText: "필수 여부는 폼 컨트롤러에서 설정합니다.",
|
|
|
|
styleSectionTitle: "필드 스타일",
|
|
|
|
textSizeLabel: "체크박스 텍스트 크기 (px)",
|
|
textSizeUnitLabel: "(px)",
|
|
|
|
lineHeightLabel: "체크박스 줄간격 (px)",
|
|
lineHeightUnitLabel: "(px)",
|
|
|
|
letterSpacingLabel: "체크박스 자간 (px)",
|
|
letterSpacingUnitLabel: "(px)",
|
|
|
|
widthModeLabel: "필드 너비",
|
|
widthModeOptionAuto: "자동",
|
|
widthModeOptionFull: "전체 폭",
|
|
widthModeOptionFixed: "고정 값",
|
|
|
|
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 getEditorFormCheckboxPanelMessages(
|
|
locale: AppLocale | null | undefined,
|
|
): EditorFormCheckboxPanelMessages {
|
|
const key = (locale ?? DEFAULT_LOCALE) as AppLocale;
|
|
return EDITOR_FORM_CHECKBOX_PANEL_MESSAGES[key] ?? EDITOR_FORM_CHECKBOX_PANEL_MESSAGES[DEFAULT_LOCALE];
|
|
}
|