175 lines
6.5 KiB
TypeScript
175 lines
6.5 KiB
TypeScript
export const core = {
|
|
appName: 'VibeRoom',
|
|
metadata: {
|
|
title: 'VibeRoom - 조용한 집중을 위한 Calm Session OS',
|
|
description:
|
|
'프리랜서와 창작자를 위한 조용한 집중 운영체제. 오늘의 큐, ritual, 주간 리뷰를 통해 더 빨리 시작하고 더 잘 이어가세요.',
|
|
},
|
|
common: {
|
|
close: '닫기',
|
|
cancel: '취소',
|
|
save: '저장',
|
|
delete: '삭제',
|
|
complete: '완료',
|
|
select: '선택',
|
|
hub: '허브로',
|
|
loading: '불러오는 중이에요.',
|
|
default: '기본',
|
|
defaultBackground: '기본 배경',
|
|
admin: '관리자',
|
|
requestFailed: (status: number) => `요청 실패: ${status}`,
|
|
apiRequestFailed: (status: number) => `API 요청 실패: ${status}`,
|
|
},
|
|
landing: {
|
|
nav: {
|
|
features: '기능 소개',
|
|
pricing: '요금제',
|
|
login: '로그인',
|
|
startFree: '무료로 시작하기',
|
|
},
|
|
hero: {
|
|
titleLead: '조용한 집중을 위한,',
|
|
titleAccent: 'VibeRoom',
|
|
description:
|
|
'예쁜 공간보다 중요한 건 오늘 무엇을 할지 고르고, 무너진 뒤에도 다시 돌아오는 흐름입니다. 오늘의 집중 큐, ritual, 주간 리뷰를 한 화면에서 시작하세요.',
|
|
primaryCta: '오늘의 집중 열기',
|
|
secondaryCta: '더 알아보기',
|
|
timerPreview: '45:00 남음',
|
|
},
|
|
features: {
|
|
title: '더 잘 이어가기 위한 집중 장치',
|
|
description: '타이머만 주는 대신, 시작과 복귀를 돕는 운영 흐름을 제공합니다.',
|
|
items: [
|
|
{
|
|
icon: '⏳',
|
|
title: 'Daily Focus Plan',
|
|
description:
|
|
'오늘 해야 할 일을 블록 단위로 쪼개고, 세션 시작 전에 이번 한 조각을 고르게 만듭니다.',
|
|
},
|
|
{
|
|
icon: '🪷',
|
|
title: 'Rituals / Templates',
|
|
description:
|
|
'scene, sound, timer, 알림 강도를 반복 가능한 시작 방식으로 저장해 지치기 전에 바로 진입할 수 있습니다.',
|
|
},
|
|
{
|
|
icon: '🛋️',
|
|
title: 'Weekly Review',
|
|
description:
|
|
'총 집중 시간보다 시작 성공률, 완료율, 중단 후 복귀 패턴을 먼저 보여줘 다음 주의 리듬을 정리합니다.',
|
|
},
|
|
],
|
|
},
|
|
pricing: {
|
|
title: '집중을 이어가는 방식에 맞는 플랜',
|
|
description: 'Free는 기본 시작을, Pro는 Calm Session OS 전체 흐름을 제공합니다.',
|
|
plans: {
|
|
starter: {
|
|
name: 'Free',
|
|
subtitle: '부담 없이 바로 시작하고 싶은 분',
|
|
price: '무료',
|
|
cta: '무료로 시작하기',
|
|
features: ['기본 scene / sound / timer', '오늘의 집중 큐 1개', '저장 ritual 1개', '최근 7일 기본 통계'],
|
|
},
|
|
pro: {
|
|
badge: '추천',
|
|
name: 'Pro',
|
|
subtitle: '더 빨리 시작하고 더 잘 이어가고 싶은 분',
|
|
price: '₩6,900',
|
|
priceSuffix: '/월',
|
|
cta: 'Pro 시작하기',
|
|
features: [
|
|
'다중 focus queue',
|
|
'ritual/template 무제한',
|
|
'주간 review + 고급 session analytics',
|
|
'premium scene / sound packs',
|
|
'비동기 accountability 기능',
|
|
],
|
|
},
|
|
teams: {
|
|
name: 'Teams',
|
|
subtitle: '소규모 크리에이티브 팀용 준비 중',
|
|
price: '준비 중',
|
|
priceSuffix: '',
|
|
cta: '도입 문의하기',
|
|
features: ['Pro 기반 팀 운영 설계', '반복 check-in 운영 지원', '팀 기능은 순차 출시 예정'],
|
|
},
|
|
},
|
|
},
|
|
footer: {
|
|
description:
|
|
'프리랜서와 창작자를 위한 조용한 집중 운영체제입니다. 오늘의 큐, ritual, 주간 리뷰로 더 잘 이어가세요.',
|
|
productTitle: '제품',
|
|
companyTitle: '회사',
|
|
links: {
|
|
features: '기능 소개',
|
|
pricing: '요금제',
|
|
webLogin: '웹앱 로그인',
|
|
about: '소개',
|
|
privacy: '개인정보처리방침',
|
|
terms: '이용약관',
|
|
},
|
|
copyright: '© 2026 VibeRoom. All rights reserved.',
|
|
},
|
|
},
|
|
login: {
|
|
title: '다시 오셨군요!',
|
|
descriptionFirstLine: '비밀번호를 외울 필요 없이,',
|
|
descriptionSecondLine: '사용 중인 계정으로 3초 만에 시작하세요.',
|
|
agreementPrefix: '로그인함으로써 VibeRoom의',
|
|
agreementAnd: '및',
|
|
terms: '이용약관',
|
|
privacy: '개인정보처리방침',
|
|
agreementSuffix: '에 동의하게 됩니다.',
|
|
},
|
|
auth: {
|
|
social: {
|
|
connecting: '연결 중...',
|
|
continueWithGoogle: 'Google로 계속하기',
|
|
continueWithApple: 'Apple로 계속하기',
|
|
continueWithFacebook: 'Facebook으로 계속하기',
|
|
},
|
|
errors: {
|
|
loginFailed: '로그인에 실패했습니다. 다시 시도해 주세요.',
|
|
googleFailed: '구글 로그인에 실패했습니다. 팝업 차단 여부를 확인해 주세요.',
|
|
appleFailed: '애플 로그인 중 오류가 발생했습니다.',
|
|
appleInitFailed: '애플 로그인 초기화 실패',
|
|
facebookFailed: '페이스북 로그인에 실패했습니다.',
|
|
},
|
|
},
|
|
modal: {
|
|
closeAriaLabel: '모달 닫기',
|
|
closeButton: '닫기',
|
|
},
|
|
media: {
|
|
manifestLoadFailed: '미디어 manifest를 불러오지 못했어요.',
|
|
},
|
|
preferences: {
|
|
defaultNotificationIntensity: '기본',
|
|
loadFailed: '설정을 불러오지 못했어요.',
|
|
saveFailed: '설정을 저장하지 못했어요.',
|
|
saved: '저장됨',
|
|
saveFailedLabel: '저장 실패',
|
|
},
|
|
focusSession: {
|
|
syncFailed: '세션 엔진과 동기화하지 못했어요.',
|
|
startFailed: '세션을 시작하지 못했어요.',
|
|
pauseFailed: '세션을 일시정지하지 못했어요.',
|
|
resumeFailed: '세션을 다시 시작하지 못했어요.',
|
|
restartPhaseFailed: '현재 페이즈를 다시 시작하지 못했어요.',
|
|
intentUpdateFailed: '현재 세션의 방향을 저장하지 못했어요.',
|
|
completeFailed: '세션을 완료 처리하지 못했어요.',
|
|
abandonFailed: '세션을 종료하지 못했어요.',
|
|
},
|
|
soundPlayback: {
|
|
loadFailed: '사운드 파일을 불러오지 못했어요.',
|
|
browserDeferred: '브라우저가 사운드 재생을 보류했어요.',
|
|
},
|
|
restart30s: {
|
|
button: '숨 고르기 30초',
|
|
mode: 'BREATHE',
|
|
toast: '잠깐 숨 고르고, 다시 천천히 시작해요.',
|
|
complete: '준비됐어요. 집중으로 돌아가요.',
|
|
},
|
|
} as const;
|