diff --git a/crabfit-frontend/public/i18n/en-US/common.json b/crabfit-frontend/public/i18n/en-US/common.json index c72a679..22bfe06 100644 --- a/crabfit-frontend/public/i18n/en-US/common.json +++ b/crabfit-frontend/public/i18n/en-US/common.json @@ -2,7 +2,7 @@ "name": "Crab Fit", "tagline": "Create your own", "cta": "Create your own Crab Fit!", - "created": "Created", + "created": "Created {{date}}", "donate": { "info": "Thank you for using Crab Fit. If you like it, consider donating.", "button": "Donate", @@ -55,8 +55,7 @@ "label": "Language", "options": { "en-US": "English (US)", - "de": "German", - "cimode": "Dev (keys)" + "ko": "Korean" } } } diff --git a/crabfit-frontend/public/i18n/ko/common.json b/crabfit-frontend/public/i18n/ko/common.json new file mode 100644 index 0000000..d785643 --- /dev/null +++ b/crabfit-frontend/public/i18n/ko/common.json @@ -0,0 +1,62 @@ +{ + "name": "Crab Fit", + "tagline": "직접 만들어 봐", + "cta": "나만의 Crab Fit을 만드세요!", + "created": "{{date}} 생성됨", + "donate": { + "info": "Crab Fit을 이용해 주셔서 감사합니다. 마음에 들면 기부를 고려하십시오.", + "button": "기부하다", + "title": "모든 금액이 차이를 만듭니다", + "options": { + "$2": "$ 2 기부", + "$5": "$ 5 기부", + "$10": "$ 10 기부", + "choose": "금액을 선택하세요" + }, + "messages": { + "about": "Crab Fit이 한 달에 $ 100 이상이라는 사실을 알고 계셨습니까? 도움이 되었으면 계속해서 운영 할 수 있도록 기부하는 것을 고려하십시오. 🦀", + "success": "기부 해 주셔서 감사합니다! 당신이 없었다면 Crab Fit은 무료가 될 수 없으니 감사하고 계속해서 최고가 되세요!", + "error": "Google을 통해 기부 할 수 없습니다. 웹 사이트 crab.fit을 통해 기부 해주세요 🦀" + } + }, + "options": { + "name": "옵션", + "weekStart": { + "label": "주 시작", + "options": { + "Sunday": "일요일", + "Monday": "월요일" + } + }, + "timeFormat": { + "label": "시간 형식", + "options": { + "12h": "12 시간", + "24h": "24 시간" + } + }, + "theme": { + "label": "색조", + "options": { + "System": "계통", + "Light": "연한", + "Dark": "짙은" + } + }, + "highlight": { + "label": "고 가용성 강조", + "title": "히트 맵에서 가장 높은 가용성을 돋보이게합니다.", + "options": { + "Off": "꺼진", + "On": "켜진" + } + }, + "language": { + "label": "언어", + "options": { + "en-US": "영어 (미국)", + "ko": "한국어" + } + } + } +} diff --git a/crabfit-frontend/public/i18n/ko/event.json b/crabfit-frontend/public/i18n/ko/event.json new file mode 100644 index 0000000..05751a6 --- /dev/null +++ b/crabfit-frontend/public/i18n/ko/event.json @@ -0,0 +1,63 @@ +{ + "available": "가능", + + "nav": { + "title": "클릭하여 클립 보드에 복사", + "copied": "클립 보드에 복사되었습니다!", + "shareinfo": "이 페이지에 대한 링크를 복사하거나 <1>이메일을 통해 공유하세요.", + "shareinfo_alt": "위의 링크를 클릭하여 클립 보드에 복사하거나 <1>이메일로 공유하세요.", + "email_subject": "일정 {{event_name}}", + "email_body": "당신의 이용 가능성을 입력하려면이 링크를 방문하십시오 :" + }, + "form": { + "signed_out": "당신의 가용성을 추가하려면 로그인", + "signed_in": "{{name}} 으로 로그인되었습니다.", + + "name": "당신의 이름", + "password": "비밀번호 (선택 사항)", + "button": "로그인", + "info": "이러한 세부 정보는이 이벤트에 한정됩니다. 다른 사람이 귀하의 가용성을 변경하지 못하도록 암호를 사용하십시오.", + + "timezone": "시간대", + + "errors": { + "password_incorrect": "비밀번호가 맞지 않습니다. 당신의 이름이 바로 철자 확인하십시오.", + "unknown": "로그인 실패. 다시 시도하십시오." + }, + + "created_in_timezone": "이 이벤트는 {{timezone}} 시간대로 생성되었습니다. 그것을 사용하려면 <3>여기를 클릭하십시오.", + "local_timezone": "현지 시간대가 {{timezone}} 감지되었습니다. 그것을 사용하려면 <3>여기를 클릭하십시오." + }, + "offline": { + "title": "너는 지금 접속이 안되있어", + "body": "Crab Fit은 오프라인에서 작동하지 않습니다.
인터넷에 연결되어 있는지 확인하고 다시 시도하세요." + }, + "error": { + "title": "이벤트를 찾을 수 없습니다", + "body": "입력 한 URL이 올바른지 확인하십시오." + }, + + "tabs": { + "you": "귀하의 가용성", + "you_tooltip": "가용성을 설정하려면 로그인하십시오.", + "group": "그룹 가용성" + }, + + "group": { + "legend_tooltip": "가장 높은 가용성을 강조하려면 클릭하십시오", + "info1": "누가 무료인지 확인하려면 아래 캘린더를 가리 키거나 탭하세요", + "info2": "사람들을 개별적으로 보려면 아래 이름을 클릭하십시오" + }, + + "you": { + "info": "사용 가능 여부를 설정하려면 아래 캘린더를 클릭하고 드래그하세요", + "google_cal": { + "login": "Google 캘린더와 동기화", + "logout": "로그 아웃", + "select_all": "모두 선택", + "select_none": "모두 선택 해제", + "info": "가져 오면 현재 사용 가능 여부를 덮어 씁니다", + "button": "가용성 가져 오기" + } + } +} diff --git a/crabfit-frontend/public/i18n/ko/help.json b/crabfit-frontend/public/i18n/ko/help.json new file mode 100644 index 0000000..2f7a221 --- /dev/null +++ b/crabfit-frontend/public/i18n/ko/help.json @@ -0,0 +1,23 @@ +{ + "name": "Crab Fit 방법", + + "p1": "게 맞춤이 친구 나 동료와 이벤트를 계획 할 때 당신을 도와주는 도구이다. 이벤트를 만들고, 사용 가능 여부를 입력하고, 보내고, 모든 사람이 언제 무료인지 확인하기 만하면됩니다!", + "p2": "방법에 대한 자세한 단계는 아래를 참조하십시오.", + + "s1": "1 단계", + + "p3": "<1>crab.fit의 양식을 사용하여 새 이벤트를 만드세요. 여기서 이벤트가 발생하는 대략적인 기간 만 입력하면됩니다.", + "p4": "예를 들어 \"Jenny의 생일 점심을\" 사용합니다. Jenny는 4 월 15 일 생일과 같은 주에 생일 점심 식사를하기를 원하지만 모든 친구가 15 일에 참석할 수있는 것은 아니라는 것을 알고 있습니다. 그녀는 또한 주말에하고 싶지 않습니다.", + "p5": "Jenny는 점심 행사이기 때문에 오전 11시 이전에 시작하거나 오후 5시 이후에 갈 수 없다는 것도 알고 있습니다.", + + "s2": "2 단계", + + "p6": "방금 만든 이벤트에 대한 가용성을 입력하십시오.", + "p7": "이 예에서 Jenny는 이제 생일 점심에 사용할 수있는 시간을 입력합니다. Jenny는 화요일과 수요일 오후 3시 이후와 금요일 오후 1시 이전을 제외하고 일주일 내내 무료입니다.", + + "s3": "3 단계", + + "p8": "오고 싶은 모든 사람에게 링크를 보냅니다.", + "p9": "Jenny가 친구에게 링크를 전송하고 그들이 사용 가능 여부를 입력 할 때까지 기다린 후 Jenny는 아래 히트 맵에서 모두를보고 모두에게 적합한 시간 동안 가장 어두운 영역을 선택할 수 있습니다!", + "p10": "이 예에서, 금요일 16 일 오후 3시에서 오후 1시까지 모든 제니의 친구를 위해 작동합니다." +} diff --git a/crabfit-frontend/public/i18n/ko/home.json b/crabfit-frontend/public/i18n/ko/home.json new file mode 100644 index 0000000..82016f4 --- /dev/null +++ b/crabfit-frontend/public/i18n/ko/home.json @@ -0,0 +1,57 @@ +{ + "create": "만들기", + "recently_visited": "최근 방문", + "nav": { + "about": "정보", + "donate": "기부하다" + }, + "form": { + "name": { + "label": "이벤트 이름을 지정하세요!", + "sublabel": "또는 공백으로 두어 생성하십시오" + }, + "dates": { + "label": "어떤 날짜를 작동 할 수 있습니다?", + "sublabel": "클릭하고 드래그하여 선택", + "options": { + "specific": "특정 날짜", + "week": "요일" + }, + "tooltips": { + "previous": "지난 달", + "next": "다음 달", + "today": "오늘" + } + }, + "times": { + "label": "어느 시간이 효과가 있습니까?", + "sublabel": "시간 범위를 선택하려면 클릭하고 드래그하세요" + }, + "timezone": { + "label": "시간대", + "defaultOption": "고르다..." + }, + + "button": "창조하다", + "errors": { + "no_dates": "선택한 모든 날짜가 없습니다", + "same_times": "시작 시간과 종료 시간은 같을 수 없습니다", + "no_time": "선택한 시간이 없습니다", + "unknown": "문제가 발생했습니다. 나중에 다시 시도 해주십시오." + } + }, + "offline": "인터넷에 연결되어 있지 않으면 Crab Fit을 만들 수 없습니다. 당신이 연결되어 있는지 확인하십시오.", + + "about": { + "name": "Crab Fit 정보", + "events": "생성 된 이벤트 수", + "availabilities": "입력 된 가용성 수", + "content": { + "p1": "Crab Fit은 모든 사람의 일정에 맞춰 이벤트를 조정할 수 있도록 도와줍니다. 위에서 이벤트를 만들고 참여하는 모든 사람에게 링크를 보내십시오. 결과가 실시간으로 업데이트되고 모든 사람이 가용성의 히트 맵을 볼 수 있습니다.<1/><2>Crab Fit 방법.", + "p2": "많이 만드시겠습니까? 브라우저 용 <1>Chrome 확장 프로그램 또는 <3>Firefox 확장 프로그램을 받으세요! <5>Android 앱을 다운로드하여 이동 중에 Crab Fit을 사용할 수도 있습니다.", + "p3": "<1>Ben Grant가 만든 Crab Fit은 그룹 이벤트 계획 토론에 대한 현대적인 솔루션입니다.", + "p4": "Crab Fit의 코드는 오픈 소스이므로 문제를 발견하거나 기여하고 싶다면 <1>저장소를 방문 할 수 있습니다. Crab Fit을 사용하면 <3>개인 정보 보호 정책에 동의하게됩니다.", + "p5": "Crab Fit을 실행하는 데 월 $ 100 이상이 듭니다. 모든 사람이 무료로 사용할 수 있도록 아래 기부를 고려하세요. 🦀" + } + } +} diff --git a/crabfit-frontend/public/i18n/ko/privacy.json b/crabfit-frontend/public/i18n/ko/privacy.json new file mode 100644 index 0000000..dd14d07 --- /dev/null +++ b/crabfit-frontend/public/i18n/ko/privacy.json @@ -0,0 +1,3 @@ +{ + "name": "개인 정보 보호 정책에" +} diff --git a/crabfit-frontend/src/components/Recents/Recents.tsx b/crabfit-frontend/src/components/Recents/Recents.tsx index 70a27bb..72b44a7 100644 --- a/crabfit-frontend/src/components/Recents/Recents.tsx +++ b/crabfit-frontend/src/components/Recents/Recents.tsx @@ -19,7 +19,7 @@ const Recents = () => { {recents.map(event => ( {event.name} - {t('common:created')} {dayjs.unix(event.created).fromNow()} + {t('common:created', { date: dayjs.unix(event.created).fromNow() })} ))} diff --git a/crabfit-frontend/src/pages/Create/Create.tsx b/crabfit-frontend/src/pages/Create/Create.tsx index 1c03d86..fc8083e 100644 --- a/crabfit-frontend/src/pages/Create/Create.tsx +++ b/crabfit-frontend/src/pages/Create/Create.tsx @@ -147,7 +147,7 @@ const Create = ({ offline }) => { {createdEvent ? ( -

{t('common:created')} {createdEvent?.name}

+

{t('common:created', { date: createdEvent?.name })}

navigator.clipboard?.writeText(`https://crab.fit/${createdEvent.id}`) .then(() => { diff --git a/crabfit-frontend/src/pages/Event/Event.tsx b/crabfit-frontend/src/pages/Event/Event.tsx index 965ac57..30b27a6 100644 --- a/crabfit-frontend/src/pages/Event/Event.tsx +++ b/crabfit-frontend/src/pages/Event/Event.tsx @@ -289,7 +289,7 @@ const Event = (props) => { {(!!event || isLoading) ? ( <> {event?.name} - {event?.created && `${t('common:created')} ${dayjs.unix(event?.created).fromNow()}`} + {event?.created && t('common:created', { date: dayjs.unix(event?.created).fromNow() })} navigator.clipboard?.writeText(`https://crab.fit/${id}`) .then(() => {