287 lines
8.4 KiB
TypeScript
287 lines
8.4 KiB
TypeScript
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<AppLocale, EditorButtonPanelMessages> = {
|
|
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 (px)",
|
|
paddingYLabel: "Vertical padding (px)",
|
|
|
|
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: "가로 패딩 (px)",
|
|
paddingYLabel: "세로 패딩 (px)",
|
|
|
|
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];
|
|
}
|