diff --git a/.gitignore b/.gitignore index 8803bd6..ad2257d 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,6 @@ java/Main.java **/package-lock.json **/package.json **/tsconfig.json -node_modules/ \ No newline at end of file +node_modules/ +# Xcode 사용자별 IDE 상태 (커밋 불필요) +**/xcuserdata/ diff --git a/myApp/HaruDanim/CLAUDE.md b/myApp/HaruDanim/CLAUDE.md index de76d26..3333e71 100644 --- a/myApp/HaruDanim/CLAUDE.md +++ b/myApp/HaruDanim/CLAUDE.md @@ -15,7 +15,7 @@ | 기본 언어 | 한국어 (설정에서 영어 / 일본어 전환 가능) | | 핵심 콘셉트 | 시간 추적형 타임 트래커 + 습관 카운터/스트릭 관리를 하나로 합친 앱. 행동을 버튼 한 번으로 기록하고, 그 기록들이 모여 목표 달성률로 이어지는 구조 | | 수익 모델 | 부분 유료화 (무료 사용 + 프리미엄 결제 시 제한 해제 및 확장 기능) | - +| 결제 형태 | 월구독, 년구독, 일회성 결제이며 확정된 가격은 아니고 임시 가격으로는 월 구독은 월 5000원, 년 구독은 월 50000원, 일회성 결제는 80000원 이다. 금액은 추후 수정될 예정 | --- ## 2. 개발 환경 및 기술 스택 @@ -198,7 +198,7 @@ ### 7.2 프리미엄 결제 시 - 위 개수 제한 **전부 해제 (무제한)** - **홈 화면 및 잠금화면 위젯** 사용 가능 -- **아이패드 앱과의 데이터 동기화** (iCloud) +- **아이패드, 맥북 앱과의 데이터 동기화** (iCloud) - **애플워치 앱** + 워치 페이스 **컴플리케이션** 사용 가능 --- @@ -211,28 +211,36 @@ 2. 라이트 고정 / 다크 고정 3. **리퀴드 글라스(Liquid Glass) 스타일** — 유리 질감 배경 위에서 잘 보이도록 별도 디자인 변형 필요 -### 8.2 행동 실행 위젯 (홈 화면) +### 8.2 행동 실행 및 표기 위젯 (홈 화면) | 크기 | 구성 | |---|---| -| 소형 A | 행동 **1개**의 실행 버튼. 시간 추적형은 탭으로 시작/종료 토글 + 누적 시간 표시, 횟수 추적형은 누적 횟수 표시. **표시 기간을 옵션에서 선택: 오늘 / 이번 주 / 이번 달** | -| 소형 B | 소형 A를 축소·간소화한 셀을 2×2로 배치 → **행동 4개** | -| 중형 A | 소형 A 스타일 셀 **3개** | -| 중형 B | 소형 B 스타일 셀 **8개** | -| 대형 | 중형 기준으로 동일한 방식으로 확장 (중형 A 확장형 / 중형 B 확장형) | +| 소형 A | 행동 **1개**의 실행 버튼. 시간 추적형은 탭으로 시작/종료 토글 + 누적 시간 표시, 횟수 추적형은 누적 횟수 표시. **표시 기간을 옵션에서 선택: 오늘 / 이번 주 / 이번 달**. 위젯에 기간도 표기되어야함.| +| 소형 B | 특정 목표1개의 하루, 주간, 월별 진행률을 표시. 가로 형태의 진행바 사용.| +| 소형 C | 특정 목표의 특정 다짐 **1개**를 골라서 소형 A와 동일한 기능을 하도록. 이때 소형 A와 다르게 누적 값을 표기하는게 아닌 진행률을 원형 진행바를 활용해서 표현(진행율을 하루일지, 주간일지, 월간일지 옵션 선택)| +| 소형 D | 특정 목표의 다짐을 4개까지 가운데에 아이콘이 있고 그것을 원형 진행바가 감싸는 형태의 객체를 2 * 2 형태로 배치하고 최상단에 목표 이름이 적혀지게 한 위젯. 추가적인 기능은 없음 | +| 중형 A | 소형 A 스타일 셀 **3개**, Interactive Widgets 기능으로 3개 영역으로 나뉜(각 영역 명확히 구분되게) 영역별로 누르면 각 실행버튼의 실행동작을 수행.| +| 중형 B | 소형 B 스타일 셀 **2개** | +| 중형 C | 소형 C 스타일 셀 **2개**, Interactive Widgets 기능으로 3개 영역으로 나뉜(각 영역 명확히 구분되게) 영역별로 누르면 각 실행버튼의 실행동작을 수행.| +| 중형 D | 소형 D 스타일인데 각 객체를 좀 더 크게 해서 1 * 4 형태로 나열, 혹 4개 이상일 경우 2줄로 객체 크기를 줄여서 최대 8개까지 표시 | +| 대형 A | 소형 A 스타일 셀 **4개**(2 by 2) | +| 대형 B | 소형 B 스타일 셀 **4개** | +| 대형 C | 소형 C 스타일 셀 **4개** | +| 대형 D | 중형 D 스타일 셀 **2개** 목표 2개를 중형 B 형태로 해서 2줄로 하거나 혹은 목표 1개에 대해 다짐을 크게 8개 혹은 작게 16개까지 표기 가능하도록| -### 8.3 목표/다짐 통계 위젯 (홈 화면) -- 옵션에서 **어떤 목표를 표시할지 선택** 가능. **목표 전체** 또는 **그 목표의 특정 다짐만** 표시하는 것도 가능 -- 진행 정보는 **하루 / 주간 / 월간 진행률** 등으로 표기 +### 8.3 통계 위젯 (홈 화면) +- 옵션에서 어떤 행동의 통계를 보여줄지 선택(일주일 통계(가로축이 하루하루인 그래프), 한달 통계(가로축이 각 주인 그래프, 혹은 하루하루인 그래프)) +- 선택한 행동의 누적값 꺾은선 그래프를 위젯으로 보여줌. | 크기 | 구성 | |---|---| -| 소형 | 목표 1개의 달성률/통계 | -| 중형 | ① 목표 1개를 소형보다 상세하게, 또는 ② 목표 2개를 소형처럼 간단하게 | -| 대형 | ① 목표 2개를 중형 수준으로 상세하게, 또는 ② 목표 4개를 간단하게 | +| 소형 | 선택한 행동들의 통계그래프(앱의 통계탭에 있는 꺾은선 그래프처럼 여러 행동들 각각 다르게 해서 같은 그래프에 그려지게)(이때 한달 통계의 경우 가로축이 하루하루인 그래프는 제외)| +| 중형 | 소형과 동일한데 사이즈를 더 키워서, 그리고 한달 통계를 선택했을 경우 가로축이 하루하루인 그래프 선택 가능)| +| 대형 | 중형에서 사이즈를 더 키운 형태 | ### 8.4 잠금화면 위젯 - **소형(1칸) 위주로 최소한만** 구성 - 종류: 특정 목표 1개의 달성률 / 해당 목표에 속한 다짐들의 달성 여부 표시 등 간단한 정보 위주 +- 점박이로 표기하거나 혹은 원형 진행바 사용하거나 아니면 단순하게 숫자만 적혀져있게 하던가 등등 간단하면서도 다양한 옵션 제공 --- @@ -249,32 +257,18 @@ - 표시 기준은 다이나믹 아일랜드/잠금화면과 **동일한 설정을 따름** (여러 개면 설정된 기준의 대표 1개 + 추가 실행 개수 별도 표시, 추가 개수가 없으면 개수 표시 생략) - 실행 중인 것이 없으면 "실행 중 아님" 상태로 표시 2. **목표 달성률 컴플리케이션** - - 지정한 특정 목표의 달성률 표시 - - **"넘기면 안 되는" 목표**(시간/횟수 상한형)의 경우 일반 달성형과 **다른 시각 표현** 사용 (예: 한도 대비 사용량으로 표시) + - 지정한 특정 목표의 달성률 표시(이떄 하루 달성일지 주간 달성일지 월간 달성일지 선택가능) +3. **다짐 달성률 컴플리케이션** + - 특정 목표의 특정 다짐 1개만의 하루 혹은 주간, 혹은 월간 달성 정보 표기(크기에 따라서 3개 모두 표기하는 컴플리케이션도 추가) + - **"넘기면 안 되는" 다짐**(시간/횟수 상한형)의 경우 일반 달성형과 **다른 시각 표현** 사용 (예: 한도 대비 사용량으로 표시) --- -## 10. 데이터 모델 (SwiftData 설계 제안) +## 10. 시리 단축어 (프리미엄) -> 사용자가 기술한 기능을 구현하기 위한 권장 모델 구조. 세부 필드는 구현 시 조정 가능. - -- **Tag**: id, 이름, 색상, 생성일 -- **Action**: id, 이름, SF Symbol 이름, 추적방식(`time` | `count`), 태그들(다대다), 메인 화면 정렬 순서 -- **TimeSession** (시간 기록): id, action 참조, 시작 시각, 종료 시각(진행 중이면 nil) -- **CountEntry** (횟수 기록): id, action 참조, 기록 시각, 수량(기본 1) -- **Goal**: id, 내용 텍스트, 아이콘, 색, 시작일, 종료일(옵션), 상태(`진행중` | `달성` | `미달성` | `확인필요`) -- **Quest**: id, goal 참조, 대상(행동 또는 태그), 주기 유형(일/주/월/기간), 주기 상세(요일 배열, 날짜 배열, 몇째주+요일 등), 목표값(시간 또는 횟수), 방향(`이상` | `이하`) -- **AppSettings**: 테마, 언어, 주 시작 요일, 하루 시작 시간, Live Activity 대표 시간 기준, 프리미엄 여부 - ---- - -## 11. 문서에서 확정한 기본값 (원문에 명시되지 않아 합리적으로 정한 것) - -| 항목 | 확정값 | 근거 | -|---|---|---| -| 하루 시작 시간 기본값 | 00:00 | 설정에서 변경 가능하므로 표준값으로 시작 | -| 주 시작 요일 기본값 | 월요일 | 한국 사용 관행, 설정에서 변경 가능 | -| 다이나믹 아일랜드 대표 시간 기본값 | 가장 나중에 시작한 행동 | 워치 컴플리케이션 설명에서 "여러 개면 가장 나중 것"이라 언급된 것에 맞춤 | -| 하루 경계 걸침 세션 처리 | 저장은 1개 세션, 집계 시 경계 기준 분할 | 원문 데이터 보존 + 일간 통계 정확성 양립 | -| 테마 컬러 값 | §5.2의 제안 팔레트 | "흔하지 않은 초록/노랑" 요구 반영, 조정 가능 | -| 동시 추적 개수 | 제한 없음 | 원문에 제한 언급 없음 | +### 10.1 단축어 앱에서 동작 가능한 기능 나열 +- 특정 목표의 하루/주간/월간 진행률 데이터 가져오기 +- 특정 목표에 소속된 다짐의 하루/주간/월간 진행률 데이터 가져오기 +- 특정 행동의 하루/주간/월간 누적값 데이터 가져오기 +- 시간 측정 타입 행동 시작하기, 종료하기 +- 횟수 측정 타입 행동의 횟수 바로 추가하기 \ No newline at end of file diff --git a/myApp/HaruDanim/Haru_Danim.xcodeproj/project.xcworkspace/xcuserdata/ceuak.xcuserdatad/UserInterfaceState.xcuserstate b/myApp/HaruDanim/Haru_Danim.xcodeproj/project.xcworkspace/xcuserdata/ceuak.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index f326933..0000000 Binary files a/myApp/HaruDanim/Haru_Danim.xcodeproj/project.xcworkspace/xcuserdata/ceuak.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/myApp/HaruDanim/Haru_Danim.xcodeproj/xcuserdata/ceuak.xcuserdatad/xcschemes/xcschememanagement.plist b/myApp/HaruDanim/Haru_Danim.xcodeproj/xcuserdata/ceuak.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 2b7630d..0000000 --- a/myApp/HaruDanim/Haru_Danim.xcodeproj/xcuserdata/ceuak.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,19 +0,0 @@ - - - - - SchemeUserState - - Haru_Danim.xcscheme_^#shared#^_ - - orderHint - 0 - - Haru_DanimWidgets.xcscheme_^#shared#^_ - - orderHint - 0 - - - - diff --git a/myApp/HaruDanim/IOS/Localizable.xcstrings b/myApp/HaruDanim/IOS/Localizable.xcstrings index dd96b52..e9b44ff 100644 --- a/myApp/HaruDanim/IOS/Localizable.xcstrings +++ b/myApp/HaruDanim/IOS/Localizable.xcstrings @@ -1,6 +1,29 @@ { "sourceLanguage" : "ko", "strings" : { + "" : { + + }, + "'%@ · %@' %@ 진행률: %@" : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@ · %2$@' %3$@ 진행률: %4$@" + } + } + } + }, + "'%@' %@ 진행률은 %lld%%예요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@' %2$@ 진행률은 %3$lld%%예요." + } + } + } + }, "‘%@’ 꼬리표를 삭제할까요? 행동은 삭제되지 않아요." : { }, @@ -9,9 +32,31 @@ }, "‘%@’ 목표를 삭제할까요? 다짐도 함께 삭제됩니다." : { + }, + "'%@' 목표에는 아직 다짐이 없어요." : { + }, "‘%@’ 행동을 삭제할까요? 기록도 함께 삭제됩니다." : { + }, + "'%@'은(는) 시간 측정 행동이에요. 측정 시작/종료를 사용해 주세요." : { + + }, + "'%@'은(는) 횟수 기록 행동이에요. 횟수 추가를 사용해 주세요." : { + + }, + "%@" : { + + }, + "%@ · %@" : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ · %2$@" + } + } + } }, "%@ · %@ %@" : { "localizations" : { @@ -23,6 +68,56 @@ } } }, + "%@ %@" : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$@" + } + } + } + }, + "%@ %@ 누적 시간은 %@이에요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$@ 누적 시간은 %3$@이에요." + } + } + } + }, + "%@ %@ 누적 횟수는 %lld회예요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$@ 누적 횟수는 %3$lld회예요." + } + } + } + }, + "%@ %lld회" : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld회" + } + } + } + }, + "%@ %lld회 추가했어요. 오늘 총 %lld회예요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld회 추가했어요. 오늘 총 %3$lld회예요." + } + } + } + }, "%@ ~ %@" : { "localizations" : { "ko" : { @@ -41,9 +136,31 @@ }, "%@ 측정 완료" : { + }, + "%@ 측정을 시작했어요." : { + + }, + "%@ 측정을 종료했어요. %@ 기록했어요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ 측정을 종료했어요. %2$@ 기록했어요." + } + } + } + }, + "%@ 측정을 종료했어요. 너무 짧은 기록이라 저장하지 않았어요." : { + }, "%@요일" : { + }, + "%@은(는) 이미 측정 중이에요." : { + + }, + "%@은(는) 측정 중이 아니에요." : { + }, "%lld" : { @@ -57,6 +174,9 @@ } } } + }, + "%lld%%" : { + }, "%lld개" : { @@ -91,7 +211,10 @@ "③ 목표량과 방향" : { }, - "iCloud 동기화는 준비 중이에요." : { + "iCloud로 아이패드 등 다른 기기와 데이터가 동기화돼요. 변경 사항은 앱을 완전히 종료했다가 다시 실행하면 적용돼요." : { + + }, + "값" : { }, "건너뛰기" : { @@ -99,6 +222,9 @@ }, "결제 기능은 App Store 배포 준비와 함께 제공될 예정이에요." : { + }, + "그래프로 보여줄 행동과 기간을 선택하세요." : { + }, "기간" : { @@ -195,21 +321,72 @@ }, "다짐 %lld개" : { + }, + "다짐 1" : { + + }, + "다짐 2" : { + + }, + "다짐 3" : { + + }, + "다짐 4" : { + }, "다짐 수정" : { + }, + "다짐 점 표시" : { + + }, + "다짐 진행률" : { + + }, + "다짐 진행률 가져오기" : { + + }, + "다짐 진행률 위젯" : { + }, "다짐 추가" : { + }, + "다짐 현황" : { + + }, + "다짐 현황 위젯" : { + + }, + "다짐들의 진행률 링을 표시할 목표와 기간을 선택하세요." : { + + }, + "다짐을 찾을 수 없어요. 앱에서 삭제됐을 수 있어요." : { + + }, + "다짐의 진행률을 원형 링으로 보고, 눌러서 바로 실행해요. (프리미엄)" : { + + }, + "다짐의 하루/주간/월간 진행률(%)을 가져와요." : { + }, "다짐이 없는 목표예요. 달성했나요?" : { + }, + "다짐이 없어요" : { + }, "다크" : { }, "닫기" : { + }, + "달성률 기간" : { + + }, + "달성하거나 종료한 목표가 여기에 모여요." : { + }, "달성하지 못했어요" : { @@ -275,9 +452,27 @@ }, "목표" : { + }, + "목표 1" : { + + }, + "목표 2" : { + + }, + "목표 2 (대형 전용)" : { + + }, + "목표 3" : { + + }, + "목표 4" : { + }, "목표 내용" : { + }, + "목표 달성률 (잠금화면)" : { + }, "목표 삭제" : { @@ -287,9 +482,21 @@ }, "목표 수정" : { + }, + "목표 없음" : { + }, "목표 진행 현황" : { + }, + "목표 진행률" : { + + }, + "목표 진행률 가져오기" : { + + }, + "목표 진행률 위젯" : { + }, "목표 추가" : { @@ -303,10 +510,19 @@ "목표 횟수" : { }, - "목표가 없어요" : { + "목표를 지금 종료할까요?" : { }, - "목표를 지금 종료할까요?" : { + "목표를 찾을 수 없어요. 앱에서 삭제됐을 수 있어요." : { + + }, + "목표에 속한 다짐들의 진행률을 원형 링으로 한눈에 봐요. (프리미엄)" : { + + }, + "목표의 하루·주간·월간 진행률을 진행바로 확인해요. (프리미엄)" : { + + }, + "목표의 하루/주간/월간 진행률(%)을 가져와요. 소속 다짐들의 진행률 평균이에요." : { }, "무료 버전에서는 목표당 다짐을 최대 %lld개까지 만들 수 있어요." : { @@ -369,6 +585,9 @@ }, "새 꼬리표 만들기" : { + }, + "새 목표를 세우거나, 아래에서 완료된 목표를 확인해 보세요." : { + }, "색" : { @@ -381,6 +600,9 @@ }, "선택한 탭(최대 %lld개)이 하단 탭바에 바로 표시되고, 나머지 탭은 ‘더보기’에서 열 수 있어요." : { + }, + "선택한 행동들의 통계 꺾은선 그래프를 확인해요. (프리미엄)" : { + }, "설정" : { @@ -396,6 +618,9 @@ }, "순서" : { + }, + "숫자만" : { + }, "시각" : { @@ -414,9 +639,24 @@ }, "시간 기록이 없어요" : { + }, + "시간 측정 시작" : { + + }, + "시간 측정 종료" : { + + }, + "시간 측정 행동은 시작/종료를 전환하고, 횟수 기록 행동은 횟수를 1 추가해요." : { + + }, + "시간 측정 행동의 측정을 시작해요." : { + }, "시간(h)" : { + }, + "시리 단축어는 프리미엄 기능이에요. 하루 다님 앱의 설정 → 프리미엄에서 잠금 해제해 주세요." : { + }, "시작" : { @@ -444,6 +684,24 @@ }, "아직 등록된 행동이 없어요" : { + }, + "앱에서 행동을 만들고 기록하면 그래프가 표시돼요." : { + + }, + "앱에서 행동을 만들면 여기서 실행할 수 있어요." : { + + }, + "앱의 목표 탭에서 다짐을 만들면 진행률이 표시돼요." : { + + }, + "앱의 목표 탭에서 목표를 만들면 진행률이 표시돼요." : { + + }, + "앱의 목표 탭에서 목표와 다짐을 만들어 보세요." : { + + }, + "앱의 설정 → 프리미엄에서\n잠금 해제해 주세요" : { + }, "언어" : { @@ -465,12 +723,30 @@ }, "오른쪽 위 + 버튼으로 행동을 추가하세요." : { + }, + "오른쪽 핸들을 끌어서 순서를 바꾼 뒤 ‘완료’를 누르세요. 순서는 저장되어 유지돼요." : { + }, "완료" : { + }, + "완료된 목표" : { + + }, + "완료된 목표 보기" : { + + }, + "완료된 목표가 없어요" : { + }, "요일" : { + }, + "원형 게이지" : { + + }, + "원형 진행률로 표시할 다짐과 기간을 선택하세요." : { + }, "이 기록에 대한 메모 (선택)" : { @@ -483,12 +759,30 @@ }, "이번 기록에 대한 메모 (선택)" : { + }, + "이번 달" : { + + }, + "이번 주" : { + }, "이번 측정에 대한 메모 (선택)" : { }, "일주일" : { + }, + "일주일 (하루 단위)" : { + + }, + "잠금화면 목표 위젯" : { + + }, + "잠금화면에 표시할 목표와 기간, 표시 방식을 선택하세요." : { + + }, + "잠금화면에서 목표 달성률과 다짐 현황을 확인해요. (프리미엄)" : { + }, "저장" : { @@ -552,6 +846,12 @@ }, "진행 중" : { + }, + "진행 중인 목표가 없어요" : { + + }, + "진행률 기간" : { + }, "짧은 기록 무시" : { @@ -573,6 +873,15 @@ }, "측정 기준" : { + }, + "측정 시작" : { + + }, + "측정 종료" : { + + }, + "측정 중인 행동의 시간 측정을 종료해요." : { + }, "켜면 시간 측정을 종료할 때 메모 창이 떠요. 건너뛸 수 있어요." : { @@ -591,18 +900,33 @@ }, "통계" : { + }, + "통계 기간" : { + }, "통계 보기" : { + }, + "통계 위젯" : { + }, "특정 시각 지정" : { + }, + "표시 기간" : { + }, "표시 방식" : { + }, + "표시 방식 (원형 크기)" : { + }, "표시할 기록이 없어요" : { + }, + "표시할 행동과 누적 기간을 선택하세요." : { + }, "프리미엄" : { @@ -618,6 +942,12 @@ }, "하루" : { + }, + "하루 다님 · 목표 없음" : { + + }, + "하루 다님 · 프리미엄 기능" : { + }, "하루 시작 시간" : { @@ -627,6 +957,9 @@ }, "하루 평균" : { + }, + "하루·주간·월간 진행률을 표시할 목표를 선택하세요." : { + }, "하루다님" : { "comment" : "앱 이름", @@ -644,6 +977,12 @@ } } } + }, + "한 달 (주 단위)" : { + + }, + "한 달 (하루 단위, 중형 이상)" : { + }, "한 줄에 표시할 개수" : { @@ -666,6 +1005,21 @@ }, "행동 %lld개" : { + }, + "행동 1" : { + + }, + "행동 2" : { + + }, + "행동 3" : { + + }, + "행동 4" : { + + }, + "행동 누적값 가져오기" : { + }, "행동 버튼의 색은 지정한 꼬리표의 색을 따라요." : { @@ -678,6 +1032,12 @@ }, "행동 수정" : { + }, + "행동 실행" : { + + }, + "행동 실행 위젯" : { + }, "행동 이름 (예: 독서)" : { @@ -687,6 +1047,18 @@ }, "행동 탭에서 추적할 행동을 추가해 보세요." : { + }, + "행동 통계" : { + + }, + "행동을 위젯에서 바로 실행하고 누적값을 확인해요. (프리미엄)" : { + + }, + "행동을 찾을 수 없어요. 앱에서 삭제됐을 수 있어요." : { + + }, + "행동의 하루/주간/월간 누적 시간(초) 또는 횟수를 가져와요." : { + }, "현재 진행 중" : { @@ -708,6 +1080,9 @@ }, "횟수 기록 수정" : { + }, + "횟수 기록 행동의 횟수를 바로 추가해요." : { + }, "횟수 기록이 없어요" : {