diff --git a/myApp/HaruDanim/CLAUDE.md b/myApp/HaruDanim/CLAUDE.md index af34dbf..8bc5f2d 100644 --- a/myApp/HaruDanim/CLAUDE.md +++ b/myApp/HaruDanim/CLAUDE.md @@ -16,7 +16,7 @@ | 번들 ID | `com.yechan.HaruDanim` / App Group `group.com.yechan.HaruDanim` / CloudKit `iCloud.com.yechan.HaruDanim` | | 수익 모델 | 부분 유료화. 무료 한도(행동 10·목표 2·목표당 다짐 3) + 프리미엄 결제 시 해제 | | 결제 상품 | `com.yechan.HaruDanim.premium.monthly`(월 4,400원) / `.yearly`(년 44,000원) / `.lifetime`(77,000원) — **ASC 등록·판매 중(실제 가격, 2026-07-28)**. 로컬 테스트 구성(HaruDanim.storekit)도 동일 가격. 가격은 코드에 없고 `product.displayPrice`로 동적 표기, 년 구독 절약률 배지도 동적 계산 | -| 현재 상태 (2026-07-30) | **버전 1.1 App Store 출시 완료(2026-07-30, 사용자 확인) — 유지보수 모드.** 1.1 내용: ①**맥 일기 개방**(§6.7 — 사이드바 노출 + '그리기' 토글로 마우스 필기, 텍스트 우선 도구줄. 아이패드 경로 불변. 맥 실기 확인 완료) ②**CSV 가져오기**(§6.8 — 프리미엄, 추가 전용·미리 보기·멱등. 검증 `-csvImportTest` 20건 ALL PASS) ③**일기 기본 표시 설정**(§6.7 — 캘린더·목표·행동 전 날짜 기본값 + 날짜별 재정의, 스키마 무변경 마커 방식) ④**'짧은 기록 무시' iCloud KVS 동기화**(§6.8 — 전 기기 공통) ⑤스크린샷 전면 개편(아이폰 10·아이패드 10·워치 합성 1 × ko/en/ja — ASC 업로드 완료) ⑥스토어 메타데이터 변경(앱 이름·부제목·키워드·프로모션 — 검색·색인 강화, `Marketing/AppStore/app-name-subtitle.txt`·`keywords.txt`·`promotional-text.txt`. 스토어 표기만 변경, 설치 이름 불변) ⑦MARKETING_VERSION 1.1. **버전 1.0 출시 2026-07-28.** 이후 작업은 사용자 실사용 중 발견한 버그 수정·사용자가 원하는 소기능 추가만 한다(선제적 기능 제안·대규모 리팩터링 금지). 업데이트 제출: 버전 올려 빌드 업로드 → 심사 제출(IAP는 첫 심사에서 승인됐으므로 첨부 불필요). 출시 전 이력 — RC는 커밋 `f05e611`(버전 1.0 (1)), 이후 실사용 보고 기반 수정 라운드(전부 커밋·푸시·실기기 확인 완료): l10n 누락 일괄·ja 앱 이름 'Haru Danim' 통일·워치 컴플리케이션 추천 캡 제거(§11)·⑥ 위젯 종료 버튼(§10)·진행률 환산 캡+수행일 집계+수행일 아님 표기(§4.2)·파일명/CSV 헤더 현지화(§7)·워치 컴플리케이션 목표 필터(§6.4·§11, 사용자 승인 소기능)·기록 시각 입력 상시 휠 다이얼+분 절사(§6.5)·일기 달력 기분 사진 백레이어(§6.7)·다짐 없는 목표 '다짐 없음' 표기(§4.3)·워치 측정 중 행 탭 종료(§11)·도움말 예시 스크린샷 18장(§6.8)·설정 하루 시작 시간 접힘 행(§6.5)·**모음 탭 즐겨찾기 모아 보기**(§6.1 — 행동 많아질 때 혼잡도 대응, 사용자 승인 소기능. v1 별도 카드 가로 줄[대안 A~F 중 A]이 "따로 노는 느낌" 실사용 피드백으로 v2 그리드 섹션 통합+나머지 접기로 교체, 같은 날 후속 피드백으로 편집 모드 섹션 인지·섹션 간 드래그 지정/해제·"지정 순서대로 뒤에" 규칙 추가, 2026-07-22)·**en 복수형 정리**(2026-07-22 — 수량 1일 때 "1 times/quests" 류 오류를 카탈로그 plural variation으로 14건 전환[iOS 10·위젯 3·워치 1], 모음 탭 섹션 제목 en "Favorite"→"Favorites"로 워치와 통일. ko/ja 무영향). **App Store 등록 자료는 `Marketing/`에 완비**(설명·키워드·구독 메타·스크린샷 원본/합성판, README에 재생성 절차 — 앱 변경이 자료에 영향 주면 요청 없이 함께 갱신할 것. 2026-07-22 즐겨찾기 섹션(v2) 반영해 아이폰·아이패드 01-main과 help-main ko/en/ja 재촬영·합성판 재생성. **2026-07-29 스크린샷 세트 확장** — 아이폰 8장(+위젯·버블 메뉴·iCloud 동기화 합성·다크 모드)/아이패드 7장(+주간 타임테이블·위젯·동기화 합성) × ko/en/ja, 촬영·합성 절차는 Marketing/README '추가 스크린샷' 절. **1.1 제출 때 ASC 업로드 완료**). **사업자 등록·통신판매업 신고 완료(2026-07-22)** — 서류 절차 끝, ASC 등록·유료 계약 진행 가능(순서는 Marketing/README 체크리스트). 사용자는 계속 실사용 테스트 중이며 버그 보고 시: 최소 변경 + 시뮬레이터 재검증 + l10n 루틴(§2.3) + Debug/Store(워치 파일이면 워치까지) 빌드 + 커밋·푸시 | +| 현재 상태 (2026-07-30) | **버전 1.1 App Store 출시 완료(2026-07-30, 사용자 확인) — 유지보수 모드.** 1.1 내용: ①**맥 일기 개방**(§6.7 — 사이드바 노출 + '그리기' 토글로 마우스 필기, 텍스트 우선 도구줄. 아이패드 경로 불변. 맥 실기 확인 완료) ②**CSV 가져오기**(§6.8 — 프리미엄, 추가 전용·미리 보기·멱등. 검증 `-csvImportTest` 20건 ALL PASS) ③**일기 기본 표시 설정**(§6.7 — 캘린더·목표·행동 전 날짜 기본값 + 날짜별 재정의, 스키마 무변경 마커 방식) ④**'짧은 기록 무시' iCloud KVS 동기화**(§6.8 — 전 기기 공통) ⑤스크린샷 전면 개편(아이폰 10·아이패드 10·워치 합성 1 × ko/en/ja — ASC 업로드 완료) ⑥스토어 메타데이터 변경(앱 이름·부제목·키워드·프로모션 — 검색·색인 강화, `Marketing/AppStore/app-name-subtitle.txt`·`keywords.txt`·`promotional-text.txt`. 스토어 표기만 변경, 설치 이름 불변) ⑦MARKETING_VERSION 1.1. **버전 1.0 출시 2026-07-28.** 이후 작업은 사용자 실사용 중 발견한 버그 수정·사용자가 원하는 소기능 추가만 한다(선제적 기능 제안·대규모 리팩터링 금지). 출시 후 소기능 이력: **주기 몫 완료 상태 표기**(2026-08-01, 사용자 요청 — §4.2. 도움말 '진행률 읽는 법' 문구도 갱신). 업데이트 제출: 버전 올려 빌드 업로드 → 심사 제출(IAP는 첫 심사에서 승인됐으므로 첨부 불필요). 출시 전 이력 — RC는 커밋 `f05e611`(버전 1.0 (1)), 이후 실사용 보고 기반 수정 라운드(전부 커밋·푸시·실기기 확인 완료): l10n 누락 일괄·ja 앱 이름 'Haru Danim' 통일·워치 컴플리케이션 추천 캡 제거(§11)·⑥ 위젯 종료 버튼(§10)·진행률 환산 캡+수행일 집계+수행일 아님 표기(§4.2)·파일명/CSV 헤더 현지화(§7)·워치 컴플리케이션 목표 필터(§6.4·§11, 사용자 승인 소기능)·기록 시각 입력 상시 휠 다이얼+분 절사(§6.5)·일기 달력 기분 사진 백레이어(§6.7)·다짐 없는 목표 '다짐 없음' 표기(§4.3)·워치 측정 중 행 탭 종료(§11)·도움말 예시 스크린샷 18장(§6.8)·설정 하루 시작 시간 접힘 행(§6.5)·**모음 탭 즐겨찾기 모아 보기**(§6.1 — 행동 많아질 때 혼잡도 대응, 사용자 승인 소기능. v1 별도 카드 가로 줄[대안 A~F 중 A]이 "따로 노는 느낌" 실사용 피드백으로 v2 그리드 섹션 통합+나머지 접기로 교체, 같은 날 후속 피드백으로 편집 모드 섹션 인지·섹션 간 드래그 지정/해제·"지정 순서대로 뒤에" 규칙 추가, 2026-07-22)·**en 복수형 정리**(2026-07-22 — 수량 1일 때 "1 times/quests" 류 오류를 카탈로그 plural variation으로 14건 전환[iOS 10·위젯 3·워치 1], 모음 탭 섹션 제목 en "Favorite"→"Favorites"로 워치와 통일. ko/ja 무영향). **App Store 등록 자료는 `Marketing/`에 완비**(설명·키워드·구독 메타·스크린샷 원본/합성판, README에 재생성 절차 — 앱 변경이 자료에 영향 주면 요청 없이 함께 갱신할 것. 2026-07-22 즐겨찾기 섹션(v2) 반영해 아이폰·아이패드 01-main과 help-main ko/en/ja 재촬영·합성판 재생성. **2026-07-29 스크린샷 세트 확장** — 아이폰 8장(+위젯·버블 메뉴·iCloud 동기화 합성·다크 모드)/아이패드 7장(+주간 타임테이블·위젯·동기화 합성) × ko/en/ja, 촬영·합성 절차는 Marketing/README '추가 스크린샷' 절. **1.1 제출 때 ASC 업로드 완료**). **사업자 등록·통신판매업 신고 완료(2026-07-22)** — 서류 절차 끝, ASC 등록·유료 계약 진행 가능(순서는 Marketing/README 체크리스트). 사용자는 계속 실사용 테스트 중이며 버그 보고 시: 최소 변경 + 시뮬레이터 재검증 + l10n 루틴(§2.3) + Debug/Store(워치 파일이면 워치까지) 빌드 + 커밋·푸시 | | 출시·운영 메모 (2026-07-28) | **ASC 등록·심사·출시 전부 완료** — 제출 1건에 앱 1.0+구독 그룹+상품 3종 동반(신형 ASC는 각 항목의 "심사에 추가"로 하나의 제출 초안에 담는 방식), '앱 개인정보 보호'="데이터 수집 안 함", 유료 앱 계약·대한민국 세금 양식 활성, 소규모 사업자 프로그램 가입. 개발자 본인 프리미엄은 **평생 이용권 특가 코드(무료 Offer Code) 교환**으로 스토어 버전에 적용됨(IAP용 프로모션 코드는 2026-03 폐지 — 이후 무료 지급은 특가 코드만 가능, 생성 후 교환 가능까지 최대 1시간). 상시 참고: `ITSAppUsesNonExemptEncryption=NO`, PrivacyInfo.xcprivacy 4개 번들(수집·트래킹 없음), 개인정보처리방침=`github.com/notalentprogrammer/HaruDanim` PRIVACY.md·이용약관=Apple 표준 EULA(결제 화면·앱 설명 모두 링크). **iCloud 프로덕션 동기화 확인 완료(2026-07-28)** — 아이폰·아이패드·맥 3기기 반나절 실사용에서 기존 데이터 포함 정상 왕복(개발→프로덕션 CloudKit 환경 전환에 따른 재업로드 우려 해소. 향후 동기화 문제 보고 시 이 전환 이력 참고). 예정: 정산 계좌 변경(시기 무관, 예금주 명의 일치·지급 회차 밀림 고지 확인). 절차 상세 기록은 Marketing/README.md 체크리스트 | --- @@ -126,13 +126,14 @@ xcrun xcstringstool sync Widgets/Localizable.xcstrings --stringsdata "${widget_f - `displayRatio`(퍼센트 문구): atLeast는 100% 초과 가능 — 단 **주기와 다른 span의 환산 목표(페이스 가이드)에서는 값을 목표에서 캡해 초과 표기 없음**(주 2회 다짐을 오늘 1회 한 것이 "하루 350%"로 표기되던 왜곡 수정 — `spanProgress`의 `usesScaledTarget` 분기). 자기 주기 span(하루 다짐의 '하루' 등)과 특정 기간 다짐(환산 없음)은 초과 표기 유지, atMost는 값 무캡(하루 게이지의 환산 한도 초과 0%는 페이스 경고로 유효). 수치 검증은 `-progressSelfTest`(§14) - **하루 단위 다짐의 주간·월간 집계는 방향 무관 수행일 기록만 합산** — 목표량이 수행일 수 환산이라 비수행일 기록을 섞으면 분모·분자가 어긋남(월수금 '이하 유지'가 목요일 기록으로 초과 표시되던 비대칭 수정). '이상 달성'은 추가로 하루별 기여를 그날 목표량으로 캡 — 초과 달성이 다른 날 미달을 가리지 않음 (하루 span·주/월/기간 다짐은 캡 없음, 원본 기록 무영향) - **수행일 아닌 날의 '하루' 게이지는 '수행일 아님' 상태로 표기**(`isScheduled` 기준 — 요일·날짜 다짐의 쉬는 날, 기간 밖 custom 포함): 목표 탭 행·모음 카드·위젯 ③(문구)·②(— 대시)·④(흐림)·시리 하루 응답이 공유. 쉬는 날의 기록은 주/월 집계에 안 잡히므로 퍼센트로 보여 주면 "오늘 채웠다"는 오해 유발. 워치 컴플리케이션·잠금화면 점은 공간 제약으로 수치(0%) 유지 — 의도된 단순화 +- **주기 몫 완료 상태(2026-08-01, 사용자 요청 소기능)**: 주간/월간 '이상 달성' 다짐이 현재 주기 몫을 이미 채웠으면(`isPeriodFulfilled(asOf:)` — 단일 판정 지점. 값은 기준일의 논리적 하루 끝까지로 클리핑해, 일기 과거 날짜 조회에서 그날 이후에 채운 기록이 소급해 '달성'으로 보이지 않음) 하루 게이지를 0% 대신 완료 상태로 표시 — "달성했는데 빈 게이지 0%"가 '안 했음'으로 오독되던 실사용 문제의 해소. 표기: 목표 탭 행·모음 카드는 게이지 가득+초록 ✓+'이번 주 달성'/'이번 달 달성'(`periodFulfilledLabel`), 위젯 ③은 퍼센트 자리에 문구(누적값 라벨은 그대로), ②는 34pt 퍼센트 칸이라 초록 체크 아이콘, ④는 링 가득(스냅숏 `QuestCellSnapshot.periodFulfilledLabel` + ratio·displayRatio 1 승격), 시리 하루 응답은 "이번 주(달) 몫은 이미 채웠어요"(value 100). `combinedSpanRatio` 하루 평균에도 해당 다짐을 1.0으로 카운트 — 위젯 ② 목표 바·워치 목표 게이지·시리 목표 응답·일기 '이 날의 목표' 헤더에 자동 반영. **spanProgress 수치·판정(judgment)·연속(streak)은 불변**(표시 계층 전용 — 자가 검증 기존 37건 무변경 통과가 그 증거). 비대상: 하루 다짐(그날이 곧 주기 — 주/월 span 승격도 없음, 초과 표기 유지)·특정 기간(반복 주기 없음)·atMost(빈 날이 이미 100%, 하루 환산 한도 초과 0% 경고 유지). 잠금화면·워치 컴플리케이션은 공간 제약으로 수치 유지(수행일 아님과 동일한 의도된 단순화). 일기 다짐 줄은 기존 '그날까지 누적+✓'가 이미 표현하므로 무변경. 검증: `-progressSelfTest` 49건(O·P·Q 시리즈) + `-seedPeriodFulfilled` 시드(§14), ko/en/ja 렌더 확인 완료 - **의도로 확정한 트레이드오프**: ①다짐 생성(목표 시작) 이전 기록도 주기 범위 안이면 진행률에 포함(달력 주기 기준 측정 — 연속 달성만 목표 시작일 하한) ②월 경계에 걸친 주의 '주간' 게이지(월간 다짐)는 이웃 달 기록 혼입(페이스 표시 한정, 100% 캡으로 완화) ③적용일이 없는 달(예: 31일 지정 다짐의 6월)은 0% 표시 ④특정 기간 종료 후에도 주/월 게이지는 계속 계산(목표 종료일이 자연 해소, 하루는 '수행일 아님') - `scaledTarget`: 주기 목표량을 span 길이에 환산 (daily→적용일 수×목표, weekly→/7 등) - `isScheduled(on:)`: 하루 진행률 모수 판정 — 수행일 아닌 daily 다짐은 그날 모수에서 제외 - **마감 시각(deadlineMinutes, 하루 단위 전용)**: 그날의 집계 창을 [하루 시작, 마감)으로 줄인다(`dayMeasurementRange` — 단일 구현, 주기 범위·span 하루 루프·연속 버킷팅·위젯 라벨·일기 카드가 공유). 마감 뒤 기록은 원본은 남되 그 다짐엔 미집계(시간형은 겹침 클리핑으로 부분 인정). 하루 시작보다 이른 시각=다음 달력일 새벽, 시작과 같은 시각=온전한 하루(0길이 창 없음, 검증 불필요). **의도된 트레이드오프**: '마감 지남' 전용 표시 상태 없음(게이지 값이 마감 시점에 연속이라 위젯 타임라인 마감 경계도 불필요), 연속 달성은 값 클리핑만 반영(오늘 마감을 놓쳐도 유예 규칙대로 끊김은 내일부터), ③ 위젯 누적 라벨은 창 안 값(`spanRawValue`). 주간/월간/기간 다짐 마감은 미지원(교차 span 의미가 정의 안 됨 — 확장 시 §4.2 전체 재설계 필요) ### 4.3 목표 진행률·판정 (Goal extension) -- `combinedSpanRatio(span)`: 소속 다짐 ratio 평균. 하루 span은 오늘이 수행일인 다짐만 모수(하나도 없으면 100% 취급). 모음 탭 카드·위젯·워치·시리가 공유. **다짐이 하나도 없는 목표는 수치(0%) 대신 '다짐 없음' 상태로 표기** — 위젯 ②('다짐이 없어요' 문구, ④는 원래 처리돼 있었음)·일기 '이 날의 목표' 헤더('다짐 없음'+게이지 생략)·시리(기존 '아직 다짐이 없어요' 오류 응답). 모음 탭 카드는 다짐 없으면 게이지 블록 자체가 안 그려져 해당 없음. 잠금화면·워치 컴플리케이션은 공간 제약으로 수치(0%) 유지 — 수행일 아님과 동일한 의도된 단순화 +- `combinedSpanRatio(span)`: 소속 다짐 ratio 평균. 하루 span은 오늘이 수행일인 다짐만 모수(하나도 없으면 100% 취급)이고, **주기 몫을 채운 주/월 다짐은 1.0으로 카운트**(§4.2 주기 몫 완료). 모음 탭 카드·위젯·워치·시리가 공유. **다짐이 하나도 없는 목표는 수치(0%) 대신 '다짐 없음' 상태로 표기** — 위젯 ②('다짐이 없어요' 문구, ④는 원래 처리돼 있었음)·일기 '이 날의 목표' 헤더('다짐 없음'+게이지 생략)·시리(기존 '아직 다짐이 없어요' 오류 응답). 모음 탭 카드는 다짐 없으면 게이지 블록 자체가 안 그려져 해당 없음. 잠금화면·워치 컴플리케이션은 공간 제약으로 수치(0%) 유지 — 수행일 아님과 동일한 의도된 단순화 - **달성 판정**: 종료일 경과 자동(`evaluateIfEnded` — 앱 실행/포그라운드 복귀와 목표 탭 진입 시 실행. 위젯 확장에서는 판정하지 않음) 또는 수동 종료(`manualFinish`). `questAchievementRatio`(달성 다짐=1, 미달성=현재 주기 ratio 클램프, 수행일 아님=1) × 100 ≥ `achieveThresholdPercent` − 0.0001 이면 달성. **기준 100 = 레거시 allSatisfy와 동일** - **판정 기준 시점**: 자동 판정은 **종료일이 속한 논리적 하루의 마지막 순간**(`judgmentReference` — 달력일을 키로 직접 찾아 '하루 시작 시간'이 오후여도 안전) — 앱을 종료일 며칠 뒤에 열어도, 종료일을 과거 날짜로 수정해도 종료일까지의 기록으로 판정된다(실행 시점보다 늦으면 now로 상한). 수동 종료(종료일 없는 목표 전용)는 "지금" 기준. 목표 편집에서 종료일을 바꾸면: 진행 중 목표는 저장 즉시 판정, **완료된 목표는 다시 '진행 중'으로 재개 후 재판정**(미래/없음이면 진행 중 유지, 다른 과거 날짜면 그 시점 기준 재판정) - **주기 중간 종료 판정**(`QuestProgress.judgment(asOf:)`): 판정용 진행률은 current()와 달리 ①값을 기준 시점까지의 누적으로 제한(종료일 이후 같은 주기의 기록 배제)하고 ②주간/월간/특정 기간 다짐의 목표량·한도를 **주기 내 경과일 비율로 축소** — 수요일에 끝나는 목표의 주간 다짐이 남은 4일치 미달로 깎이지 않고, atMost 한도도 같은 비율이라 공정. 하루 단위 다짐은 목표량 축소 없음(그날 목표는 온전히 채워야 달성). 표시 연산(combinedSpanRatio·spanProgress)에는 영향 없음 @@ -343,7 +344,7 @@ xcrun xcstringstool sync Widgets/Localizable.xcstrings --stringsdata "${widget_f |---|---| | 모음 | `-startEditing` `-expandGoalCard` `-pinGoals ` `-openStatsFor "이름"` `-openHistoryFor "이름"` `-autoStart "이름"` `-recordAddFor "이름"`(기록 직접 입력 시트) `-mainOthersCollapsed`('나머지 행동' 섹션 접힘 강제 — 표시 전용 오버라이드, 실 설정 무변경) | | 측정 알림 | `-settings.longSessionAlertHours `(설정 주입) `-longSessionAlertTestSeconds `(시간 대신 N초 발화, provisional 권한 자동) `-alertDump`(예약 상태 → Documents/session-alerts.txt) | -| 목표 | `-goalShowEditor` `-goalShowFinished` `-goalReorder` `-goalScrollBottom` `-questShowEditor`(다짐 편집기 표시 — 마감 시각 다짐 우선, 없으면 첫 다짐) `-endGoalYesterday "제목"`(종료일을 어제로 — 실행 시점 자동 판정 검증) `-watchGoals `(생성순 목표 N개를 '애플워치에서 보기'로 설정, 0=전체 해제 — 설정 후 스냅숏 즉시 푸시, 컴플리케이션 필터 검증용) `-streakDump`(모든 다짐의 연속 계산 결과 → Documents/streak-dump.txt) `-progressSelfTest`(spanProgress 수치 37건 자가 검증[환산 캡·수행일 집계·마감·atMost·custom] → Documents/progress-self-test.txt — 인메모리 컨테이너·설정 고정이라 실데이터/기기 설정 무영향) | +| 목표 | `-goalShowEditor` `-goalShowFinished` `-goalReorder` `-goalScrollBottom` `-questShowEditor`(다짐 편집기 표시 — 마감 시각 다짐 우선, 없으면 첫 다짐) `-endGoalYesterday "제목"`(종료일을 어제로 — 실행 시점 자동 판정 검증) `-watchGoals `(생성순 목표 N개를 '애플워치에서 보기'로 설정, 0=전체 해제 — 설정 후 스냅숏 즉시 푸시, 컴플리케이션 필터 검증용) `-streakDump`(모든 다짐의 연속 계산 결과 → Documents/streak-dump.txt) `-progressSelfTest`(spanProgress 수치 49건 자가 검증[환산 캡·수행일 집계·마감·atMost·custom·주기 몫 완료+목표 하루 평균+과거 기준 소급 차단] → Documents/progress-self-test.txt — 인메모리 컨테이너·설정 고정이라 실데이터/기기 설정 무영향) `-seedPeriodFulfilled YES`(주기 몫을 이미 채운 주간·월간 다짐 목표 1개 시드 — '이번 주/달 달성' 표기 검증용, 기본 시드와 분리·이름 비현지화. 기록은 주/달 첫날 09:00이라 실행일이 첫날이면 오늘 기록이 되지만 완료 표기는 동일) | | 기록/통계 | `-historyMode timetable` `-historyWeekly` `-historyDaysAgo `(N일 전 날짜로 시작 — 지난주 등 과거 주 표시, 마케팅 촬영용) `-excludeActions "이름,이름"` `-historyShowFilter` `-statShowFilter` `-statSpan ` `-statScrollBottom` `-showExport` `-exportDump`(Documents/export-dump.png) `-recordShowEditor `(최신 기록 수정 시트) | | 설정/기타 | `-settingsScrollGoal` `-settingsScrollPremium` `-settingsScrollMeasure`(측정 섹션 — 짧은 기록 무시 푸터 검증) `-settingsShowDayStartWheel`(하루 시작 시간 휠 펼침 시작) `-premiumPreview` `-helpPreview`(+`-helpExpandAll`: 전 주제 펼침, `-helpScrollTo `: 이미지 주제로 스크롤) `-dataExportPreview`(+`-dataExportRun`이면 CSV 자동 생성 후 Documents 복사) `-dataImportPreview`(가져오기 화면 직접 표시 — -premium과 함께) `-csvImportTest`(CSV 가져오기 자가 검증 20건[파서·판별·연결·중복·멱등] → Documents/csv-import-test.txt — 인메모리 컨테이너라 실데이터 무영향) `-actionShowFavoriteOrder`(행동 탭 즐겨찾기 순서 시트 — `-startTab action`과 함께) `-showOnboarding`(온보딩 강제 표시) `-widgetPreview YES|lock|marketing`(marketing = 디버그 라벨 없는 위젯 실렌더 모아 보기 — 마케팅 스크린샷 05-widgets/06-widgets 촬영용, Marketing/README 참고) `-widgetPreviewScroll <앵커>` `-widgetRenderMode accented|vibrant`(틴트/투명 홈 렌더링 분기 검증) `cloudSync`(standard bool로 강제) `-intentSmokeTest`(시리 인텐트 10개 시나리오 실행 → Documents/intent-smoke-test.txt, -seedDemo·-premium과 함께) | | 버블 | `-radialExpanded` `-radialDoubleTapTest`(2초 뒤 FAB 더블탭 재현 — `-settings.radialDoubleTapTab <탭>`과 함께) | diff --git a/myApp/HaruDanim/IOS/ContentView.swift b/myApp/HaruDanim/IOS/ContentView.swift index 5d2534f..42609de 100644 --- a/myApp/HaruDanim/IOS/ContentView.swift +++ b/myApp/HaruDanim/IOS/ContentView.swift @@ -61,6 +61,7 @@ struct ContentView: View { #if DEBUG DebugSeed.seedIfRequested(context: context) DebugSeed.seedEmptyGoalIfRequested(context: context) + DebugSeed.seedPeriodFulfilledIfRequested(context: context) DebugSeed.seedBulkIfRequested(context: context) DebugSeed.autoStartIfRequested(context: context) DebugSeed.pinGoalsIfRequested(context: context) diff --git a/myApp/HaruDanim/IOS/Core/DebugSeed.swift b/myApp/HaruDanim/IOS/Core/DebugSeed.swift index 5a00fe2..c9250c0 100644 --- a/myApp/HaruDanim/IOS/Core/DebugSeed.swift +++ b/myApp/HaruDanim/IOS/Core/DebugSeed.swift @@ -343,6 +343,51 @@ enum DebugSeed { } expect("N 기간 밖 수행일 판정", QuestProgress(quest: nQuest, math: math).isScheduled(on: now) ? 1 : 0, 0) + + // ── O. 주 3회 다짐을 월~수에 채움, 오늘(목) 기록 없음 — 주기 몫 완료 상태 (§4.2) + // spanProgress 수치는 불변(하루 0%)이고, 완료 판정과 목표 하루 평균만 달성으로 반영 + let (oAct, oQuest) = makeQuest("O 주3회 완료", type: .count, period: .weekly, targetCount: 3) + add(oAct, at(0, 9)); add(oAct, at(1, 9)); add(oAct, at(2, 9)) + expect("O 하루 표기(수치 불변 0%)", progress(oQuest, .day).displayRatio, 0.0) + expect("O 주기 몫 완료 판정", + QuestProgress(quest: oQuest, math: math).isPeriodFulfilled(asOf: now) ? 1 : 0, 1) + if let goal = oQuest.goal { + expect("O 목표 하루 평균(완료 반영 100%)", goal.combinedSpanRatio(.day, math: math, now: now), 1.0) + expect("O 목표 주간 평균(무영향)", goal.combinedSpanRatio(.week, math: math, now: now), 1.0) + } + // 비대상 다짐들의 완료 판정 false 유지 (미달 주간·하루 단위·이하 유지·특정 기간 / 월간 완료는 true) + expect("O2 주간 미달 false", + QuestProgress(quest: aQuest, math: math).isPeriodFulfilled(asOf: now) ? 1 : 0, 0) + expect("O3 하루 다짐 false", + QuestProgress(quest: dQuest, math: math).isPeriodFulfilled(asOf: now) ? 1 : 0, 0) + expect("O4 이하 유지 false", + QuestProgress(quest: hQuest, math: math).isPeriodFulfilled(asOf: now) ? 1 : 0, 0) + expect("O5 특정 기간 false", + QuestProgress(quest: iQuest, math: math).isPeriodFulfilled(asOf: now) ? 1 : 0, 0) + expect("O6 월간 완료 true", + QuestProgress(quest: gQuest, math: math).isPeriodFulfilled(asOf: now) ? 1 : 0, 1) + + // ── P. 한 목표에 하루 다짐(오늘 50%) + 주기 몫 완료 주간 다짐 — 하루 평균 (0.5+1)/2 + let (pAct, pQuest) = makeQuest("P 하루2회", type: .count, period: .daily, targetCount: 2) + add(pAct, at(3, 9)) + if let goal = pQuest.goal { + let p2 = Quest(goal: goal) + p2.targetAction = oAct // O의 월~수 3회 기록 재사용 (완료 상태) + p2.measure = .count + p2.period = .weekly + p2.direction = .atLeast + p2.targetCount = 3 + context.insert(p2) + expect("P 목표 하루 평균(혼합 75%)", goal.combinedSpanRatio(.day, math: math, now: now), 0.75) + } + + // ── Q. 과거 날짜 기준 조회(일기 카드): 몫을 나중에 채운 주간 다짐은 그 전 날짜 기준으론 미완료 + let (qAct, qQuest) = makeQuest("Q 주1회 목요일", type: .count, period: .weekly, targetCount: 1) + add(qAct, at(3, 10)) + expect("Q 오늘(목) 기준 완료", + QuestProgress(quest: qQuest, math: math).isPeriodFulfilled(asOf: now) ? 1 : 0, 1) + expect("Q 화요일 기준 미완료(소급 차단)", + QuestProgress(quest: qQuest, math: math).isPeriodFulfilled(asOf: at(1, 12)) ? 1 : 0, 0) } catch { failures += 1 lines.append("FAIL 컨테이너 생성: \(error)") @@ -467,6 +512,46 @@ enum DebugSeed { ) } + /// `-seedPeriodFulfilled YES`: 주기 몫을 이미 채운 주간·월간 다짐이 있는 목표 1개 추가 — + /// 하루 게이지의 "이번 주/달 달성" 상태 표기 검증용 (기본 시드와 분리, 이름은 검증 전용이라 비현지화). + /// 주간 다짐 기록은 이번 주 첫날, 월간 다짐 기록은 이번 달 첫날 09:00에 둔다 — + /// 실행일이 그 첫날이면 오늘 기록이 되지만 완료 상태 표기가 우선이라 화면 확인에는 지장 없음. + static func seedPeriodFulfilledIfRequested(context: ModelContext) { + guard UserDefaults.standard.bool(forKey: "seedPeriodFulfilled") else { return } + let title = "주기 몫 완료 검증" + let existing = (try? context.fetch(FetchDescriptor()))?.contains { $0.title == title } ?? false + guard !existing else { return } + let math = DayMath() + let weekStart = math.weekRange(containing: .now).lowerBound + let monthStart = math.monthRange(containing: .now).lowerBound + let goal = Goal(title: title, symbolName: "checkmark.seal.fill", colorHex: "#4A7A9D", + startDate: min(weekStart, monthStart), endDate: nil) + context.insert(goal) + let weeklyAction = Action(name: "주간 완료 행동", symbolName: "w.circle.fill", + trackingType: .count, sortOrder: 80) + let monthlyAction = Action(name: "월간 완료 행동", symbolName: "m.circle.fill", + trackingType: .count, sortOrder: 81) + context.insert(weeklyAction) + context.insert(monthlyAction) + let weekly = Quest(goal: goal) + weekly.targetAction = weeklyAction + weekly.measure = .count + weekly.period = .weekly + weekly.targetCount = 3 + context.insert(weekly) + let monthly = Quest(goal: goal) + monthly.targetAction = monthlyAction + monthly.measure = .count + monthly.period = .monthly + monthly.targetCount = 5 + context.insert(monthly) + context.insert(CountEntry(action: weeklyAction, + timestamp: weekStart.addingTimeInterval(9 * 3600), amount: 3)) + context.insert(CountEntry(action: monthlyAction, + timestamp: monthStart.addingTimeInterval(9 * 3600), amount: 5)) + try? context.save() + } + /// `-seedEmptyGoal YES`: 다짐 없는 진행 중 목표 1개 추가 — /// 위젯 ②·일기 카드의 '다짐 없음' 상태 표기 검증용 (기본 시드·마케팅 스크린샷과 분리) static func seedEmptyGoalIfRequested(context: ModelContext) { diff --git a/myApp/HaruDanim/IOS/Localizable.xcstrings b/myApp/HaruDanim/IOS/Localizable.xcstrings index d62fb10..0571a55 100644 --- a/myApp/HaruDanim/IOS/Localizable.xcstrings +++ b/myApp/HaruDanim/IOS/Localizable.xcstrings @@ -1,14358 +1,14434 @@ { - "sourceLanguage": "ko", - "strings": { - "\"시리야, 하루 다님에서 측정 시작\" — 말과 단축어 자동화로 기록해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "\"Hey Siri, start tracking in HaruDanim\" — track by voice and Shortcuts automations." + "sourceLanguage" : "ko", + "strings" : { + "\"시리야, 하루 다님에서 측정 시작\" — 말과 단축어 자동화로 기록해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "\"Hey Siri, start tracking in HaruDanim\" — track by voice and Shortcuts automations." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「Hey Siri、Haru Danimで計測開始」— 声とショートカットの自動化で記録できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「Hey Siri、Haru Danimで計測開始」— 声とショートカットの自動化で記録できます。" } } } }, - "%@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@" + "%@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } } } }, - "%@ %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ %@" + "%@ %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@ %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ %@" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$@" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$@" } } } }, - "%@ %@ 누적 시간은 %@이에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Total time for %@ (%@) is %@." + "%@ %@ 누적 시간은 %@이에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total time for %@ (%@) is %@." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@の%@の累計時間は%@です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@の%@の累計時間は%@です。" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$@ 누적 시간은 %3$@이에요." + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$@ 누적 시간은 %3$@이에요." } } } }, - "%@ %@ 누적 횟수는 %lld회예요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Total count for %@ (%@) is %lld." + "%@ %@ 누적 횟수는 %lld회예요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total count for %@ (%@) is %lld." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@の%@の累計回数は%lld回です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@の%@の累計回数は%lld回です。" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$@ 누적 횟수는 %3$lld회예요." + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$@ 누적 횟수는 %3$lld회예요." } } } }, - "%@ %lld행: 기록 시각을 읽을 수 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ row %2$lld: couldn't read the entry time" + "%@ %lld행: 기록 시각을 읽을 수 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ row %2$lld: couldn't read the entry time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%1$@ %2$lld行目: 記録時刻を読み取れません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$lld行目: 記録時刻を読み取れません" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$lld행: 기록 시각을 읽을 수 없어요" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld행: 기록 시각을 읽을 수 없어요" } } } }, - "%@ %lld행: 수량이 잘못됐어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ row %2$lld: invalid amount" + "%@ %lld행: 수량이 잘못됐어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ row %2$lld: invalid amount" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%1$@ %2$lld行目: 数量が正しくありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$lld行目: 数量が正しくありません" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$lld행: 수량이 잘못됐어요" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld행: 수량이 잘못됐어요" } } } }, - "%@ %lld행: 시작 시각을 읽을 수 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ row %2$lld: couldn't read the start time" + "%@ %lld행: 시작 시각을 읽을 수 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ row %2$lld: couldn't read the start time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%1$@ %2$lld行目: 開始時刻を読み取れません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$lld行目: 開始時刻を読み取れません" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$lld행: 시작 시각을 읽을 수 없어요" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld행: 시작 시각을 읽을 수 없어요" } } } }, - "%@ %lld행: 종료 시각이 잘못됐어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ row %2$lld: invalid end time" + "%@ %lld행: 종료 시각이 잘못됐어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ row %2$lld: invalid end time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%1$@ %2$lld行目: 終了時刻が正しくありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$lld行目: 終了時刻が正しくありません" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$lld행: 종료 시각이 잘못됐어요" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld행: 종료 시각이 잘못됐어요" } } } }, - "%@ %lld행: 행동 이름 또는 방식이 잘못됐어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ row %2$lld: invalid action name or type" + "%@ %lld행: 행동 이름 또는 방식이 잘못됐어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ row %2$lld: invalid action name or type" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%1$@ %2$lld行目: アクション名または方式が正しくありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$lld行目: アクション名または方式が正しくありません" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$lld행: 행동 이름 또는 방식이 잘못됐어요" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld행: 행동 이름 또는 방식이 잘못됐어요" } } } }, - "%@ %lld회": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%@ %lld time" + "%@ %lld회" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ %lld time" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%@ %lld times" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ %lld times" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@ %lld回" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ %lld回" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$lld회" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld회" } } } }, - "%@ %lld회 추가했어요. 오늘 총 %lld회예요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Added %lld to %@. Today's total is %lld." + "%@ %lld회 추가했어요. 오늘 총 %lld회예요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Added %lld to %@. Today's total is %lld." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@を%lld回追加しました。今日の合計は%lld回です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@を%lld回追加しました。今日の合計は%lld回です。" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ %2$lld회 추가했어요. 오늘 총 %3$lld회예요." + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$lld회 추가했어요. 오늘 총 %3$lld회예요." } } } }, - "%@ / %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ / %2$@" + "%@ / %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ / %2$@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%1$@ / %2$@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ / %2$@" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ / %2$@" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ / %2$@" } } } }, - "%@ / 한도 %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ / limit %2$@" + "%@ / 한도 %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ / limit %2$@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%1$@ / 上限%2$@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ / 上限%2$@" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ / 한도 %2$@" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ / 한도 %2$@" } } } }, - "%@ ~ %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ – %@" + "%@ ~ %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ – %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@〜%@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@〜%@" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ ~ %2$@" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ ~ %2$@" } } } }, - "%@ · %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ · %@" + "%@ · %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ · %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@ · %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ · %@" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ · %2$@" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ · %2$@" } } } }, - "%@ · %@ %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ · %3$@ %2$@" + "%@ · %@ %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %3$@ %2$@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@ · %@ %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ · %@ %@" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ · %2$@ %3$@" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ · %2$@ %3$@" } } } }, - "%@ · %lld행": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%1$@ · %2$lld rows" + "%@ · %lld행" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %2$lld rows" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%1$@ · %2$lld行" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %2$lld行" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ · %2$lld행" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ · %2$lld행" } } } }, - "%@ 기록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ records" + "%@ 기록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ records" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@の記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@の記録" } } } }, - "%@ 내보냄": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Exported %@" + "%@ 내보냄" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exported %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@ に書き出し" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ に書き出し" } } } }, - "%@ 시작": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Started %@" + "%@ 시작" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Started %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@開始" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@開始" } } } }, - "%@ 시작 · 종료일 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Started %@ · No end date" + "%@ 시작 · 종료일 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Started %@ · No end date" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@開始・終了日なし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@開始・終了日なし" } } } }, - "%@ 측정 완료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Finished tracking %@" + "%@ 측정 완료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finished tracking %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@の計測完了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@の計測完了" } } } }, - "%@ 측정을 시작했어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Started tracking %@." + "%@ 측정을 시작했어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Started tracking %@." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@の計測を開始しました。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@の計測を開始しました。" } } } }, - "%@ 측정을 종료했어요. %@ 기록했어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stopped tracking %@. Recorded %@." + "%@ 측정을 종료했어요. %@ 기록했어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stopped tracking %@. Recorded %@." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@の計測を終了しました。%@を記録しました。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@の計測を終了しました。%@を記録しました。" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$@ 측정을 종료했어요. %2$@ 기록했어요." + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ 측정을 종료했어요. %2$@ 기록했어요." } } } }, - "%@ 측정을 종료했어요. 너무 짧은 기록이라 저장하지 않았어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stopped tracking %@. The session was too short to save." + "%@ 측정을 종료했어요. 너무 짧은 기록이라 저장하지 않았어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stopped tracking %@. The session was too short to save." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@の計測を終了しました。短すぎる記録のため保存しませんでした。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@の計測を終了しました。短すぎる記録のため保存しませんでした。" } } } }, - "%@ 한도 지킴": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ within limit" + "%@ 한도 지킴" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ within limit" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@ 上限内" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 上限内" } } } }, - "%@ 한도 초과": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ over limit" + "%@ 한도 초과" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ over limit" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@ 上限超過" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 上限超過" } } } }, - "%@까지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "By %@" + "%@까지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "By %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@まで" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@まで" } } } }, - "%@요일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@" + "%@요일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@曜日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@曜日" } } } }, - "%@은(는) 이미 측정 중이에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ is already being tracked." + "%@은(는) 이미 측정 중이에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ is already being tracked." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@はすでに計測中です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@はすでに計測中です。" } } } }, - "%@은(는) 측정 중이 아니에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ is not being tracked." + "%@은(는) 측정 중이 아니에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ is not being tracked." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@は計測中ではありません。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@は計測中ではありません。" } } } }, - "%@회": { - "comment": "횟수 평균 (소수 1자리)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%@ times" + "%@회" : { + "comment" : "횟수 평균 (소수 1자리)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ times" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@回" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@回" } } } }, - "%lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "%lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } } } }, - "%lld%%": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld%%" + "%lld%%" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld%%" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld%%" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld%%" } } } }, - "%lld%% 절약": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Save %lld%%" + "%lld%% 절약" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Save %lld%%" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld%%お得" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld%%お得" } } } }, - "%lld/%lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld/%lld" + "%lld/%lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld/%lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld/%lld" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld/%lld" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$lld/%2$lld" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld/%2$lld" } } } }, - "%lld개": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "%lld개" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld個" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld個" } } } }, - "%lld개 진행 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld in progress" + "%lld개 진행 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld in progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld件進行中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld件進行中" } } } }, - "%lld건": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "%lld건" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld件" } } } }, - "%lld번째": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "#%lld" + "%lld번째" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld番目" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld番目" } } } }, - "%lld분": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lldm" + "%lld분" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldm" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld分" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld分" } } } }, - "%lld시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lldh" + "%lld시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldh" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld時間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld時間" } } } }, - "%lld시간 %lld분": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lldh %lldm" + "%lld시간 %lld분" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldh %lldm" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld時間%lld分" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld時間%lld分" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "%1$lld시간 %2$lld분" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld시간 %2$lld분" } } } }, - "%lld일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "%lld일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld日" } } } }, - "%lld주차": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Week %lld" + "%lld주차" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Week %lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "第%lld週" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "第%lld週" } } } }, - "%lld쪽": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Page %lld" + "%lld쪽" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Page %lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lldページ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldページ" } } } }, - "%lld초": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%llds" + "%lld초" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%llds" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld秒" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld秒" } } } }, - "%lld회": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld time" + "%lld회" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld time" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld times" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld times" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld回" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld回" } } } }, - "'%@ · %@' %@ 진행률: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "'%@ · %@' %@ progress: %@" + "'%@ · %@' %@ 진행률: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%@ · %@' %@ progress: %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「%@ · %@」の%@進捗率: %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%@ · %@」の%@進捗率: %@" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "'%1$@ · %2$@' %3$@ 진행률: %4$@" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@ · %2$@' %3$@ 진행률: %4$@" } } } }, - "'%@ · %@' 오늘은 수행일이 아니에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "'%1$@ · %2$@' isn't scheduled for today." + "'%@ · %@' 오늘은 수행일이 아니에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%1$@ · %2$@' isn't scheduled for today." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「%1$@ · %2$@」は今日は実行日ではありません。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%1$@ · %2$@」は今日は実行日ではありません。" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "'%1$@ · %2$@' 오늘은 수행일이 아니에요." + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@ · %2$@' 오늘은 수행일이 아니에요." } } } }, - "'%@' %@ 진행률은 %lld%%예요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "'%@' %@ progress is %lld%%." + "'%@ · %@' 이번 달 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@ · %2$@' 이번 달 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「%@」の%@進捗率は%lld%%です。" + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%1$@ · %2$@' has already met this month's target. Nothing more needed today." } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "'%1$@' %2$@ 진행률은 %3$lld%%예요." + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%1$@ · %2$@」は今月の分をすでに達成しています。今日はやらなくても大丈夫です。" } } } }, - "'%@' 목표에는 아직 다짐이 없어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The goal '%@' has no quests yet." + "'%@ · %@' 이번 주 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@ · %2$@' 이번 주 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標「%@」にはまだクエストがありません。" + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%1$@ · %2$@' has already met this week's target. Nothing more needed today." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%1$@ · %2$@」は今週の分をすでに達成しています。今日はやらなくても大丈夫です。" + } + } + } + }, + "'%@' %@ 진행률은 %lld%%예요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%@' %@ progress is %lld%%." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%@」の%@進捗率は%lld%%です。" + } + }, + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@' %2$@ 진행률은 %3$lld%%예요." + } + } + } + }, + "'%@' 목표에는 아직 다짐이 없어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The goal '%@' has no quests yet." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標「%@」にはまだクエストがありません。" } } } }, - "'%@' 측정이 %lld시간을 넘겼어요. 종료를 잊으셨다면 열어서 꺼 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tracking '%@' has passed %lld hours. If you forgot to stop it, open the app and turn it off." + "'%@' 측정이 %lld시간을 넘겼어요. 종료를 잊으셨다면 열어서 꺼 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tracking '%@' has passed %lld hours. If you forgot to stop it, open the app and turn it off." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「%@」の計測が%lld時間を超えました。終了し忘れた場合はアプリで停止してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%@」の計測が%lld時間を超えました。終了し忘れた場合はアプリで停止してください。" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "'%1$@' 측정이 %2$lld시간을 넘겼어요. 종료를 잊으셨다면 열어서 꺼 주세요." + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@' 측정이 %2$lld시간을 넘겼어요. 종료를 잊으셨다면 열어서 꺼 주세요." } } } }, - "'%@'은(는) 시간 측정 행동이에요. 측정 시작/종료를 사용해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "'%@' is a time-tracking action. Use start/stop tracking instead." + "'%@'은(는) 시간 측정 행동이에요. 측정 시작/종료를 사용해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%@' is a time-tracking action. Use start/stop tracking instead." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「%@」は時間計測タイプです。計測の開始/終了を使ってください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%@」は時間計測タイプです。計測の開始/終了を使ってください。" } } } }, - "'%@'은(는) 횟수 기록 행동이에요. 횟수 추가를 사용해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "'%@' is a count action. Use add count instead." + "'%@'은(는) 횟수 기록 행동이에요. 횟수 추가를 사용해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%@' is a count action. Use add count instead." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「%@」は回数記録タイプです。回数の追加を使ってください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%@」は回数記録タイプです。回数の追加を使ってください。" } } } }, - "'데이터 내보내기'로 만든 행동·시간 기록·횟수 기록 CSV를 선택하세요 (여러 개 가능, 내보낸 언어와 달라도 돼요). 기존 데이터는 바꾸지 않고 새 기록만 추가하며, 이미 있는 기록은 자동으로 건너뛰어요. 목표와 다짐은 CSV로 가져오지 않아요 — 기록이 복원되면 새로 만든 다짐에 그대로 집계돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose the actions, time records or count records CSV files made by Data Export (multiple files are fine — the export language doesn't have to match). Importing never changes existing data: it only adds new records and automatically skips ones you already have. Goals and quests aren't imported from CSV — once records are restored, new quests pick them up automatically." + "'데이터 내보내기'로 만든 행동·시간 기록·횟수 기록 CSV를 선택하세요 (여러 개 가능, 내보낸 언어와 달라도 돼요). 기존 데이터는 바꾸지 않고 새 기록만 추가하며, 이미 있는 기록은 자동으로 건너뛰어요. 목표와 다짐은 CSV로 가져오지 않아요 — 기록이 복원되면 새로 만든 다짐에 그대로 집계돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose the actions, time records or count records CSV files made by Data Export (multiple files are fine — the export language doesn't have to match). Importing never changes existing data: it only adds new records and automatically skips ones you already have. Goals and quests aren't imported from CSV — once records are restored, new quests pick them up automatically." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「データ書き出し」で作成したアクション・時間記録・回数記録のCSVを選んでください(複数可、書き出した言語と違ってもOK)。読み込みは既存データを変更せず、新しい記録だけを追加し、すでにある記録は自動でスキップします。目標とクエストはCSVから読み込みません — 記録が復元されれば、新しく作ったクエストに自動で集計されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「データ書き出し」で作成したアクション・時間記録・回数記録のCSVを選んでください(複数可、書き出した言語と違ってもOK)。読み込みは既存データを変更せず、新しい記録だけを追加し、すでにある記録は自動でスキップします。目標とクエストはCSVから読み込みません — 記録が復元されれば、新しく作ったクエストに自動で集計されます。" } } } }, - "'이 날의 목표' 카드": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "'This Day's Goals' card" + "'이 날의 목표' 카드" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'This Day's Goals' card" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「この日の目標」カード" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「この日の目標」カード" } } } }, - "'행동'을 만들면 탭 한 번으로 시간 측정을 시작·종료하거나 횟수를 +1 기록할 수 있어요. 여러 행동을 동시에 측정해도 돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Create an 'action' and a single tap starts or stops a timer, or adds +1 to a count. You can track several actions at the same time." + "'행동'을 만들면 탭 한 번으로 시간 측정을 시작·종료하거나 횟수를 +1 기록할 수 있어요. 여러 행동을 동시에 측정해도 돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Create an 'action' and a single tap starts or stops a timer, or adds +1 to a count. You can track several actions at the same time." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「アクション」を作れば、ワンタップで時間計測の開始・終了や回数の+1記録ができます。複数のアクションを同時に計測してもかまいません。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「アクション」を作れば、ワンタップで時間計測の開始・終了や回数の+1記録ができます。複数のアクションを同時に計測してもかまいません。" } } } }, - "+%lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "+%lld" + "+%lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "+%lld" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld" } } } }, - "+%lld 기록 완료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "+%lld recorded" + "+%lld 기록 완료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld recorded" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "+%lld記録しました" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld記録しました" } } } }, - "+%lld개 함께 추적 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "+%lld more tracking" + "+%lld개 함께 추적 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld more tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "+%lld件も計測中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "+%lld件も計測中" } } } }, - "0분": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "0m" + "0분" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "0m" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "0分" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "0分" } } } }, - "10초": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "10 sec" + "10초" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "10 sec" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "10秒" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "10秒" } } } }, - "12시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "12 hours" + "12시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "12 hours" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "12時間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "12時間" } } } }, - "1분": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "1 min" + "1분" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 min" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1分" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1分" } } } }, - "1시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "1 hour" + "1시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 hour" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1時間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1時間" } } } }, - "2시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "2 hours" + "2시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "2 hours" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "2時間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "2時間" } } } }, - "30초": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "30 sec" + "30초" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "30 sec" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "30秒" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "30秒" } } } }, - "3시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "3 hours" + "3시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "3 hours" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "3時間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "3時間" } } } }, - "3초": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "3 sec" + "3초" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "3 sec" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "3秒" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "3秒" } } } }, - "5초": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "5 sec" + "5초" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "5 sec" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "5秒" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "5秒" } } } }, - "6시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "6 hours" + "6시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "6 hours" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "6時間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "6時間" } } } }, - "CSV 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "CSV Import" + "CSV 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV Import" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "CSV読み込み" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV読み込み" } } } }, - "CSV 만들기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Create CSV" + "CSV 만들기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Create CSV" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "CSVを作成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSVを作成" } } } }, - "CSV 파일 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose CSV Files" + "CSV 파일 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose CSV Files" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "CSVファイルを選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSVファイルを選択" } } } }, - "CSV로 백업·복원하기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Back up and restore with CSV" + "CSV로 백업·복원하기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Back up and restore with CSV" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "CSVでバックアップ・復元" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSVでバックアップ・復元" } } } }, - "Face ID·Touch ID 또는 기기 암호로\n잠금을 해제해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Unlock with Face ID, Touch ID,\nor your device passcode." + "Face ID·Touch ID 또는 기기 암호로\n잠금을 해제해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unlock with Face ID, Touch ID,\nor your device passcode." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Face ID・Touch IDまたはデバイスの\nパスコードでロックを解除してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Face ID・Touch IDまたはデバイスの\nパスコードでロックを解除してください。" } } } }, - "PDF 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Import PDF" + "PDF 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Import PDF" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "PDFを読み込む" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "PDFを読み込む" } } } }, - "PDF가 너무 커요. 20MB 이하 파일만 가져올 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This PDF is too large. Only files up to 20MB can be imported." + "PDF가 너무 커요. 20MB 이하 파일만 가져올 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This PDF is too large. Only files up to 20MB can be imported." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "PDFが大きすぎます。20MB以下のファイルのみ読み込めます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "PDFが大きすぎます。20MB以下のファイルのみ読み込めます。" } } } }, - "PDF를 열 수 없어요. 파일이 손상됐을 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This PDF can't be opened. The file may be damaged." + "PDF를 열 수 없어요. 파일이 손상됐을 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This PDF can't be opened. The file may be damaged." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "PDFを開けません。ファイルが破損している可能性があります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "PDFを開けません。ファイルが破損している可能性があります。" } } } }, - "UTF-8 텍스트 파일이 아니에요: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Not a UTF-8 text file: %@" + "UTF-8 텍스트 파일이 아니에요: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Not a UTF-8 text file: %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "UTF-8テキストファイルではありません: %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "UTF-8テキストファイルではありません: %@" } } } }, - "count.unit.one": { - "extractionState": "extracted_with_value", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "time" + "count.unit.one" : { + "extractionState" : "extracted_with_value", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "회" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "회" } } } }, - "count.unit.other": { - "extractionState": "extracted_with_value", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "times" + "count.unit.other" : { + "extractionState" : "extracted_with_value", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "times" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "회" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "회" } } } }, - "iCloud 동기화는 네트워크 상황에 따라 몇 초에서 몇 분까지 걸릴 수 있어요. 다른 기기의 기록이 안 보이면 모음 탭 왼쪽 위 새로고침 버튼을 눌러 주세요. 그래도 안 보이면 잠시 후 다시 시도하거나 두 기기 모두 인터넷 연결을 확인해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "iCloud sync can take from a few seconds to a few minutes depending on the network. If records from another device are missing, tap the refresh button at the top left of the Home tab. If they still don’t appear, try again shortly or check the internet connection on both devices." + "iCloud 동기화는 네트워크 상황에 따라 몇 초에서 몇 분까지 걸릴 수 있어요. 다른 기기의 기록이 안 보이면 모음 탭 왼쪽 위 새로고침 버튼을 눌러 주세요. 그래도 안 보이면 잠시 후 다시 시도하거나 두 기기 모두 인터넷 연결을 확인해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloud sync can take from a few seconds to a few minutes depending on the network. If records from another device are missing, tap the refresh button at the top left of the Home tab. If they still don’t appear, try again shortly or check the internet connection on both devices." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "iCloud同期はネットワーク状況により数秒〜数分かかることがあります。ほかのデバイスの記録が見えないときは、ホームタブ左上の更新ボタンをタップしてください。それでも表示されない場合は、しばらくしてから再試行するか、両方のデバイスのインターネット接続を確認してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloud同期はネットワーク状況により数秒〜数分かかることがあります。ほかのデバイスの記録が見えないときは、ホームタブ左上の更新ボタンをタップしてください。それでも表示されない場合は、しばらくしてから再試行するか、両方のデバイスのインターネット接続を確認してください。" } } } }, - "iCloud로 아이패드 등 다른 기기와 데이터가 동기화돼요. 변경 사항은 앱을 완전히 종료했다가 다시 실행하면 적용돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sync your data with iPad and other devices via iCloud. Changes take effect after fully quitting and relaunching the app." + "iCloud로 아이패드 등 다른 기기와 데이터가 동기화돼요. 변경 사항은 앱을 완전히 종료했다가 다시 실행하면 적용돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sync your data with iPad and other devices via iCloud. Changes take effect after fully quitting and relaunching the app." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "iCloudでiPadなどの他のデバイスとデータを同期します。変更はアプリを完全に終了して再起動すると反映されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloudでiPadなどの他のデバイスとデータを同期します。変更はアプリを完全に終了して再起動すると反映されます。" } } } }, - "iCloud로 아이폰·아이패드·맥의 데이터가 동기화돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "iCloud keeps your iPhone, iPad and Mac in sync." + "iCloud로 아이폰·아이패드·맥의 데이터가 동기화돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloud keeps your iPhone, iPad and Mac in sync." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "iCloudでiPhone・iPad・Macのデータが同期されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "iCloudでiPhone・iPad・Macのデータが同期されます。" } } } }, - "‘%@’ 꼬리표를 삭제할까요? 행동은 삭제되지 않아요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete the tag ‘%@’? Its actions won't be deleted." + "‘%@’ 꼬리표를 삭제할까요? 행동은 삭제되지 않아요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete the tag ‘%@’? Its actions won't be deleted." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ「%@」を削除しますか?アクションは削除されません。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ「%@」を削除しますか?アクションは削除されません。" } } } }, - "‘%@’ 목표를 달성했나요?": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Did you achieve the goal ‘%@’?" + "‘%@’ 목표를 달성했나요?" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Did you achieve the goal ‘%@’?" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標「%@」を達成しましたか?" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標「%@」を達成しましたか?" } } } }, - "‘%@’ 목표를 삭제할까요? 다짐도 함께 삭제됩니다.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete the goal ‘%@’? Its quests will also be deleted." + "‘%@’ 목표를 삭제할까요? 다짐도 함께 삭제됩니다." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete the goal ‘%@’? Its quests will also be deleted." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標「%@」を削除しますか?クエストも一緒に削除されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標「%@」を削除しますか?クエストも一緒に削除されます。" } } } }, - "‘%@’ 양식을 삭제할까요?": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete the \"%@\" template?" + "‘%@’ 양식을 삭제할까요?" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete the \"%@\" template?" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「%@」のテンプレートを削除しますか?" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%@」のテンプレートを削除しますか?" } } } }, - "‘%@’ 양식을 삭제할까요? 이 양식을 쓰는 노트 페이지 %lld개는 빈 캔버스로 표시돼요. (필기와 요소는 그대로 남아요)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete the \"%1$@\" template? %2$lld note pages using it will show as a blank canvas. (Your handwriting and items are kept.)" + "‘%@’ 양식을 삭제할까요? 이 양식을 쓰는 노트 페이지 %lld개는 빈 캔버스로 표시돼요. (필기와 요소는 그대로 남아요)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete the \"%1$@\" template? %2$lld note pages using it will show as a blank canvas. (Your handwriting and items are kept.)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「%1$@」のテンプレートを削除しますか?このテンプレートを使う%2$lld枚のノートページは白紙のキャンバスとして表示されます。(手書きや要素はそのまま残ります)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%1$@」のテンプレートを削除しますか?このテンプレートを使う%2$lld枚のノートページは白紙のキャンバスとして表示されます。(手書きや要素はそのまま残ります)" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "‘%1$@’ 양식을 삭제할까요? 이 양식을 쓰는 노트 페이지 %2$lld개는 빈 캔버스로 표시돼요. (필기와 요소는 그대로 남아요)" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "‘%1$@’ 양식을 삭제할까요? 이 양식을 쓰는 노트 페이지 %2$lld개는 빈 캔버스로 표시돼요. (필기와 요소는 그대로 남아요)" } } } }, - "‘%@’ 행동을 삭제할까요? 기록도 함께 삭제됩니다.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete the action ‘%@’? Its records will also be deleted." + "‘%@’ 행동을 삭제할까요? 기록도 함께 삭제됩니다." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete the action ‘%@’? Its records will also be deleted." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション「%@」を削除しますか?記録も一緒に削除されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション「%@」を削除しますか?記録も一緒に削除されます。" } } } }, - "‘글래스 버블 메뉴’를 고르면 하단 탭바 대신 화면 하단 중앙의 버튼을 눌렀을 때 유리 구슬 모양의 탭 버튼들이 부채꼴로 퍼져요. 모든 탭이 엄지 반경 안에 있어 한 손으로 조작하기 편해요. (실험적 기능)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose 'Glass Bubble Menu' to replace the bottom tab bar: tap the button at the bottom center and glass-orb tab buttons fan out in an arc. Every tab stays within thumb reach for easy one-handed use. (Experimental)" + "‘글래스 버블 메뉴’를 고르면 하단 탭바 대신 화면 하단 중앙의 버튼을 눌렀을 때 유리 구슬 모양의 탭 버튼들이 부채꼴로 퍼져요. 모든 탭이 엄지 반경 안에 있어 한 손으로 조작하기 편해요. (실험적 기능)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose 'Glass Bubble Menu' to replace the bottom tab bar: tap the button at the bottom center and glass-orb tab buttons fan out in an arc. Every tab stays within thumb reach for easy one-handed use. (Experimental)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「ガラスバブルメニュー」を選ぶと、下部タブバーの代わりに画面下中央のボタンをタップしたとき、ガラス玉のタブボタンが扇形に広がります。すべてのタブが親指の届く範囲にあり、片手でも操作しやすいです。(実験的機能)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「ガラスバブルメニュー」を選ぶと、下部タブバーの代わりに画面下中央のボタンをタップしたとき、ガラス玉のタブボタンが扇形に広がります。すべてのタブが親指の届く範囲にあり、片手でも操作しやすいです。(実験的機能)" } } } }, - "‘글래스 버블 메뉴’를 고르면 하단 탭바 대신 화면 하단 중앙의 버튼을 눌렀을 때 유리 구슬 모양의 탭 버튼들이 부채꼴로 퍼져요. 모든 탭이 엄지 반경 안에 있어 한 손으로 조작하기 편해요. (실험적 기능)\n‘두 번 눌러 바로 이동’을 켜면 메뉴가 닫혀 있을 때 버튼을 빠르게 두 번 눌러 선택한 탭으로 바로 이동해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose ‘Glass Bubble Menu’ to replace the bottom tab bar with a single button at the bottom center — tap it and glass-orb tab buttons fan out. Every tab stays within thumb reach for one-handed use. (Experimental)\nTurn on ‘Double-Tap to Jump’ to jump straight to a chosen tab by quickly tapping the button twice while the menu is closed." + "‘글래스 버블 메뉴’를 고르면 하단 탭바 대신 화면 하단 중앙의 버튼을 눌렀을 때 유리 구슬 모양의 탭 버튼들이 부채꼴로 퍼져요. 모든 탭이 엄지 반경 안에 있어 한 손으로 조작하기 편해요. (실험적 기능)\n‘두 번 눌러 바로 이동’을 켜면 메뉴가 닫혀 있을 때 버튼을 빠르게 두 번 눌러 선택한 탭으로 바로 이동해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose ‘Glass Bubble Menu’ to replace the bottom tab bar with a single button at the bottom center — tap it and glass-orb tab buttons fan out. Every tab stays within thumb reach for one-handed use. (Experimental)\nTurn on ‘Double-Tap to Jump’ to jump straight to a chosen tab by quickly tapping the button twice while the menu is closed." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "「ガラスバブルメニュー」を選ぶと、下部タブバーの代わりに画面下中央のボタン1つになり、押すとガラス玉のタブボタンが扇状に広がります。すべてのタブが親指の届く範囲にあり、片手で操作しやすいです。(実験的機能)\n「ダブルタップでジャンプ」をオンにすると、メニューが閉じているときにボタンを素早く2回押して、選んだタブへすぐ移動できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「ガラスバブルメニュー」を選ぶと、下部タブバーの代わりに画面下中央のボタン1つになり、押すとガラス玉のタブボタンが扇状に広がります。すべてのタブが親指の届く範囲にあり、片手で操作しやすいです。(実験的機能)\n「ダブルタップでジャンプ」をオンにすると、メニューが閉じているときにボタンを素早く2回押して、選んだタブへすぐ移動できます。" } } } }, - "① 대상 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "① Choose a target" + "① 대상 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "① Choose a target" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "① 対象を選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "① 対象を選択" } } } }, - "② 주기 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "② Choose a cycle" + "② 주기 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "② Choose a cycle" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "② 周期を選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "② 周期を選択" } } } }, - "③ 목표량과 방향": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "③ Amount & direction" + "③ 목표량과 방향" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "③ Amount & direction" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "③ 目標量と方向" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "③ 目標量と方向" } } } }, - "가장 나중에 시작한 행동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Most recently started action" + "가장 나중에 시작한 행동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Most recently started action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "最後に開始したアクション" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "最後に開始したアクション" } } } }, - "가장 먼저 시작한 행동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Earliest started action" + "가장 먼저 시작한 행동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Earliest started action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "最初に開始したアクション" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "最初に開始したアクション" } } } }, - "가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Import" + "가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Import" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込む" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込む" } } } }, - "가져오기 완료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Import Complete" + "가져오기 완료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Import Complete" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込み完了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込み完了" } } } }, - "가져오기는 프리미엄 기능이에요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Importing is a Premium feature" + "가져오기는 프리미엄 기능이에요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Importing is a Premium feature" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込みはプレミアム機能です" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込みはプレミアム機能です" } } } }, - "가져오는 중…": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Importing…" + "가져오는 중…" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Importing…" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込み中…" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込み中…" } } } }, - "가져온 양식은 노트 페이지를 추가할 때 배경으로 고를 수 있어요. 여러 쪽 PDF는 원하는 쪽을 골라 쓸 수 있어요. (쪽은 최대 %lld쪽, PDF 파일은 20MB까지)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Imported templates can be chosen as the background when adding a note page. For multi-page PDFs you can pick the page you want. (Up to %lld pages, PDF files up to 20MB)" + "가져온 양식은 노트 페이지를 추가할 때 배경으로 고를 수 있어요. 여러 쪽 PDF는 원하는 쪽을 골라 쓸 수 있어요. (쪽은 최대 %lld쪽, PDF 파일은 20MB까지)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Imported templates can be chosen as the background when adding a note page. For multi-page PDFs you can pick the page you want. (Up to %lld pages, PDF files up to 20MB)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込んだテンプレートは、ノートページを追加するときに背景として選べます。複数ページのPDFは使いたいページを選べます。(最大%lldページ、PDFファイルは20MBまで)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込んだテンプレートは、ノートページを追加するときに背景として選べます。複数ページのPDFは使いたいページを選べます。(最大%lldページ、PDFファイルは20MBまで)" } } } }, - "가져온 양식이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No imported templates" + "가져온 양식이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No imported templates" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込んだテンプレートはありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込んだテンプレートはありません" } } } }, - "가져온 행동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Imported action" + "가져온 행동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Imported action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込んだアクション" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込んだアクション" } } } }, - "가져올 새 내용이 없어요. 모두 이미 있는 기록이에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Nothing new to import — all of these records already exist." + "가져올 새 내용이 없어요. 모두 이미 있는 기록이에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nothing new to import — all of these records already exist." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込む新しい内容がありません。すべて既にある記録です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込む新しい内容がありません。すべて既にある記録です。" } } } }, - "가져올 수 있는 형식이 아니에요: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Not an importable format: %@" + "가져올 수 있는 형식이 아니에요: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Not an importable format: %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込める形式ではありません: %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込める形式ではありません: %@" } } } }, - "가져올 파일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Files to Import" + "가져올 파일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Files to Import" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読み込むファイル" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読み込むファイル" } } } }, - "값": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Value" + "값" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Value" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "値" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "値" } } } }, - "개수 제한 해제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Unlimited items" + "개수 제한 해제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unlimited items" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "個数制限の解除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "個数制限の解除" } } } }, - "개인정보처리방침": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Privacy Policy" + "개인정보처리방침" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Privacy Policy" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プライバシーポリシー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プライバシーポリシー" } } } }, - "건강": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Health" + "건강" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Health" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "健康" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "健康" } } } }, - "건강한 생활 습관": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Healthy habits" + "건강한 생활 습관" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Healthy habits" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "健康的な生活習慣" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "健康的な生活習慣" } } } }, - "건강한 생활 습관 만들기": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Build healthy habits" + "건강한 생활 습관 만들기" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Build healthy habits" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "健康的な生活習慣をつくる" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "健康的な生活習慣をつくる" } } } }, - "건너뛰기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Skip" + "건너뛰기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skip" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "スキップ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "スキップ" } } } }, - "건너뜀 — 중복 %lld건 · 측정 중 %lld건 · 오류 %lld건": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Skipped — %1$lld duplicates · %2$lld in progress · %3$lld errors" + "건너뜀 — 중복 %lld건 · 측정 중 %lld건 · 오류 %lld건" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skipped — %1$lld duplicates · %2$lld in progress · %3$lld errors" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "スキップ — 重複%1$lld件・計測中%2$lld件・エラー%3$lld件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "スキップ — 重複%1$lld件・計測中%2$lld件・エラー%3$lld件" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "건너뜀 — 중복 %1$lld건 · 측정 중 %2$lld건 · 오류 %3$lld건" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "건너뜀 — 중복 %1$lld건 · 측정 중 %2$lld건 · 오류 %3$lld건" } } } }, - "결과물은 일기 상세와 같은 구성(요약 + 노트 페이지)으로 만들어져요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The result matches the diary layout (summary + note pages)." + "결과물은 일기 상세와 같은 구성(요약 + 노트 페이지)으로 만들어져요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The result matches the diary layout (summary + note pages)." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "書き出し結果は日記詳細と同じ構成(サマリー+ノートページ)になります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "書き出し結果は日記詳細と同じ構成(サマリー+ノートページ)になります。" } } } }, - "공부": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Study" + "공부" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Study" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "勉強" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "勉強" } } } }, - "공유": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Share" + "공유" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Share" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "共有" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "共有" } } } }, - "구간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Period" + "구간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "区間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "区間" } } } }, - "구간 지정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Date range" + "구간 지정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Date range" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "期間指定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "期間指定" } } } }, - "구독 관리 (플랜 변경·해지)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Manage Subscription (change or cancel)" + "구독 관리 (플랜 변경·해지)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manage Subscription (change or cancel)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "サブスクリプション管理(変更・解約)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "サブスクリプション管理(変更・解約)" } } } }, - "구독은 결제 확인 시 Apple 계정으로 청구되고, 기간이 끝나기 24시간 전까지 해지하지 않으면 자동 갱신돼요. 해지는 언제든 App Store 구독 관리에서 할 수 있어요. 평생 이용권은 한 번 결제로 모든 기능을 계속 사용해요. 기기를 바꿨다면 '구매 복원'을 눌러 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Subscriptions are charged to your Apple account at purchase confirmation and renew automatically unless cancelled at least 24 hours before the period ends. You can cancel anytime in App Store subscription settings. The lifetime plan is a one-time purchase that keeps every feature forever. Changed devices? Tap 'Restore Purchases'." + "구독은 결제 확인 시 Apple 계정으로 청구되고, 기간이 끝나기 24시간 전까지 해지하지 않으면 자동 갱신돼요. 해지는 언제든 App Store 구독 관리에서 할 수 있어요. 평생 이용권은 한 번 결제로 모든 기능을 계속 사용해요. 기기를 바꿨다면 '구매 복원'을 눌러 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Subscriptions are charged to your Apple account at purchase confirmation and renew automatically unless cancelled at least 24 hours before the period ends. You can cancel anytime in App Store subscription settings. The lifetime plan is a one-time purchase that keeps every feature forever. Changed devices? Tap 'Restore Purchases'." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "サブスクリプションは購入確定時にAppleアカウントに請求され、期間終了の24時間前までに解約しない限り自動更新されます。解約はいつでもApp Storeのサブスクリプション管理から行えます。買い切りは1回の購入ですべての機能をずっと利用できます。機種変更した場合は「購入を復元」をタップしてください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "サブスクリプションは購入確定時にAppleアカウントに請求され、期間終了の24時間前までに解約しない限り自動更新されます。解約はいつでもApp Storeのサブスクリプション管理から行えます。買い切りは1回の購入ですべての機能をずっと利用できます。機種変更した場合は「購入を復元」をタップしてください。" } } } }, - "구독을 해지해도 이미 결제한 기간이 끝날 때까지는 계속 사용할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Even after cancelling, you can keep using premium until the paid period ends." + "구독을 해지해도 이미 결제한 기간이 끝날 때까지는 계속 사용할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Even after cancelling, you can keep using premium until the paid period ends." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "解約しても、支払い済みの期間が終わるまでは引き続き利用できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "解約しても、支払い済みの期間が終わるまでは引き続き利用できます。" } } } }, - "구매 복원": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Restore Purchases" + "구매 복원" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restore Purchases" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "購入を復元" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "購入を復元" } } } }, - "구매 복원과 구독 관리": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Restore Purchases & Manage Subscription" + "구매 복원과 구독 관리" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restore Purchases & Manage Subscription" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "購入の復元とサブスクリプション管理" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "購入の復元とサブスクリプション管理" } } } }, - "구매를 완료하지 못했어요. 잠시 후 다시 시도해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The purchase couldn't be completed. Please try again later." + "구매를 완료하지 못했어요. 잠시 후 다시 시도해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The purchase couldn't be completed. Please try again later." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "購入を完了できませんでした。しばらくしてからもう一度お試しください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "購入を完了できませんでした。しばらくしてからもう一度お試しください。" } } } }, - "그래프로 보여줄 행동들과 기간, 테마를 선택하세요. 크기에 따라 소형 2개·중형 4개·대형 6개까지 그려져요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose the actions to chart, the period, and the theme. Up to 2 (small), 4 (medium), or 6 (large) actions are drawn depending on size." + "그래프로 보여줄 행동들과 기간, 테마를 선택하세요. 크기에 따라 소형 2개·중형 4개·대형 6개까지 그려져요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose the actions to chart, the period, and the theme. Up to 2 (small), 4 (medium), or 6 (large) actions are drawn depending on size." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "グラフに表示するアクションと期間、テーマを選んでください。サイズに応じて小2・中4・大6件まで描画されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "グラフに表示するアクションと期間、テーマを選んでください。サイズに応じて小2・中4・大6件まで描画されます。" } } } }, - "그리기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Draw" + "그리기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Draw" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "描く" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "描く" } } } }, - "글 수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Text" + "글 수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Text" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テキストを編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テキストを編集" } } } }, - "글래스 버블 메뉴": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Glass Bubble Menu" + "글래스 버블 메뉴" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glass Bubble Menu" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ガラスバブルメニュー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ガラスバブルメニュー" } } } }, - "글자 색": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Text color" + "글자 색" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Text color" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "文字の色" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "文字の色" } } } }, - "금": { - "comment": "요일 축약(금요일)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Fri" + "금" : { + "comment" : "요일 축약(금요일)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fri" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "金" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "金" } } } }, - "기간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Period" + "기간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "期間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "期間" } } } }, - "기간 목표 · 이 날까지 누적": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Period goal · total up to this day" + "기간 목표 · 이 날까지 누적" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Period goal · total up to this day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "期間目標・この日までの累計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "期間目標・この日までの累計" } } } }, - "기간 진행률 %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Period progress %@" + "기간 진행률 %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Period progress %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "期間進捗 %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "期間進捗 %@" } } } }, - "기기 간 동기화": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sync Across Devices" + "기기 간 동기화" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sync Across Devices" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "デバイス間同期" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "デバイス間同期" } } } }, - "기기 간 동기화 (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sync Across Devices (Premium)" + "기기 간 동기화 (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sync Across Devices (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "デバイス間の同期(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "デバイス間の同期(プレミアム)" } } } }, - "기기를 바꿨거나 앱을 다시 설치했다면 설정 → 프리미엄의 '구매 복원'을 눌러 주세요. 구독 해지나 플랜 변경은 '구독 관리'에서 언제든 할 수 있고, 해지해도 결제한 기간이 끝날 때까지는 계속 쓸 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "If you changed devices or reinstalled the app, tap 'Restore Purchases' in Settings → Premium. You can cancel or change plans anytime in 'Manage Subscription', and premium stays active until the paid period ends." + "기기를 바꿨거나 앱을 다시 설치했다면 설정 → 프리미엄의 '구매 복원'을 눌러 주세요. 구독 해지나 플랜 변경은 '구독 관리'에서 언제든 할 수 있고, 해지해도 결제한 기간이 끝날 때까지는 계속 쓸 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "If you changed devices or reinstalled the app, tap 'Restore Purchases' in Settings → Premium. You can cancel or change plans anytime in 'Manage Subscription', and premium stays active until the paid period ends." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "機種変更やアプリの再インストールをした場合は、設定→プレミアムの「購入を復元」をタップしてください。解約やプラン変更は「サブスクリプション管理」からいつでもでき、解約しても支払い済みの期間が終わるまで利用できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "機種変更やアプリの再インストールをした場合は、設定→プレミアムの「購入を復元」をタップしてください。解約やプラン変更は「サブスクリプション管理」からいつでもでき、解約しても支払い済みの期間が終わるまで利用できます。" } } } }, - "기록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "History" + "기록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "History" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録" } } } }, - "기록 (최신순)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Records (newest first)" + "기록 (최신순)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Records (newest first)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録(新しい順)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録(新しい順)" } } } }, - "기록 보기·고치기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "View & Edit Records" + "기록 보기·고치기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "View & Edit Records" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録の表示と修正" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録の表示と修正" } } } }, - "기록 삭제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete Record" + "기록 삭제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete Record" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録を削除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録を削除" } } } }, - "기록 삭제 (증가 취소)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete record (undo count)" + "기록 삭제 (증가 취소)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete record (undo count)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録を削除(カウント取り消し)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録を削除(カウント取り消し)" } } } }, - "기록 상세": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Record details" + "기록 상세" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Record details" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録の詳細" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録の詳細" } } } }, - "기록 시 메모 창 표시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show note prompt when recording" + "기록 시 메모 창 표시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show note prompt when recording" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録時にメモ画面を表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録時にメモ画面を表示" } } } }, - "기록 시각": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Recorded at" + "기록 시각" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recorded at" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録時刻" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録時刻" } } } }, - "기록 직접 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add record manually" + "기록 직접 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add record manually" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録を手動で追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録を手動で追加" } } } }, - "기록 탭은 하루의 모든 기록을 보여줘요. 상단 화살표로 날짜를 이동하고, 기록을 탭하면 바로 수정할 수 있어요. 타임테이블 보기로 전환하면 하루 또는 일주일을 24시간 축 위에서 한눈에 볼 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The History tab shows all records for a day. Move between dates with the arrows at the top, and tap any record to edit it. Switch to the timetable view to see a day or a week on a 24-hour axis at a glance." + "기록 탭은 하루의 모든 기록을 보여줘요. 상단 화살표로 날짜를 이동하고, 기록을 탭하면 바로 수정할 수 있어요. 타임테이블 보기로 전환하면 하루 또는 일주일을 24시간 축 위에서 한눈에 볼 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The History tab shows all records for a day. Move between dates with the arrows at the top, and tap any record to edit it. Switch to the timetable view to see a day or a week on a 24-hour axis at a glance." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録タブでは1日のすべての記録を確認できます。上部の矢印で日付を移動し、記録をタップするとすぐ修正できます。タイムテーブル表示に切り替えると、1日または1週間を24時間軸で一目で見られます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録タブでは1日のすべての記録を確認できます。上部の矢印で日付を移動し、記録をタップするとすぐ修正できます。タイムテーブル表示に切り替えると、1日または1週間を24時間軸で一目で見られます。" } } } }, - "기록 필터": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "History filter" + "기록 필터" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "History filter" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録フィルター" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録フィルター" } } } }, - "기록 확인": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "View history" + "기록 확인" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "View history" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録を見る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録を見る" } } } }, - "기록-%@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "History-%@" + "기록-%@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "History-%@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録-%@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録-%@" } } } }, - "기록-주간-%@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "History-Weekly-%@" + "기록-주간-%@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "History-Weekly-%@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録-週間-%@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録-週間-%@" } } } }, - "기록·통계 탭": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "History & Stats Tabs" + "기록·통계 탭" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "History & Stats Tabs" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録・統計タブ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録・統計タブ" } } } }, - "기록·통계 탭 오른쪽 위 내보내기 버튼으로 지금 보고 있는 기간의 리포트를 고해상도 이미지로 만들 수 있어요. 라이트·다크 테마를 골라 공유하거나 사진에 저장해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Use the export button at the top right of the History or Stats tab to turn the current period into a high-resolution report image. Choose a light or dark theme, then share it or save it to Photos." + "기록·통계 탭 오른쪽 위 내보내기 버튼으로 지금 보고 있는 기간의 리포트를 고해상도 이미지로 만들 수 있어요. 라이트·다크 테마를 골라 공유하거나 사진에 저장해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Use the export button at the top right of the History or Stats tab to turn the current period into a high-resolution report image. Choose a light or dark theme, then share it or save it to Photos." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録・統計タブ右上の書き出しボタンで、表示中の期間のレポートを高解像度画像にできます。ライト・ダークテーマを選んで共有するか、写真に保存しましょう。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録・統計タブ右上の書き出しボタンで、表示中の期間のレポートを高解像度画像にできます。ライト・ダークテーマを選んで共有するか、写真に保存しましょう。" } } } }, - "기록에 메모 남기기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add notes to records" + "기록에 메모 남기기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add notes to records" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録にメモを残す" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録にメモを残す" } } } }, - "기록이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No records" + "기록이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No records" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録がありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録がありません" } } } }, - "기록이 있는 %@:%@ ~ %@:%@ 구간만 표시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Showing only %@:%@ ~ %@:%@ where records exist" + "기록이 있는 %@:%@ ~ %@:%@ 구간만 표시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Showing only %@:%@ ~ %@:%@ where records exist" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録がある%@:%@〜%@:%@の区間のみ表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録がある%@:%@〜%@:%@の区間のみ表示" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "기록이 있는 %1$@:%2$@ ~ %3$@:%4$@ 구간만 표시" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "기록이 있는 %1$@:%2$@ ~ %3$@:%4$@ 구간만 표시" } } } }, - "기록한 행동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Actions logged" + "기록한 행동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions logged" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記録したアクション" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記録したアクション" } } } }, - "기본 개념": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Basics" + "기본 개념" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basics" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "基本の概念" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "基本の概念" } } } }, - "기본 정보": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Basics" + "기본 정보" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basics" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "基本情報" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "基本情報" } } } }, - "기본 표시 설정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Default Display" + "기본 표시 설정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Default Display" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "デフォルト表示設定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "デフォルト表示設定" } } } }, - "기본 하단 탭 바": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Standard bottom tab bar" + "기본 하단 탭 바" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Standard bottom tab bar" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "標準の下部タブバー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "標準の下部タブバー" } } } }, - "기본값으로 되돌리기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reset to Default" + "기본값으로 되돌리기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reset to Default" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "デフォルトに戻す" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "デフォルトに戻す" } } } }, - "기존 행동에 이어서 %lld개": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld continuing in existing actions" + "기존 행동에 이어서 %lld개" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld continuing in existing actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "既存のアクションに繋がる%lld個" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "既存のアクションに繋がる%lld個" } } } }, - "기호": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Symbols" + "기호" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Symbols" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "記号" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "記号" } } } }, - "길게 누르기 메뉴": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Long-Press Menu" + "길게 누르기 메뉴" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Long-Press Menu" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "長押しメニュー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "長押しメニュー" } } } }, - "까지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "To" + "까지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "To" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了" } } } }, - "꼬리표": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tags" + "꼬리표" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ" } } } }, - "꼬리표 (복수 선택 가능)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tags (select multiple)" + "꼬리표 (복수 선택 가능)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags (select multiple)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ(複数選択可)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ(複数選択可)" } } } }, - "꼬리표 — 색으로 분류": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tags — Organize by Color" + "꼬리표 — 색으로 분류" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags — Organize by Color" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ — 色で分類" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ — 色で分類" } } } }, - "꼬리표 삭제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete Tag" + "꼬리표 삭제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete Tag" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグを削除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグを削除" } } } }, - "꼬리표 수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Tag" + "꼬리표 수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Tag" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグを編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグを編集" } } } }, - "꼬리표 순서": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tag Order" + "꼬리표 순서" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tag Order" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグの順序" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグの順序" } } } }, - "꼬리표 순서 변경": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reorder Tags" + "꼬리표 순서 변경" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reorder Tags" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグの並べ替え" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグの並べ替え" } } } }, - "꼬리표 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No tag" + "꼬리표 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No tag" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグなし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグなし" } } } }, - "꼬리표 이름 (예: 공부)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tag name (e.g. Study)" + "꼬리표 이름 (예: 공부)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tag name (e.g. Study)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ名(例: 勉強)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ名(例: 勉強)" } } } }, - "꼬리표 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add Tag" + "꼬리표 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Tag" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグを追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグを追加" } } } }, - "꼬리표가 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No tags" + "꼬리표가 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No tags" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグがありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグがありません" } } } }, - "꼬리표는 행동을 묶는 태그예요. 고유의 색을 가지며, 행동 버튼의 색은 지정한 꼬리표의 색을 따라요. 하나의 행동에 여러 꼬리표를 붙일 수 있고, 꼬리표 탭이나 행동 만들기 화면에서 바로 추가할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tags group your actions. Each tag has its own color, and action buttons take the color of their tag. One action can have multiple tags, and you can add tags from the Tags tab or right inside the action editor." + "꼬리표는 행동을 묶는 태그예요. 고유의 색을 가지며, 행동 버튼의 색은 지정한 꼬리표의 색을 따라요. 하나의 행동에 여러 꼬리표를 붙일 수 있고, 꼬리표 탭이나 행동 만들기 화면에서 바로 추가할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags group your actions. Each tag has its own color, and action buttons take the color of their tag. One action can have multiple tags, and you can add tags from the Tags tab or right inside the action editor." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグはアクションをまとめるラベルです。タグごとに固有の色があり、アクションボタンの色は指定したタグの色になります。1つのアクションに複数のタグを付けられ、タグタブやアクション作成画面からすぐ追加できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグはアクションをまとめるラベルです。タグごとに固有の色があり、アクションボタンの色は指定したタグの色になります。1つのアクションに複数のタグを付けられ、タグタブやアクション作成画面からすぐ追加できます。" } } } }, - "꼬리표로 행동을 색깔별로 분류하고, 기록·통계 탭에서 하루를 돌아봐요. 더 자세한 사용법은 설정 탭의 도움말에 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sort actions by color with tags, and look back on your day in the History and Stats tabs. For more details, see Help in the Settings tab." + "꼬리표로 행동을 색깔별로 분류하고, 기록·통계 탭에서 하루를 돌아봐요. 더 자세한 사용법은 설정 탭의 도움말에 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sort actions by color with tags, and look back on your day in the History and Stats tabs. For more details, see Help in the Settings tab." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグでアクションを色分けし、記録・統計タブで一日を振り返ります。詳しい使い方は設定タブのヘルプにあります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグでアクションを色分けし、記録・統計タブで一日を振り返ります。詳しい使い方は設定タブのヘルプにあります。" } } } }, - "꼬리표를 누르면 소속 행동이 한 번에 선택·해제되고, 그 안에서 행동을 개별로 켜고 끌 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap a tag to select or deselect all of its actions at once, or toggle each action individually." + "꼬리표를 누르면 소속 행동이 한 번에 선택·해제되고, 그 안에서 행동을 개별로 켜고 끌 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap a tag to select or deselect all of its actions at once, or toggle each action individually." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグをタップすると所属アクションを一括で選択・解除でき、その中で個別にオン/オフもできます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグをタップすると所属アクションを一括で選択・解除でき、その中で個別にオン/オフもできます。" } } } }, - "꼬리표별 시간 비교": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time by tag" + "꼬리표별 시간 비교" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time by tag" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ別時間比較" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ別時間比較" } } } }, - "꼬리표별 합계·평균": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Totals & averages by tag" + "꼬리표별 합계·평균" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totals & averages by tag" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ別合計・平均" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ別合計・平均" } } } }, - "꼬리표별 횟수 비교": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Counts by tag" + "꼬리표별 횟수 비교" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Counts by tag" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ別回数比較" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ別回数比較" } } } }, - "꾸준한 달리기": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Run consistently" + "꾸준한 달리기" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Run consistently" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "コツコツ走る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コツコツ走る" } } } }, - "끄면 그 목표는 모든 날짜의 카드에서 기본으로 숨겨져요. 날짜별 목표 필터에서 그 날짜만 다르게 고를 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Turned off, that goal is hidden by default on every date's card. The per-date goal filter can still make a different choice for a single date." + "끄면 그 목표는 모든 날짜의 카드에서 기본으로 숨겨져요. 날짜별 목표 필터에서 그 날짜만 다르게 고를 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Turned off, that goal is hidden by default on every date's card. The per-date goal filter can still make a different choice for a single date." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "オフにすると、その目標はすべての日付のカードでデフォルトで隠されます。日付ごとの目標フィルターで、その日付だけ違う選択もできます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "オフにすると、その目標はすべての日付のカードでデフォルトで隠されます。日付ごとの目標フィルターで、その日付だけ違う選択もできます。" } } } }, - "끄면 그 행동은 모든 날짜의 타임테이블에서 기본으로 숨겨져요 (요약 수치·기록 목록은 그대로). 날짜별 필터로 그 날짜만 다르게 고를 수 있어요.\n이 화면의 기본값은 이 기기에만 저장돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Turned off, that action is hidden by default on every date's timetable (summary numbers and record lists are unaffected). The per-date filter can still make a different choice for a single date.\nDefaults on this screen are saved on this device only." + "끄면 그 행동은 모든 날짜의 타임테이블에서 기본으로 숨겨져요 (요약 수치·기록 목록은 그대로). 날짜별 필터로 그 날짜만 다르게 고를 수 있어요.\n이 화면의 기본값은 이 기기에만 저장돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Turned off, that action is hidden by default on every date's timetable (summary numbers and record lists are unaffected). The per-date filter can still make a different choice for a single date.\nDefaults on this screen are saved on this device only." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "オフにすると、そのアクションはすべての日付のタイムテーブルでデフォルトで隠されます(サマリーの数値・記録リストはそのまま)。日付ごとのフィルターで、その日付だけ違う選択もできます。\nこの画面のデフォルトはこの端末にのみ保存されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "オフにすると、そのアクションはすべての日付のタイムテーブルでデフォルトで隠されます(サマリーの数値・記録リストはそのまま)。日付ごとのフィルターで、その日付だけ違う選択もできます。\nこの画面のデフォルトはこの端末にのみ保存されます。" } } } }, - "끝": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "End" + "끝" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "End" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了" } } } }, - "나만의 양식(속지)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "My Templates (Paper)" + "나만의 양식(속지)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "My Templates (Paper)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "マイテンプレート(用紙)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "マイテンプレート(用紙)" } } } }, - "나머지 행동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Other actions" + "나머지 행동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Other actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "その他のアクション" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "その他のアクション" } } } }, - "나머지 행동 접기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hide other actions" + "나머지 행동 접기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hide other actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "その他のアクションを折りたたむ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "その他のアクションを折りたたむ" } } } }, - "나머지 행동 펼치기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show other actions" + "나머지 행동 펼치기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show other actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "その他のアクションを表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "その他のアクションを表示" } } } }, - "날짜": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Date" + "날짜" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Date" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日付" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日付" } } } }, - "날짜 기준": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Date Rules" + "날짜 기준" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Date Rules" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日付の基準" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日付の基準" } } } }, - "날짜 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose dates" + "날짜 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose dates" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日付を選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日付を選択" } } } }, - "날짜 지정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Specific dates" + "날짜 지정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Specific dates" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日付指定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日付指定" } } } }, - "날짜마다 페이지들을 세로로 이어 붙인 PNG 이미지를 만들어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Creates one PNG per day with its pages stitched vertically." + "날짜마다 페이지들을 세로로 이어 붙인 PNG 이미지를 만들어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creates one PNG per day with its pages stitched vertically." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日付ごとにページを縦につなげたPNG画像を作成します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日付ごとにページを縦につなげたPNG画像を作成します。" } } } }, - "내 양식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "My Templates" + "내 양식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "My Templates" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "マイテンプレート" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "マイテンプレート" } } } }, - "내보내기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Export" + "내보내기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Export" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "書き出す" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "書き出す" } } } }, - "내보낼 데이터": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Data to Export" + "내보낼 데이터" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Data to Export" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "書き出すデータ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "書き出すデータ" } } } }, - "내보냈던 CSV 파일에서 행동과 시간·횟수 기록을 복원할 수 있어요. 데이터 내보내기는 무료로 계속 쓸 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Restore actions and time/count records from CSV files you exported. Data Export stays free for everyone." + "내보냈던 CSV 파일에서 행동과 시간·횟수 기록을 복원할 수 있어요. 데이터 내보내기는 무료로 계속 쓸 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restore actions and time/count records from CSV files you exported. Data Export stays free for everyone." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "書き出したCSVファイルからアクションと時間・回数記録を復元できます。データ書き出しは引き続き無料で使えます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "書き出したCSVファイルからアクションと時間・回数記録を復元できます。データ書き出しは引き続き無料で使えます。" } } } }, - "내보냈던 CSV에서 행동과 기록을 복원해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Restore actions and records from exported CSVs." + "내보냈던 CSV에서 행동과 기록을 복원해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Restore actions and records from exported CSVs." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "書き出したCSVからアクションと記録を復元します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "書き出したCSVからアクションと記録を復元します。" } } } }, - "내비게이션": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Navigation" + "내비게이션" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Navigation" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ナビゲーション" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ナビゲーション" } } } }, - "내비게이션 방식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Navigation style" + "내비게이션 방식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Navigation style" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ナビゲーション方式" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ナビゲーション方式" } } } }, - "내용": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Title" + "내용" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Title" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "内容" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "内容" } } } }, - "내용을 입력하세요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Enter text" + "내용을 입력하세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter text" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "内容を入力" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "内容を入力" } } } }, - "넓게": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Wide" + "넓게" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wide" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "広い" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "広い" } } } }, - "년 구독": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Yearly" + "년 구독" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yearly" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "年額プラン" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "年額プラン" } } } }, - "누적 기록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Totals" + "누적 기록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "累計記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "累計記録" } } } }, - "누적값 표시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show totals" + "누적값 표시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show totals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "累計表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "累計表示" } } } }, - "다른 기기에서 바뀐 내용을 다시 불러오고 위젯도 갱신해요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reloads changes from other devices and refreshes widgets" + "다른 기기에서 바뀐 내용을 다시 불러오고 위젯도 갱신해요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reloads changes from other devices and refreshes widgets" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "他のデバイスでの変更を読み込み直し、ウィジェットも更新します" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "他のデバイスでの変更を読み込み直し、ウィジェットも更新します" } } } }, - "다른 파일 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Import More Files" + "다른 파일 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Import More Files" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "別のファイルを読み込む" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "別のファイルを読み込む" } } } }, - "다시 만들기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Regenerate" + "다시 만들기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Regenerate" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "作り直す" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "作り直す" } } } }, - "다시 시도": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Try Again" + "다시 시도" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Try Again" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "再試行" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "再試行" } } } }, - "다음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Next" + "다음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Next" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "次へ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "次へ" } } } }, - "다음 갱신: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Renews on %@" + "다음 갱신: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Renews on %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "次回更新: %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "次回更新: %@" } } } }, - "다음 기간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Next period" + "다음 기간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Next period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "次の期間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "次の期間" } } } }, - "다음 날짜": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Next day" + "다음 날짜" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Next day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "次の日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "次の日" } } } }, - "다음 달": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Next month" + "다음 달" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Next month" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "次の月" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "次の月" } } } }, - "다이나믹 아일랜드 · 잠금화면": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dynamic Island · Lock Screen" + "다이나믹 아일랜드 · 잠금화면" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dynamic Island · Lock Screen" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Dynamic Island・ロック画面" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dynamic Island・ロック画面" } } } }, - "다이나믹 아일랜드·잠금화면": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dynamic Island & Lock Screen" + "다이나믹 아일랜드·잠금화면" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dynamic Island & Lock Screen" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Dynamic Island・ロック画面" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dynamic Island・ロック画面" } } } }, - "다짐": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Quest" + "다짐" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quest" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエスト" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエスト" } } } }, - "다짐 %lld개": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld quest" + "다짐 %lld개" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld quest" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld quests" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld quests" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエスト%lld個" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエスト%lld個" } } } }, - "다짐 %lld개 더 보기": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "Show %lld more quest" + "다짐 %lld개 더 보기" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show %lld more quest" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "Show %lld more quests" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show %lld more quests" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストをあと%lld件表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストをあと%lld件表示" } } } }, - "다짐 (하루)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Quests (daily)" + "다짐 (하루)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quests (daily)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエスト(1日)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエスト(1日)" } } } }, - "다짐 수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Quest" + "다짐 수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Quest" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストを編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストを編集" } } } }, - "다짐 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No quests" + "다짐 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No quests" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストなし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストなし" } } } }, - "다짐 점 표시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Quest dots" + "다짐 점 표시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quest dots" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストをドット表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストをドット表示" } } } }, - "다짐 진행률": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Quest Progress" + "다짐 진행률" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quest Progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエスト進捗率" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエスト進捗率" } } } }, - "다짐 진행률 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Get Quest Progress" + "다짐 진행률 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Get Quest Progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストの進捗率を取得" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストの進捗率を取得" } } } }, - "다짐 진행률 위젯": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Quest Progress Widget" + "다짐 진행률 위젯" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quest Progress Widget" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエスト進捗ウィジェット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエスト進捗ウィジェット" } } } }, - "다짐 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add Quest" + "다짐 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Quest" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストを追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストを追加" } } } }, - "다짐 평균 달성률": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Average quest completion" + "다짐 평균 달성률" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Average quest completion" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストの平均達成率" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストの平均達成率" } } } }, - "다짐 현황": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Quest Status" + "다짐 현황" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quest Status" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエスト状況" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエスト状況" } } } }, - "다짐 현황 위젯": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Quest Status Widget" + "다짐 현황 위젯" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quest Status Widget" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエスト状況ウィジェット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエスト状況ウィジェット" } } } }, - "다짐들의 진행률 링을 보여줄 목표와 기간, 테마를 선택하세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose the goal whose quest rings to show, plus the period and theme." + "다짐들의 진행률 링을 보여줄 목표와 기간, 테마를 선택하세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose the goal whose quest rings to show, plus the period and theme." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストの進捗リングを表示する目標と期間、テーマを選んでください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストの進捗リングを表示する目標と期間、テーマを選んでください。" } } } }, - "다짐마다 하루·주간·월간 진행률이 표시돼요. 주간·월간 진행률은 하루 초과 달성이 다른 날의 미달을 가리지 않도록 하루 목표량까지만 인정해 합산하고, 요일·날짜를 정한 다짐은 수행일의 기록만 집계해요 — 수행일이 아닌 날의 '하루' 진행률은 '수행일 아님'으로 표시돼요. 다짐 자신의 주기(하루 다짐의 '하루' 등)에서는 100%를 넘는 초과 달성이 그대로 표시되지만, 주간 다짐의 '하루'처럼 주기와 다른 기간은 목표를 그 기간 몫으로 나눈 페이스 기준이라 최대 100%까지만 표시돼요. '이하 유지' 다짐은 한도 안이면 100%, 넘으면 0%예요 — 주간·월간 한도 다짐의 '하루'는 하루 몫 한도 기준이라, 주간 한도가 남았어도 오늘 많이 쓰면 먼저 알려주는 경고 역할을 해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Each quest shows daily, weekly and monthly progress. Weekly and monthly progress count each day only up to its daily target, so one big day can't hide shortfalls on other days — and quests set to specific weekdays or dates only count records on their scheduled days, with the 'Daily' bar showing 'Not scheduled' on other days. On a quest's own cycle (like 'Daily' for a daily quest), overachievement above 100% is shown as is, but periods other than its cycle — like the 'Daily' bar of a weekly quest — are pace guides that split the target across the period, so they show at most 100%. 'Stay under' quests show 100% within the limit and 0% over it — for weekly or monthly limits, the 'Daily' bar uses the day's share, so it warns you early even while the weekly limit still has room." + "다짐마다 하루·주간·월간 진행률이 표시돼요. 주간·월간 진행률은 하루 초과 달성이 다른 날의 미달을 가리지 않도록 하루 목표량까지만 인정해 합산하고, 요일·날짜를 정한 다짐은 수행일의 기록만 집계해요 — 수행일이 아닌 날의 '하루' 진행률은 '수행일 아님'으로 표시돼요. 주간·월간 다짐이 이번 주(이번 달) 몫을 이미 채웠다면 '하루' 진행률은 0% 대신 '이번 주 달성'·'이번 달 달성'으로 표시되고 목표의 하루 진행률에도 달성으로 반영돼요 — 오늘은 더 하지 않아도 된다는 뜻이에요. 다짐 자신의 주기(하루 다짐의 '하루' 등)에서는 100%를 넘는 초과 달성이 그대로 표시되지만, 주간 다짐의 '하루'처럼 주기와 다른 기간은 목표를 그 기간 몫으로 나눈 페이스 기준이라 최대 100%까지만 표시돼요. '이하 유지' 다짐은 한도 안이면 100%, 넘으면 0%예요 — 주간·월간 한도 다짐의 '하루'는 하루 몫 한도 기준이라, 주간 한도가 남았어도 오늘 많이 쓰면 먼저 알려주는 경고 역할을 해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Each quest shows daily, weekly and monthly progress. Weekly and monthly progress count each day only up to its daily target, so one big day can't hide shortfalls on other days — and quests set to specific weekdays or dates only count records on their scheduled days, with the 'Daily' bar showing 'Not scheduled' on other days. If a weekly or monthly quest has already met this week's (or this month's) target, the 'Daily' bar shows 'Done this week' or 'Done this month' instead of 0% and counts as achieved in the goal's daily progress — meaning nothing more is needed today. On a quest's own cycle (like 'Daily' for a daily quest), overachievement above 100% is shown as is, but periods other than its cycle — like the 'Daily' bar of a weekly quest — are pace guides that split the target across the period, so they show at most 100%. 'Stay under' quests show 100% within the limit and 0% over it — for weekly or monthly limits, the 'Daily' bar uses the day's share, so it warns you early even while the weekly limit still has room." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストごとに1日・週間・月間の進捗が表示されます。週間・月間の進捗は、1日の超過達成がほかの日の未達を隠さないよう1日の目標量までを合算し、曜日・日付を決めたクエストは実行日の記録だけを集計します — 実行日でない日の「1日」は「実行日ではありません」と表示されます。クエスト自身の周期(毎日クエストの「1日」など)では100%を超える超過達成がそのまま表示されますが、週間クエストの「1日」のように周期と異なる期間は、目標をその期間分に割ったペース基準のため最大100%までの表示になります。「以下をキープ」のクエストは上限内なら100%、超えると0%です — 週間・月間上限の「1日」は1日分の上限が基準のため、週の上限が残っていても使いすぎを早めに知らせてくれます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストごとに1日・週間・月間の進捗が表示されます。週間・月間の進捗は、1日の超過達成がほかの日の未達を隠さないよう1日の目標量までを合算し、曜日・日付を決めたクエストは実行日の記録だけを集計します — 実行日でない日の「1日」は「実行日ではありません」と表示されます。週間・月間クエストが今週(今月)の分をすでに満たしている場合、「1日」は0%の代わりに「今週分達成」・「今月分達成」と表示され、目標の1日進捗にも達成として反映されます — 今日はやらなくてもよいという意味です。クエスト自身の周期(毎日クエストの「1日」など)では100%を超える超過達成がそのまま表示されますが、週間クエストの「1日」のように周期と異なる期間は、目標をその期間分に割ったペース基準のため最大100%までの表示になります。「以下をキープ」のクエストは上限内なら100%、超えると0%です — 週間・月間上限の「1日」は1日分の上限が基準のため、週の上限が残っていても使いすぎを早めに知らせてくれます。" } } } }, - "다짐별로 각각": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Each quest separately" + "다짐별로 각각" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Each quest separately" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストごとに表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストごとに表示" } } } }, - "다짐을 끊기지 않고 지키면 불꽃과 함께 '연속 3일'처럼 표시돼요. 요일이나 날짜를 정한 다짐은 그 수행일만 세고, 주간·월간 다짐은 '연속 N주·N달'로 세요. 계산은 목표 시작일부터 시작하고, 아직 끝나지 않은 오늘(이번 주기)은 못 채웠어도 끊기지 않아요. '이하 유지' 다짐은 한도를 넘는 순간 끊겨요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Keep a quest going without a break and a flame appears with a streak like \"3-day streak\". Quests set for specific weekdays or dates count only their scheduled days, and weekly/monthly quests count as \"N-week / N-month streaks\". Counting starts from the goal's start date, and today (or the current period) never breaks the streak while it's still in progress. \"Stay under\" quests break the moment you exceed the limit." + "다짐을 끊기지 않고 지키면 불꽃과 함께 '연속 3일'처럼 표시돼요. 요일이나 날짜를 정한 다짐은 그 수행일만 세고, 주간·월간 다짐은 '연속 N주·N달'로 세요. 계산은 목표 시작일부터 시작하고, 아직 끝나지 않은 오늘(이번 주기)은 못 채웠어도 끊기지 않아요. '이하 유지' 다짐은 한도를 넘는 순간 끊겨요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Keep a quest going without a break and a flame appears with a streak like \"3-day streak\". Quests set for specific weekdays or dates count only their scheduled days, and weekly/monthly quests count as \"N-week / N-month streaks\". Counting starts from the goal's start date, and today (or the current period) never breaks the streak while it's still in progress. \"Stay under\" quests break the moment you exceed the limit." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストを途切れず守ると、炎マークと「連続3日」のような表示が付きます。曜日や日付を決めたクエストは実行日だけを数え、週間・月間クエストは「連続N週・Nか月」で数えます。計算は目標の開始日から始まり、まだ終わっていない今日(今の期間)は未達でも途切れません。「以下をキープ」のクエストは上限を超えた瞬間に途切れます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストを途切れず守ると、炎マークと「連続3日」のような表示が付きます。曜日や日付を決めたクエストは実行日だけを数え、週間・月間クエストは「連続N週・Nか月」で数えます。計算は目標の開始日から始まり、まだ終わっていない今日(今の期間)は未達でも途切れません。「以下をキープ」のクエストは上限を超えた瞬間に途切れます。" } } } }, - "다짐을 찾을 수 없어요. 앱에서 삭제됐을 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Quest not found. It may have been deleted in the app." + "다짐을 찾을 수 없어요. 앱에서 삭제됐을 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quest not found. It may have been deleted in the app." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストが見つかりません。アプリで削除された可能性があります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストが見つかりません。アプリで削除された可能性があります。" } } } }, - "다짐의 진행률을 원형 링으로 보고, 눌러서 바로 실행해요. (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "See quest progress as a ring and tap to run the action. (Premium)" + "다짐의 진행률을 원형 링으로 보고, 눌러서 바로 실행해요. (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "See quest progress as a ring and tap to run the action. (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストの進捗をリングで確認し、タップで即実行。(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストの進捗をリングで確認し、タップで即実行。(プレミアム)" } } } }, - "다짐의 하루/주간/월간 진행률(%)을 가져와요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Gets a quest's daily/weekly/monthly progress (%)." + "다짐의 하루/주간/월간 진행률(%)을 가져와요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gets a quest's daily/weekly/monthly progress (%)." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストの日/週/月の進捗率(%)を取得します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストの日/週/月の進捗率(%)を取得します。" } } } }, - "다짐이 아직 없는 목표예요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This goal has no quests yet" + "다짐이 아직 없는 목표예요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This goal has no quests yet" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "まだクエストのない目標です" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "まだクエストのない目標です" } } } }, - "다짐이 없는 목표예요. 달성했나요?": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This goal has no quests. Did you achieve it?" + "다짐이 없는 목표예요. 달성했나요?" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This goal has no quests. Did you achieve it?" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストのない目標です。達成しましたか?" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストのない目標です。達成しましたか?" } } } }, - "다짐이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No quests" + "다짐이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No quests" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クエストがありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クエストがありません" } } } }, - "다크": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dark" + "다크" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dark" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ダーク" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダーク" } } } }, - "다크 모드 고정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Always dark" + "다크 모드 고정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Always dark" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ダークモード固定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダークモード固定" } } } }, - "단축어 앱에서 '하루 다님'을 검색하면 측정 시작·종료, 횟수 추가, 행동 누적값 가져오기, 목표·다짐 진행률 가져오기 동작을 조합해 나만의 자동화를 만들 수 있어요. \"시리야, 하루 다님에서 측정 시작\"처럼 말로도 실행할 수 있고, 어떤 행동인지 물으면 이름으로 대답하면 돼요. 진행률 동작은 값을 돌려주므로 다른 단축어와 이어 붙일 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Search for 'HaruDanim' in the Shortcuts app to combine actions — start/stop tracking, add counts, get an action's totals, and get goal or quest progress — into your own automations. You can also just say \"Hey Siri, start tracking in HaruDanim\"; when Siri asks which action, answer with its name. The progress actions return a value, so you can chain them into other shortcuts." + "단축어 앱에서 '하루 다님'을 검색하면 측정 시작·종료, 횟수 추가, 행동 누적값 가져오기, 목표·다짐 진행률 가져오기 동작을 조합해 나만의 자동화를 만들 수 있어요. \"시리야, 하루 다님에서 측정 시작\"처럼 말로도 실행할 수 있고, 어떤 행동인지 물으면 이름으로 대답하면 돼요. 진행률 동작은 값을 돌려주므로 다른 단축어와 이어 붙일 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search for 'HaruDanim' in the Shortcuts app to combine actions — start/stop tracking, add counts, get an action's totals, and get goal or quest progress — into your own automations. You can also just say \"Hey Siri, start tracking in HaruDanim\"; when Siri asks which action, answer with its name. The progress actions return a value, so you can chain them into other shortcuts." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ショートカットアプリで「Haru Danim」を検索すると、計測の開始・終了、回数の追加、アクションの累計取得、目標・クエストの達成率取得を組み合わせて自分だけの自動化が作れます。「Hey Siri、Haru Danimで計測開始」のように声でも実行でき、どのアクションか聞かれたら名前で答えるだけ。達成率のアクションは値を返すので、他のショートカットにつなげられます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ショートカットアプリで「Haru Danim」を検索すると、計測の開始・終了、回数の追加、アクションの累計取得、目標・クエストの達成率取得を組み合わせて自分だけの自動化が作れます。「Hey Siri、Haru Danimで計測開始」のように声でも実行でき、どのアクションか聞かれたら名前で答えるだけ。達成率のアクションは値を返すので、他のショートカットにつなげられます。" } } } }, - "닫기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Close" + "닫기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Close" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "閉じる" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "閉じる" } } } }, - "달력 화면 오른쪽 위 내보내기 버튼에서 기간(며칠부터 며칠까지)이나 여러 날짜를 골라 PDF 또는 이미지로 저장해요. 요약 페이지와 노트 페이지가 그대로 담겨요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "From the export button at the top right of the calendar, pick a date range or multiple dates and save them as a PDF or image. Both the summary page and note pages are included as they appear." + "달력 화면 오른쪽 위 내보내기 버튼에서 기간(며칠부터 며칠까지)이나 여러 날짜를 골라 PDF 또는 이미지로 저장해요. 요약 페이지와 노트 페이지가 그대로 담겨요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "From the export button at the top right of the calendar, pick a date range or multiple dates and save them as a PDF or image. Both the summary page and note pages are included as they appear." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "カレンダー画面右上の書き出しボタンから、期間または複数の日付を選んでPDFや画像で保存できます。サマリーページもノートページもそのまま収められます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カレンダー画面右上の書き出しボタンから、期間または複数の日付を選んでPDFや画像で保存できます。サマリーページもノートページもそのまま収められます。" } } } }, - "달력 화면 오른쪽 위 양식 버튼에서 PDF나 사진을 노트 배경 양식으로 가져올 수 있어요. 가져온 양식은 페이지를 추가할 때 빈 캔버스·줄 노트와 함께 고를 수 있고, 여러 쪽 PDF는 원하는 쪽을 골라 써요. 양식은 필기 아래에 깔리고 확대해도 선명하게 보여요. 양식을 삭제하면 그 양식을 쓰던 페이지는 빈 캔버스로 표시되지만 필기는 그대로 남아요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Use the templates button at the top right of the calendar screen to import PDFs or photos as note background templates. When adding a page, you can choose an imported template alongside the blank canvas and lined paper, and for multi-page PDFs you pick the page you want. Templates sit underneath your handwriting and stay sharp even when zoomed in. If you delete a template, pages that used it show as a blank canvas, but your handwriting is kept." + "달력 화면 오른쪽 위 양식 버튼에서 PDF나 사진을 노트 배경 양식으로 가져올 수 있어요. 가져온 양식은 페이지를 추가할 때 빈 캔버스·줄 노트와 함께 고를 수 있고, 여러 쪽 PDF는 원하는 쪽을 골라 써요. 양식은 필기 아래에 깔리고 확대해도 선명하게 보여요. 양식을 삭제하면 그 양식을 쓰던 페이지는 빈 캔버스로 표시되지만 필기는 그대로 남아요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Use the templates button at the top right of the calendar screen to import PDFs or photos as note background templates. When adding a page, you can choose an imported template alongside the blank canvas and lined paper, and for multi-page PDFs you pick the page you want. Templates sit underneath your handwriting and stay sharp even when zoomed in. If you delete a template, pages that used it show as a blank canvas, but your handwriting is kept." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "カレンダー画面右上のテンプレートボタンから、PDFや写真をノートの背景テンプレートとして読み込めます。ページを追加するとき、白紙・罫線ノートと一緒に読み込んだテンプレートを選べ、複数ページのPDFは使いたいページを選びます。テンプレートは手書きの下に敷かれ、拡大しても鮮明に表示されます。テンプレートを削除しても、使っていたページは白紙として表示されるだけで、手書きはそのまま残ります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カレンダー画面右上のテンプレートボタンから、PDFや写真をノートの背景テンプレートとして読み込めます。ページを追加するとき、白紙・罫線ノートと一緒に読み込んだテンプレートを選べ、複数ページのPDFは使いたいページを選びます。テンプレートは手書きの下に敷かれ、拡大しても鮮明に表示されます。テンプレートを削除しても、使っていたページは白紙として表示されるだけで、手書きはそのまま残ります。" } } } }, - "달리기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Running" + "달리기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Running" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ランニング" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ランニング" } } } }, - "달성": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Achieved" + "달성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achieved" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成" } } } }, - "달성 완료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Achieved" + "달성 완료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achieved" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成済み" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成済み" } } } }, - "달성 판정 기준": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Achievement Threshold" + "달성 판정 기준" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achievement Threshold" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成判定の基準" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成判定の基準" } } } }, - "달성기준%": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Achieve threshold %" + "달성기준%" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achieve threshold %" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成基準%" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成基準%" } } } }, - "달성률 기간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Progress period" + "달성률 기간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Progress period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成率の期間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成率の期間" } } } }, - "달성하거나 종료한 목표가 여기에 모여요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goals you've achieved or finished appear here." + "달성하거나 종료한 목표가 여기에 모여요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goals you've achieved or finished appear here." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成または終了した目標がここに表示されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成または終了した目標がここに表示されます。" } } } }, - "달성하지 못했어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Not achieved" + "달성하지 못했어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Not achieved" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成できませんでした" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成できませんでした" } } } }, - "달성했나요? 탭해서 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Did you achieve it? Tap to choose" + "달성했나요? 탭해서 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Did you achieve it? Tap to choose" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成しましたか?タップして選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成しましたか?タップして選択" } } } }, - "달성했어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Achieved" + "달성했어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achieved" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "達成しました" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "達成しました" } } } }, - "당신의 하루에 다녀가다": { - "comment": "스플래시 브랜드 멘트", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stopping by your day" + "당신의 하루에 다녀가다" : { + "comment" : "스플래시 브랜드 멘트", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stopping by your day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "あなたの一日に、立ち寄る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "あなたの一日に、立ち寄る" } } } }, - "대상": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Target" + "대상" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Target" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "対象" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "対象" } } } }, - "대상 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No target" + "대상 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No target" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "対象なし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "対象なし" } } } }, - "대상 종류": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Target type" + "대상 종류" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Target type" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "対象の種類" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "対象の種類" } } } }, - "대표 시간 기준": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Primary timer" + "대표 시간 기준" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Primary timer" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "代表時間の基準" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "代表時間の基準" } } } }, - "대형 위젯 구성": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Large widget layout" + "대형 위젯 구성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Large widget layout" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "大型ウィジェット構成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "大型ウィジェット構成" } } } }, - "더보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "More" + "더보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "More" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "その他" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "その他" } } } }, - "데이터": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Data" + "데이터" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Data" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "データ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "データ" } } } }, - "데이터 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Import Data" + "데이터 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Import Data" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "データ読み込み" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "データ読み込み" } } } }, - "데이터 내보내기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Export Data" + "데이터 내보내기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Export Data" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "データを書き出す" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "データを書き出す" } } } }, - "도움말": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Help" + "도움말" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Help" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ヘルプ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ヘルプ" } } } }, - "도형": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Shape" + "도형" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Shape" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "図形" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "図形" } } } }, - "독서": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reading" + "독서" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reading" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読書" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読書" } } } }, - "독서 30분": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Read for 30 minutes" + "독서 30분" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Read for 30 minutes" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "読書30分" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "読書30分" } } } }, - "동기화": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sync" + "동기화" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sync" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "同期" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "同期" } } } }, - "동기화 켜기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Turn On Sync" + "동기화 켜기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Turn On Sync" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "同期をオンにする" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "同期をオンにする" } } } }, - "두 번 눌러 바로 이동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Double-Tap to Jump" + "두 번 눌러 바로 이동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Double-Tap to Jump" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ダブルタップでジャンプ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ダブルタップでジャンプ" } } } }, - "드래그해서 순서를 바꾸고, 스위치로 표시 여부를 정할 수 있어요. 모든 날짜의 일기 첫 화면에 함께 적용돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Drag to reorder and use the switches to show or hide sections. Applies to the first page of every diary date." + "드래그해서 순서를 바꾸고, 스위치로 표시 여부를 정할 수 있어요. 모든 날짜의 일기 첫 화면에 함께 적용돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drag to reorder and use the switches to show or hide sections. Applies to the first page of every diary date." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ドラッグで並べ替え、スイッチで表示/非表示を設定できます。すべての日付の日記の最初のページに適用されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ドラッグで並べ替え、スイッチで表示/非表示を設定できます。すべての日付の日記の最初のページに適用されます。" } } } }, - "등록된 꼬리표가 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No tags yet" + "등록된 꼬리표가 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No tags yet" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "登録されたタグがありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "登録されたタグがありません" } } } }, - "등록된 행동이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No actions yet" + "등록된 행동이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No actions yet" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "登録されたアクションがありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "登録されたアクションがありません" } } } }, - "라이트": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Light" + "라이트" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Light" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ライト" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ライト" } } } }, - "라이트 모드 고정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Always light" + "라이트 모드 고정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Always light" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ライトモード固定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ライトモード固定" } } } }, - "마감 시각": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Deadline" + "마감 시각" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deadline" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "締め切り時刻" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "締め切り時刻" } } } }, - "마감 시각까지 달성하기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Meeting a daily deadline" + "마감 시각까지 달성하기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meeting a daily deadline" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "締め切り時刻までに達成する" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "締め切り時刻までに達成する" } } } }, - "마감 시각까지만 집계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count only until a deadline" + "마감 시각까지만 집계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count only until a deadline" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "締め切り時刻までのみ集計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "締め切り時刻までのみ集計" } } } }, - "만드는 중…": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Creating…" + "만드는 중…" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creating…" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "作成中…" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "作成中…" } } } }, - "만든날": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Created" + "만든날" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Created" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "作成日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "作成日" } } } }, - "매달": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Every month" + "매달" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Every month" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "毎月" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "毎月" } } } }, - "매달 %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Every month on day %@" + "매달 %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Every month on day %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "毎月%@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "毎月%@" } } } }, - "매달 %lld번째 %@요일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "#%lld %@ of every month" + "매달 %lld번째 %@요일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%lld %@ of every month" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "毎月第%lld%@曜日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "毎月第%lld%@曜日" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "매달 %1$lld번째 %2$@요일" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "매달 %1$lld번째 %2$@요일" } } } }, - "매일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Every day" + "매일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Every day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "毎日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "毎日" } } } }, - "매일 밤 독서 습관": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Nightly reading habit" + "매일 밤 독서 습관" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nightly reading habit" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "毎晩の読書習慣" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "毎晩の読書習慣" } } } }, - "매주": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Every week" + "매주" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Every week" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "毎週" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "毎週" } } } }, - "매주 %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Every week on %@" + "매주 %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Every week on %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "毎週%@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "毎週%@" } } } }, - "메뉴": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Menu" + "메뉴" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Menu" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "メニュー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "メニュー" } } } }, - "메뉴 닫기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Close menu" + "메뉴 닫기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Close menu" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "メニューを閉じる" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "メニューを閉じる" } } } }, - "메모": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Note" + "메모" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Note" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "メモ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "メモ" } } } }, - "메모 남기기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Leave a note" + "메모 남기기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Leave a note" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "メモを残す" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "メモを残す" } } } }, - "몇 번째": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Occurrence" + "몇 번째" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Occurrence" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "何番目" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "何番目" } } } }, - "몇 번째 요일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Nth weekday" + "몇 번째 요일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nth weekday" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "何番目の曜日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "何番目の曜日" } } } }, - "모든 기록을 CSV 파일로 만들어 백업하거나 스프레드시트에서 열 수 있어요. '데이터 가져오기'(프리미엄)로는 내보냈던 CSV의 행동·기록을 다시 불러올 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Export all your records as CSV files to back up or open in a spreadsheet. With Import Data (Premium) you can bring the actions and records from exported CSVs back into the app." + "모든 기록을 CSV 파일로 만들어 백업하거나 스프레드시트에서 열 수 있어요. '데이터 가져오기'(프리미엄)로는 내보냈던 CSV의 행동·기록을 다시 불러올 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Export all your records as CSV files to back up or open in a spreadsheet. With Import Data (Premium) you can bring the actions and records from exported CSVs back into the app." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "すべての記録をCSVファイルにしてバックアップしたり、表計算アプリで開いたりできます。「データ読み込み」(プレミアム)では、書き出したCSVのアクション・記録をアプリに戻せます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すべての記録をCSVファイルにしてバックアップしたり、表計算アプリで開いたりできます。「データ読み込み」(プレミアム)では、書き出したCSVのアクション・記録をアプリに戻せます。" } } } }, - "모든 날짜의 타임테이블에 캘린더 일정을 어떻게 넣을지 정해요. 날짜별 캘린더 버튼에서 그 날짜만 다르게 고를 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Decide how calendar events appear on every date's timetable. The per-date calendar button can still make a different choice for a single date." + "모든 날짜의 타임테이블에 캘린더 일정을 어떻게 넣을지 정해요. 날짜별 캘린더 버튼에서 그 날짜만 다르게 고를 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Decide how calendar events appear on every date's timetable. The per-date calendar button can still make a different choice for a single date." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "すべての日付のタイムテーブルにカレンダーの予定をどう入れるかを決めます。日付ごとのカレンダーボタンで、その日付だけ違う選択もできます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すべての日付のタイムテーブルにカレンダーの予定をどう入れるかを決めます。日付ごとのカレンダーボタンで、その日付だけ違う選択もできます。" } } } }, - "모든 목표를 숨겼어요. 필터에서 다시 선택할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "All goals are hidden. You can choose them again in the filter." + "모든 목표를 숨겼어요. 필터에서 다시 선택할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "All goals are hidden. You can choose them again in the filter." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "すべての目標を非表示にしました。フィルターで再度選択できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すべての目標を非表示にしました。フィルターで再度選択できます。" } } } }, - "모든 캘린더": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "All Calendars" + "모든 캘린더" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "All Calendars" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "すべてのカレンダー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すべてのカレンダー" } } } }, - "모음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Home" + "모음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Home" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ホーム" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホーム" } } } }, - "모음 탭": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Home Tab" + "모음 탭" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Home Tab" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ホームタブ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホームタブ" } } } }, - "모음 탭 목표 진행 현황": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal progress on Home tab" + "모음 탭 목표 진행 현황" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal progress on Home tab" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ホームタブの目標進捗" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホームタブの目標進捗" } } } }, - "모음 탭 왼쪽 위의 새로고침 버튼은 화면을 앱을 껐다 켠 것처럼 처음부터 다시 불러오고, 홈 화면 위젯과 애플워치도 함께 갱신해요. iCloud 동기화로 다른 기기에서 바꾼 내용이 아직 안 보이거나 위젯이 늦게 갱신되는 것 같을 때 눌러 보세요. iCloud 동기화·위젯이 프리미엄 기능이라 이 버튼은 프리미엄을 사용 중일 때만 표시돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The refresh button at the top left of the Home tab reloads the screen from scratch — as if you had restarted the app — and also refreshes your Home Screen widgets and Apple Watch. Try it when changes made on another device haven't appeared yet via iCloud sync, or when widgets seem slow to update. Since iCloud sync and widgets are premium features, this button appears only while you're using premium." + "모음 탭 왼쪽 위의 새로고침 버튼은 화면을 앱을 껐다 켠 것처럼 처음부터 다시 불러오고, 홈 화면 위젯과 애플워치도 함께 갱신해요. iCloud 동기화로 다른 기기에서 바꾼 내용이 아직 안 보이거나 위젯이 늦게 갱신되는 것 같을 때 눌러 보세요. iCloud 동기화·위젯이 프리미엄 기능이라 이 버튼은 프리미엄을 사용 중일 때만 표시돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The refresh button at the top left of the Home tab reloads the screen from scratch — as if you had restarted the app — and also refreshes your Home Screen widgets and Apple Watch. Try it when changes made on another device haven't appeared yet via iCloud sync, or when widgets seem slow to update. Since iCloud sync and widgets are premium features, this button appears only while you're using premium." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ホームタブ左上の更新ボタンは、アプリを再起動したように画面を最初から読み込み直し、ホーム画面のウィジェットとApple Watchも一緒に更新します。iCloud同期で他のデバイスの変更がまだ表示されないときや、ウィジェットの更新が遅いと感じるときに押してみてください。iCloud同期とウィジェットはプレミアム機能のため、このボタンはプレミアム利用中のみ表示されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホームタブ左上の更新ボタンは、アプリを再起動したように画面を最初から読み込み直し、ホーム画面のウィジェットとApple Watchも一緒に更新します。iCloud同期で他のデバイスの変更がまだ表示されないときや、ウィジェットの更新が遅いと感じるときに押してみてください。iCloud同期とウィジェットはプレミアム機能のため、このボタンはプレミアム利用中のみ表示されます。" } } } }, - "모음 탭에 목표 카드 띄우기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Pin Goal Cards to the Home Tab" + "모음 탭에 목표 카드 띄우기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pin Goal Cards to the Home Tab" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ホームタブに目標カードを表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホームタブに目標カードを表示" } } } }, - "목": { - "comment": "요일 축약(목요일)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Thu" + "목" : { + "comment" : "요일 축약(목요일)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thu" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "木" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "木" } } } }, - "목록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "List" + "목록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "List" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "リスト" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "リスト" } } } }, - "목표": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goals" + "목표" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標" } } } }, - "목표 1개 + 다짐 진행률": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "1 goal + quest progress" + "목표 1개 + 다짐 진행률" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 goal + quest progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標1件+クエスト進捗" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標1件+クエスト進捗" } } } }, - "목표 1개 + 모든 다짐": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "1 goal + all quests" + "목표 1개 + 모든 다짐" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 goal + all quests" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標1件+すべてのクエスト" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標1件+すべてのクエスト" } } } }, - "목표 1개 · 다짐 16개": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "1 goal · 16 quests" + "목표 1개 · 다짐 16개" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 goal · 16 quests" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標1件・クエスト16件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標1件・クエスト16件" } } } }, - "목표 2개": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "2 goals" + "목표 2개" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "2 goals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標2件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標2件" } } } }, - "목표 2개 (위아래)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "2 goals (stacked)" + "목표 2개 (위아래)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "2 goals (stacked)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標2件(上下)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標2件(上下)" } } } }, - "목표 4개 (2×2)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "4 goals (2×2)" + "목표 4개 (2×2)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "4 goals (2×2)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標4件(2×2)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標4件(2×2)" } } } }, - "목표 내용": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal description" + "목표 내용" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal description" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標の内容" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標の内容" } } } }, - "목표 달성률 (잠금화면)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal Progress (Lock Screen)" + "목표 달성률 (잠금화면)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal Progress (Lock Screen)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標達成率(ロック画面)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標達成率(ロック画面)" } } } }, - "목표 달성률을 ${span} 기준 ${style}(으)로 표시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show goal progress for ${span} as ${style}" + "목표 달성률을 ${span} 기준 ${style}(으)로 표시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show goal progress for ${span} as ${style}" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "${span}の目標達成率を${style}で表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "${span}の目標達成率を${style}で表示" } } } }, - "목표 삭제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete Goal" + "목표 삭제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete Goal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標を削除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標を削除" } } } }, - "목표 수동 종료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Finish Goal Manually" + "목표 수동 종료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finish Goal Manually" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標を手動で終了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標を手動で終了" } } } }, - "목표 수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Goal" + "목표 수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Goal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標を編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標を編集" } } } }, - "목표 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No goal" + "목표 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No goal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標なし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標なし" } } } }, - "목표 종료와 판정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Finishing & Judging Goals" + "목표 종료와 판정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finishing & Judging Goals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標の終了と判定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標の終了と判定" } } } }, - "목표 진행 현황": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal Progress" + "목표 진행 현황" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal Progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標の進捗状況" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標の進捗状況" } } } }, - "목표 진행률": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal Progress" + "목표 진행률" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal Progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標進捗率" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標進捗率" } } } }, - "목표 진행률 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Get Goal Progress" + "목표 진행률 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Get Goal Progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標の進捗率を取得" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標の進捗率を取得" } } } }, - "목표 진행률 위젯": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal Progress Widget" + "목표 진행률 위젯" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal Progress Widget" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標進捗ウィジェット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標進捗ウィジェット" } } } }, - "목표 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add Goal" + "목표 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Goal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標を追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標を追加" } } } }, - "목표 탭": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goals Tab" + "목표 탭" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goals Tab" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標タブ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標タブ" } } } }, - "목표 탭에서 목표를 만들면 여기서 선택할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Create goals in the Goals tab to choose them here." + "목표 탭에서 목표를 만들면 여기서 선택할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Create goals in the Goals tab to choose them here." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標タブで目標を作成するとここで選べます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標タブで目標を作成するとここで選べます。" } } } }, - "목표 필터": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal Filter" + "목표 필터" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal Filter" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標フィルター" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標フィルター" } } } }, - "목표 확인": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Review Goal" + "목표 확인" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Review Goal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標を確認" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標を確認" } } } }, - "목표 횟수": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Target count" + "목표 횟수" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Target count" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標回数" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標回数" } } } }, - "목표+다짐 2개 (위아래)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal + quests × 2 (stacked)" + "목표+다짐 2개 (위아래)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal + quests × 2 (stacked)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標+クエスト×2(上下)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標+クエスト×2(上下)" } } } }, - "목표·다짐": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goals & Quests" + "목표·다짐" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goals & Quests" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標・クエスト" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標・クエスト" } } } }, - "목표가 끝날 때 다짐들의 평균 달성률이 이 값 이상이면 '달성 완료'로 판정해요. 100%면 모든 다짐을 채워야 달성이에요. 다짐이 없는 목표는 지금처럼 직접 선택해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When the goal ends, it counts as 'Achieved' if the quests' average completion rate is at or above this value. At 100%, every quest must be fulfilled. Goals without quests are still decided by you directly." + "목표가 끝날 때 다짐들의 평균 달성률이 이 값 이상이면 '달성 완료'로 판정해요. 100%면 모든 다짐을 채워야 달성이에요. 다짐이 없는 목표는 지금처럼 직접 선택해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When the goal ends, it counts as 'Achieved' if the quests' average completion rate is at or above this value. At 100%, every quest must be fulfilled. Goals without quests are still decided by you directly." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標の終了時、クエストの平均達成率がこの値以上なら「達成済み」と判定されます。100%の場合はすべてのクエストを満たす必要があります。クエストのない目標はこれまで通り自分で選択します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標の終了時、クエストの平均達成率がこの値以上なら「達成済み」と判定されます。100%の場合はすべてのクエストを満たす必要があります。クエストのない目標はこれまで通り自分で選択します。" } } } }, - "목표는 '토익 700점 받기'처럼 큰 방향이고, 다짐은 그 아래 실천 단위예요. 다짐은 특정 행동(또는 꼬리표)을 골라 주기(하루·주간·월간·특정 기간)와 목표량을 정해요. '이상 달성'뿐 아니라 '이하 유지'(예: 영상 시청 하루 1시간 이하)도 만들 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "A goal is a big direction like 'Score 700 on TOEIC', and quests are the action units under it. A quest picks an action (or tag), a cycle (daily, weekly, monthly or a custom period) and a target amount. Besides 'reach at least', you can also make 'stay under' quests (e.g. watch videos at most 1 hour a day)." + "목표는 '토익 700점 받기'처럼 큰 방향이고, 다짐은 그 아래 실천 단위예요. 다짐은 특정 행동(또는 꼬리표)을 골라 주기(하루·주간·월간·특정 기간)와 목표량을 정해요. '이상 달성'뿐 아니라 '이하 유지'(예: 영상 시청 하루 1시간 이하)도 만들 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A goal is a big direction like 'Score 700 on TOEIC', and quests are the action units under it. A quest picks an action (or tag), a cycle (daily, weekly, monthly or a custom period) and a target amount. Besides 'reach at least', you can also make 'stay under' quests (e.g. watch videos at most 1 hour a day)." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標は「TOEIC 700点を取る」のような大きな方向で、クエストはその下の実践単位です。クエストはアクション(またはタグ)を選び、周期(1日・週間・月間・特定期間)と目標量を決めます。「以上を達成」だけでなく「以下をキープ」(例: 動画視聴を1日1時間以下)も作れます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標は「TOEIC 700点を取る」のような大きな方向で、クエストはその下の実践単位です。クエストはアクション(またはタグ)を選び、周期(1日・週間・月間・特定期間)と目標量を決めます。「以上を達成」だけでなく「以下をキープ」(例: 動画視聴を1日1時間以下)も作れます。" } } } }, - "목표량": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Target amount" + "목표량" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Target amount" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標量" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標量" } } } }, - "목표를 지금 종료할까요?": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Finish this goal now?" + "목표를 지금 종료할까요?" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finish this goal now?" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この目標を今終了しますか?" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この目標を今終了しますか?" } } } }, - "목표를 찾을 수 없어요. 앱에서 삭제됐을 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goal not found. It may have been deleted in the app." + "목표를 찾을 수 없어요. 앱에서 삭제됐을 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goal not found. It may have been deleted in the app." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標が見つかりません。アプリで削除された可能性があります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標が見つかりません。アプリで削除された可能性があります。" } } } }, - "목표에 속한 다짐들의 진행률을 원형 링으로 한눈에 봐요. (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "See all of a goal's quest progress rings at a glance. (Premium)" + "목표에 속한 다짐들의 진행률을 원형 링으로 한눈에 봐요. (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "See all of a goal's quest progress rings at a glance. (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標のクエスト進捗をリングで一目で確認。(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標のクエスト進捗をリングで一目で確認。(プレミアム)" } } } }, - "목표와 다짐": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goals & Quests" + "목표와 다짐" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goals & Quests" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標とクエスト" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標とクエスト" } } } }, - "목표와 다짐으로 꾸준하게": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stay consistent with goals and quests" + "목표와 다짐으로 꾸준하게" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stay consistent with goals and quests" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標とクエストで続けられる" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標とクエストで続けられる" } } } }, - "목표의 하루/주간/월간 진행률(%)을 가져와요. 소속 다짐들의 진행률 평균이에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Gets a goal's daily/weekly/monthly progress (%), averaged across its quests." + "목표의 하루/주간/월간 진행률(%)을 가져와요. 소속 다짐들의 진행률 평균이에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gets a goal's daily/weekly/monthly progress (%), averaged across its quests." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標の日/週/月の進捗率(%)を取得します。所属クエストの平均です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標の日/週/月の進捗率(%)を取得します。所属クエストの平均です。" } } } }, - "목표의 하루·주간·월간 진행률을 진행바로 확인해요. (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Track a goal's daily, weekly, and monthly progress with bars. (Premium)" + "목표의 하루·주간·월간 진행률을 진행바로 확인해요. (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Track a goal's daily, weekly, and monthly progress with bars. (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "目標の日・週・月の進捗をバーで確認。(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標の日・週・月の進捗をバーで確認。(プレミアム)" } } } }, - "무료 버전에서는 목표당 다짐을 최대 %lld개까지 만들 수 있어요. 프리미엄으로 업그레이드하면 무제한으로 사용할 수 있습니다.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The free version allows up to %lld quests per goal. Upgrade to premium for unlimited quests." + "무료 버전에서는 목표당 다짐을 최대 %lld개까지 만들 수 있어요. 프리미엄으로 업그레이드하면 무제한으로 사용할 수 있습니다." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The free version allows up to %lld quests per goal. Upgrade to premium for unlimited quests." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "無料版では目標ごとに最大%lld個のクエストを作成できます。プレミアムにアップグレードすると無制限になります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無料版では目標ごとに最大%lld個のクエストを作成できます。プレミアムにアップグレードすると無制限になります。" } } } }, - "무료 버전에서는 목표를 최대 %lld개까지 만들 수 있어요. 프리미엄으로 업그레이드하면 무제한으로 사용할 수 있습니다.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The free version allows up to %lld goals. Upgrade to Premium for unlimited use." + "무료 버전에서는 목표를 최대 %lld개까지 만들 수 있어요. 프리미엄으로 업그레이드하면 무제한으로 사용할 수 있습니다." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The free version allows up to %lld goals. Upgrade to Premium for unlimited use." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "無料版では目標を最大%lld個まで作成できます。プレミアムにアップグレードすると無制限で使えます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無料版では目標を最大%lld個まで作成できます。プレミアムにアップグレードすると無制限で使えます。" } } } }, - "무료 버전에서는 행동을 최대 %lld개까지 만들 수 있어요. 프리미엄으로 업그레이드하면 무제한으로 사용할 수 있습니다.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The free version allows up to %lld actions. Upgrade to Premium for unlimited use." + "무료 버전에서는 행동을 최대 %lld개까지 만들 수 있어요. 프리미엄으로 업그레이드하면 무제한으로 사용할 수 있습니다." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The free version allows up to %lld actions. Upgrade to Premium for unlimited use." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "無料版ではアクションを最大%lld個まで作成できます。プレミアムにアップグレードすると無制限で使えます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無料版ではアクションを最大%lld個まで作成できます。プレミアムにアップグレードすると無制限で使えます。" } } } }, - "무료 사용 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Free plan" + "무료 사용 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Free plan" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "無料プラン利用中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無料プラン利用中" } } } }, - "무료 사용 한도": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Free Plan Limit" + "무료 사용 한도" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Free Plan Limit" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "無料プランの上限" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無料プランの上限" } } } }, - "무료: 행동 %lld개 · 목표 %lld개 · 목표당 다짐 %lld개까지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Free: up to %lld actions · %lld goals · %lld quests per goal" + "무료: 행동 %lld개 · 목표 %lld개 · 목표당 다짐 %lld개까지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Free: up to %lld actions · %lld goals · %lld quests per goal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "無料: アクション%lld個・目標%lld個・目標ごとにクエスト%lld個まで" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無料: アクション%lld個・目標%lld個・目標ごとにクエスト%lld個まで" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "무료: 행동 %1$lld개 · 목표 %2$lld개 · 목표당 다짐 %3$lld개까지" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "무료: 행동 %1$lld개 · 목표 %2$lld개 · 목표당 다짐 %3$lld개까지" } } } }, - "무료로는 행동 10개·목표 2개·목표당 다짐 3개까지 만들 수 있어요. 프리미엄은 개수 제한이 풀리고 위젯, 애플워치 앱, 기기 간 동기화, 아이패드 일기를 쓸 수 있어요. 월·년 구독 또는 한 번만 결제하는 평생 이용권 중에 고르면 돼요. 구독이 끝나도 기록한 데이터는 그대로 남고, 이미 쓴 일기는 계속 열람할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The free plan allows up to 10 actions, 2 goals, and 3 quests per goal. Premium removes the limits and unlocks widgets, the Apple Watch app, device sync, and the iPad diary. Choose a monthly or yearly subscription, or a one-time lifetime purchase. Even after a subscription ends, your data stays, and you can still read the diary entries you wrote." + "무료로는 행동 10개·목표 2개·목표당 다짐 3개까지 만들 수 있어요. 프리미엄은 개수 제한이 풀리고 위젯, 애플워치 앱, 기기 간 동기화, 아이패드 일기를 쓸 수 있어요. 월·년 구독 또는 한 번만 결제하는 평생 이용권 중에 고르면 돼요. 구독이 끝나도 기록한 데이터는 그대로 남고, 이미 쓴 일기는 계속 열람할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The free plan allows up to 10 actions, 2 goals, and 3 quests per goal. Premium removes the limits and unlocks widgets, the Apple Watch app, device sync, and the iPad diary. Choose a monthly or yearly subscription, or a one-time lifetime purchase. Even after a subscription ends, your data stays, and you can still read the diary entries you wrote." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "無料ではアクション10個・目標2個・目標ごとにクエスト3個まで作れます。プレミアムでは制限がなくなり、ウィジェット、Apple Watchアプリ、デバイス間同期、iPadダイアリーが使えます。月額・年額サブスクリプションか、1回払いの買い切りから選べます。サブスクが終了してもデータはそのまま残り、書いた日記は引き続き閲覧できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無料ではアクション10個・目標2個・目標ごとにクエスト3個まで作れます。プレミアムでは制限がなくなり、ウィジェット、Apple Watchアプリ、デバイス間同期、iPadダイアリーが使えます。月額・年額サブスクリプションか、1回払いの買い切りから選べます。サブスクが終了してもデータはそのまま残り、書いた日記は引き続き閲覧できます。" } } } }, - "무료와 프리미엄의 차이": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Free vs. Premium" + "무료와 프리미엄의 차이" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Free vs. Premium" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "無料とプレミアムの違い" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無料とプレミアムの違い" } } } }, - "물 2리터 마시기": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Drink 2L of water" + "물 2리터 마시기" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drink 2L of water" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "水を2L飲む" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "水を2L飲む" } } } }, - "물 마시기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Drink water" + "물 마시기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drink water" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "水を飲む" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "水を飲む" } } } }, - "미달성": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Not achieved" + "미달성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Not achieved" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "未達成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "未達成" } } } }, - "미달성 종료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Finished (not achieved)" + "미달성 종료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finished (not achieved)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "未達成で終了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "未達成で終了" } } } }, - "미리 보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Preview" + "미리 보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Preview" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレビュー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレビュー" } } } }, - "미리 설정된 색 %lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Preset color %lld" + "미리 설정된 색 %lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Preset color %lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プリセットカラー %lld" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プリセットカラー %lld" } } } }, - "반복 주기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Repeat cycle" + "반복 주기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Repeat cycle" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "繰り返し周期" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "繰り返し周期" } } } }, - "반영이 늦을 때": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When Sync Is Slow" + "반영이 늦을 때" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When Sync Is Slow" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "反映が遅いとき" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "反映が遅いとき" } } } }, - "방식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Mode" + "방식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "方式" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "方式" } } } }, - "방향": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Direction" + "방향" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Direction" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "方向" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "方向" } } } }, - "배치 모드": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Arrange mode" + "배치 모드" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Arrange mode" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "配置モード" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "配置モード" } } } }, - "배치 편집": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Layout" + "배치 편집" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Layout" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "配置を編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "配置を編集" } } } }, - "버블 메뉴 순서": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Bubble menu order" + "버블 메뉴 순서" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bubble menu order" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "バブルメニューの順序" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "バブルメニューの順序" } } } }, - "버블 메뉴 순서 편집": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit bubble menu order" + "버블 메뉴 순서 편집" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit bubble menu order" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "バブルメニューの順序を編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "バブルメニューの順序を編集" } } } }, - "버블 메뉴를 펼쳤을 때 왼쪽 끝에서 위를 지나 오른쪽 끝으로 이 순서대로 버블이 배치돼요. 손잡이를 끌어 순서를 바꾸세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When the bubble menu opens, bubbles are placed in this order from the left end, over the top, to the right end. Drag the handles to reorder." + "버블 메뉴를 펼쳤을 때 왼쪽 끝에서 위를 지나 오른쪽 끝으로 이 순서대로 버블이 배치돼요. 손잡이를 끌어 순서를 바꾸세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When the bubble menu opens, bubbles are placed in this order from the left end, over the top, to the right end. Drag the handles to reorder." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "バブルメニューを開くと、左端から上を通って右端へこの順序でバブルが並びます。ハンドルをドラッグして順序を変更してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "バブルメニューを開くと、左端から上を通って右端へこの順序でバブルが並びます。ハンドルをドラッグして順序を変更してください。" } } } }, - "버전": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Version" + "버전" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "バージョン" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "バージョン" } } } }, - "버튼 한 번으로 기록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Track with one tap" + "버튼 한 번으로 기록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Track with one tap" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ワンタップで記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ワンタップで記録" } } } }, - "버튼을 길게 눌러 끌면 순서를 바꿀 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Press and hold a button, then drag to reorder." + "버튼을 길게 눌러 끌면 순서를 바꿀 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Press and hold a button, then drag to reorder." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ボタンを長押ししてドラッグすると並べ替えできます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボタンを長押ししてドラッグすると並べ替えできます。" } } } }, - "범위": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Range" + "범위" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Range" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "範囲" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "範囲" } } } }, - "변화 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No change" + "변화 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No change" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "変化なし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "変化なし" } } } }, - "보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "View" + "보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "View" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "表示" } } } }, - "보통": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Normal" + "보통" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Normal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "標準" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "標準" } } } }, - "부터": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "From" + "부터" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "From" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "開始" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "開始" } } } }, - "분": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "min" + "분" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "min" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "分" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "分" } } } }, - "빈 캔버스": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Blank canvas" + "빈 캔버스" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blank canvas" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "空白キャンバス" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "空白キャンバス" } } } }, - "사각형": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Rectangle" + "사각형" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rectangle" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "四角形" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "四角形" } } } }, - "사용 안 함": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Off" + "사용 안 함" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Off" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "使用しない" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "使用しない" } } } }, - "사용 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Active" + "사용 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Active" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "利用中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "利用中" } } } }, - "사진": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Photo" + "사진" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "写真" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "写真" } } } }, - "사진 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose Photo" + "사진 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose Photo" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "写真を選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "写真を選択" } } } }, - "사진 앨범에 저장했어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Saved to your photo library." + "사진 앨범에 저장했어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saved to your photo library." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "写真アルバムに保存しました。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "写真アルバムに保存しました。" } } } }, - "사진 양식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Photo Template" + "사진 양식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo Template" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "写真テンプレート" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "写真テンプレート" } } } }, - "사진에 저장": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Save to Photos" + "사진에 저장" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Save to Photos" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "写真に保存" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "写真に保存" } } } }, - "사진에서 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Import from Photos" + "사진에서 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Import from Photos" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "写真から読み込む" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "写真から読み込む" } } } }, - "삭제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete" + "삭제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "削除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "削除" } } } }, - "상태": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Status" + "상태" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Status" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "状態" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "状態" } } } }, - "상품 정보를 불러오는 중...": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Loading products..." + "상품 정보를 불러오는 중..." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading products..." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "商品情報を読み込み中..." + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "商品情報を読み込み中..." } } } }, - "상품 정보를 불러오지 못했어요. 네트워크를 확인해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Couldn't load products. Please check your network." + "상품 정보를 불러오지 못했어요. 네트워크를 확인해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couldn't load products. Please check your network." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "商品情報を読み込めませんでした。ネットワークを確認してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "商品情報を読み込めませんでした。ネットワークを確認してください。" } } } }, - "상품 정보를 불러올 수 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Products unavailable" + "상품 정보를 불러올 수 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Products unavailable" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "商品情報を読み込めません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "商品情報を読み込めません" } } } }, - "새 꼬리표 만들기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Create New Tag" + "새 꼬리표 만들기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Create New Tag" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "新しいタグを作成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "新しいタグを作成" } } } }, - "새 목표를 세우거나, 아래에서 완료된 목표를 확인해 보세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Set a new goal, or review finished goals below." + "새 목표를 세우거나, 아래에서 완료된 목표를 확인해 보세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Set a new goal, or review finished goals below." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "新しい目標を立てるか、下で完了した目標を確認してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "新しい目標を立てるか、下で完了した目標を確認してください。" } } } }, - "새 페이지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "New page" + "새 페이지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "New page" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "新しいページ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "新しいページ" } } } }, - "새로 만드는 행동 %lld개": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld new actions to create" + "새로 만드는 행동 %lld개" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld new actions to create" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "新しく作るアクション %lld個" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "新しく作るアクション %lld個" } } } }, - "새로고침": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Refresh" + "새로고침" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Refresh" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "更新" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "更新" } } } }, - "새로고침 버튼": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The refresh button" + "새로고침 버튼" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The refresh button" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "更新ボタン" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "更新ボタン" } } } }, - "새해 다짐 정리하기": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Organize New Year resolutions" + "새해 다짐 정리하기" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Organize New Year resolutions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "新年の抱負を整理する" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "新年の抱負を整理する" } } } }, - "색": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Color" + "색" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Color" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "色" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "色" } } } }, - "생활": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Life" + "생활" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Life" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "生活" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "生活" } } } }, - "선": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Line" + "선" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Line" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "直線" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "直線" } } } }, - "선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Select" + "선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Select" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選択" } } } }, - "선택 안 함": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "None" + "선택 안 함" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "None" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択しない" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選択しない" } } } }, - "선택한 목표만 이 날짜의 '이 날의 목표' 카드에 표시돼요. 날짜마다 따로 선택할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Only the selected goals appear on this date's \"Goals of the Day\" card. You can choose separately for each date." + "선택한 목표만 이 날짜의 '이 날의 목표' 카드에 표시돼요. 날짜마다 따로 선택할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Only the selected goals appear on this date's \"Goals of the Day\" card. You can choose separately for each date." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択した目標だけがこの日付の「この日の目標」カードに表示されます。日付ごとに別々に選択できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選択した目標だけがこの日付の「この日の目標」カードに表示されます。日付ごとに別々に選択できます。" } } } }, - "선택한 목표의 진행 현황이 모음 탭 상단에 표시돼요. 탭하면 목표 상세로 이동해요. 2개 이상 선택하면 카드를 옆으로 쓸어 넘겨 한 장씩 볼 수 있고, 표시 방식(다짐별로 각각 / 전체 다짐 합산)은 모든 카드에 똑같이 적용돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Selected goals appear at the top of the Home tab. Tap a card to open the goal. With two or more, swipe between cards; the display style (each quest / combined) applies to all cards." + "선택한 목표의 진행 현황이 모음 탭 상단에 표시돼요. 탭하면 목표 상세로 이동해요. 2개 이상 선택하면 카드를 옆으로 쓸어 넘겨 한 장씩 볼 수 있고, 표시 방식(다짐별로 각각 / 전체 다짐 합산)은 모든 카드에 똑같이 적용돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Selected goals appear at the top of the Home tab. Tap a card to open the goal. With two or more, swipe between cards; the display style (each quest / combined) applies to all cards." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択した目標の進捗がホームタブ上部に表示されます。タップで目標詳細へ移動します。2つ以上選ぶとカードを横にスワイプでき、表示方法(クエストごと/合算)はすべてのカードに適用されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選択した目標の進捗がホームタブ上部に表示されます。タップで目標詳細へ移動します。2つ以上選ぶとカードを横にスワイプでき、表示方法(クエストごと/合算)はすべてのカードに適用されます。" } } } }, - "선택한 일정만 이 날짜의 타임테이블에 함께 표시돼요. 날짜마다 따로 선택할 수 있고, 일기 내보내기에도 그대로 담겨요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Only the selected events appear in this date’s timetable. You can choose differently for each date, and they’re included in diary exports too." + "선택한 일정만 이 날짜의 타임테이블에 함께 표시돼요. 날짜마다 따로 선택할 수 있고, 일기 내보내기에도 그대로 담겨요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Only the selected events appear in this date’s timetable. You can choose differently for each date, and they’re included in diary exports too." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択したイベントだけがこの日付のタイムテーブルに表示されます。日付ごとに別々に選べ、日記の書き出しにもそのまま含まれます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選択したイベントだけがこの日付のタイムテーブルに表示されます。日付ごとに別々に選べ、日記の書き出しにもそのまま含まれます。" } } } }, - "선택한 캘린더만": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Selected Calendars Only" + "선택한 캘린더만" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Selected Calendars Only" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選んだカレンダーのみ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選んだカレンダーのみ" } } } }, - "선택한 탭(최대 %lld개)이 하단 탭바에 바로 표시되고, 나머지 탭은 ‘더보기’에서 열 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Selected tabs (up to %lld) appear in the tab bar; the rest are available under ‘More’." + "선택한 탭(최대 %lld개)이 하단 탭바에 바로 표시되고, 나머지 탭은 ‘더보기’에서 열 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Selected tabs (up to %lld) appear in the tab bar; the rest are available under ‘More’." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択したタブ(最大%lld個)が下部タブバーに表示され、残りは「その他」から開けます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選択したタブ(最大%lld個)が下部タブバーに表示され、残りは「その他」から開けます。" } } } }, - "선택한 행동들의 통계 꺾은선 그래프를 확인해요. (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "See line charts for your selected actions. (Premium)" + "선택한 행동들의 통계 꺾은선 그래프를 확인해요. (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "See line charts for your selected actions. (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択したアクションの統計を折れ線グラフで確認。(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "選択したアクションの統計を折れ線グラフで確認。(プレミアム)" } } } }, - "설정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Settings" + "설정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Settings" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定" } } } }, - "설정 → '내비게이션 방식'에서 '글래스 버블 메뉴'를 고르면 하단 탭바 대신 화면 아래 중앙 버튼 하나로 모든 탭을 열어요. 버튼을 누르면 유리 구슬 버튼들이 부채꼴로 퍼지고, 버블 순서도 설정에서 바꿀 수 있어요. '두 번 눌러 바로 이동'을 켜면 메뉴가 닫혀 있을 때 버튼을 빠르게 두 번 눌러 정해 둔 탭으로 바로 이동해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose \"Glass Bubble Menu\" under Settings → \"Navigation Style\" to open every tab from a single button at the bottom center instead of the tab bar. Tap the button and glass-orb buttons fan out; you can reorder the bubbles in Settings. Turn on \"Double-Tap to Jump\" to jump straight to a tab you set by quickly tapping the button twice while the menu is closed." + "설정 → '내비게이션 방식'에서 '글래스 버블 메뉴'를 고르면 하단 탭바 대신 화면 아래 중앙 버튼 하나로 모든 탭을 열어요. 버튼을 누르면 유리 구슬 버튼들이 부채꼴로 퍼지고, 버블 순서도 설정에서 바꿀 수 있어요. '두 번 눌러 바로 이동'을 켜면 메뉴가 닫혀 있을 때 버튼을 빠르게 두 번 눌러 정해 둔 탭으로 바로 이동해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose \"Glass Bubble Menu\" under Settings → \"Navigation Style\" to open every tab from a single button at the bottom center instead of the tab bar. Tap the button and glass-orb buttons fan out; you can reorder the bubbles in Settings. Turn on \"Double-Tap to Jump\" to jump straight to a tab you set by quickly tapping the button twice while the menu is closed." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定 → 「ナビゲーション方式」で「ガラスバブルメニュー」を選ぶと、タブバーの代わりに画面下中央のボタン1つですべてのタブを開けます。ボタンを押すとガラス玉のボタンが扇状に広がり、バブルの順序も設定で変えられます。「ダブルタップでジャンプ」をオンにすると、メニューが閉じているときにボタンを素早く2回押して、決めておいたタブへすぐ移動できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定 → 「ナビゲーション方式」で「ガラスバブルメニュー」を選ぶと、タブバーの代わりに画面下中央のボタン1つですべてのタブを開けます。ボタンを押すとガラス玉のボタンが扇状に広がり、バブルの順序も設定で変えられます。「ダブルタップでジャンプ」をオンにすると、メニューが閉じているときにボタンを素早く2回押して、決めておいたタブへすぐ移動できます。" } } } }, - "설정 → '모음 탭 목표 진행 현황'에서 원하는 목표를 선택하면 모음 탭 상단에 진행 현황 카드가 떠요. 여러 개를 선택하면 옆으로 쓸어 넘길 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Select goals in Settings → 'Home Tab Goal Progress' to show progress cards at the top of the Home tab. Pick several and swipe between them." + "설정 → '모음 탭 목표 진행 현황'에서 원하는 목표를 선택하면 모음 탭 상단에 진행 현황 카드가 떠요. 여러 개를 선택하면 옆으로 쓸어 넘길 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Select goals in Settings → 'Home Tab Goal Progress' to show progress cards at the top of the Home tab. Pick several and swipe between them." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定→「ホームタブの目標進捗」で目標を選ぶと、ホームタブ上部に進捗カードが表示されます。複数選ぶと横にスワイプして切り替えられます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定→「ホームタブの目標進捗」で目標を選ぶと、ホームタブ上部に進捗カードが表示されます。複数選ぶと横にスワイプして切り替えられます。" } } } }, - "설정 → '탭바 구성'에서 하단 탭바에 바로 보일 탭(최대 3개)을 고를 수 있어요. 나머지 탭은 '더보기'에서 열어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "In Settings → 'Tab Bar Layout', choose which tabs (up to 3) appear in the bottom tab bar. The rest open from 'More'." + "설정 → '탭바 구성'에서 하단 탭바에 바로 보일 탭(최대 3개)을 고를 수 있어요. 나머지 탭은 '더보기'에서 열어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "In Settings → 'Tab Bar Layout', choose which tabs (up to 3) appear in the bottom tab bar. The rest open from 'More'." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定→「タブバー構成」で、下部タブバーに直接表示するタブ(最大3つ)を選べます。残りのタブは「その他」から開きます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定→「タブバー構成」で、下部タブバーに直接表示するタブ(最大3つ)を選べます。残りのタブは「その他」から開きます。" } } } }, - "설정 → 데이터 → '데이터 내보내기'에서 모든 기록(행동·시간·횟수·목표·다짐)을 CSV 파일로 만들 수 있어요. 스프레드시트에서 열어 분석하거나 백업으로 보관해 두세요. 내보내기는 무료에서도 사용할 수 있어요.\n'데이터 가져오기'(프리미엄)를 쓰면 내보냈던 CSV에서 행동과 시간·횟수 기록을 다시 불러올 수 있어요. 기존 데이터는 바꾸지 않고 새 기록만 추가하며, 이미 있는 기록은 자동으로 건너뛰어서 같은 파일을 여러 번 가져와도 안전해요. CSV에 없는 행동은 새로 만들어지고, 이름과 방식이 같은 행동이 이미 있으면 그 행동으로 이어져요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "In Settings → Data → 'Export Data' you can turn all your records (actions, time records, counts, goals and quests) into CSV files. Open them in a spreadsheet or keep them as a backup — exporting is available on the free plan.\nWith 'Import Data' (Premium) you can bring back actions and time/count records from CSVs you exported. Importing never changes existing data: it only adds new records, and records you already have are skipped automatically, so importing the same file twice is safe. Actions missing from the app are created, and if an action with the same name and type already exists, its records continue there." + "설정 → 데이터 → '데이터 내보내기'에서 모든 기록(행동·시간·횟수·목표·다짐)을 CSV 파일로 만들 수 있어요. 스프레드시트에서 열어 분석하거나 백업으로 보관해 두세요. 내보내기는 무료에서도 사용할 수 있어요.\n'데이터 가져오기'(프리미엄)를 쓰면 내보냈던 CSV에서 행동과 시간·횟수 기록을 다시 불러올 수 있어요. 기존 데이터는 바꾸지 않고 새 기록만 추가하며, 이미 있는 기록은 자동으로 건너뛰어서 같은 파일을 여러 번 가져와도 안전해요. CSV에 없는 행동은 새로 만들어지고, 이름과 방식이 같은 행동이 이미 있으면 그 행동으로 이어져요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "In Settings → Data → 'Export Data' you can turn all your records (actions, time records, counts, goals and quests) into CSV files. Open them in a spreadsheet or keep them as a backup — exporting is available on the free plan.\nWith 'Import Data' (Premium) you can bring back actions and time/count records from CSVs you exported. Importing never changes existing data: it only adds new records, and records you already have are skipped automatically, so importing the same file twice is safe. Actions missing from the app are created, and if an action with the same name and type already exists, its records continue there." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定 → データ →「データ書き出し」で、すべての記録(アクション・時間記録・回数・目標・クエスト)をCSVファイルにできます。表計算アプリで開いて分析したり、バックアップとして保管したりしましょう。書き出しは無料でも使えます。\n「データ読み込み」(プレミアム)を使うと、書き出したCSVからアクションと時間・回数記録を戻せます。既存のデータは変更せず新しい記録だけを追加し、すでにある記録は自動でスキップされるので、同じファイルを何度読み込んでも安全です。CSVにないアクションは新しく作られ、名前と方式が同じアクションがあればそこに繋がります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定 → データ →「データ書き出し」で、すべての記録(アクション・時間記録・回数・目標・クエスト)をCSVファイルにできます。表計算アプリで開いて分析したり、バックアップとして保管したりしましょう。書き出しは無料でも使えます。\n「データ読み込み」(プレミアム)を使うと、書き出したCSVからアクションと時間・回数記録を戻せます。既存のデータは変更せず新しい記録だけを追加し、すでにある記録は自動でスキップされるので、同じファイルを何度読み込んでも安全です。CSVにないアクションは新しく作られ、名前と方式が同じアクションがあればそこに繋がります。" } } } }, - "설정 → 앱 → 하루 다님에서 캘린더 접근을 허용하면 일정을 타임테이블에 넣을 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Allow calendar access in Settings → Apps → Haru Danim to add events to the timetable." + "설정 → 앱 → 하루 다님에서 캘린더 접근을 허용하면 일정을 타임테이블에 넣을 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Allow calendar access in Settings → Apps → Haru Danim to add events to the timetable." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定→アプリ→Haru Danimでカレンダーへのアクセスを許可すると、イベントをタイムテーブルに追加できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定→アプリ→Haru Danimでカレンダーへのアクセスを許可すると、イベントをタイムテーブルに追加できます。" } } } }, - "설정 → 일기에서 '일기 잠금'을 켜면 일기 탭을 열 때 Face ID·Touch ID 또는 기기 암호로 잠금을 해제해야 해요. 기기가 지원하는 방식이 자동으로 쓰이고, 앱을 나갔다 돌아오면 다시 잠겨요. 이 설정은 이 기기에만 적용돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Turn on 'Diary Lock' in Settings → Diary and opening the Diary tab will require Face ID, Touch ID, or your device passcode. Whatever your device supports is used automatically, and the diary locks again when you leave and come back. This setting applies to this device only." + "설정 → 일기에서 '일기 잠금'을 켜면 일기 탭을 열 때 Face ID·Touch ID 또는 기기 암호로 잠금을 해제해야 해요. 기기가 지원하는 방식이 자동으로 쓰이고, 앱을 나갔다 돌아오면 다시 잠겨요. 이 설정은 이 기기에만 적용돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Turn on 'Diary Lock' in Settings → Diary and opening the Diary tab will require Face ID, Touch ID, or your device passcode. Whatever your device supports is used automatically, and the diary locks again when you leave and come back. This setting applies to this device only." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定→日記で「日記ロック」をオンにすると、日記タブを開くときにFace ID・Touch IDまたはデバイスのパスコードでロック解除が必要になります。デバイスが対応する方式が自動で使われ、アプリを離れて戻ると再びロックされます。この設定はこのデバイスにのみ適用されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定→日記で「日記ロック」をオンにすると、日記タブを開くときにFace ID・Touch IDまたはデバイスのパスコードでロック解除が必要になります。デバイスが対応する方式が自動で使われ、アプリを離れて戻ると再びロックされます。この設定はこのデバイスにのみ適用されます。" } } } }, - "설정 → 측정에서 '짧은 기록 무시'를 켜면 설정한 시간보다 짧게 측정하고 끝낸 기록은 저장하지 않아요. 행동 버튼을 실수로 눌렀다가 바로 껐을 때 의미 없는 기록이 쌓이는 것을 막아 줘요. 기준 시간은 3초부터 1분까지 고를 수 있고, 위젯·워치·시리로 종료할 때도 적용돼요. 이 설정은 iCloud를 통해 모든 기기에서 동일하게 적용되고, 애플워치에서 끝낸 측정은 페어링된 아이폰의 설정을 따라요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Turn on 'Ignore short records' in Settings → Tracking to skip saving records that end sooner than the chosen time. It keeps meaningless entries from piling up when you tap an action button by mistake and stop right away. You can pick from 3 seconds to 1 minute, and it also applies when you stop from widgets, Apple Watch, or Siri. This setting syncs over iCloud and applies equally on every device, and a session stopped on Apple Watch follows the paired iPhone's setting." + "설정 → 측정에서 '짧은 기록 무시'를 켜면 설정한 시간보다 짧게 측정하고 끝낸 기록은 저장하지 않아요. 행동 버튼을 실수로 눌렀다가 바로 껐을 때 의미 없는 기록이 쌓이는 것을 막아 줘요. 기준 시간은 3초부터 1분까지 고를 수 있고, 위젯·워치·시리로 종료할 때도 적용돼요. 이 설정은 iCloud를 통해 모든 기기에서 동일하게 적용되고, 애플워치에서 끝낸 측정은 페어링된 아이폰의 설정을 따라요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Turn on 'Ignore short records' in Settings → Tracking to skip saving records that end sooner than the chosen time. It keeps meaningless entries from piling up when you tap an action button by mistake and stop right away. You can pick from 3 seconds to 1 minute, and it also applies when you stop from widgets, Apple Watch, or Siri. This setting syncs over iCloud and applies equally on every device, and a session stopped on Apple Watch follows the paired iPhone's setting." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定 → 計測で「短い記録を無視」をオンにすると、設定した時間より短く計測して終了した記録は保存されません。アクションボタンを誤って押してすぐ止めたときに、意味のない記録が溜まるのを防ぎます。基準時間は3秒から1分まで選べ、ウィジェット・Apple Watch・Siriから終了するときにも適用されます。この設定はiCloudですべてのデバイスに同じく適用され、Apple Watchで終了した計測はペアリングされたiPhoneの設定に従います。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定 → 計測で「短い記録を無視」をオンにすると、設定した時間より短く計測して終了した記録は保存されません。アクションボタンを誤って押してすぐ止めたときに、意味のない記録が溜まるのを防ぎます。基準時間は3秒から1分まで選べ、ウィジェット・Apple Watch・Siriから終了するときにも適用されます。この設定はiCloudですべてのデバイスに同じく適用され、Apple Watchで終了した計測はペアリングされたiPhoneの設定に従います。" } } } }, - "설정 → 프리미엄에서 '기기 간 동기화'를 켜면 iCloud로 아이폰·아이패드의 데이터가 하나로 합쳐져요. 켠 뒤에는 앱을 완전히 종료했다가 다시 실행해야 적용돼요. 모든 기기가 같은 Apple 계정으로 로그인되어 있어야 해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Turn on 'Sync Across Devices' in Settings → Premium to merge your iPhone and iPad data through iCloud. After turning it on, quit the app completely and reopen it to apply. Every device must be signed in with the same Apple account." + "설정 → 프리미엄에서 '기기 간 동기화'를 켜면 iCloud로 아이폰·아이패드의 데이터가 하나로 합쳐져요. 켠 뒤에는 앱을 완전히 종료했다가 다시 실행해야 적용돼요. 모든 기기가 같은 Apple 계정으로 로그인되어 있어야 해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Turn on 'Sync Across Devices' in Settings → Premium to merge your iPhone and iPad data through iCloud. After turning it on, quit the app completely and reopen it to apply. Every device must be signed in with the same Apple account." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定→プレミアムで「デバイス間の同期」をオンにすると、iPhoneとiPadのデータがiCloudで1つにまとまります。オンにした後はアプリを完全に終了して再起動すると適用されます。すべてのデバイスが同じApple アカウントでサインインしている必要があります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定→プレミアムで「デバイス間の同期」をオンにすると、iPhoneとiPadのデータがiCloudで1つにまとまります。オンにした後はアプリを完全に終了して再起動すると適用されます。すべてのデバイスが同じApple アカウントでサインインしている必要があります。" } } } }, - "설정된 기간 밖이에요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Outside the set period" + "설정된 기간 밖이에요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Outside the set period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定期間の範囲外です" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定期間の範囲外です" } } } }, - "설정에서 허용하기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Allow in Settings" + "설정에서 허용하기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Allow in Settings" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定で許可する" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定で許可する" } } } }, - "설정한 시간보다 짧게 측정하고 종료한 기록은 저장하지 않아요. 버튼을 실수로 눌렀을 때 유용해요.\n이 설정은 iCloud를 통해 모든 기기에서 동일하게 적용돼요 — 한 기기에서 바꾸면 아이폰·아이패드·맥에 함께 반영되고, 애플워치에서 끝낸 측정은 페어링된 아이폰의 설정을 따라요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Records that end sooner than the chosen time are not saved. Useful when a button is tapped by mistake.\nThis setting syncs over iCloud and applies equally on every device — change it on one device and it carries to iPhone, iPad, and Mac. A session stopped on Apple Watch follows the paired iPhone's setting." + "설정한 시간보다 짧게 측정하고 종료한 기록은 저장하지 않아요. 버튼을 실수로 눌렀을 때 유용해요.\n이 설정은 iCloud를 통해 모든 기기에서 동일하게 적용돼요 — 한 기기에서 바꾸면 아이폰·아이패드·맥에 함께 반영되고, 애플워치에서 끝낸 측정은 페어링된 아이폰의 설정을 따라요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Records that end sooner than the chosen time are not saved. Useful when a button is tapped by mistake.\nThis setting syncs over iCloud and applies equally on every device — change it on one device and it carries to iPhone, iPad, and Mac. A session stopped on Apple Watch follows the paired iPhone's setting." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "設定した時間より短く計測して終了した記録は保存されません。ボタンを誤って押したときに便利です。\nこの設定はiCloudですべてのデバイスに同じく適用されます — 1台で変更するとiPhone・iPad・Macにも反映され、Apple Watchで終了した計測はペアリングされたiPhoneの設定に従います。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定した時間より短く計測して終了した記録は保存されません。ボタンを誤って押したときに便利です。\nこの設定はiCloudですべてのデバイスに同じく適用されます — 1台で変更するとiPhone・iPad・Macにも反映され、Apple Watchで終了した計測はペアリングされたiPhoneの設定に従います。" } } } }, - "손잡이를 끌어 노트 페이지 순서를 바꿔요. 하루 정리(요약)는 항상 첫 장이에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Drag the handles to reorder note pages. The daily summary is always the first page." + "손잡이를 끌어 노트 페이지 순서를 바꿔요. 하루 정리(요약)는 항상 첫 장이에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drag the handles to reorder note pages. The daily summary is always the first page." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ハンドルをドラッグしてノートページの順序を変えます。1日のまとめ(サマリー)は常に最初のページです。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ハンドルをドラッグしてノートページの順序を変えます。1日のまとめ(サマリー)は常に最初のページです。" } } } }, - "손잡이를 끌어 순서를 바꿔요. 모음 탭 '즐겨찾기'와 애플워치의 즐겨찾기 목록에 같은 순서로 적용돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Drag the handles to reorder. The same order applies to the Home tab's Favorites and the favorites list on Apple Watch." + "손잡이를 끌어 순서를 바꿔요. 모음 탭 '즐겨찾기'와 애플워치의 즐겨찾기 목록에 같은 순서로 적용돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drag the handles to reorder. The same order applies to the Home tab's Favorites and the favorites list on Apple Watch." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ハンドルをドラッグして順序を変更します。ホームタブの「お気に入り」とApple Watchのお気に入りリストにも同じ順序で適用されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ハンドルをドラッグして順序を変更します。ホームタブの「お気に入り」とApple Watchのお気に入りリストにも同じ順序で適用されます。" } } } }, - "수": { - "comment": "요일 축약(수요일)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Wed" + "수" : { + "comment" : "요일 축약(수요일)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wed" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "水" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "水" } } } }, - "수량": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Amount" + "수량" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Amount" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "数量" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "数量" } } } }, - "수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit" + "수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "編集" } } } }, - "수행일 아님": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Not scheduled" + "수행일 아님" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Not scheduled" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "実行日ではありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "実行日ではありません" } } } }, - "순서": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reorder" + "순서" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reorder" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "順序" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "順序" } } } }, - "숫자만": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Number only" + "숫자만" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Number only" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "数字のみ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "数字のみ" } } } }, - "스크린 타임 관리": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Manage screen time" + "스크린 타임 관리" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manage screen time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "スクリーンタイム管理" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "スクリーンタイム管理" } } } }, - "습관이나 할 일을 '행동'으로 등록하면\n버튼 한 번으로 시간과 횟수를 기록할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Register a habit or task as an 'action'\nand log time and counts with a single tap." + "습관이나 할 일을 '행동'으로 등록하면\n버튼 한 번으로 시간과 횟수를 기록할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Register a habit or task as an 'action'\nand log time and counts with a single tap." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "習慣ややることを「アクション」として登録すると\nボタン1つで時間と回数を記録できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "習慣ややることを「アクション」として登録すると\nボタン1つで時間と回数を記録できます。" } } } }, - "시각": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time" + "시각" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時刻" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時刻" } } } }, - "시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time" + "시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間" } } } }, - "시간 기록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time records" + "시간 기록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time records" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間記録" } } } }, - "시간 기록 · %lld건": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time records · %lld" + "시간 기록 · %lld건" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time records · %lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間記録・%lld件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間記録・%lld件" } } } }, - "시간 기록 · %lld건 중 40건": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time records · 40 of %lld" + "시간 기록 · %lld건 중 40건" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time records · 40 of %lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間記録・%lld件中40件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間記録・%lld件中40件" } } } }, - "시간 기록 수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Time Record" + "시간 기록 수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Time Record" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間記録を編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間記録を編集" } } } }, - "시간 기록 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add Time Record" + "시간 기록 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Time Record" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間記録を追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間記録を追加" } } } }, - "시간 기록 파일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time records file" + "시간 기록 파일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time records file" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間記録ファイル" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間記録ファイル" } } } }, - "시간 기록이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No time records" + "시간 기록이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No time records" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間記録がありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間記録がありません" } } } }, - "시간 측정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time tracking" + "시간 측정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間計測" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間計測" } } } }, - "시간 측정 시작": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start Timer" + "시간 측정 시작" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start Timer" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測を開始" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測を開始" } } } }, - "시간 측정 종료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stop Timer" + "시간 측정 종료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stop Timer" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測を終了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測を終了" } } } }, - "시간 측정 행동은 시작/종료를 전환하고, 횟수 기록 행동은 횟수를 1 추가해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time actions toggle start/stop; count actions add 1." + "시간 측정 행동은 시작/종료를 전환하고, 횟수 기록 행동은 횟수를 1 추가해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time actions toggle start/stop; count actions add 1." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間計測タイプは開始/終了を切り替え、回数記録タイプは1回追加します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間計測タイプは開始/終了を切り替え、回数記録タイプは1回追加します。" } } } }, - "시간 측정 행동의 측정을 시작해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Starts tracking a time action." + "시간 측정 행동의 측정을 시작해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Starts tracking a time action." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間計測アクションの計測を開始します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間計測アクションの計測を開始します。" } } } }, - "시간(h)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time (h)" + "시간(h)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time (h)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間(h)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間(h)" } } } }, - "시간기록": { - "comment": "CSV 파일명용 (공백 없이)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "TimeRecords" + "시간기록" : { + "comment" : "CSV 파일명용 (공백 없이)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "TimeRecords" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間記録" } } } }, - "시간을 측정 중이면 다이나믹 아일랜드와 잠금화면에 진행 시간이 표시돼요. 여러 개를 동시에 측정하면 설정의 '대표 시간 기준'(먼저/나중에 시작한 행동)에 따라 하나가 대표로 보이고 나머지는 +N으로 표시돼요. 잠금화면 배너의 노란 정지 버튼을 누르면 앱을 열지 않고도 대표 측정이 바로 종료돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "While tracking time, the Dynamic Island and Lock Screen show the elapsed time. When tracking several actions at once, one is shown as the representative based on the 'Representative time' setting (earliest/latest started) and the rest appear as +N. Tap the yellow stop button on the Lock Screen banner to stop the representative tracking right away without opening the app." + "시간을 측정 중이면 다이나믹 아일랜드와 잠금화면에 진행 시간이 표시돼요. 여러 개를 동시에 측정하면 설정의 '대표 시간 기준'(먼저/나중에 시작한 행동)에 따라 하나가 대표로 보이고 나머지는 +N으로 표시돼요. 잠금화면 배너의 노란 정지 버튼을 누르면 앱을 열지 않고도 대표 측정이 바로 종료돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "While tracking time, the Dynamic Island and Lock Screen show the elapsed time. When tracking several actions at once, one is shown as the representative based on the 'Representative time' setting (earliest/latest started) and the rest appear as +N. Tap the yellow stop button on the Lock Screen banner to stop the representative tracking right away without opening the app." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "時間を計測中は、Dynamic Islandとロック画面に経過時間が表示されます。複数を同時に計測すると、設定の「代表時間の基準」(先に/後に開始したアクション)に従って1つが代表として表示され、残りは+Nで表示されます。ロック画面バナーの黄色い停止ボタンをタップすると、アプリを開かずに代表の計測をすぐ終了できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "時間を計測中は、Dynamic Islandとロック画面に経過時間が表示されます。複数を同時に計測すると、設定の「代表時間の基準」(先に/後に開始したアクション)に従って1つが代表として表示され、残りは+Nで表示されます。ロック画面バナーの黄色い停止ボタンをタップすると、アプリを開かずに代表の計測をすぐ終了できます。" } } } }, - "시리 단축어": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Siri Shortcuts" + "시리 단축어" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siri Shortcuts" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Siriショートカット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siriショートカット" } } } }, - "시리 단축어는 프리미엄 기능이에요. 하루 다님 앱의 설정 → 프리미엄에서 잠금 해제해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Siri Shortcuts are a premium feature. Unlock them in HaruDanim: Settings → Premium." + "시리 단축어는 프리미엄 기능이에요. 하루 다님 앱의 설정 → 프리미엄에서 잠금 해제해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siri Shortcuts are a premium feature. Unlock them in HaruDanim: Settings → Premium." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Siriショートカットはプレミアム機能です。アプリの設定→プレミアムでロックを解除してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siriショートカットはプレミアム機能です。アプリの設定→プレミアムでロックを解除してください。" } } } }, - "시리·단축어로 기록하기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Track with Siri & Shortcuts" + "시리·단축어로 기록하기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Track with Siri & Shortcuts" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Siri・ショートカットで記録する" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siri・ショートカットで記録する" } } } }, - "시스템 설정 따름": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Follow System" + "시스템 설정 따름" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Follow System" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "システム設定に従う" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "システム設定に従う" } } } }, - "시작": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start" + "시작" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "開始" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "開始" } } } }, - "시작 시각": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start time" + "시작 시각" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "開始時刻" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "開始時刻" } } } }, - "시작·종료 시각 수동 입력": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Enter start/end times manually" + "시작·종료 시각 수동 입력" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter start/end times manually" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "開始・終了時刻を手動入力" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "開始・終了時刻を手動入力" } } } }, - "시작일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start date" + "시작일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start date" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "開始日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "開始日" } } } }, - "시작일 (과거 가능)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start date (past allowed)" + "시작일 (과거 가능)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start date (past allowed)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "開始日(過去も可)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "開始日(過去も可)" } } } }, - "시작하기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Get Started" + "시작하기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Get Started" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "はじめる" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "はじめる" } } } }, - "실행 상태": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Running state" + "실행 상태" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Running state" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "実行状態" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "実行状態" } } } }, - "실행할 행동들과 누적값 표시 방식, 테마를 선택하세요. 선택하지 않은 칸은 비워 둬요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose the actions to run, how totals are shown, and the theme. Unselected slots stay empty." + "실행할 행동들과 누적값 표시 방식, 테마를 선택하세요. 선택하지 않은 칸은 비워 둬요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose the actions to run, how totals are shown, and the theme. Unselected slots stay empty." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "実行するアクションと累計の表示方法、テーマを選んでください。未選択の枠は空欄になります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "実行するアクションと累計の表示方法、テーマを選んでください。未選択の枠は空欄になります。" } } } }, - "심볼 이름 검색 (영문)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Search symbols (English)" + "심볼 이름 검색 (영문)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search symbols (English)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "シンボル名を検索(英語)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "シンボル名を検索(英語)" } } } }, - "아이콘": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Icon" + "아이콘" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icon" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アイコン" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アイコン" } } } }, - "아이콘 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose Icon" + "아이콘 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose Icon" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アイコンを選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アイコンを選択" } } } }, - "아이콘과 색": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Icon & color" + "아이콘과 색" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icon & color" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アイコンと色" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アイコンと色" } } } }, - "아이패드·맥 일기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Diary on iPad and Mac" + "아이패드·맥 일기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diary on iPad and Mac" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "iPad・Macの日記" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "iPad・Macの日記" } } } }, - "아주 넓게": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Extra wide" + "아주 넓게" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Extra wide" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "とても広い" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "とても広い" } } } }, - "아직 등록된 행동이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No actions yet" + "아직 등록된 행동이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No actions yet" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "まだアクションがありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "まだアクションがありません" } } } }, - "아직 목표가 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No goals yet" + "아직 목표가 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No goals yet" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "まだ目標がありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "まだ目標がありません" } } } }, - "아직 행동이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No actions yet" + "아직 행동이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No actions yet" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "まだアクションがありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "まだアクションがありません" } } } }, - "아침 루틴 지키기": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Keep a morning routine" + "아침 루틴 지키기" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Keep a morning routine" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "朝のルーティンを守る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "朝のルーティンを守る" } } } }, - "애플 펜슬로 자유롭게 쓰고 그려 보세요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Write and draw freely with Apple Pencil" + "애플 펜슬로 자유롭게 쓰고 그려 보세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Write and draw freely with Apple Pencil" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Apple Pencilで自由に書いたり描いたりできます" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Pencilで自由に書いたり描いたりできます" } } } }, - "애플워치": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Apple Watch" + "애플워치" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Watch" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Apple Watch" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Watch" } } } }, - "애플워치 (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Apple Watch (Premium)" + "애플워치 (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Watch (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Apple Watch(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Watch(プレミアム)" } } } }, - "애플워치 앱": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Apple Watch app" + "애플워치 앱" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Watch app" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Apple Watchアプリ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Watchアプリ" } } } }, - "애플워치에서 보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show on Apple Watch" + "애플워치에서 보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show on Apple Watch" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Apple Watchに表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Watchに表示" } } } }, - "앱 설정과 일치": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Match app setting" + "앱 설정과 일치" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Match app setting" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アプリ設定に合わせる" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリ設定に合わせる" } } } }, - "앱 소개 다시 보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Replay App Intro" + "앱 소개 다시 보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Replay App Intro" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アプリ紹介をもう一度見る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリ紹介をもう一度見る" } } } }, - "앱의 설정 → 프리미엄에서\n잠금 해제해 주세요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Unlock in the app:\nSettings → Premium" + "앱의 설정 → 프리미엄에서\n잠금 해제해 주세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unlock in the app:\nSettings → Premium" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アプリの設定→プレミアムで\nロックを解除してください" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アプリの設定→プレミアムで\nロックを解除してください" } } } }, - "약관과 정책": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Terms & Policies" + "약관과 정책" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terms & Policies" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "規約とポリシー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "規約とポリシー" } } } }, - "양식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Template" + "양식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Template" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テンプレート" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テンプレート" } } } }, - "양식 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Import Template" + "양식 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Import Template" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テンプレートの読み込み" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テンプレートの読み込み" } } } }, - "양식 관리": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Manage Templates" + "양식 관리" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manage Templates" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テンプレート管理" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テンプレート管理" } } } }, - "양식 삭제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete Template" + "양식 삭제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete Template" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テンプレートを削除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テンプレートを削除" } } } }, - "양식 이름": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Template name" + "양식 이름" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Template name" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テンプレート名" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テンプレート名" } } } }, - "어제와 비교": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Compared to yesterday" + "어제와 비교" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compared to yesterday" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "昨日と比較" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "昨日と比較" } } } }, - "언어": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Language" + "언어" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Language" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "言語" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "言語" } } } }, - "언어를 바꾸면 앱을 완전히 종료했다가 다시 실행했을 때 적용돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Language changes take effect after fully quitting and relaunching the app." + "언어를 바꾸면 앱을 완전히 종료했다가 다시 실행했을 때 적용돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Language changes take effect after fully quitting and relaunching the app." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "言語の変更はアプリを完全に終了して再起動すると反映されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "言語の変更はアプリを完全に終了して再起動すると反映されます。" } } } }, - "여러 행동을 동시에 추적 중일 때 다이나믹 아일랜드·잠금화면과 워치 컴플리케이션에 대표로 표시할 행동이에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The action shown as the representative one in the Dynamic Island, on the Lock Screen, and in watch complications while multiple actions are being tracked." + "여러 행동을 동시에 추적 중일 때 다이나믹 아일랜드·잠금화면과 워치 컴플리케이션에 대표로 표시할 행동이에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The action shown as the representative one in the Dynamic Island, on the Lock Screen, and in watch complications while multiple actions are being tracked." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "複数の行動を同時に計測しているとき、Dynamic Island・ロック画面・ウォッチのコンプリケーションに代表として表示する行動です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "複数の行動を同時に計測しているとき、Dynamic Island・ロック画面・ウォッチのコンプリケーションに代表として表示する行動です。" } } } }, - "연속 %lld달": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld-month streak" + "연속 %lld달" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld-month streak" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lldか月連続" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldか月連続" } } } }, - "연속 %lld일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld-day streak" + "연속 %lld일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld-day streak" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld日連続" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld日連続" } } } }, - "연속 %lld주": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "%lld-week streak" + "연속 %lld주" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld-week streak" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lld週連続" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld週連続" } } } }, - "연속 달성 표시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Streak Badges" + "연속 달성 표시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Streak Badges" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "連続達成の表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "連続達成の表示" } } } }, - "영상 시청": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Watching videos" + "영상 시청" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Watching videos" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "動画視聴" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "動画視聴" } } } }, - "영어 공부": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "English study" + "영어 공부" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "English study" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "英語の勉強" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "英語の勉強" } } } }, - "예: 토익 700점 이상 받기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "e.g. Score 700+ on TOEIC" + "예: 토익 700점 이상 받기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "e.g. Score 700+ on TOEIC" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "例: TOEICで700点以上取る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "例: TOEICで700点以上取る" } } } }, - "예시 행동으로 시작해 보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start with example actions" + "예시 행동으로 시작해 보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start with example actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "サンプルのアクションで始める" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "サンプルのアクションで始める" } } } }, - "오늘": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Today" + "오늘" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Today" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日" } } } }, - "오늘 %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Today %@" + "오늘 %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Today %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今日 %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日 %@" } } } }, - "오늘 %lld회": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld time today" + "오늘 %lld회" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld time today" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld times today" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld times today" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今日%lld回" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日%lld回" } } } }, - "오늘 0분": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Today 0m" + "오늘 0분" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Today 0m" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今日0分" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日0分" } } } }, - "오늘 기분": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Today's Mood" + "오늘 기분" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Today's Mood" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今日の気分" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日の気分" } } } }, - "오늘 누적": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Today's total" + "오늘 누적" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Today's total" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今日の累計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日の累計" } } } }, - "오늘 할 일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Today's To-Dos" + "오늘 할 일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Today's To-Dos" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今日のやること" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日のやること" } } } }, - "오늘은 여기까지!\n내일은 더 일찍 시작하자.": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "That's it for today!\nStart earlier tomorrow." + "오늘은 여기까지!\n내일은 더 일찍 시작하자." : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "That's it for today!\nStart earlier tomorrow." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今日はここまで!\n明日はもっと早く始めよう。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日はここまで!\n明日はもっと早く始めよう。" } } } }, - "오른쪽 위 '배치 편집'을 누르면 버튼이 흔들리며 드래그로 순서를 바꿀 수 있어요. 한 줄에 몇 개를 놓을지도 고를 수 있어요. '완료'를 누르면 저장되고, 이 순서는 위젯의 기본 표시 순서에도 쓰여요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap 'Edit Layout' at the top right and the buttons jiggle so you can drag them into a new order. You can also choose how many fit per row. Tap 'Done' to save — this order is also used as the default order in widgets." + "오른쪽 위 '배치 편집'을 누르면 버튼이 흔들리며 드래그로 순서를 바꿀 수 있어요. 한 줄에 몇 개를 놓을지도 고를 수 있어요. '완료'를 누르면 저장되고, 이 순서는 위젯의 기본 표시 순서에도 쓰여요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap 'Edit Layout' at the top right and the buttons jiggle so you can drag them into a new order. You can also choose how many fit per row. Tap 'Done' to save — this order is also used as the default order in widgets." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "右上の「配置を編集」をタップするとボタンが揺れ、ドラッグで順序を変えられます。1行に置く数も選べます。「完了」で保存され、この順序はウィジェットのデフォルト表示順にも使われます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "右上の「配置を編集」をタップするとボタンが揺れ、ドラッグで順序を変えられます。1行に置く数も選べます。「完了」で保存され、この順序はウィジェットのデフォルト表示順にも使われます。" } } } }, - "오른쪽 위 + 버튼으로 꼬리표를 추가하세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap the + button in the top right to add a tag." + "오른쪽 위 + 버튼으로 꼬리표를 추가하세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap the + button in the top right to add a tag." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "右上の+ボタンでタグを追加してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "右上の+ボタンでタグを追加してください。" } } } }, - "오른쪽 위 + 버튼으로 행동을 추가하세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap the + button in the top right to add an action." + "오른쪽 위 + 버튼으로 행동을 추가하세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap the + button in the top right to add an action." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "右上の+ボタンでアクションを追加してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "右上の+ボタンでアクションを追加してください。" } } } }, - "오른쪽 위 ‘순서’를 누르면 다짐 순서를 바꿀 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap ‘Reorder’ in the top right to reorder quests." + "오른쪽 위 ‘순서’를 누르면 다짐 순서를 바꿀 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap ‘Reorder’ in the top right to reorder quests." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "右上の「順序」からクエストを並べ替えられます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "右上の「順序」からクエストを並べ替えられます。" } } } }, - "오른쪽 핸들을 끌어서 순서를 바꾼 뒤 ‘완료’를 누르세요. 순서는 저장되어 유지돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Drag the handles to reorder, then tap ‘Done’. The order is saved." + "오른쪽 핸들을 끌어서 순서를 바꾼 뒤 ‘완료’를 누르세요. 순서는 저장되어 유지돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drag the handles to reorder, then tap ‘Done’. The order is saved." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "右のハンドルをドラッグして並べ替え、「完了」を押してください。順序は保存されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "右のハンドルをドラッグして並べ替え、「完了」を押してください。順序は保存されます。" } } } }, - "완료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Done" + "완료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Done" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "完了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "完了" } } } }, - "완료 표시 해제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Mark as not done" + "완료 표시 해제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mark as not done" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "完了を解除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "完了を解除" } } } }, - "완료된 목표": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Finished Goals" + "완료된 목표" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finished Goals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "完了した目標" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "完了した目標" } } } }, - "완료된 목표 보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "View Finished Goals" + "완료된 목표 보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "View Finished Goals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "完了した目標を見る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "完了した目標を見る" } } } }, - "완료된 목표가 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No finished goals" + "완료된 목표가 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No finished goals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "完了した目標がありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "完了した目標がありません" } } } }, - "완료로 표시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Mark as done" + "완료로 표시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mark as done" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "完了にする" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "完了にする" } } } }, - "외 %lld개 측정 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "and %lld more tracking" + "외 %lld개 측정 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "and %lld more tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ほかに%lld件計測中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ほかに%lld件計測中" } } } }, - "요소 %lld개": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld item" + "요소 %lld개" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld item" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld items" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld items" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "要素%lld個" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "要素%lld個" } } } }, - "요약 지표": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Summary stats" + "요약 지표" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Summary stats" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "サマリー指標" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "サマリー指標" } } } }, - "요일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekday" + "요일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekday" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "曜日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "曜日" } } } }, - "요일 지정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Specific weekdays" + "요일 지정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Specific weekdays" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "曜日指定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "曜日指定" } } } }, - "운동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Fitness" + "운동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fitness" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "運動" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "運動" } } } }, - "워치 앱을 열면 꼬리표 목록이 보여요. 꼬리표를 탭하면 그 안의 행동들이 나오고, 행동을 탭하면 시간형은 측정 시작·종료, 횟수형은 +1이 기록돼요. 아이폰 앱에서 즐겨찾기한 행동은 첫 화면 맨 위 '즐겨찾기'에서 한 탭 만에 열 수 있어요. 측정 중일 때는 첫 화면 맨 위에 측정 중인 행동과 시간이 보이고, 그 줄을 탭하면 바로 측정이 종료돼요. 기록은 아이폰과 자동으로 동기화돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Open the watch app to see your tag list. Tap a tag to see its actions, then tap an action — time actions start or stop tracking, count actions add +1. Actions you've favorited in the iPhone app are one tap away under 'Favorites' at the top of the first screen. While tracking, the first screen shows the running action and its time at the top — tap that row to stop tracking right away. Records sync with your iPhone automatically." + "워치 앱을 열면 꼬리표 목록이 보여요. 꼬리표를 탭하면 그 안의 행동들이 나오고, 행동을 탭하면 시간형은 측정 시작·종료, 횟수형은 +1이 기록돼요. 아이폰 앱에서 즐겨찾기한 행동은 첫 화면 맨 위 '즐겨찾기'에서 한 탭 만에 열 수 있어요. 측정 중일 때는 첫 화면 맨 위에 측정 중인 행동과 시간이 보이고, 그 줄을 탭하면 바로 측정이 종료돼요. 기록은 아이폰과 자동으로 동기화돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open the watch app to see your tag list. Tap a tag to see its actions, then tap an action — time actions start or stop tracking, count actions add +1. Actions you've favorited in the iPhone app are one tap away under 'Favorites' at the top of the first screen. While tracking, the first screen shows the running action and its time at the top — tap that row to stop tracking right away. Records sync with your iPhone automatically." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ウォッチアプリを開くとタグの一覧が表示されます。タグをタップするとその中のアクションが表示され、アクションをタップすると、時間計測は開始・終了、回数は+1が記録されます。iPhoneアプリでお気に入りにしたアクションは、最初の画面の一番上の「お気に入り」からワンタップで開けます。計測中は最初の画面の一番上に計測中のアクションと時間が表示され、その行をタップするとすぐに計測が終了します。記録はiPhoneと自動的に同期されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ウォッチアプリを開くとタグの一覧が表示されます。タグをタップするとその中のアクションが表示され、アクションをタップすると、時間計測は開始・終了、回数は+1が記録されます。iPhoneアプリでお気に入りにしたアクションは、最初の画面の一番上の「お気に入り」からワンタップで開けます。計測中は最初の画面の一番上に計測中のアクションと時間が表示され、その行をタップするとすぐに計測が終了します。記録はiPhoneと自動的に同期されます。" } } } }, - "워치 페이스를 길게 눌러 '편집' → 컴플리케이션 자리에서 하루 다님을 골라요. 현재 측정 중인 행동, 목표의 달성률, 다짐의 진행률을 페이스에서 바로 볼 수 있어요. 목표·다짐 달성률 목록에는 목표를 만들거나 수정할 때 '애플워치에서 보기'를 켠 목표와 그 다짐들만 하루·주간·월간으로 나타나요 — 기본은 꺼져 있고, 완료된 목표는 목록에서 자동으로 사라져요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Long-press your watch face, choose 'Edit', and pick Haru Danim in a complication slot. You can see the currently tracked action, a goal's completion rate, or a quest's progress right on the face. The goal and quest lists only include goals with 'Show on Apple Watch' turned on (when creating or editing a goal), each offered as daily, weekly and monthly — it's off by default, and finished goals disappear from the list automatically." + "워치 페이스를 길게 눌러 '편집' → 컴플리케이션 자리에서 하루 다님을 골라요. 현재 측정 중인 행동, 목표의 달성률, 다짐의 진행률을 페이스에서 바로 볼 수 있어요. 목표·다짐 달성률 목록에는 목표를 만들거나 수정할 때 '애플워치에서 보기'를 켠 목표와 그 다짐들만 하루·주간·월간으로 나타나요 — 기본은 꺼져 있고, 완료된 목표는 목록에서 자동으로 사라져요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Long-press your watch face, choose 'Edit', and pick Haru Danim in a complication slot. You can see the currently tracked action, a goal's completion rate, or a quest's progress right on the face. The goal and quest lists only include goals with 'Show on Apple Watch' turned on (when creating or editing a goal), each offered as daily, weekly and monthly — it's off by default, and finished goals disappear from the list automatically." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ウォッチフェイスを長押しして「編集」→コンプリケーション枠でHaru Danimを選びます。計測中のアクション、目標の達成率、クエストの進捗をフェイスで直接確認できます。目標・クエスト達成率の一覧には、目標の作成・編集時に「Apple Watchに表示」をオンにした目標とそのクエストだけが1日・週間・月間で表示されます — 初期状態はオフで、完了した目標は一覧から自動的に消えます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ウォッチフェイスを長押しして「編集」→コンプリケーション枠でHaru Danimを選びます。計測中のアクション、目標の達成率、クエストの進捗をフェイスで直接確認できます。目標・クエスト達成率の一覧には、目標の作成・編集時に「Apple Watchに表示」をオンにした目標とそのクエストだけが1日・週間・月間で表示されます — 初期状態はオフで、完了した目標は一覧から自動的に消えます。" } } } }, - "워치에서 기록하기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tracking on the Watch" + "워치에서 기록하기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tracking on the Watch" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Watchで記録する" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Watchで記録する" } } } }, - "워치에서 추적하고 컴플리케이션으로 확인해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Track on your watch and check complications at a glance." + "워치에서 추적하고 컴플리케이션으로 확인해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Track on your watch and check complications at a glance." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ウォッチで記録し、コンプリケーションで確認できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ウォッチで記録し、コンプリケーションで確認できます。" } } } }, - "워치와 아이폰은 근처에 있을 때 자동으로 맞춰져요. 값이 다르게 보이면 워치 앱을 아래로 당겨 새로고침하거나, 아이폰에서 앱을 한 번 열어 주세요. 모음 탭의 새로고침 버튼도 도움이 돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The Watch and iPhone stay in sync automatically when they are near each other. If the numbers look different, pull down in the Watch app to refresh, or open the app on your iPhone once. The refresh button on the Home tab helps too." + "워치와 아이폰은 근처에 있을 때 자동으로 맞춰져요. 값이 다르게 보이면 워치 앱을 아래로 당겨 새로고침하거나, 아이폰에서 앱을 한 번 열어 주세요. 모음 탭의 새로고침 버튼도 도움이 돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The Watch and iPhone stay in sync automatically when they are near each other. If the numbers look different, pull down in the Watch app to refresh, or open the app on your iPhone once. The refresh button on the Home tab helps too." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "WatchとiPhoneは近くにあるとき自動で同期されます。値が違って見える場合は、Watchアプリを下に引いて更新するか、iPhoneでアプリを一度開いてください。ホームタブの更新ボタンも役立ちます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "WatchとiPhoneは近くにあるとき自動で同期されます。値が違って見える場合は、Watchアプリを下に引いて更新するか、iPhoneでアプリを一度開いてください。ホームタブの更新ボタンも役立ちます。" } } } }, - "워치와 폰이 안 맞을 때": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When Watch & iPhone Don't Match" + "워치와 폰이 안 맞을 때" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When Watch & iPhone Don't Match" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "WatchとiPhoneが合わないとき" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "WatchとiPhoneが合わないとき" } } } }, - "원": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Ellipse" + "원" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ellipse" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "円" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "円" } } } }, - "원형 게이지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Circular gauge" + "원형 게이지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circular gauge" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "円形ゲージ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "円形ゲージ" } } } }, - "원형 진행률로 표시할 다짐들과 기간, 테마를 선택하세요. 선택하지 않은 칸은 비워 둬요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose the quests to show as progress rings, plus the period and theme. Unselected slots stay empty." + "원형 진행률로 표시할 다짐들과 기간, 테마를 선택하세요. 선택하지 않은 칸은 비워 둬요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose the quests to show as progress rings, plus the period and theme. Unselected slots stay empty." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "進捗リングで表示するクエストと期間、テーマを選んでください。未選択の枠は空欄になります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "進捗リングで表示するクエストと期間、テーマを選んでください。未選択の枠は空欄になります。" } } } }, - "월": { - "comment": "요일 축약(월요일)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Mon" + "월" : { + "comment" : "요일 축약(월요일)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mon" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月" } } } }, - "월 구독": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly" + "월 구독" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月額プラン" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月額プラン" } } } }, - "월간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly" + "월간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月間" } } } }, - "월간 목표 · 이 날까지 누적": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly goal · total up to this day" + "월간 목표 · 이 날까지 누적" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly goal · total up to this day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月間目標・この日までの累計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月間目標・この日までの累計" } } } }, - "월간 시간 합계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly time totals" + "월간 시간 합계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly time totals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月間時間合計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月間時間合計" } } } }, - "월간 통계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly stats" + "월간 통계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly stats" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月間統計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月間統計" } } } }, - "월간 횟수 합계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly count totals" + "월간 횟수 합계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly count totals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月間回数合計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月間回数合計" } } } }, - "위젯에서 바로 행동을 실행하고 달성률을 확인해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Run actions and check progress right from widgets." + "위젯에서 바로 행동을 실행하고 달성률을 확인해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Run actions and check progress right from widgets." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ウィジェットから直接アクションを実行し、達成率を確認できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ウィジェットから直接アクションを実行し、達成率を確認できます。" } } } }, - "음식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Food" + "음식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Food" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "食べ物" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "食べ物" } } } }, - "이 기록에 대한 메모 (선택)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Note for this record (optional)" + "이 기록에 대한 메모 (선택)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Note for this record (optional)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この記録のメモ(任意)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この記録のメモ(任意)" } } } }, - "이 날은 수행일이 아니에요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Not scheduled for this day" + "이 날은 수행일이 아니에요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Not scheduled for this day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この日は実行日ではありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日は実行日ではありません" } } } }, - "이 날의 기록이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No records on this day" + "이 날의 기록이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No records on this day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この日の記録はありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日の記録はありません" } } } }, - "이 날의 목표": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This Day's Goals" + "이 날의 목표" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This Day's Goals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この日の目標" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日の目標" } } } }, - "이 날짜에 진행 중인 목표가 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No goals in progress on this date" + "이 날짜에 진행 중인 목표가 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No goals in progress on this date" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この日付に進行中の目標はありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日付に進行中の目標はありません" } } } }, - "이 날짜에 캘린더 일정이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No calendar events on this date" + "이 날짜에 캘린더 일정이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No calendar events on this date" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この日付にカレンダーのイベントはありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日付にカレンダーのイベントはありません" } } } }, - "이 날짜의 선택을 지우고 일기 달력의 '기본 표시 설정'을 따르게 돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Clears this date's choices so it follows 'Default Display' from the diary calendar screen." + "이 날짜의 선택을 지우고 일기 달력의 '기본 표시 설정'을 따르게 돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clears this date's choices so it follows 'Default Display' from the diary calendar screen." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この日付の選択を消して、日記カレンダー画面の「デフォルト表示設定」に従うようになります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日付の選択を消して、日記カレンダー画面の「デフォルト表示設定」に従うようになります。" } } } }, - "이 날짜의 일기가 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No diary for this date" + "이 날짜의 일기가 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No diary for this date" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この日の日記はありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日の日記はありません" } } } }, - "이 목표를 이루기 위한 다짐(행동/꼬리표 + 주기 + 목표량)을 추가하세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add quests (action/tag + cycle + amount) to achieve this goal." + "이 목표를 이루기 위한 다짐(행동/꼬리표 + 주기 + 목표량)을 추가하세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add quests (action/tag + cycle + amount) to achieve this goal." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この目標を達成するためのクエスト(アクション/タグ+周期+目標量)を追加してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この目標を達成するためのクエスト(アクション/タグ+周期+目標量)を追加してください。" } } } }, - "이 페이지 삭제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete this page" + "이 페이지 삭제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete this page" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "このページを削除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "このページを削除" } } } }, - "이동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Transport" + "이동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Transport" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "移動" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "移動" } } } }, - "이동할 탭": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Jump to Tab" + "이동할 탭" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jump to Tab" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ジャンプ先のタブ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ジャンプ先のタブ" } } } }, - "이름": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Name" + "이름" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Name" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "名前" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "名前" } } } }, - "이름 변경": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Rename" + "이름 변경" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rename" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "名前を変更" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "名前を変更" } } } }, - "이름이 같아 이어진 행동 %lld개 포함": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "includes %lld matched by name" + "이름이 같아 이어진 행동 %lld개 포함" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "includes %lld matched by name" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "名前が同じで繋がった%lld個を含む" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "名前が同じで繋がった%lld個を含む" } } } }, - "이모지 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose Emoji" + "이모지 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose Emoji" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "絵文字を選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "絵文字を選択" } } } }, - "이모지나 사진으로\n오늘의 기분을 남겨 보세요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Capture today’s mood\nwith an emoji or a photo" + "이모지나 사진으로\n오늘의 기분을 남겨 보세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Capture today’s mood\nwith an emoji or a photo" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "絵文字や写真で\n今日の気分を残しましょう" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "絵文字や写真で\n今日の気分を残しましょう" } } } }, - "이미 있던 기록 %lld건은 건너뛰었어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Skipped %lld records that already existed." + "이미 있던 기록 %lld건은 건너뛰었어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skipped %lld records that already existed." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "すでにあった記録%lld件はスキップしました。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すでにあった記録%lld件はスキップしました。" } } } }, - "이미지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Image" + "이미지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Image" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "画像" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "画像" } } } }, - "이미지 생성 중…": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Generating image…" + "이미지 생성 중…" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Generating image…" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "画像を生成中…" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "画像を生成中…" } } } }, - "이미지로 내보내기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Export as Image" + "이미지로 내보내기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Export as Image" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "画像として書き出す" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "画像として書き出す" } } } }, - "이번 기록에 대한 메모 (선택)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Note for this record (optional)" + "이번 기록에 대한 메모 (선택)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Note for this record (optional)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今回の記録のメモ(任意)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今回の記録のメモ(任意)" } } } }, - "이번 달": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This month" + "이번 달" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This month" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今月" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今月" } } } }, - "이번 달 누적": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This month's total" + "이번 달 누적" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This month's total" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今月の累計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今月の累計" } } } }, - "이번 달에 쓴 일기 %lld편": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld diary entry this month" + "이번 달 달성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Done this month" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今月分達成" + } + } + } + }, + "이번 달에 쓴 일기 %lld편" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld diary entry this month" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld diary entries this month" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld diary entries this month" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今月書いた日記 %lld件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今月書いた日記 %lld件" } } } }, - "이번 주": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This week" + "이번 주" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This week" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今週" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今週" } } } }, - "이번 주 누적": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This week's total" + "이번 주 누적" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This week's total" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今週の累計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今週の累計" } } } }, - "이번 측정에 대한 메모 (선택)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Note for this session (optional)" + "이번 주 달성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Done this week" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今回の計測のメモ(任意)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今週分達成" } } } }, - "이상 달성": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reach at least" + "이번 측정에 대한 메모 (선택)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Note for this session (optional)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "以上を達成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今回の計測のメモ(任意)" } } } }, - "이용 중인 플랜": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Current Plan" + "이상 달성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reach at least" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ご利用中のプラン" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "以上を達成" } } } }, - "이용약관": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Terms of Use" + "이용 중인 플랜" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Current Plan" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "利用規約" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ご利用中のプラン" } } } }, - "이용약관은 Apple 표준 사용권 계약(EULA)이 적용돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The Terms of Use are Apple's standard licensed application end user license agreement (EULA)." + "이용약관" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terms of Use" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "利用規約にはAppleの標準使用許諾契約(EULA)が適用されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "利用規約" } } } }, - "이전 %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Previous: %@" + "이용약관은 Apple 표준 사용권 계약(EULA)이 적용돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The Terms of Use are Apple's standard licensed application end user license agreement (EULA)." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "前回 %@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "利用規約にはAppleの標準使用許諾契約(EULA)が適用されます。" } } } }, - "이전 기간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Previous period" + "이전 %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previous: %@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "前の期間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "前回 %@" } } } }, - "이전 기간과 비교": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Compare with the previous period" + "이전 기간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previous period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "前の期間と比較" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "前の期間" } } } }, - "이전 기록 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No previous records" + "이전 기간과 비교" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compare with the previous period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "前回の記録なし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "前の期間と比較" } } } }, - "이전 날짜": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Previous day" + "이전 기록 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No previous records" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "前の日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "前回の記録なし" } } } }, - "이전 달": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Previous month" + "이전 날짜" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previous day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "前の月" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "前の日" } } } }, - "이하 유지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stay under" + "이전 달" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previous month" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "以下を維持" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "前の月" } } } }, - "인기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Popular" + "이하 유지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stay under" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "人気" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "以下を維持" } } } }, - "인증에 실패했어요. 다시 시도해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Authentication failed. Please try again." + "인기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Popular" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "認証に失敗しました。もう一度お試しください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "人気" } } } }, - "일": { - "comment": "요일 축약(일요일)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sun" + "인증에 실패했어요. 다시 시도해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Authentication failed. Please try again." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "認証に失敗しました。もう一度お試しください。" } } } }, - "일·업무": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Work" + "일" : { + "comment" : "요일 축약(일요일)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sun" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "仕事" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日" } } } }, - "일기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Diary" + "일·업무" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Work" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "仕事" } } } }, - "일기 (아이패드·맥 · 프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Diary (iPad & Mac · Premium)" + "일기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diary" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記 (iPad・Mac・プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記" } } } }, - "일기 내보내기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Export Diary" + "일기 (아이패드·맥 · 프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diary (iPad & Mac · Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記を書き出す" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記 (iPad・Mac・プレミアム)" } } } }, - "일기 잠금": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Diary Lock" + "일기 내보내기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Export Diary" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記ロック" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記を書き出す" } } } }, - "일기 잠금 설정을 변경하려면 인증이 필요해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Authentication is required to change the diary lock setting." + "일기 잠금" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diary Lock" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記ロックの設定を変更するには認証が必要です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記ロック" } } } }, - "일기 탭 달력에서 날짜를 누르면 그날의 일기가 열려요. 첫 페이지는 오늘 기분·요약·목표 진행 현황·할 일·24시간 타임테이블·기록으로 하루를 정리해 보여줘요. 오른쪽 위 ⋯ 메뉴의 '첫 화면 구성'에서 섹션 표시 여부와 순서를 바꿀 수 있어요. 기분 사진을 남긴 날은 달력의 그 날짜 칸에 사진이 배경으로 함께 보여요. 일기는 아이패드와 맥에서 쓸 수 있고, iCloud 동기화를 켜면 두 기기에서 같은 일기가 이어져요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap a date on the diary tab's calendar to open that day's diary. The first page sums up your day with today's mood, a summary, goal progress, to-dos, a 24-hour timetable and records. Use 'Front page layout' in the ⋯ menu at the top right to choose which sections appear and in what order. On days you add a mood photo, that photo also shows as the background of the date cell in the calendar. The diary is available on iPad and Mac, and with iCloud sync the same diary carries over between them." + "일기 잠금 설정을 변경하려면 인증이 필요해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Authentication is required to change the diary lock setting." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記タブのカレンダーで日付をタップすると、その日の日記が開きます。最初のページは今日の気分・サマリー・目標の進捗・やること・24時間タイムテーブル・記録で一日を整理して見せてくれます。右上の⋯メニューの「最初の画面の構成」でセクションの表示と順序を変えられます。気分の写真を残した日は、カレンダーのその日付のマスに写真が背景として表示されます。 日記はiPadとMacで使え、iCloud同期をオンにすると同じ日記が両方に続きます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記ロックの設定を変更するには認証が必要です。" } } } }, - "일기 페이지들을 담은 PDF 문서 1개를 만들어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Creates one PDF document containing the diary pages." + "일기 탭 달력에서 날짜를 누르면 그날의 일기가 열려요. 첫 페이지는 오늘 기분·요약·목표 진행 현황·할 일·24시간 타임테이블·기록으로 하루를 정리해 보여줘요. 오른쪽 위 ⋯ 메뉴의 '첫 화면 구성'에서 섹션 표시 여부와 순서를 바꿀 수 있어요. 기분 사진을 남긴 날은 달력의 그 날짜 칸에 사진이 배경으로 함께 보여요. 일기는 아이패드와 맥에서 쓸 수 있고, iCloud 동기화를 켜면 두 기기에서 같은 일기가 이어져요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap a date on the diary tab's calendar to open that day's diary. The first page sums up your day with today's mood, a summary, goal progress, to-dos, a 24-hour timetable and records. Use 'Front page layout' in the ⋯ menu at the top right to choose which sections appear and in what order. On days you add a mood photo, that photo also shows as the background of the date cell in the calendar. The diary is available on iPad and Mac, and with iCloud sync the same diary carries over between them." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記ページをまとめたPDF文書を1つ作成します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記タブのカレンダーで日付をタップすると、その日の日記が開きます。最初のページは今日の気分・サマリー・目標の進捗・やること・24時間タイムテーブル・記録で一日を整理して見せてくれます。右上の⋯メニューの「最初の画面の構成」でセクションの表示と順序を変えられます。気分の写真を残した日は、カレンダーのその日付のマスに写真が背景として表示されます。 日記はiPadとMacで使え、iCloud同期をオンにすると同じ日記が両方に続きます。" } } } }, - "일기-%@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Diary-%@" + "일기 페이지들을 담은 PDF 문서 1개를 만들어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creates one PDF document containing the diary pages." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記-%@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記ページをまとめたPDF文書を1つ作成します。" } } } }, - "일기-%@~%@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Diary-%@~%@" + "일기-%@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diary-%@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記-%@~%@" - } - }, - "ko": { - "stringUnit": { - "state": "new", - "value": "일기-%1$@~%2$@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記-%@" } } } }, - "일기가 잠겨 있어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Your diary is locked" + "일기-%@~%@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diary-%@~%@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記はロックされています" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記-%@~%@" + } + }, + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "일기-%1$@~%2$@" } } } }, - "일기는 프리미엄 기능이에요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Diary is a premium feature" + "일기가 잠겨 있어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Your diary is locked" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記はプレミアム機能です" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記はロックされています" } } } }, - "일기를 보려면 잠금을 해제해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Unlock to view your diary." + "일기는 프리미엄 기능이에요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diary is a premium feature" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記を見るにはロックを解除してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記はプレミアム機能です" } } } }, - "일기를 쓴 날 %lld일이 포함돼요": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "Includes %lld day with a diary entry" + "일기를 보려면 잠금을 해제해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unlock to view your diary." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記を見るにはロックを解除してください。" + } + } + } + }, + "일기를 쓴 날 %lld일이 포함돼요" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Includes %lld day with a diary entry" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "Includes %lld days with diary entries" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Includes %lld days with diary entries" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日記を書いた日が%lld日含まれます" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日記を書いた日が%lld日含まれます" } } } }, - "일정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Event" + "일정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Event" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "イベント" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "イベント" } } } }, - "일주일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Week" + "일주일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Week" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1週間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1週間" } } } }, - "일주일 (하루 단위)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Week (by day)" + "일주일 (하루 단위)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Week (by day)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1週間(日別)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1週間(日別)" } } } }, - "일주일 단위": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly" + "일주일 단위" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週単位" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週単位" } } } }, - "일주일 통계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly stats" + "일주일 통계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly stats" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週間統計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週間統計" } } } }, - "일찍 일어나기": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Wake up early" + "일찍 일어나기" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wake up early" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "早起き" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "早起き" } } } }, - "일찍 자기 챌린지": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Early bedtime challenge" + "일찍 자기 챌린지" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Early bedtime challenge" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "早寝チャレンジ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "早寝チャレンジ" } } } }, - "자기 전 물 한 컵": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "A glass of water before bed" + "자기 전 물 한 컵" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A glass of water before bed" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "寝る前に水を一杯" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "寝る前に水を一杯" } } } }, - "자기 전에 소설 읽음. 재밌어서 늦게 잠": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Read a novel before bed — so good I stayed up late" + "자기 전에 소설 읽음. 재밌어서 늦게 잠" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Read a novel before bed — so good I stayed up late" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "寝る前に小説を読んだ。面白くて夜更かし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "寝る前に小説を読んだ。面白くて夜更かし" } } } }, - "자연": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Nature" + "자연" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nature" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "自然" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "自然" } } } }, - "작은 셀 8개 (2×4)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "8 small cells (2×4)" + "작은 셀 8개 (2×4)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 small cells (2×4)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "小さいセル8個(2×4)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "小さいセル8個(2×4)" } } } }, - "잠금 해제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Unlock" + "잠금 해제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unlock" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ロック解除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ロック解除" } } } }, - "잠금화면 목표 위젯": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Lock Screen Goal Widget" + "잠금화면 목표 위젯" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lock Screen Goal Widget" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ロック画面の目標ウィジェット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ロック画面の目標ウィジェット" } } } }, - "잠금화면에 표시할 목표와 기간, 표시 방식을 선택하세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose a goal, period, and style for the Lock Screen." + "잠금화면에 표시할 목표와 기간, 표시 방식을 선택하세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose a goal, period, and style for the Lock Screen." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ロック画面に表示する目標・期間・スタイルを選んでください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ロック画面に表示する目標・期間・スタイルを選んでください。" } } } }, - "잠금화면에서 목표 달성률과 다짐 현황을 확인해요. (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Check goal progress and quest status on the Lock Screen. (Premium)" + "잠금화면에서 목표 달성률과 다짐 현황을 확인해요. (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Check goal progress and quest status on the Lock Screen. (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ロック画面で目標達成率とクエスト状況を確認。(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ロック画面で目標達成率とクエスト状況を確認。(プレミアム)" } } } }, - "장시간 측정 알림": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Long-session alert" + "장시간 측정 알림" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Long-session alert" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "長時間計測の通知" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "長時間計測の通知" } } } }, - "저녁 달리기": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Evening run" + "저녁 달리기" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Evening run" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "夜ランニング" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "夜ランニング" } } } }, - "저장": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Save" + "저장" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Save" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "保存" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存" } } } }, - "저장하지 못했어요. 설정에서 사진 접근 권한을 확인해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Couldn't save. Please check photo permissions in Settings." + "저장하지 못했어요. 설정에서 사진 접근 권한을 확인해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couldn't save. Please check photo permissions in Settings." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "保存できませんでした。設定で写真へのアクセス権限を確認してください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存できませんでした。設定で写真へのアクセス権限を確認してください。" } } } }, - "적용일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Applies on" + "적용일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Applies on" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "適用日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "適用日" } } } }, - "전체 다짐 합산": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "All quests combined" + "전체 다짐 합산" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "All quests combined" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "全クエスト合算" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "全クエスト合算" } } } }, - "전체 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Select All" + "전체 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Select All" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "すべて選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すべて選択" } } } }, - "전체 해제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Deselect All" + "전체 해제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deselect All" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "すべて解除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すべて解除" } } } }, - "접기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Collapse" + "접기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Collapse" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "折りたたむ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "折りたたむ" } } } }, - "정리하고 돌아보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Organize and look back" + "정리하고 돌아보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Organize and look back" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "整理して振り返る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "整理して振り返る" } } } }, - "제어 센터 버튼으로 실행할 행동을 선택하세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose the action to run from the Control Center button." + "제어 센터 버튼으로 실행할 행동을 선택하세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose the action to run from the Control Center button." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "コントロールセンターのボタンで実行するアクションを選んでください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コントロールセンターのボタンで実行するアクションを選んでください。" } } } }, - "제어 센터·잠금화면 버튼·액션 버튼에서 행동을 바로 실행해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Run actions right from Control Center, the Lock Screen buttons, or the Action button." + "제어 센터·잠금화면 버튼·액션 버튼에서 행동을 바로 실행해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Run actions right from Control Center, the Lock Screen buttons, or the Action button." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "コントロールセンター・ロック画面ボタン・アクションボタンからアクションを即実行。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コントロールセンター・ロック画面ボタン・アクションボタンからアクションを即実行。" } } } }, - "제어 센터를 편집해 '하루 다님'의 '행동 실행' 컨트롤을 추가하면, 화면을 켜자마자 행동을 실행할 수 있어요. 시간형은 시작/종료 토글, 횟수형은 탭마다 +1이에요. 잠금화면 하단 버튼이나 액션 버튼에도 배치할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Control Center and add HaruDanim's 'Run Action' control to run an action the moment the screen turns on. Time actions toggle start/stop; count actions add +1 per tap. You can also place it on the Lock Screen buttons or the Action button." + "제어 센터를 편집해 '하루 다님'의 '행동 실행' 컨트롤을 추가하면, 화면을 켜자마자 행동을 실행할 수 있어요. 시간형은 시작/종료 토글, 횟수형은 탭마다 +1이에요. 잠금화면 하단 버튼이나 액션 버튼에도 배치할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Control Center and add HaruDanim's 'Run Action' control to run an action the moment the screen turns on. Time actions toggle start/stop; count actions add +1 per tap. You can also place it on the Lock Screen buttons or the Action button." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "コントロールセンターを編集してHaru Danimの「アクション実行」コントロールを追加すると、画面を点けてすぐアクションを実行できます。時間計測は開始/終了のトグル、回数記録はタップごとに+1。ロック画面下部のボタンやアクションボタンにも配置できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コントロールセンターを編集してHaru Danimの「アクション実行」コントロールを追加すると、画面を点けてすぐアクションを実行できます。時間計測は開始/終了のトグル、回数記録はタップごとに+1。ロック画面下部のボタンやアクションボタンにも配置できます。" } } } }, - "제어 센터에서 실행": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Run from Control Center" + "제어 센터에서 실행" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Run from Control Center" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "コントロールセンターから実行" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コントロールセンターから実行" } } } }, - "제어 센터에서 실행 (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Run from Control Center (Premium)" + "제어 센터에서 실행 (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Run from Control Center (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "コントロールセンターから実行(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コントロールセンターから実行(プレミアム)" } } } }, - "좁게": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Narrow" + "좁게" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Narrow" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "狭い" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "狭い" } } } }, - "종료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stop" + "종료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stop" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了" } } } }, - "종료 시 다짐 평균 달성률이 %lld%% 이상이면 달성으로 판정돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When finished, the goal counts as achieved if the quests' average completion rate is %lld%% or higher." + "종료 시 다짐 평균 달성률이 %lld%% 이상이면 달성으로 판정돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When finished, the goal counts as achieved if the quests' average completion rate is %lld%% or higher." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了時、クエストの平均達成率が%lld%%以上なら達成と判定されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了時、クエストの平均達成率が%lld%%以上なら達成と判定されます。" } } } }, - "종료 시 하위 다짐들의 달성 여부에 따라 달성/미달성이 결정돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When finished, achievement is decided by whether its quests were met." + "종료 시 하위 다짐들의 달성 여부에 따라 달성/미달성이 결정돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When finished, achievement is decided by whether its quests were met." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了時に、クエストの達成状況によって達成/未達成が決まります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了時に、クエストの達成状況によって達成/未達成が決まります。" } } } }, - "종료 시각": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "End time" + "종료 시각" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "End time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了時刻" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了時刻" } } } }, - "종료 시각을 끄면 진행 중 상태가 돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Turn off the end time to keep it in progress." + "종료 시각을 끄면 진행 중 상태가 돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Turn off the end time to keep it in progress." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了時刻をオフにすると進行中の状態になります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了時刻をオフにすると進行中の状態になります。" } } } }, - "종료 시각이 시작 시각보다 빠르거나 같아요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The end time is earlier than or the same as the start time." + "종료 시각이 시작 시각보다 빠르거나 같아요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The end time is earlier than or the same as the start time." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了時刻が開始時刻より早いか同じです。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了時刻が開始時刻より早いか同じです。" } } } }, - "종료됨": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Finished" + "종료됨" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finished" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了済み" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了済み" } } } }, - "종료일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "End date" + "종료일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "End date" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了日" } } } }, - "종료일 지정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Set end date" + "종료일 지정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Set end date" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了日を設定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了日を設定" } } } }, - "종료일이 있는 목표는 날짜가 지나면 자동으로 달성 여부가 판정되고(앱을 며칠 뒤에 열어도 종료일까지의 기록 기준이라 결과가 달라지지 않아요), 종료일이 없는 목표는 수동 종료 버튼으로 마칠 수 있어요. 판정은 다짐들의 평균 달성률이 목표를 만들 때 정한 '달성 판정 기준'(기본 100%) 이상이면 달성이에요 — 예를 들어 기준을 80%로 두면 조금 못 채워도 달성으로 기록돼요. 다짐 없이 종료일이 지난 목표는 '달성했나요?' 상태가 되어 직접 선택해요. 완료된 목표의 종료일을 수정하면 다시 판정돼요 — 미래로 옮기면 진행 중으로 돌아와요. 완료된 목표는 목록 하단의 완료 보관함에서 볼 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Goals with an end date are judged automatically once the date passes (the result is based on records up to the end date, so opening the app days later doesn't change it). Goals without an end date can be finished with the manual finish button. A goal counts as achieved when the average completion of its quests meets the \"achievement threshold\" you set when creating it (100% by default) — for example, with an 80% threshold it still counts even if you fall slightly short. A goal whose end date passes without any quests becomes \"Did you achieve it?\" for you to decide. If you edit a finished goal's end date it is judged again — moving it to the future returns it to in progress. Finished goals are collected in the archive at the bottom of the list." + "종료일이 있는 목표는 날짜가 지나면 자동으로 달성 여부가 판정되고(앱을 며칠 뒤에 열어도 종료일까지의 기록 기준이라 결과가 달라지지 않아요), 종료일이 없는 목표는 수동 종료 버튼으로 마칠 수 있어요. 판정은 다짐들의 평균 달성률이 목표를 만들 때 정한 '달성 판정 기준'(기본 100%) 이상이면 달성이에요 — 예를 들어 기준을 80%로 두면 조금 못 채워도 달성으로 기록돼요. 다짐 없이 종료일이 지난 목표는 '달성했나요?' 상태가 되어 직접 선택해요. 완료된 목표의 종료일을 수정하면 다시 판정돼요 — 미래로 옮기면 진행 중으로 돌아와요. 완료된 목표는 목록 하단의 완료 보관함에서 볼 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Goals with an end date are judged automatically once the date passes (the result is based on records up to the end date, so opening the app days later doesn't change it). Goals without an end date can be finished with the manual finish button. A goal counts as achieved when the average completion of its quests meets the \"achievement threshold\" you set when creating it (100% by default) — for example, with an 80% threshold it still counts even if you fall slightly short. A goal whose end date passes without any quests becomes \"Did you achieve it?\" for you to decide. If you edit a finished goal's end date it is judged again — moving it to the future returns it to in progress. Finished goals are collected in the archive at the bottom of the list." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "終了日のある目標は、日付が過ぎると自動で達成判定されます(終了日までの記録が基準なので、数日後にアプリを開いても結果は変わりません)。終了日のない目標は手動終了ボタンで終えられます。判定は、クエストの平均達成率が目標作成時に決めた「達成判定基準」(初期値100%)以上なら達成です — たとえば基準を80%にすると、少し足りなくても達成として記録されます。クエストがないまま終了日を過ぎた目標は「達成しましたか?」の状態になり、自分で選択します。完了した目標の終了日を修正すると再判定され、未来に動かすと進行中に戻ります。完了した目標はリスト下部の完了アーカイブで見られます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "終了日のある目標は、日付が過ぎると自動で達成判定されます(終了日までの記録が基準なので、数日後にアプリを開いても結果は変わりません)。終了日のない目標は手動終了ボタンで終えられます。判定は、クエストの平均達成率が目標作成時に決めた「達成判定基準」(初期値100%)以上なら達成です — たとえば基準を80%にすると、少し足りなくても達成として記録されます。クエストがないまま終了日を過ぎた目標は「達成しましたか?」の状態になり、自分で選択します。完了した目標の終了日を修正すると再判定され、未来に動かすと進行中に戻ります。完了した目標はリスト下部の完了アーカイブで見られます。" } } } }, - "주 시작 요일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "First day of week" + "주 시작 요일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "First day of week" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週の開始曜日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週の開始曜日" } } } }, - "주 평균": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly average" + "주 평균" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly average" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週平均" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週平均" } } } }, - "주간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly" + "주간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週間" } } } }, - "주간 기록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly history" + "주간 기록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly history" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週間記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週間記録" } } } }, - "주간 목표 · 이 날까지 누적": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly goal · total up to this day" + "주간 목표 · 이 날까지 누적" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly goal · total up to this day" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週間目標・この日までの累計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週間目標・この日までの累計" } } } }, - "주간 시간 합계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly time totals" + "주간 시간 합계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly time totals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週間時間合計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週間時間合計" } } } }, - "주간 타임테이블": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly timetable" + "주간 타임테이블" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly timetable" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週間タイムテーブル" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週間タイムテーブル" } } } }, - "주간 통계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly stats" + "주간 통계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly stats" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週間統計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週間統計" } } } }, - "주간 횟수 합계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Weekly count totals" + "주간 횟수 합계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weekly count totals" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週間回数合計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週間回数合計" } } } }, - "주기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Cycle" + "주기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cycle" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "周期" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "周期" } } } }, - "주기마다 목표량 이상을 달성하는 것이 목표예요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The goal is to reach at least the target amount each cycle." + "주기마다 목표량 이상을 달성하는 것이 목표예요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The goal is to reach at least the target amount each cycle." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "周期ごとに目標量以上を達成することが目標です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "周期ごとに目標量以上を達成することが目標です。" } } } }, - "주기마다 목표량을 넘지 않는 것이 목표예요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The goal is to stay under the target amount each cycle." + "주기마다 목표량을 넘지 않는 것이 목표예요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The goal is to stay under the target amount each cycle." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "周期ごとに目標量を超えないことが目標です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "周期ごとに目標量を超えないことが目標です。" } } } }, - "주차": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Week" + "주차" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Week" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "週" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "週" } } } }, - "줄 간격": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Line spacing" + "줄 간격" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Line spacing" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "行間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "行間" } } } }, - "줄 노트": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Lined paper" + "줄 노트" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lined paper" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "罫線ノート" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "罫線ノート" } } } }, - "중형 위젯 구성": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Medium widget layout" + "중형 위젯 구성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medium widget layout" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "中型ウィジェット構成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "中型ウィジェット構成" } } } }, - "즐겨찾기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Favorites" + "즐겨찾기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favorites" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "お気に入り" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "お気に入り" } } } }, - "즐겨찾기 모아 보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Favorites at the top" + "즐겨찾기 모아 보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favorites at the top" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "お気に入りをまとめて表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "お気に入りをまとめて表示" } } } }, - "즐겨찾기 순서": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Favorites Order" + "즐겨찾기 순서" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favorites Order" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "お気に入りの順序" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "お気に入りの順序" } } } }, - "즐겨찾기 순서 변경": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reorder Favorites" + "즐겨찾기 순서 변경" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reorder Favorites" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "お気に入りの並べ替え" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "お気に入りの並べ替え" } } } }, - "즐겨찾기 해제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Unfavorite" + "즐겨찾기 해제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfavorite" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "お気に入り解除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "お気に入り解除" } } } }, - "지금 시각": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Now" + "지금 시각" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Now" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "現在時刻" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "現在時刻" } } } }, - "지금 측정 중인 행동이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No action is being tracked right now" + "지금 측정 중인 행동이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No action is being tracked right now" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "いま計測中の行動はありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "いま計測中の行動はありません" } } } }, - "지난달과 비교": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Compared to last month" + "지난달과 비교" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compared to last month" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "先月と比較" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "先月と比較" } } } }, - "지난주와 비교": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Compared to last week" + "지난주와 비교" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compared to last week" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "先週と比較" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "先週と比較" } } } }, - "지우기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Clear" + "지우기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clear" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "消去" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "消去" } } } }, - "지원": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Support" + "지원" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Support" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "サポート" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "サポート" } } } }, - "지정된 꼬리표 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No tags assigned" + "지정된 꼬리표 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No tags assigned" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タグ未設定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タグ未設定" } } } }, - "직접 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose manually" + "직접 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose manually" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "手動で選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "手動で選択" } } } }, - "진행 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "In progress" + "진행 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "In progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "進行中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "進行中" } } } }, - "진행 중인 목표가 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No goals in progress" + "진행 중인 목표가 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No goals in progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "進行中の目標がありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "進行中の目標がありません" } } } }, - "진행률 기간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Progress period" + "진행률 기간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Progress period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "進捗の期間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "進捗の期間" } } } }, - "진행률 읽는 법": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reading Progress" + "진행률 읽는 법" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reading Progress" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "進捗の読み方" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "進捗の読み方" } } } }, - "진행률을 표시할 목표들과 위젯 구성, 테마를 선택하세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose the goals to show, the widget layout, and the theme." + "진행률을 표시할 목표들과 위젯 구성, 테마를 선택하세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose the goals to show, the widget layout, and the theme." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "進捗を表示する目標とウィジェット構成、テーマを選んでください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "進捗を表示する目標とウィジェット構成、テーマを選んでください。" } } } }, - "짧은 기록 무시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Ignore short sessions" + "짧은 기록 무시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ignore short sessions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "短い記録を無視" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "短い記録を無視" } } } }, - "쪽이 많아 처음 %lld쪽까지만 사용해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "This PDF has many pages, so only the first %lld pages will be used." + "쪽이 많아 처음 %lld쪽까지만 사용해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This PDF has many pages, so only the first %lld pages will be used." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ページ数が多いため、最初の%lldページまでのみ使用します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ページ数が多いため、最初の%lldページまでのみ使用します。" } } } }, - "첫 페이지 타임테이블 카드 오른쪽 위 캘린더 버튼으로 그날의 캘린더 일정을 골라 함께 표시할 수 있어요(일정은 점선 테두리로 구분돼요). 필터 버튼을 누르면 그날 기록된 행동 중 타임테이블에 보여줄 것만 고를 수 있고, '이 날의 목표' 카드에도 필터 버튼이 있어 보고 싶은 목표만 골라 둘 수 있어요. 선택은 모두 날짜마다 따로 저장되고, 타임테이블 선택은 일기를 내보낼 때도 그대로 반영돼요.\n매일 같은 선택을 반복하지 않으려면 달력 화면 오른쪽 위 '기본 표시 설정'을 써 보세요 — 캘린더 일정을 기본으로 넣을지(모든 캘린더/선택한 캘린더만), 어떤 목표·행동을 기본으로 숨길지를 한 번만 정하면 모든 날짜에 적용돼요. 날짜별 필터로 다르게 고른 날짜는 그 선택이 우선하고, 필터의 '기본값으로 되돌리기'로 언제든 기본값으로 돌아갈 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Use the calendar button at the top right of the first page's timetable card to pick that day's calendar events and show them together (events are marked with a dashed outline). Tap the filter button to choose which of that day's recorded actions appear on the timetable, and the \"Goals of the Day\" card also has a filter button so you can pick just the goals you want to see. All selections are saved per date, and the timetable selections carry over to diary exports.\nTo stop repeating the same choices every day, try 'Default Display' at the top right of the calendar screen — decide once whether calendar events appear by default (all calendars or selected ones) and which goals and actions are hidden by default, and it applies to every date. Dates you adjust with the per-date filters keep their own choices, and 'Reset to Default' in each filter brings a date back to the defaults anytime." + "첫 페이지 타임테이블 카드 오른쪽 위 캘린더 버튼으로 그날의 캘린더 일정을 골라 함께 표시할 수 있어요(일정은 점선 테두리로 구분돼요). 필터 버튼을 누르면 그날 기록된 행동 중 타임테이블에 보여줄 것만 고를 수 있고, '이 날의 목표' 카드에도 필터 버튼이 있어 보고 싶은 목표만 골라 둘 수 있어요. 선택은 모두 날짜마다 따로 저장되고, 타임테이블 선택은 일기를 내보낼 때도 그대로 반영돼요.\n매일 같은 선택을 반복하지 않으려면 달력 화면 오른쪽 위 '기본 표시 설정'을 써 보세요 — 캘린더 일정을 기본으로 넣을지(모든 캘린더/선택한 캘린더만), 어떤 목표·행동을 기본으로 숨길지를 한 번만 정하면 모든 날짜에 적용돼요. 날짜별 필터로 다르게 고른 날짜는 그 선택이 우선하고, 필터의 '기본값으로 되돌리기'로 언제든 기본값으로 돌아갈 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Use the calendar button at the top right of the first page's timetable card to pick that day's calendar events and show them together (events are marked with a dashed outline). Tap the filter button to choose which of that day's recorded actions appear on the timetable, and the \"Goals of the Day\" card also has a filter button so you can pick just the goals you want to see. All selections are saved per date, and the timetable selections carry over to diary exports.\nTo stop repeating the same choices every day, try 'Default Display' at the top right of the calendar screen — decide once whether calendar events appear by default (all calendars or selected ones) and which goals and actions are hidden by default, and it applies to every date. Dates you adjust with the per-date filters keep their own choices, and 'Reset to Default' in each filter brings a date back to the defaults anytime." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "最初のページのタイムテーブルカード右上のカレンダーボタンで、その日のカレンダー予定を選んで一緒に表示できます(予定は破線の枠で区別されます)。フィルターボタンを押すと、その日に記録した行動のうちタイムテーブルに表示するものを選べます。「この日の目標」カードにもフィルターボタンがあり、見たい目標だけを選んでおけます。選択はすべて日付ごとに保存され、タイムテーブルの選択は日記の書き出しにもそのまま反映されます。\n毎日同じ選択を繰り返さないために、カレンダー画面右上の「デフォルト表示設定」を使ってみてください — カレンダーの予定をデフォルトで入れるか(すべてのカレンダー/選んだカレンダーのみ)、どの目標・アクションをデフォルトで隠すかを一度決めれば、すべての日付に適用されます。日付ごとのフィルターで変えた日付はその選択が優先され、フィルターの「デフォルトに戻す」でいつでもデフォルトに戻せます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "最初のページのタイムテーブルカード右上のカレンダーボタンで、その日のカレンダー予定を選んで一緒に表示できます(予定は破線の枠で区別されます)。フィルターボタンを押すと、その日に記録した行動のうちタイムテーブルに表示するものを選べます。「この日の目標」カードにもフィルターボタンがあり、見たい目標だけを選んでおけます。選択はすべて日付ごとに保存され、タイムテーブルの選択は日記の書き出しにもそのまま反映されます。\n毎日同じ選択を繰り返さないために、カレンダー画面右上の「デフォルト表示設定」を使ってみてください — カレンダーの予定をデフォルトで入れるか(すべてのカレンダー/選んだカレンダーのみ)、どの目標・アクションをデフォルトで隠すかを一度決めれば、すべての日付に適用されます。日付ごとのフィルターで変えた日付はその選択が優先され、フィルターの「デフォルトに戻す」でいつでもデフォルトに戻せます。" } } } }, - "첫 행동 만들기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Create First Action" + "첫 행동 만들기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Create First Action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "最初のアクションを作成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "最初のアクションを作成" } } } }, - "첫 화면 구성": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "First Page Layout" + "첫 화면 구성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "First Page Layout" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "最初のページの構成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "最初のページの構成" } } } }, - "초": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Seconds" + "초" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seconds" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "秒" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "秒" } } } }, - "총 측정 시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Total time tracked" + "총 측정 시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total time tracked" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "総測定時間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "総測定時間" } } } }, - "총 횟수": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Total count" + "총 횟수" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total count" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "総回数" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "総回数" } } } }, - "추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add" + "추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "追加" } } } }, - "추가할 기록 — 시간 %lld건 · 횟수 %lld건": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Records to add — %1$lld time · %2$lld count" + "추가할 기록 — 시간 %lld건 · 횟수 %lld건" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Records to add — %1$lld time · %2$lld count" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "追加する記録 — 時間%1$lld件・回数%2$lld件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "追加する記録 — 時間%1$lld件・回数%2$lld件" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "추가할 기록 — 시간 %1$lld건 · 횟수 %2$lld건" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "추가할 기록 — 시간 %1$lld건 · 횟수 %2$lld건" } } } }, - "추가할 횟수": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count to add" + "추가할 횟수" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count to add" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "追加する回数" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "追加する回数" } } } }, - "추적 방식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tracking type" + "추적 방식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tracking type" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測方式" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測方式" } } } }, - "추적 방식은 행동을 만들 때만 선택할 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The tracking type can only be chosen when creating an action." + "추적 방식은 행동을 만들 때만 선택할 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The tracking type can only be chosen when creating an action." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測方式は行動を作成するときにのみ選択できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測方式は行動を作成するときにのみ選択できます。" } } } }, - "취미": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hobbies" + "취미" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hobbies" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "趣味" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "趣味" } } } }, - "취소": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Cancel" + "취소" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "キャンセル" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "キャンセル" } } } }, - "측정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tracking" + "측정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測" } } } }, - "측정 기준": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Measure" + "측정 기준" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Measure" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測基準" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測基準" } } } }, - "측정 시작": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start" + "측정 시작" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測開始" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測開始" } } } }, - "측정 시작·종료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start & Stop Tracking" + "측정 시작·종료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start & Stop Tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測の開始・終了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測の開始・終了" } } } }, - "측정 종료": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stop" + "측정 종료" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stop" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測終了" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測終了" } } } }, - "측정 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tracking" + "측정 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測中" } } } }, - "측정 중인 행동을 실시간으로 보고 위젯에서 바로 종료해요. (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "See what you are tracking in real time and stop it right from the widget. (Premium)" + "측정 중인 행동을 실시간으로 보고 위젯에서 바로 종료해요. (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "See what you are tracking in real time and stop it right from the widget. (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測中の行動をリアルタイムで確認し、ウィジェットから即終了。(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測中の行動をリアルタイムで確認し、ウィジェットから即終了。(プレミアム)" } } } }, - "측정 중인 행동을 실시간으로 보여 주고 바로 종료할 수 있어요. 테마를 선택하세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Shows the action being tracked in real time and lets you stop it right away. Choose a theme." + "측정 중인 행동을 실시간으로 보여 주고 바로 종료할 수 있어요. 테마를 선택하세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Shows the action being tracked in real time and lets you stop it right away. Choose a theme." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測中の行動をリアルタイムで表示し、すぐに終了できます。テーマを選んでください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測中の行動をリアルタイムで表示し、すぐに終了できます。テーマを選んでください。" } } } }, - "측정 중인 행동의 시간 측정을 종료해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stops tracking a running time action." + "측정 중인 행동의 시간 측정을 종료해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stops tracking a running time action." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測中のアクションの計測を終了します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測中のアクションの計測を終了します。" } } } }, - "측정이 계속되고 있어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Still tracking" + "측정이 계속되고 있어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Still tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測が続いています" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測が続いています" } } } }, - "측정이 설정한 시간을 넘기면 알려줘요 — 끄는 걸 잊었을 때 유용해요. 이 알림 설정은 기기마다 따로 저장돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Notifies you when a session runs past the chosen time — useful when you forget to stop. This notification setting is stored per device." + "측정이 설정한 시간을 넘기면 알려줘요 — 끄는 걸 잊었을 때 유용해요. 이 알림 설정은 기기마다 따로 저장돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notifies you when a session runs past the chosen time — useful when you forget to stop. This notification setting is stored per device." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "計測が設定した時間を超えるとお知らせします — 止め忘れたときに便利です。この通知設定はデバイスごとに保存されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計測が設定した時間を超えるとお知らせします — 止め忘れたときに便利です。この通知設定はデバイスごとに保存されます。" } } } }, - "캘린더 일정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Calendar Events" + "캘린더 일정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Calendar Events" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "カレンダーのイベント" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カレンダーのイベント" } } } }, - "캘린더 일정 기본 표시": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Calendar Events by Default" + "캘린더 일정 기본 표시" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Calendar Events by Default" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "カレンダー予定のデフォルト表示" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カレンダー予定のデフォルト表示" } } } }, - "캘린더 접근이 꺼져 있어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Calendar access is off" + "캘린더 접근이 꺼져 있어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Calendar access is off" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "カレンダーへのアクセスがオフです" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カレンダーへのアクセスがオフです" } } } }, - "컴플리케이션 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Adding Complications" + "컴플리케이션 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adding Complications" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "コンプリケーションの追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コンプリケーションの追加" } } } }, - "켜면 시간 측정을 종료할 때 메모 창이 떠요. 건너뛸 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When on, a note prompt appears when you stop tracking. You can skip it." + "켜면 시간 측정을 종료할 때 메모 창이 떠요. 건너뛸 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When on, a note prompt appears when you stop tracking. You can skip it." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "オンにすると計測終了時にメモ画面が表示されます。スキップもできます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "オンにすると計測終了時にメモ画面が表示されます。スキップもできます。" } } } }, - "켜면 이 목표와 소속 다짐들의 진행률이 애플워치 컴플리케이션 목록에 나타나요. 완료된 목표는 목록에서 자동으로 사라져요. 이 설정은 워치와 연결된 이 아이폰에만 저장돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When on, this goal and its quests appear in the Apple Watch complication list. Finished goals disappear from the list automatically. This setting is saved only on this iPhone, the one paired with your watch." + "켜면 이 목표와 소속 다짐들의 진행률이 애플워치 컴플리케이션 목록에 나타나요. 완료된 목표는 목록에서 자동으로 사라져요. 이 설정은 워치와 연결된 이 아이폰에만 저장돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When on, this goal and its quests appear in the Apple Watch complication list. Finished goals disappear from the list automatically. This setting is saved only on this iPhone, the one paired with your watch." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "オンにすると、この目標とそのクエストの達成率がApple Watchのコンプリケーション一覧に表示されます。完了した目標は一覧から自動的に消えます。この設定はウォッチとペアリングされたこのiPhoneにのみ保存されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "オンにすると、この目標とそのクエストの達成率がApple Watchのコンプリケーション一覧に表示されます。完了した目標は一覧から自動的に消えます。この設定はウォッチとペアリングされたこのiPhoneにのみ保存されます。" } } } }, - "켜면 일기 탭을 열 때 Face ID·Touch ID 또는 기기 암호로 잠금을 해제해야 해요. 기기가 지원하는 방식이 자동으로 쓰이고, 앱을 나갔다 오면 다시 잠겨요. 이 설정은 이 기기에만 적용돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When on, opening the Diary tab requires Face ID, Touch ID, or your device passcode. Whatever your device supports is used automatically, and the diary locks again when you leave the app. This setting applies to this device only." + "켜면 일기 탭을 열 때 Face ID·Touch ID 또는 기기 암호로 잠금을 해제해야 해요. 기기가 지원하는 방식이 자동으로 쓰이고, 앱을 나갔다 오면 다시 잠겨요. 이 설정은 이 기기에만 적용돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When on, opening the Diary tab requires Face ID, Touch ID, or your device passcode. Whatever your device supports is used automatically, and the diary locks again when you leave the app. This setting applies to this device only." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "オンにすると、日記タブを開くときにFace ID・Touch IDまたはデバイスのパスコードでロック解除が必要になります。デバイスが対応する方式が自動で使われ、アプリを離れると再びロックされます。この設定はこのデバイスにのみ適用されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "オンにすると、日記タブを開くときにFace ID・Touch IDまたはデバイスのパスコードでロック解除が必要になります。デバイスが対応する方式が自動で使われ、アプリを離れると再びロックされます。この設定はこのデバイスにのみ適用されます。" } } } }, - "켜면 횟수를 추가할 때마다 메모 창이 떠요. 건너뛸 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When on, a note prompt appears each time you add a count. You can skip it." + "켜면 횟수를 추가할 때마다 메모 창이 떠요. 건너뛸 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When on, a note prompt appears each time you add a count. You can skip it." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "オンにすると回数を追加するたびにメモ画面が表示されます。スキップもできます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "オンにすると回数を追加するたびにメモ画面が表示されます。スキップもできます。" } } } }, - "큰 '목표' 아래에 실천 단위인 '다짐'을 만들어요. 하루·주간·월간 진행률과 연속 달성이 자동으로 계산되고, 목표가 끝나면 달성 여부도 판정돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Under a big 'goal', create small 'quests' — the units you act on. Daily, weekly and monthly progress and streaks are calculated automatically, and when a goal ends it's judged as achieved or not." + "큰 '목표' 아래에 실천 단위인 '다짐'을 만들어요. 하루·주간·월간 진행률과 연속 달성이 자동으로 계산되고, 목표가 끝나면 달성 여부도 판정돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Under a big 'goal', create small 'quests' — the units you act on. Daily, weekly and monthly progress and streaks are calculated automatically, and when a goal ends it's judged as achieved or not." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "大きな「目標」の下に、実践単位の「クエスト」を作ります。日・週・月の達成率と連続記録は自動で計算され、目標が終わると達成かどうかも判定されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "大きな「目標」の下に、実践単位の「クエスト」を作ります。日・週・月の達成率と連続記録は自動で計算され、目標が終わると達成かどうかも判定されます。" } } } }, - "큰 목표를 세우고, 그 안에 다짐을 추가해 보세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Set a big goal, then add quests to it." + "큰 목표를 세우고, 그 안에 다짐을 추가해 보세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Set a big goal, then add quests to it." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "大きな目標を立てて、その中にクエストを追加しましょう。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "大きな目標を立てて、その中にクエストを追加しましょう。" } } } }, - "큰 셀 4개 (2×2)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "4 big cells (2×2)" + "큰 셀 4개 (2×2)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "4 big cells (2×2)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "大きいセル4個(2×2)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "大きいセル4個(2×2)" } } } }, - "타임테이블": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Timetable" + "타임테이블" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Timetable" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タイムテーブル" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タイムテーブル" } } } }, - "타임테이블 필터": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Timetable Filter" + "타임테이블 필터" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Timetable Filter" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タイムテーブルフィルター" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タイムテーブルフィルター" } } } }, - "타임테이블 행동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Timetable Actions" + "타임테이블 행동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Timetable Actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タイムテーブルのアクション" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タイムテーブルのアクション" } } } }, - "타임테이블에 일정·필터": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Timetable Events & Filter" + "타임테이블에 일정·필터" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Timetable Events & Filter" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タイムテーブルの予定・フィルター" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タイムテーブルの予定・フィルター" } } } }, - "탭 메뉴 열기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Open tab menu" + "탭 메뉴 열기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open tab menu" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タブメニューを開く" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タブメニューを開く" } } } }, - "탭바 구성": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tab Bar" + "탭바 구성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab Bar" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タブバー構成" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タブバー構成" } } } }, - "탭바 구성과 더보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tab Bar Layout & 'More'" + "탭바 구성과 더보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab Bar Layout & 'More'" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タブバー構成と「その他」" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タブバー構成と「その他」" } } } }, - "탭해서 +1": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap for +1" + "탭해서 +1" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap for +1" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タップで+1" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タップで+1" } } } }, - "탭해서 남기기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap to add" + "탭해서 남기기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap to add" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "タップして記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "タップして記録" } } } }, - "테마": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Theme" + "테마" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Theme" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テーマ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テーマ" } } } }, - "텍스트": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Text" + "텍스트" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Text" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テキスト" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テキスト" } } } }, - "텍스트 상자": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Text Box" + "텍스트 상자" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Text Box" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "テキストボックス" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "テキストボックス" } } } }, - "토": { - "comment": "요일 축약(토요일)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sat" + "토" : { + "comment" : "요일 축약(토요일)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sat" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "土" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "土" } } } }, - "토익 700점 이상 받기": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Score 700+ on TOEIC" + "토익 700점 이상 받기" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Score 700+ on TOEIC" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "TOEIC 700点以上を取る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "TOEIC 700点以上を取る" } } } }, - "통계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stats" + "통계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stats" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "統計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "統計" } } } }, - "통계 기간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stats period" + "통계 기간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stats period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "統計期間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "統計期間" } } } }, - "통계 막대": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stat bars" + "통계 막대" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stat bars" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "統計バー" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "統計バー" } } } }, - "통계 보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "View stats" + "통계 보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "View stats" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "統計を見る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "統計を見る" } } } }, - "통계 위젯": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stats Widget" + "통계 위젯" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stats Widget" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "統計ウィジェット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "統計ウィジェット" } } } }, - "통계 탭 맨 위의 비교 카드는 지금 보고 있는 하루·주·월의 총 시간과 횟수를 바로 앞 기간(어제·지난주·지난달)과 비교해 보여줘요. 필터를 걸면 필터된 행동들만으로 비교돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The comparison card at the top of the Stats tab compares the total time and counts of the day, week, or month you're viewing with the period right before it (yesterday, last week, or last month). With a filter on, only the filtered actions are compared." + "통계 탭 맨 위의 비교 카드는 지금 보고 있는 하루·주·월의 총 시간과 횟수를 바로 앞 기간(어제·지난주·지난달)과 비교해 보여줘요. 필터를 걸면 필터된 행동들만으로 비교돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The comparison card at the top of the Stats tab compares the total time and counts of the day, week, or month you're viewing with the period right before it (yesterday, last week, or last month). With a filter on, only the filtered actions are compared." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "統計タブ最上部の比較カードは、表示中の日・週・月の合計時間と回数を、直前の期間(昨日・先週・先月)と比較して表示します。フィルターをかけると、フィルターされたアクションだけで比較されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "統計タブ最上部の比較カードは、表示中の日・週・月の合計時間と回数を、直前の期間(昨日・先週・先月)と比較して表示します。フィルターをかけると、フィルターされたアクションだけで比較されます。" } } } }, - "통계 필터": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stats filter" + "통계 필터" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stats filter" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "統計フィルター" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "統計フィルター" } } } }, - "통계-%@-%@": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Stats-%@-%@" + "통계-%@-%@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stats-%@-%@" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "統計-%@-%@" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "統計-%@-%@" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "통계-%1$@-%2$@" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "통계-%1$@-%2$@" } } } }, - "특정 기간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Custom period" + "특정 기간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Custom period" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "特定期間" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "特定期間" } } } }, - "특정 시각 지정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Set specific time" + "특정 시각 지정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Set specific time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "特定の時刻を指定" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "特定の時刻を指定" } } } }, - "파일 %lld개 공유": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Share %lld files" + "파일 %lld개 공유" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Share %lld files" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ファイル%lld個を共有" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ファイル%lld個を共有" } } } }, - "파일을 읽지 못했어요. 다시 시도해 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The file couldn't be read. Please try again." + "파일을 읽지 못했어요. 다시 시도해 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The file couldn't be read. Please try again." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ファイルを読み込めませんでした。もう一度お試しください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ファイルを読み込めませんでした。もう一度お試しください。" } } } }, - "팔굽혀펴기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Push-ups" + "팔굽혀펴기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Push-ups" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "腕立て伏せ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "腕立て伏せ" } } } }, - "페이지 %lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Page %lld" + "페이지 %lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Page %lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ページ%lld" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ページ%lld" } } } }, - "페이지 %lld개 사용 중": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "Used by %lld page" + "페이지 %lld개 사용 중" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Used by %lld page" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "Used by %lld pages" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Used by %lld pages" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%lldページで使用中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldページで使用中" } } } }, - "페이지 순서": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Page Order" + "페이지 순서" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Page Order" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ページの順序" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ページの順序" } } } }, - "페이지 순서 변경": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reorder Pages" + "페이지 순서 변경" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reorder Pages" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ページの順序を変更" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ページの順序を変更" } } } }, - "페이지 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add page" + "페이지 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add page" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ページを追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ページを追加" } } } }, - "페이지를 넘기면 자유 노트가 이어져요. 애플 펜슬로 쓰고 그리고, '사진'·'도형'·'텍스트'(키보드로 쓰는 글 상자)를 추가한 뒤 '배치 모드'에서 드래그·핀치로 옮기고 크기를 바꿔요. 두 손가락 핀치로 페이지를 확대해 세밀하게 쓸 수 있고, 줄 노트를 켜면 줄 간격도 고를 수 있어요. 페이지가 여러 장이면 오른쪽 위 ⋯ 메뉴의 '페이지 순서 변경'으로 순서를 바꿀 수 있어요. 맥에서는 텍스트 입력이 기본이고, 도구 줄의 '그리기'를 켜면 마우스나 트랙패드로도 그릴 수 있어요 — 평소에는 클릭과 스크롤이 이동·버튼에 쓰여요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Swipe to continue onto free-form note pages. Write and draw with Apple Pencil, add Photos, Shapes, and Text (typed text boxes), then use Arrange mode to drag and pinch them into place. Pinch with two fingers to zoom in for detail, and turn on lined paper to pick a line spacing. With multiple pages, use 'Reorder Pages' in the ⋯ menu at the top right. On Mac, typing is the default — turn on 'Draw' in the toolbar to draw with the mouse or trackpad; otherwise clicks and scrolling move the page and press buttons." + "페이지를 넘기면 자유 노트가 이어져요. 애플 펜슬로 쓰고 그리고, '사진'·'도형'·'텍스트'(키보드로 쓰는 글 상자)를 추가한 뒤 '배치 모드'에서 드래그·핀치로 옮기고 크기를 바꿔요. 두 손가락 핀치로 페이지를 확대해 세밀하게 쓸 수 있고, 줄 노트를 켜면 줄 간격도 고를 수 있어요. 페이지가 여러 장이면 오른쪽 위 ⋯ 메뉴의 '페이지 순서 변경'으로 순서를 바꿀 수 있어요. 맥에서는 텍스트 입력이 기본이고, 도구 줄의 '그리기'를 켜면 마우스나 트랙패드로도 그릴 수 있어요 — 평소에는 클릭과 스크롤이 이동·버튼에 쓰여요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Swipe to continue onto free-form note pages. Write and draw with Apple Pencil, add Photos, Shapes, and Text (typed text boxes), then use Arrange mode to drag and pinch them into place. Pinch with two fingers to zoom in for detail, and turn on lined paper to pick a line spacing. With multiple pages, use 'Reorder Pages' in the ⋯ menu at the top right. On Mac, typing is the default — turn on 'Draw' in the toolbar to draw with the mouse or trackpad; otherwise clicks and scrolling move the page and press buttons." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ページをめくると自由なノートが続きます。Apple Pencilで書いて描いて、「写真」「図形」「テキスト」(キーボードで書くテキストボックス)を追加し、「配置モード」でドラッグ・ピンチで動かしてサイズを変えられます。2本指ピンチで拡大して細かく書け、罫線ノートをオンにすると行間も選べます。ページが複数あるときは右上の⋯メニューの「ページの順序を変更」で並べ替えられます。 Macではテキスト入力が基本です。ツールバーの「描く」をオンにするとマウスやトラックパッドでも描けます — 普段はクリックとスクロールが移動やボタンに使われます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ページをめくると自由なノートが続きます。Apple Pencilで書いて描いて、「写真」「図形」「テキスト」(キーボードで書くテキストボックス)を追加し、「配置モード」でドラッグ・ピンチで動かしてサイズを変えられます。2本指ピンチで拡大して細かく書け、罫線ノートをオンにすると行間も選べます。ページが複数あるときは右上の⋯メニューの「ページの順序を変更」で並べ替えられます。 Macではテキスト入力が基本です。ツールバーの「描く」をオンにするとマウスやトラックパッドでも描けます — 普段はクリックとスクロールが移動やボタンに使われます。" } } } }, - "펜슬 노트 페이지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Pencil Note Pages" + "펜슬 노트 페이지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pencil Note Pages" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ペンシルノートページ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ペンシルノートページ" } } } }, - "펜슬이나 키보드로 할 일을 적고,\n체크 표시로 완료해 보세요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Jot down to-dos with Pencil or keyboard,\nthen check them off" + "펜슬이나 키보드로 할 일을 적고,\n체크 표시로 완료해 보세요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jot down to-dos with Pencil or keyboard,\nthen check them off" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ペンシルやキーボードでやることを書き、\nチェックで完了しましょう" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ペンシルやキーボードでやることを書き、\nチェックで完了しましょう" } } } }, - "평생 이용권": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Lifetime" + "평생 이용권" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lifetime" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "買い切り" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "買い切り" } } } }, - "평생 이용권으로 전환": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Switch to Lifetime" + "평생 이용권으로 전환" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Switch to Lifetime" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "買い切りに切り替え" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "買い切りに切り替え" } } } }, - "평생 이용권을 구매한 뒤에는 구독 관리에서 기존 구독을 해지해 주세요. 결제가 겹치지 않게 남은 구독 기간이 끝날 즈음 구매하는 것도 좋은 방법이에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "After buying the lifetime plan, cancel your subscription in subscription settings. To avoid overlapping charges, you can also buy it near the end of your current period." + "평생 이용권을 구매한 뒤에는 구독 관리에서 기존 구독을 해지해 주세요. 결제가 겹치지 않게 남은 구독 기간이 끝날 즈음 구매하는 것도 좋은 방법이에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "After buying the lifetime plan, cancel your subscription in subscription settings. To avoid overlapping charges, you can also buy it near the end of your current period." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "買い切りを購入した後は、サブスクリプション管理で既存のサブスクリプションを解約してください。支払いが重ならないよう、残りの期間が終わる頃に購入するのもおすすめです。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "買い切りを購入した後は、サブスクリプション管理で既存のサブスクリプションを解約してください。支払いが重ならないよう、残りの期間が終わる頃に購入するのもおすすめです。" } } } }, - "표시 방식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Display style" + "표시 방식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Display style" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "表示方法" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "表示方法" } } } }, - "표시 안 함": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Hidden" + "표시 안 함" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hidden" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "表示しない" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "表示しない" } } } }, - "표시할 기록이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No records to show" + "표시할 기록이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No records to show" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "表示する記録がありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "表示する記録がありません" } } } }, - "표시할 항목이 없어요. 오른쪽 위 메뉴의 '첫 화면 구성'에서 켜 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Nothing to show. Turn sections on in 'First Page Layout' from the top-right menu." + "표시할 항목이 없어요. 오른쪽 위 메뉴의 '첫 화면 구성'에서 켜 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nothing to show. Turn sections on in 'First Page Layout' from the top-right menu." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "表示する項目がありません。右上メニューの「最初のページの構成」からオンにしてください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "表示する項目がありません。右上メニューの「最初のページの構成」からオンにしてください。" } } } }, - "표시할 행동 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No actions to show" + "표시할 행동 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No actions to show" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "表示するアクションなし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "表示するアクションなし" } } } }, - "프리미엄": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Premium" + "프리미엄" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Premium" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアム" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアム" } } } }, - "프리미엄 구매": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Buy Premium" + "프리미엄 구매" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buy Premium" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアムを購入" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアムを購入" } } } }, - "프리미엄 기간이 끝나 열람만 가능해요. 이미 쓴 일기는 계속 볼 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Your premium period has ended, so the diary is view-only. You can still read everything you wrote." + "프리미엄 기간이 끝나 열람만 가능해요. 이미 쓴 일기는 계속 볼 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Your premium period has ended, so the diary is view-only. You can still read everything you wrote." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアム期間が終了したため閲覧のみ可能です。書いた日記は引き続き見られます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアム期間が終了したため閲覧のみ可能です。書いた日記は引き続き見られます。" } } } }, - "프리미엄 기능": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Premium Features" + "프리미엄 기능" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Premium Features" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアム機能" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアム機能" } } } }, - "프리미엄 알아보기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Explore Premium" + "프리미엄 알아보기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Explore Premium" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアムを見る" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアムを見る" } } } }, - "프리미엄 이용 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Premium active" + "프리미엄 이용 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Premium active" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアム利用中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアム利用中" } } } }, - "프리미엄 필요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Premium required" + "프리미엄 필요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Premium required" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアムが必要" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアムが必要" } } } }, - "프리미엄에서 새 일기를 쓸 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Write new diary entries with premium." + "프리미엄에서 새 일기를 쓸 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Write new diary entries with premium." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアムで新しい日記が書けます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアムで新しい日記が書けます。" } } } }, - "프리미엄으로 할 수 있는 것": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "What Premium unlocks" + "프리미엄으로 할 수 있는 것" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "What Premium unlocks" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プレミアムでできること" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プレミアムでできること" } } } }, - "필기 있음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Has handwriting" + "필기 있음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Has handwriting" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "手書きあり" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "手書きあり" } } } }, - "필터 버튼으로 보고 싶은 행동만 골라 볼 수 있어요. 설정의 '주 시작 요일'과 '하루 시작 시간'이 모든 집계에 적용돼요. 예를 들어 하루 시작을 06:00으로 두면 새벽 기록은 전날 실적으로 계산돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Use the filter button to see only the actions you want. The 'Week Starts On' and 'Day Starts At' settings apply to every calculation — for example, with the day starting at 06:00, early-morning records count toward the previous day." + "필터 버튼으로 보고 싶은 행동만 골라 볼 수 있어요. 설정의 '주 시작 요일'과 '하루 시작 시간'이 모든 집계에 적용돼요. 예를 들어 하루 시작을 06:00으로 두면 새벽 기록은 전날 실적으로 계산돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Use the filter button to see only the actions you want. The 'Week Starts On' and 'Day Starts At' settings apply to every calculation — for example, with the day starting at 06:00, early-morning records count toward the previous day." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "フィルターボタンで見たいアクションだけを選べます。設定の「週の開始曜日」と「1日の開始時刻」はすべての集計に適用されます。たとえば1日の開始を06:00にすると、早朝の記録は前日の実績として計算されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "フィルターボタンで見たいアクションだけを選べます。設定の「週の開始曜日」と「1日の開始時刻」はすべての集計に適用されます。たとえば1日の開始を06:00にすると、早朝の記録は前日の実績として計算されます。" } } } }, - "필터 해제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Clear filter" + "필터 해제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clear filter" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "フィルターを解除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "フィルターを解除" } } } }, - "필터와 하루 기준": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Filters & Day Boundary" + "필터와 하루 기준" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Filters & Day Boundary" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "フィルターと1日の基準" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "フィルターと1日の基準" } } } }, - "하루": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Daily" + "하루" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daily" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日" } } } }, - "하루 기록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Daily history" + "하루 기록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daily history" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日の記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日の記録" } } } }, - "하루 다님": { - "comment": "앱 이름", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Haru Danim" + "하루 다님" : { + "comment" : "앱 이름", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haru Danim" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Haru Danim" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haru Danim" } } } }, - "하루 다님 · 목표 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim · No goal" + "하루 다님 · 목표 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim · No goal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Haru Danim・目標なし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haru Danim・目標なし" } } } }, - "하루 다님 · 프리미엄 기능": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim · Premium feature" + "하루 다님 · 프리미엄 기능" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim · Premium feature" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Haru Danim・プレミアム機能" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haru Danim・プレミアム機能" } } } }, - "하루 다님 — 하루 습관 및 시간 추적": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Haru Danim — Daily habit & time tracking" + "하루 다님 — 하루 습관 및 시간 추적" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haru Danim — Daily habit & time tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Haru Danim — 毎日の習慣・時間トラッキング" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haru Danim — 毎日の習慣・時間トラッキング" } } } }, - "하루 다님 일기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Haru Danim Diary" + "하루 다님 일기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haru Danim Diary" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Haru Danim 日記" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haru Danim 日記" } } } }, - "하루 단위": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Daily" + "하루 단위" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daily" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日単位" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日単位" } } } }, - "하루 단위 다짐을 만들 때 '마감 시각까지만 집계'를 켜면 하루 시작부터 그 시각까지의 기록만 다짐에 집계돼요. 예를 들어 '일어나기 1회 · 오전 8:00까지'로 만들면 8시 이후에 누른 기록은 남긴 하지만 그날 달성으로는 인정되지 않아요. '이하 유지' 다짐은 마감 시각까지 한도를 지키면 그날 달성이에요. 시간 측정 행동이 마감을 걸치면 마감 전까지의 시간만 인정돼요. 하루 시작 시간보다 이른 시각을 고르면 다음 날 새벽(그 하루가 끝나기 전)을 뜻해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "When creating a daily quest, turn on 'Count only until a deadline' to count only records between the start of the day and that time. For example, with 'Wake up 1 time · by 8:00 AM', a tap after 8:00 is still recorded but doesn't count as achieved that day. A 'stay under' quest is achieved for the day if you stay within the limit until the deadline. If a timed session crosses the deadline, only the time before the deadline counts. Choosing a time earlier than your day start time means the following early morning (before that day ends)." + "하루 단위 다짐을 만들 때 '마감 시각까지만 집계'를 켜면 하루 시작부터 그 시각까지의 기록만 다짐에 집계돼요. 예를 들어 '일어나기 1회 · 오전 8:00까지'로 만들면 8시 이후에 누른 기록은 남긴 하지만 그날 달성으로는 인정되지 않아요. '이하 유지' 다짐은 마감 시각까지 한도를 지키면 그날 달성이에요. 시간 측정 행동이 마감을 걸치면 마감 전까지의 시간만 인정돼요. 하루 시작 시간보다 이른 시각을 고르면 다음 날 새벽(그 하루가 끝나기 전)을 뜻해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When creating a daily quest, turn on 'Count only until a deadline' to count only records between the start of the day and that time. For example, with 'Wake up 1 time · by 8:00 AM', a tap after 8:00 is still recorded but doesn't count as achieved that day. A 'stay under' quest is achieved for the day if you stay within the limit until the deadline. If a timed session crosses the deadline, only the time before the deadline counts. Choosing a time earlier than your day start time means the following early morning (before that day ends)." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "日単位のクエストを作るときに「締め切り時刻までのみ集計」をオンにすると、1日の開始からその時刻までの記録だけがクエストに集計されます。例えば「起きる 1回・午前8:00まで」にした場合、8時以降のタップは記録には残りますが、その日の達成にはなりません。「以下を維持」のクエストは、締め切りまで上限を守ればその日は達成です。時間計測が締め切りをまたぐ場合は、締め切りまでの時間だけが認められます。1日の開始時刻より早い時刻を選ぶと、翌日の早朝(その1日が終わる前)を意味します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日単位のクエストを作るときに「締め切り時刻までのみ集計」をオンにすると、1日の開始からその時刻までの記録だけがクエストに集計されます。例えば「起きる 1回・午前8:00まで」にした場合、8時以降のタップは記録には残りますが、その日の達成にはなりません。「以下を維持」のクエストは、締め切りまで上限を守ればその日は達成です。時間計測が締め切りをまたぐ場合は、締め切りまでの時間だけが認められます。1日の開始時刻より早い時刻を選ぶと、翌日の早朝(その1日が終わる前)を意味します。" } } } }, - "하루 목표": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Daily goal" + "하루 목표" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daily goal" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日の目標" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日の目標" } } } }, - "하루 시작 시간": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Day start time" + "하루 시작 시간" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Day start time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日の開始時刻" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日の開始時刻" } } } }, - "하루 시작 시간을 걸치는 기록은 통계에서 자동으로 날짜별로 나누어 계산돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Sessions crossing the day start time are split by date in statistics automatically." + "하루 시작 시간을 걸치는 기록은 통계에서 자동으로 날짜별로 나누어 계산돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sessions crossing the day start time are split by date in statistics automatically." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日の開始時刻をまたぐ記録は、統計で自動的に日付ごとに分割されます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日の開始時刻をまたぐ記録は、統計で自動的に日付ごとに分割されます。" } } } }, - "하루 시작부터 마감 시각까지의 기록만 이 다짐에 집계돼요. 마감 이후의 기록은 기록 탭에 남지만 이 다짐에는 반영되지 않아요. 하루 시작 시간보다 이른 시각은 다음 날 새벽(그 하루가 끝나기 전)을 뜻해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Only records between the start of the day and the deadline count toward this quest. Records after the deadline remain in History but aren't counted here. A time earlier than your day start time means the following early morning (before that day ends)." + "하루 시작부터 마감 시각까지의 기록만 이 다짐에 집계돼요. 마감 이후의 기록은 기록 탭에 남지만 이 다짐에는 반영되지 않아요. 하루 시작 시간보다 이른 시각은 다음 날 새벽(그 하루가 끝나기 전)을 뜻해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Only records between the start of the day and the deadline count toward this quest. Records after the deadline remain in History but aren't counted here. A time earlier than your day start time means the following early morning (before that day ends)." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日の開始から締め切り時刻までの記録だけがこのクエストに集計されます。締め切り以降の記録は記録タブには残りますが、このクエストには反映されません。1日の開始時刻より早い時刻は、翌日の早朝(その1日が終わる前)を意味します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日の開始から締め切り時刻までの記録だけがこのクエストに集計されます。締め切り以降の記録は記録タブには残りますが、このクエストには反映されません。1日の開始時刻より早い時刻は、翌日の早朝(その1日が終わる前)を意味します。" } } } }, - "하루 정리 첫 페이지": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The Daily Review First Page" + "하루 정리 첫 페이지" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The Daily Review First Page" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日まとめの最初のページ" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日まとめの最初のページ" } } } }, - "하루 정리와 애플 펜슬 다이어리 — 맥에서는 마우스·키보드로 써요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Daily summary pages and an Apple Pencil diary — on Mac, write with mouse and keyboard." + "하루 정리와 애플 펜슬 다이어리 — 맥에서는 마우스·키보드로 써요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daily summary pages and an Apple Pencil diary — on Mac, write with mouse and keyboard." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "一日のまとめとApple Pencil日記 — Macではマウス・キーボードで書けます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "一日のまとめとApple Pencil日記 — Macではマウス・キーボードで書けます。" } } } }, - "하루 통계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Daily stats" + "하루 통계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daily stats" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日の統計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日の統計" } } } }, - "하루 평균": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Daily average" + "하루 평균" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daily average" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日平均" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日平均" } } } }, - "하루다님-%@.csv": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim-%@.csv" + "하루다님-%@.csv" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim-%@.csv" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim-%@.csv" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim-%@.csv" } } } }, - "하루다님-%@.pdf": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim-%@.pdf" + "하루다님-%@.pdf" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim-%@.pdf" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim-%@.pdf" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim-%@.pdf" } } } }, - "하루다님-%@.png": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim-%@.png" + "하루다님-%@.png" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim-%@.png" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim-%@.png" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim-%@.png" } } } }, - "하루다님-일기-%@.png": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim-Diary-%@.png" + "하루다님-일기-%@.png" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim-Diary-%@.png" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "HaruDanim-日記-%@.png" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "HaruDanim-日記-%@.png" } } } }, - "하루의 기록·통계와 함께 애플 펜슬로 쓰는\n나만의 다이어리를 만들 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Create your own diary with Apple Pencil,\nalongside your daily records and stats." + "하루의 기록·통계와 함께 애플 펜슬로 쓰는\n나만의 다이어리를 만들 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Create your own diary with Apple Pencil,\nalongside your daily records and stats." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1日の記録・統計とともに、Apple Pencilで書く\n自分だけのダイアリーが作れます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日の記録・統計とともに、Apple Pencilで書く\n自分だけのダイアリーが作れます。" } } } }, - "학습": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Study" + "학습" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Study" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "学習" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "学習" } } } }, - "한 달 (주 단위)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Month (by week)" + "한 달 (주 단위)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Month (by week)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1か月(週別)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1か月(週別)" } } } }, - "한 달 (하루 단위, 중형 이상)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Month (by day, medium+)" + "한 달 (하루 단위, 중형 이상)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Month (by day, medium+)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1か月(日別、中サイズ以上)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1か月(日別、中サイズ以上)" } } } }, - "한 달 다이어트": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "One-month diet" + "한 달 다이어트" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "One-month diet" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1か月ダイエット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1か月ダイエット" } } } }, - "한 달 단위": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly" + "한 달 단위" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月単位" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月単位" } } } }, - "한 달 통계 (일별)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly stats (by day)" + "한 달 통계 (일별)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly stats (by day)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月間統計(日別)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月間統計(日別)" } } } }, - "한 달 통계 (주별)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Monthly stats (by week)" + "한 달 통계 (주별)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly stats (by week)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "月間統計(週別)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "月間統計(週別)" } } } }, - "한 번 결제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "One-time" + "한 번 결제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "One-time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1回払い" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1回払い" } } } }, - "한 번 결제로 모든 기능을 계속 사용할 수 있어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "One purchase keeps every feature forever" + "한 번 결제로 모든 기능을 계속 사용할 수 있어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "One purchase keeps every feature forever" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1回の購入ですべての機能をずっと利用できます" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1回の購入ですべての機能をずっと利用できます" } } } }, - "한 줄에 표시할 개수": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Buttons per row" + "한 줄에 표시할 개수" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buttons per row" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "1行に表示する数" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1行に表示する数" } } } }, - "한도 안에서 잘 지키고 있어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "You're staying within the limit" + "한도 안에서 잘 지키고 있어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You're staying within the limit" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "上限内でよく守れています" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "上限内でよく守れています" } } } }, - "한도를 넘었어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "You went over the limit" + "한도를 넘었어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You went over the limit" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "上限を超えました" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "上限を超えました" } } } }, - "할 일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "To-do" + "할 일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "To-do" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "やること" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "やること" } } } }, - "합계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Total" + "합계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "合計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "合計" } } } }, - "행동": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Actions" + "행동" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション" } } } }, - "행동 %lld/%lld개 표시 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Showing %lld of %lld actions" + "행동 %lld/%lld개 표시 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Showing %lld of %lld actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション%lld/%lld件を表示中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション%lld/%lld件を表示中" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "행동 %1$lld/%2$lld개 표시 중" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "행동 %1$lld/%2$lld개 표시 중" } } } }, - "행동 %lld/%lld개만 포함": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Only %lld of %lld actions included" + "행동 %lld/%lld개만 포함" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Only %lld of %lld actions included" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション%lld/%lld件のみ含む" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション%lld/%lld件のみ含む" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "행동 %1$lld/%2$lld개만 포함" + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "행동 %1$lld/%2$lld개만 포함" } } } }, - "행동 %lld개": { - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld action" + "행동 %lld개" : { + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld action" } }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld actions" + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld actions" } } } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション%lld個" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション%lld個" } } } }, - "행동 %lld개 · 시간 기록 %lld건 · 횟수 기록 %lld건을 추가했어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Added %1$lld actions · %2$lld time records · %3$lld count records." + "행동 %lld개 · 시간 기록 %lld건 · 횟수 기록 %lld건을 추가했어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Added %1$lld actions · %2$lld time records · %3$lld count records." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション%1$lld個・時間記録%2$lld件・回数記録%3$lld件を追加しました。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション%1$lld個・時間記録%2$lld件・回数記録%3$lld件を追加しました。" } }, - "ko": { - "stringUnit": { - "state": "new", - "value": "행동 %1$lld개 · 시간 기록 %2$lld건 · 횟수 기록 %3$lld건을 추가했어요." + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "행동 %1$lld개 · 시간 기록 %2$lld건 · 횟수 기록 %3$lld건을 추가했어요." } } } }, - "행동 ID": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Action ID" + "행동 ID" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Action ID" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションID" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションID" } } } }, - "행동 — 추적의 최소 단위": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Actions — the Unit of Tracking" + "행동 — 추적의 최소 단위" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions — the Unit of Tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション — 記録の最小単位" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション — 記録の最小単位" } } } }, - "행동 누적값 가져오기": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Get Action Total" + "행동 누적값 가져오기" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Get Action Total" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションの累計値を取得" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションの累計値を取得" } } } }, - "행동 버튼을 길게 누르면 기록 직접 입력·수정, 즐겨찾기 지정·해제, 기록 확인, 통계 보기, 행동 설정 수정, 삭제를 할 수 있어요. 시간형은 시작·종료 시각을, 횟수형은 횟수와 시각을 직접 고칠 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Long-press an action button to manually enter or edit records, toggle Favorite, view records, view stats, edit action settings, or delete it. For time-based actions you can edit the start and end times directly; for count-based actions you can edit the count and time." + "행동 버튼을 길게 누르면 기록 직접 입력·수정, 즐겨찾기 지정·해제, 기록 확인, 통계 보기, 행동 설정 수정, 삭제를 할 수 있어요. 시간형은 시작·종료 시각을, 횟수형은 횟수와 시각을 직접 고칠 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Long-press an action button to manually enter or edit records, toggle Favorite, view records, view stats, edit action settings, or delete it. For time-based actions you can edit the start and end times directly; for count-based actions you can edit the count and time." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "行動ボタンを長押しすると、記録の直接入力・編集、お気に入りの設定・解除、記録の確認、統計の表示、行動設定の編集、削除ができます。時間型は開始・終了時刻を、回数型は回数と時刻を直接編集できます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "行動ボタンを長押しすると、記録の直接入力・編集、お気に入りの設定・解除、記録の確認、統計の表示、行動設定の編集、削除ができます。時間型は開始・終了時刻を、回数型は回数と時刻を直接編集できます。" } } } }, - "행동 버튼을 탭하면 시간형은 측정이 시작되고 다시 탭하면 종료돼요(테두리로 측정 중을 구분). 횟수형은 탭할 때마다 1씩 올라가요. 여러 행동을 동시에 측정해도 되고, 측정 중인 행동은 상단 '현재 진행 중' 영역에서도 종료할 수 있어요. 끄는 걸 자주 잊는다면 설정 → 측정의 '장시간 측정 알림'을 켜 보세요 — 정한 시간을 넘기면 알려줘요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tap an action button to start tracking time, and tap again to stop (a border marks what's running). Count actions go up by one per tap. You can track several actions at once, and stop any of them from the 'In Progress' area at the top. If you often forget to stop, turn on 'Long-session alert' in Settings → Tracking — it notifies you when tracking passes the set time." + "행동 버튼을 탭하면 시간형은 측정이 시작되고 다시 탭하면 종료돼요(테두리로 측정 중을 구분). 횟수형은 탭할 때마다 1씩 올라가요. 여러 행동을 동시에 측정해도 되고, 측정 중인 행동은 상단 '현재 진행 중' 영역에서도 종료할 수 있어요. 끄는 걸 자주 잊는다면 설정 → 측정의 '장시간 측정 알림'을 켜 보세요 — 정한 시간을 넘기면 알려줘요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tap an action button to start tracking time, and tap again to stop (a border marks what's running). Count actions go up by one per tap. You can track several actions at once, and stop any of them from the 'In Progress' area at the top. If you often forget to stop, turn on 'Long-session alert' in Settings → Tracking — it notifies you when tracking passes the set time." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションボタンをタップすると時間計測が始まり、もう一度タップすると終了します(計測中は枠で区別)。回数タイプはタップごとに1ずつ増えます。複数のアクションを同時に計測でき、計測中のアクションは上部の「進行中」エリアからも終了できます。終了し忘れが多いなら、設定 → 計測の「長時間計測の通知」をオンにしてください — 設定時間を超えるとお知らせします。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションボタンをタップすると時間計測が始まり、もう一度タップすると終了します(計測中は枠で区別)。回数タイプはタップごとに1ずつ増えます。複数のアクションを同時に計測でき、計測中のアクションは上部の「進行中」エリアからも終了できます。終了し忘れが多いなら、設定 → 計測の「長時間計測の通知」をオンにしてください — 設定時間を超えるとお知らせします。" } } } }, - "행동 버튼의 색은 지정한 꼬리표의 색을 따라요. 여러 개를 지정하면 가장 먼저 만든 꼬리표의 색이 쓰여요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "The action button's color follows its tag. With multiple tags, the color of the tag you created first is used." + "행동 버튼의 색은 지정한 꼬리표의 색을 따라요. 여러 개를 지정하면 가장 먼저 만든 꼬리표의 색이 쓰여요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The action button's color follows its tag. With multiple tags, the color of the tag you created first is used." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションボタンの色は指定したタグの色に従います。複数指定した場合は、最初に作ったタグの色が使われます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションボタンの色は指定したタグの色に従います。複数指定した場合は、最初に作ったタグの色が使われます。" } } } }, - "행동 삭제": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Delete Action" + "행동 삭제" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete Action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションを削除" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションを削除" } } } }, - "행동 선택": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Choose Action" + "행동 선택" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose Action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションを選択" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションを選択" } } } }, - "행동 설정 수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit action settings" + "행동 설정 수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit action settings" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション設定を編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション設定を編集" } } } }, - "행동 수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Action" + "행동 수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションを編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションを編集" } } } }, - "행동 실행": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Run Action" + "행동 실행" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Run Action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション実行" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション実行" } } } }, - "행동 실행 위젯": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Action Run Widget" + "행동 실행 위젯" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Action Run Widget" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション実行ウィジェット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション実行ウィジェット" } } } }, - "행동 없음": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No actions" + "행동 없음" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No actions" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションなし" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションなし" } } } }, - "행동 이름 (예: 독서)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Action name (e.g. Reading)" + "행동 이름 (예: 독서)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Action name (e.g. Reading)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション名(例: 読書)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション名(例: 読書)" } } } }, - "행동 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add Action" + "행동 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションを追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションを追加" } } } }, - "행동 탭에서 습관이나 할 일을 '행동'으로 등록해요. 만들 때 시간 추적형(시작·종료 토글로 소요 시간 측정) 또는 횟수 추적형(탭할 때마다 +1) 중 하나를 골라요. 이름·아이콘·꼬리표는 나중에 언제든 바꿀 수 있지만 추적 방식은 바꿀 수 없으니 처음에 잘 골라 주세요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Register habits or tasks as 'actions' in the Actions tab. When creating one, choose time tracking (start/stop toggle measures duration) or count tracking (+1 per tap). You can change the name, icon and tags anytime, but not the tracking type — so choose carefully at first." + "행동 탭에서 습관이나 할 일을 '행동'으로 등록해요. 만들 때 시간 추적형(시작·종료 토글로 소요 시간 측정) 또는 횟수 추적형(탭할 때마다 +1) 중 하나를 골라요. 이름·아이콘·꼬리표는 나중에 언제든 바꿀 수 있지만 추적 방식은 바꿀 수 없으니 처음에 잘 골라 주세요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Register habits or tasks as 'actions' in the Actions tab. When creating one, choose time tracking (start/stop toggle measures duration) or count tracking (+1 per tap). You can change the name, icon and tags anytime, but not the tracking type — so choose carefully at first." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションタブで習慣ややることを「アクション」として登録します。作成時に時間型(開始・終了トグルで所要時間を計測)か回数型(タップごとに+1)を選びます。名前・アイコン・タグは後からいつでも変えられますが、記録方式は変えられないので最初によく選んでください。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションタブで習慣ややることを「アクション」として登録します。作成時に時間型(開始・終了トグルで所要時間を計測)か回数型(タップごとに+1)を選びます。名前・アイコン・タグは後からいつでも変えられますが、記録方式は変えられないので最初によく選んでください。" } } } }, - "행동 탭에서 행동을 열어 '기록 시 메모 창 표시'를 켜면, 시간 측정을 종료할 때·횟수를 추가할 때마다 메모 창이 떠서 그 기록에 한 줄을 남길 수 있어요(건너뛰기 가능). 이 설정은 기기마다 따로 저장돼요. 남긴 메모는 기록 탭 목록에 노란 글씨로 표시되고, 기록을 탭해 수정할 때 메모를 고치거나 새로 붙일 수도 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Open an action in the Actions tab and turn on 'Show note prompt when recording' — a note sheet appears whenever you stop a time session or add a count, so you can leave a line about that record (you can skip it). This setting is saved per device. Notes appear in yellow in the History tab list, and you can also edit or add a note when you tap a record to edit it." + "행동 탭에서 행동을 열어 '기록 시 메모 창 표시'를 켜면, 시간 측정을 종료할 때·횟수를 추가할 때마다 메모 창이 떠서 그 기록에 한 줄을 남길 수 있어요(건너뛰기 가능). 이 설정은 기기마다 따로 저장돼요. 남긴 메모는 기록 탭 목록에 노란 글씨로 표시되고, 기록을 탭해 수정할 때 메모를 고치거나 새로 붙일 수도 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open an action in the Actions tab and turn on 'Show note prompt when recording' — a note sheet appears whenever you stop a time session or add a count, so you can leave a line about that record (you can skip it). This setting is saved per device. Notes appear in yellow in the History tab list, and you can also edit or add a note when you tap a record to edit it." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションタブでアクションを開いて「記録時にメモ画面を表示」をオンにすると、時間計測を終了するたび・回数を追加するたびにメモ画面が表示され、その記録に一言を残せます(スキップ可能)。この設定は端末ごとに保存されます。残したメモは記録タブの一覧に黄色い文字で表示され、記録をタップして修正するときにメモを直したり新しく付けたりすることもできます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションタブでアクションを開いて「記録時にメモ画面を表示」をオンにすると、時間計測を終了するたび・回数を追加するたびにメモ画面が表示され、その記録に一言を残せます(スキップ可能)。この設定は端末ごとに保存されます。残したメモは記録タブの一覧に黄色い文字で表示され、記録をタップして修正するときにメモを直したり新しく付けたりすることもできます。" } } } }, - "행동 통계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Action Stats" + "행동 통계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Action Stats" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション統計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション統計" } } } }, - "행동 파일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Actions file" + "행동 파일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actions file" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションファイル" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションファイル" } } } }, - "행동 하나를 골라 제어 센터에서 바로 실행해요. 시간 측정은 시작/종료 토글, 횟수 기록은 탭마다 +1. (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Pick one action and run it right from Control Center. Time tracking toggles start/stop; counts add +1 per tap. (Premium)" + "행동 하나를 골라 제어 센터에서 바로 실행해요. 시간 측정은 시작/종료 토글, 횟수 기록은 탭마다 +1. (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pick one action and run it right from Control Center. Time tracking toggles start/stop; counts add +1 per tap. (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションを1つ選んでコントロールセンターから直接実行。時間計測は開始/終了のトグル、回数はタップごとに+1。(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションを1つ選んでコントロールセンターから直接実行。時間計測は開始/終了のトグル、回数はタップごとに+1。(プレミアム)" } } } }, - "행동id": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "actionId" + "행동id" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "actionId" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションID" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションID" } } } }, - "행동·목표·다짐을 무제한으로 만들 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Create unlimited actions, goals, and quests." + "행동·목표·다짐을 무제한으로 만들 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Create unlimited actions, goals, and quests." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション・目標・クエストを無制限に作れます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション・目標・クエストを無制限に作れます。" } } } }, - "행동·시간 기록·횟수 기록·목표·다짐을 각각 CSV 파일로 만들어요. 스프레드시트에서 열거나 백업으로 보관할 수 있어요. 시각은 ISO 8601 형식이에요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Creates a CSV file each for actions, time sessions, counts, goals, and quests. Open them in a spreadsheet or keep them as a backup. Timestamps use ISO 8601." + "행동·시간 기록·횟수 기록·목표·다짐을 각각 CSV 파일로 만들어요. 스프레드시트에서 열거나 백업으로 보관할 수 있어요. 시각은 ISO 8601 형식이에요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Creates a CSV file each for actions, time sessions, counts, goals, and quests. Open them in a spreadsheet or keep them as a backup. Timestamps use ISO 8601." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション・時間記録・回数記録・目標・クエストをそれぞれCSVファイルにします。スプレッドシートで開いたり、バックアップとして保管できます。時刻はISO 8601形式です。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション・時間記録・回数記録・目標・クエストをそれぞれCSVファイルにします。スプレッドシートで開いたり、バックアップとして保管できます。時刻はISO 8601形式です。" } } } }, - "행동별 시간 (일별)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time by action (daily)" + "행동별 시간 (일별)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time by action (daily)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション別時間(日別)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション別時間(日別)" } } } }, - "행동별 시간 (주차별)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time by action (weekly)" + "행동별 시간 (주차별)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time by action (weekly)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション別時間(週別)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション別時間(週別)" } } } }, - "행동별 시간 합계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Time totals by action" + "행동별 시간 합계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Time totals by action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション別時間合計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション別時間合計" } } } }, - "행동별 합계·평균": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Totals & averages by action" + "행동별 합계·평균" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totals & averages by action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション別合計・平均" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション別合計・平均" } } } }, - "행동별 횟수 (일별)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Counts by action (daily)" + "행동별 횟수 (일별)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Counts by action (daily)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション別回数(日別)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション別回数(日別)" } } } }, - "행동별 횟수 (주차별)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Counts by action (weekly)" + "행동별 횟수 (주차별)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Counts by action (weekly)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション別回数(週別)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション別回数(週別)" } } } }, - "행동별 횟수 합계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count totals by action" + "행동별 횟수 합계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count totals by action" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクション別回数合計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクション別回数合計" } } } }, - "행동을 시작하면 여기에 실시간으로 표시돼요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Start an action and it will appear here in real time" + "행동을 시작하면 여기에 실시간으로 표시돼요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Start an action and it will appear here in real time" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "行動を始めるとここにリアルタイムで表示されます" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "行動を始めるとここにリアルタイムで表示されます" } } } }, - "행동을 여기로 끌면 즐겨찾기로 지정돼요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Drag an action here to make it a favorite" + "행동을 여기로 끌면 즐겨찾기로 지정돼요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drag an action here to make it a favorite" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションをここへドラッグするとお気に入りに指定されます" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションをここへドラッグするとお気に入りに指定されます" } } } }, - "행동을 여기로 끌면 즐겨찾기에서 빠져요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Drag an action here to remove it from favorites" + "행동을 여기로 끌면 즐겨찾기에서 빠져요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drag an action here to remove it from favorites" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションをここへドラッグするとお気に入りから外れます" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションをここへドラッグするとお気に入りから外れます" } } } }, - "행동을 위젯에서 바로 실행하고 누적값을 확인해요. (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Run actions right from the widget and see totals. (Premium)" + "행동을 위젯에서 바로 실행하고 누적값을 확인해요. (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Run actions right from the widget and see totals. (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ウィジェットからアクションを即実行し、累計を確認。(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ウィジェットからアクションを即実行し、累計を確認。(プレミアム)" } } } }, - "행동을 즐겨찾기로 지정하면 모음 탭 행동 목록이 '즐겨찾기'와 '나머지 행동' 두 부분으로 나뉘고, 즐겨찾기가 항상 맨 위에 와요. 새로 지정한 행동은 즐겨찾기 맨 뒤에 붙어요. 순서를 바꾸려면 '배치 편집'에서 버튼을 길게 눌러 끌어 옮기거나, 행동 탭 오른쪽 위 ⋯ 메뉴의 '즐겨찾기 순서 변경'을 쓰면 돼요 — 이 순서는 애플워치의 즐겨찾기 목록에도 똑같이 적용돼요. 배치 편집에서는 즐겨찾기와 나머지 사이로 끌어서 지정·해제할 수도 있어요. '나머지 행동' 제목을 누르면 그 아래를 접어 둘 수 있어서 행동이 많아져도 자주 쓰는 것만 남길 수 있어요(접힘은 기기마다 저장). 지정은 행동 버튼을 길게 눌러 '즐겨찾기'를 선택하거나, 행동 탭에서 행동을 열어 별 아이콘을 눌러도 돼요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Mark actions as favorites and the Home tab list splits into two parts — 'Favorites' and 'Other actions' — with favorites always at the top. Newly favorited actions are added to the end of the favorites. To reorder, drag buttons in 'Edit Layout', or use 'Reorder Favorites' in the ⋯ menu at the top right of the Actions tab — the same order also applies to the favorites list on Apple Watch. In Edit Layout you can also drag between the two sections to favorite or unfavorite. Tap the 'Other actions' title to collapse everything below it, so even with lots of actions only the ones you use most stay in view (the collapsed state is saved per device). To mark a favorite, long-press an action button and choose 'Favorites', or open the action in the Actions tab and tap the star icon." + "행동을 즐겨찾기로 지정하면 모음 탭 행동 목록이 '즐겨찾기'와 '나머지 행동' 두 부분으로 나뉘고, 즐겨찾기가 항상 맨 위에 와요. 새로 지정한 행동은 즐겨찾기 맨 뒤에 붙어요. 순서를 바꾸려면 '배치 편집'에서 버튼을 길게 눌러 끌어 옮기거나, 행동 탭 오른쪽 위 ⋯ 메뉴의 '즐겨찾기 순서 변경'을 쓰면 돼요 — 이 순서는 애플워치의 즐겨찾기 목록에도 똑같이 적용돼요. 배치 편집에서는 즐겨찾기와 나머지 사이로 끌어서 지정·해제할 수도 있어요. '나머지 행동' 제목을 누르면 그 아래를 접어 둘 수 있어서 행동이 많아져도 자주 쓰는 것만 남길 수 있어요(접힘은 기기마다 저장). 지정은 행동 버튼을 길게 눌러 '즐겨찾기'를 선택하거나, 행동 탭에서 행동을 열어 별 아이콘을 눌러도 돼요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mark actions as favorites and the Home tab list splits into two parts — 'Favorites' and 'Other actions' — with favorites always at the top. Newly favorited actions are added to the end of the favorites. To reorder, drag buttons in 'Edit Layout', or use 'Reorder Favorites' in the ⋯ menu at the top right of the Actions tab — the same order also applies to the favorites list on Apple Watch. In Edit Layout you can also drag between the two sections to favorite or unfavorite. Tap the 'Other actions' title to collapse everything below it, so even with lots of actions only the ones you use most stay in view (the collapsed state is saved per device). To mark a favorite, long-press an action button and choose 'Favorites', or open the action in the Actions tab and tap the star icon." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションをお気に入りに指定すると、ホームタブの一覧が「お気に入り」と「その他のアクション」の2つに分かれ、お気に入りが常に一番上に表示されます。新しく指定したアクションはお気に入りの最後に追加されます。順序を変えるには「配置を編集」でボタンをドラッグするか、アクションタブ右上の⋯メニューの「お気に入りの並べ替え」を使います — この順序はApple Watchのお気に入りリストにも同じように適用されます。配置編集では、お気に入りとその他の間へドラッグして指定・解除することもできます。「その他のアクション」のタイトルをタップすると下を折りたたむことができ、アクションが増えてもよく使うものだけを残せます(折りたたみ状態は端末ごとに保存)。指定はアクションボタンを長押しして「お気に入り」を選ぶか、アクションタブでアクションを開いて星アイコンをタップしてもできます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションをお気に入りに指定すると、ホームタブの一覧が「お気に入り」と「その他のアクション」の2つに分かれ、お気に入りが常に一番上に表示されます。新しく指定したアクションはお気に入りの最後に追加されます。順序を変えるには「配置を編集」でボタンをドラッグするか、アクションタブ右上の⋯メニューの「お気に入りの並べ替え」を使います — この順序はApple Watchのお気に入りリストにも同じように適用されます。配置編集では、お気に入りとその他の間へドラッグして指定・解除することもできます。「その他のアクション」のタイトルをタップすると下を折りたたむことができ、アクションが増えてもよく使うものだけを残せます(折りたたみ状態は端末ごとに保存)。指定はアクションボタンを長押しして「お気に入り」を選ぶか、アクションタブでアクションを開いて星アイコンをタップしてもできます。" } } } }, - "행동을 찾을 수 없어요. 앱에서 삭제됐을 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Action not found. It may have been deleted in the app." + "행동을 찾을 수 없어요. 앱에서 삭제됐을 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Action not found. It may have been deleted in the app." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションが見つかりません。アプリで削除された可能性があります。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションが見つかりません。アプリで削除された可能性があります。" } } } }, - "행동의 하루/주간/월간 누적 시간(초) 또는 횟수를 가져와요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Gets an action's daily/weekly/monthly total time (seconds) or count." + "행동의 하루/주간/월간 누적 시간(초) 또는 횟수를 가져와요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gets an action's daily/weekly/monthly total time (seconds) or count." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクションの日/週/月の累計時間(秒)または回数を取得します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アクションの日/週/月の累計時間(秒)または回数を取得します。" } } } }, - "현재 진행 중": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Now Tracking" + "현재 진행 중" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Now Tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "現在計測中" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "現在計測中" } } } }, - "현재 진행 중 위젯": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Now Tracking Widget" + "현재 진행 중 위젯" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Now Tracking Widget" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "現在計測中ウィジェット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "現在計測中ウィジェット" } } } }, - "형식": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Format" + "형식" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Format" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "形式" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "形式" } } } }, - "홈 화면·잠금화면 위젯 (프리미엄)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Home Screen & Lock Screen Widgets (Premium)" + "홈 화면·잠금화면 위젯 (프리미엄)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Home Screen & Lock Screen Widgets (Premium)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ホーム画面・ロック画面ウィジェット(プレミアム)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホーム画面・ロック画面ウィジェット(プレミアム)" } } } }, - "홈 화면을 길게 눌러 '하루 다님' 위젯을 추가하세요. 행동 실행(눌러서 시작·+1), 현재 진행 중(측정 중인 행동의 실시간 타이머와 종료 버튼), 목표 진행률, 다짐 진행률(원형 링·누적값), 다짐 현황, 행동 통계 그래프와 잠금화면용 목표 달성률이 있어요. 위젯을 길게 눌러 '위젯 편집'에서 표시할 행동·목표·다짐과 기간, 테마를 고를 수 있어요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Touch and hold the Home Screen to add HaruDanim widgets. There are Action Run (tap to start / +1), Now Tracking (a live timer and stop button for the action being tracked), Goal Progress, Quest Progress (ring with the accumulated amount), Quest Status, Action Stats charts, and a goal gauge for the Lock Screen. Touch and hold a widget and choose \"Edit Widget\" to pick which actions, goals, or quests to show, the period, and the theme." + "홈 화면을 길게 눌러 '하루 다님' 위젯을 추가하세요. 행동 실행(눌러서 시작·+1), 현재 진행 중(측정 중인 행동의 실시간 타이머와 종료 버튼), 목표 진행률, 다짐 진행률(원형 링·누적값), 다짐 현황, 행동 통계 그래프와 잠금화면용 목표 달성률이 있어요. 위젯을 길게 눌러 '위젯 편집'에서 표시할 행동·목표·다짐과 기간, 테마를 고를 수 있어요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Touch and hold the Home Screen to add HaruDanim widgets. There are Action Run (tap to start / +1), Now Tracking (a live timer and stop button for the action being tracked), Goal Progress, Quest Progress (ring with the accumulated amount), Quest Status, Action Stats charts, and a goal gauge for the Lock Screen. Touch and hold a widget and choose \"Edit Widget\" to pick which actions, goals, or quests to show, the period, and the theme." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ホーム画面を長押しして「ハルタニム」のウィジェットを追加しましょう。アクション実行(押して開始・+1)、現在計測中(計測中の行動のリアルタイムタイマーと終了ボタン)、目標の進捗、クエストの進捗(リングと累計値)、クエストの状況、アクション統計グラフ、ロック画面用の目標達成率があります。ウィジェットを長押しして「ウィジェットを編集」から、表示するアクション・目標・クエストと期間、テーマを選べます。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホーム画面を長押しして「ハルタニム」のウィジェットを追加しましょう。アクション実行(押して開始・+1)、現在計測中(計測中の行動のリアルタイムタイマーと終了ボタン)、目標の進捗、クエストの進捗(リングと累計値)、クエストの状況、アクション統計グラフ、ロック画面用の目標達成率があります。ウィジェットを長押しして「ウィジェットを編集」から、表示するアクション・目標・クエストと期間、テーマを選べます。" } } } }, - "홈·잠금화면 위젯": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Home & Lock Screen widgets" + "홈·잠금화면 위젯" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Home & Lock Screen widgets" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ホーム・ロック画面ウィジェット" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホーム・ロック画面ウィジェット" } } } }, - "화": { - "comment": "요일 축약(화요일)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Tue" + "화" : { + "comment" : "요일 축약(화요일)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tue" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "火" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "火" } } } }, - "화면": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Display" + "화면" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Display" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "画面" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "画面" } } } }, - "화면 구성 (아이폰)": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Layout (iPhone)" + "화면 구성 (아이폰)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Layout (iPhone)" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "画面構成(iPhone)" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "画面構成(iPhone)" } } } }, - "화살표": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Arrow" + "화살표" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Arrow" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "矢印" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "矢印" } } } }, - "확인": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "OK" + "확인" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "OK" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" } } } }, - "확인 필요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Needs review" + "확인 필요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Needs review" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "確認が必要" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "確認が必要" } } } }, - "횟수": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count" + "횟수" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数" } } } }, - "횟수 기록": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count tracking" + "횟수 기록" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count tracking" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数記録" } } } }, - "횟수 기록 · %lld건": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count records · %lld" + "횟수 기록 · %lld건" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count records · %lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数記録・%lld件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数記録・%lld件" } } } }, - "횟수 기록 · %lld건 중 40건": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count records · 40 of %lld" + "횟수 기록 · %lld건 중 40건" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count records · 40 of %lld" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数記録・%lld件中40件" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数記録・%lld件中40件" } } } }, - "횟수 기록 수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Edit Count Record" + "횟수 기록 수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit Count Record" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数記録を編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数記録を編集" } } } }, - "횟수 기록 파일": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Count records file" + "횟수 기록 파일" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Count records file" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数記録ファイル" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数記録ファイル" } } } }, - "횟수 기록 행동의 횟수를 바로 추가해요.": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Adds a count to a count action right away." + "횟수 기록 행동의 횟수를 바로 추가해요." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adds a count to a count action right away." } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数記録アクションの回数をすぐに追加します。" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数記録アクションの回数をすぐに追加します。" } } } }, - "횟수 기록이 없어요": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "No count records" + "횟수 기록이 없어요" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No count records" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数記録がありません" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数記録がありません" } } } }, - "횟수 직접 입력·수정": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Enter/edit count manually" + "횟수 직접 입력·수정" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter/edit count manually" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数を手動で入力・編集" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数を手動で入力・編集" } } } }, - "횟수 직접 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add count manually" + "횟수 직접 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add count manually" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数を手動で追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数を手動で追加" } } } }, - "횟수 추가": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Add Count" + "횟수 추가" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Count" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数を追加" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数を追加" } } } }, - "횟수 합계": { - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Total count" + "횟수 합계" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total count" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数合計" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数合計" } } } }, - "횟수기록": { - "comment": "CSV 파일명용 (공백 없이)", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "CountRecords" + "횟수기록" : { + "comment" : "CSV 파일명용 (공백 없이)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "CountRecords" } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "回数記録" + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "回数記録" } } } } }, - "version": "1.0" + "version" : "1.0" } \ No newline at end of file diff --git a/myApp/HaruDanim/IOS/Views/GoalViews.swift b/myApp/HaruDanim/IOS/Views/GoalViews.swift index ba5d285..c8a3588 100644 --- a/myApp/HaruDanim/IOS/Views/GoalViews.swift +++ b/myApp/HaruDanim/IOS/Views/GoalViews.swift @@ -377,19 +377,31 @@ struct QuestRow: View { // 오늘이 수행일이 아니면(요일·날짜 다짐의 쉬는 날, 기간 밖) 하루 게이지는 수치 대신 상태 표기 — // 쉬는 날의 기록은 주/월 집계에도 안 잡히는 값이라 퍼센트로 보여 주면 "오늘 채웠다"는 오해를 유발 let restDay = span == .day && !progress.isScheduled(on: .now) + // 주기 몫을 이미 채운 주/월 다짐의 하루 게이지는 0% 대신 완료 상태 — + // 빈 게이지가 "안 했음"으로 오독되는 것을 막기 위해 가득 채우고 문구로 이유를 설명 (§4.2) + let fulfilled = span == .day && !restDay && progress.isPeriodFulfilled() let result = progress.spanProgress(span) let over = !restDay && quest.direction == .atMost && result.value > result.target return VStack(alignment: .leading, spacing: 2) { Text(span.label) .font(.caption2) .foregroundStyle(.secondary) - ProgressView(value: restDay ? 0 : result.ratio) + ProgressView(value: restDay ? 0 : (fulfilled ? 1 : result.ratio)) .tint(over ? .red : quest.targetColor) .opacity(restDay ? 0.4 : 1) if restDay { Text("수행일 아님") .font(.caption2) .foregroundStyle(.tertiary) + } else if fulfilled { + HStack(spacing: 3) { + Image(systemName: "checkmark.circle.fill") + .font(.caption2) + .foregroundStyle(AppTheme.green) + Text(progress.periodFulfilledLabel) + .font(.caption2.weight(.semibold)) + .foregroundStyle(.secondary) + } } else { Text(Format.percent(result.displayRatio)) .font(.caption2.weight(.semibold).monospacedDigit()) diff --git a/myApp/HaruDanim/IOS/Views/HelpView.swift b/myApp/HaruDanim/IOS/Views/HelpView.swift index 9b37bf7..49301ad 100644 --- a/myApp/HaruDanim/IOS/Views/HelpView.swift +++ b/myApp/HaruDanim/IOS/Views/HelpView.swift @@ -221,7 +221,7 @@ struct HelpView: View { HelpTopic( symbol: "chart.bar.fill", title: "진행률 읽는 법", - body: "다짐마다 하루·주간·월간 진행률이 표시돼요. 주간·월간 진행률은 하루 초과 달성이 다른 날의 미달을 가리지 않도록 하루 목표량까지만 인정해 합산하고, 요일·날짜를 정한 다짐은 수행일의 기록만 집계해요 — 수행일이 아닌 날의 '하루' 진행률은 '수행일 아님'으로 표시돼요. 다짐 자신의 주기(하루 다짐의 '하루' 등)에서는 100%를 넘는 초과 달성이 그대로 표시되지만, 주간 다짐의 '하루'처럼 주기와 다른 기간은 목표를 그 기간 몫으로 나눈 페이스 기준이라 최대 100%까지만 표시돼요. '이하 유지' 다짐은 한도 안이면 100%, 넘으면 0%예요 — 주간·월간 한도 다짐의 '하루'는 하루 몫 한도 기준이라, 주간 한도가 남았어도 오늘 많이 쓰면 먼저 알려주는 경고 역할을 해요.", + body: "다짐마다 하루·주간·월간 진행률이 표시돼요. 주간·월간 진행률은 하루 초과 달성이 다른 날의 미달을 가리지 않도록 하루 목표량까지만 인정해 합산하고, 요일·날짜를 정한 다짐은 수행일의 기록만 집계해요 — 수행일이 아닌 날의 '하루' 진행률은 '수행일 아님'으로 표시돼요. 주간·월간 다짐이 이번 주(이번 달) 몫을 이미 채웠다면 '하루' 진행률은 0% 대신 '이번 주 달성'·'이번 달 달성'으로 표시되고 목표의 하루 진행률에도 달성으로 반영돼요 — 오늘은 더 하지 않아도 된다는 뜻이에요. 다짐 자신의 주기(하루 다짐의 '하루' 등)에서는 100%를 넘는 초과 달성이 그대로 표시되지만, 주간 다짐의 '하루'처럼 주기와 다른 기간은 목표를 그 기간 몫으로 나눈 페이스 기준이라 최대 100%까지만 표시돼요. '이하 유지' 다짐은 한도 안이면 100%, 넘으면 0%예요 — 주간·월간 한도 다짐의 '하루'는 하루 몫 한도 기준이라, 주간 한도가 남았어도 오늘 많이 쓰면 먼저 알려주는 경고 역할을 해요.", imageName: "help-goal" ), HelpTopic( diff --git a/myApp/HaruDanim/IOS/Views/MainView.swift b/myApp/HaruDanim/IOS/Views/MainView.swift index 4bcad8a..81c3dad 100644 --- a/myApp/HaruDanim/IOS/Views/MainView.swift +++ b/myApp/HaruDanim/IOS/Views/MainView.swift @@ -821,14 +821,19 @@ struct GoalSummaryCard: View { ForEach(StatSpan.allCases) { span in // 오늘이 수행일이 아니면 하루 게이지는 수치 대신 상태 표기 (목표 탭 행과 동일 규칙) let restDay = span == .day && !progress.isScheduled(on: .now) + // 주기 몫을 이미 채운 주/월 다짐은 하루 0% 대신 완료 상태 (§4.2 주기 몫 완료) + let fulfilled = span == .day && !restDay && progress.isPeriodFulfilled() let result = progress.spanProgress(span) let over = !restDay && quest.direction == .atMost && result.value > result.target miniGauge( label: span.label, - ratio: restDay ? 0 : result.ratio, - percentText: restDay ? String(localized: "수행일 아님") : Format.percent(result.displayRatio), + ratio: restDay ? 0 : (fulfilled ? 1 : result.ratio), + percentText: restDay + ? String(localized: "수행일 아님") + : (fulfilled ? progress.periodFulfilledLabel : Format.percent(result.displayRatio)), color: over ? .red : quest.targetColor, - emphasized: over + emphasized: over, + showsCheck: fulfilled ) } } @@ -861,7 +866,8 @@ struct GoalSummaryCard: View { ratio: Double, percentText: String, color: Color, - emphasized: Bool + emphasized: Bool, + showsCheck: Bool = false ) -> some View { VStack(alignment: .leading, spacing: 2) { Text(label) @@ -869,9 +875,16 @@ struct GoalSummaryCard: View { .foregroundStyle(.secondary) ProgressView(value: min(max(ratio, 0), 1)) .tint(color) - Text(percentText) - .font(.caption2.weight(.semibold).monospacedDigit()) - .foregroundStyle(emphasized ? .red : .secondary) + HStack(spacing: 3) { + if showsCheck { + Image(systemName: "checkmark.circle.fill") + .font(.caption2) + .foregroundStyle(AppTheme.green) + } + Text(percentText) + .font(.caption2.weight(.semibold).monospacedDigit()) + .foregroundStyle(emphasized ? .red : .secondary) + } } .frame(maxWidth: .infinity) } diff --git a/myApp/HaruDanim/Shared/HaruDanimIntents.swift b/myApp/HaruDanim/Shared/HaruDanimIntents.swift index 04fec2e..327501d 100644 --- a/myApp/HaruDanim/Shared/HaruDanimIntents.swift +++ b/myApp/HaruDanim/Shared/HaruDanimIntents.swift @@ -684,6 +684,15 @@ struct QuestProgressIntent: AppIntent { dialog: "'\(quest.goalTitle) · \(model.targetName)' 오늘은 수행일이 아니에요." ) } + // 주기 몫을 이미 채운 주/월 다짐(§4.2) — "하루 0%" 단정 대신 완료 상태로 응답 + if span.statSpan == .day, progress.isPeriodFulfilled() { + return .result( + value: 100, + dialog: model.period == .monthly + ? "'\(quest.goalTitle) · \(model.targetName)' 이번 달 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." + : "'\(quest.goalTitle) · \(model.targetName)' 이번 주 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." + ) + } let result = progress.spanProgress(span.statSpan) let percent = (result.displayRatio * 100).rounded() let detail: String diff --git a/myApp/HaruDanim/Shared/QuestProgress.swift b/myApp/HaruDanim/Shared/QuestProgress.swift index 0d1a0ee..4760622 100644 --- a/myApp/HaruDanim/Shared/QuestProgress.swift +++ b/myApp/HaruDanim/Shared/QuestProgress.swift @@ -291,6 +291,33 @@ struct QuestProgress { return sum } + // MARK: 주기 몫 완료 상태 (§4.2) + + /// 주간/월간 '이상 달성' 다짐이 기준 시점의 주기 몫을 이미 채웠는지. + /// 하루 게이지의 "이번 주/달 달성" 상태 표기(목표 탭 행·모음 카드·위젯 ②③·시리)와 + /// 목표 하루 평균(combinedSpanRatio)이 공유하는 단일 판정. + /// 표시 전용 — spanProgress 수치·판정(judgment)·연속(streak)에는 관여하지 않는다. + /// 값은 기준일의 논리적 하루 끝까지로 제한한다 — 일기의 과거 날짜 조회에서 그날 이후에 + /// 채운 기록이 소급해 '달성'으로 보이지 않게 하기 위함 (오늘 조회는 오늘 기록이 전부 + /// 포함되므로 동작 차이 없음. 미래 날짜로 선입력한 기록만 그날이 오기 전까지 제외되는데, + /// 이는 연속 계산의 "now까지만 집계"와 같은 방향의 의도된 동작). + /// 하루 다짐(그날이 곧 주기)·특정 기간(반복 없음)·'이하 유지'(빈 날이 이미 100%)는 비대상. + func isPeriodFulfilled(asOf now: Date = .now) -> Bool { + guard quest.direction == .atLeast, quest.targetValue > 0 else { return false } + switch quest.period { + case .daily, .custom: return false + case .weekly, .monthly: break + } + guard let range = currentPeriodRange(now: now) else { return false } + let clipped = range.lowerBound..= quest.targetValue + } + + /// 주기 몫 완료 상태의 표시 문구 — isPeriodFulfilled가 true일 때만 의미 있음 + var periodFulfilledLabel: String { + quest.period == .monthly ? String(localized: "이번 달 달성") : String(localized: "이번 주 달성") + } + /// 주기 목표량을 span 길이에 맞춰 환산 private func scaledTarget(for span: StatSpan, range: Range, now: Date) -> Double { let target = quest.targetValue @@ -496,8 +523,14 @@ extension Goal { : quests // 오늘 수행할 다짐이 하나도 없는 날은 0%가 아니라 완료 상태(100%)로 표기 guard !counted.isEmpty else { return 1 } - let sum = counted.reduce(0.0) { - $0 + QuestProgress(quest: $1, math: math).spanProgress(span, now: now).ratio + let sum = counted.reduce(0.0) { partial, quest in + let progress = QuestProgress(quest: quest, math: math) + // 주기 몫을 이미 채운 주/월 다짐은 오늘 요구량이 없으므로 하루 평균에 달성(1.0)로 반영 — + // 다짐 행의 "이번 주/달 달성" 상태 표기와 짝을 이루는 규칙 (§4.2 주기 몫 완료) + if span == .day, progress.isPeriodFulfilled(asOf: now) { + return partial + 1 + } + return partial + progress.spanProgress(span, now: now).ratio } return sum / Double(counted.count) } diff --git a/myApp/HaruDanim/Widgets/GoalWidgets.swift b/myApp/HaruDanim/Widgets/GoalWidgets.swift index c173d27..69d787e 100644 --- a/myApp/HaruDanim/Widgets/GoalWidgets.swift +++ b/myApp/HaruDanim/Widgets/GoalWidgets.swift @@ -190,6 +190,12 @@ struct QuestBarRow: View { .font(.system(size: 9, weight: .semibold)) .foregroundStyle(.tertiary) .frame(width: 34, alignment: .trailing) + } else if quest.periodFulfilledLabel != nil { + // 주기 몫 완료(§4.2) — 좁은 퍼센트 칸이라 문구 대신 체크, 바는 승격으로 가득 + Image(systemName: "checkmark.circle.fill") + .font(.system(size: 9, weight: .semibold)) + .foregroundStyle(AppTheme.green) + .frame(width: 34, alignment: .trailing) } else if let streak = quest.streakLabel { VStack(alignment: .trailing, spacing: 0) { Text(Format.percent(quest.displayRatio)) diff --git a/myApp/HaruDanim/Widgets/Localizable.xcstrings b/myApp/HaruDanim/Widgets/Localizable.xcstrings index f256427..e5cdc19 100644 --- a/myApp/HaruDanim/Widgets/Localizable.xcstrings +++ b/myApp/HaruDanim/Widgets/Localizable.xcstrings @@ -550,6 +550,50 @@ } } }, + "'%@ · %@' 이번 달 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@ · %2$@' 이번 달 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%1$@ · %2$@' has already met this month's target. Nothing more needed today." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%1$@ · %2$@」は今月の分をすでに達成しています。今日はやらなくても大丈夫です。" + } + } + } + }, + "'%@ · %@' 이번 주 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." : { + "localizations" : { + "ko" : { + "stringUnit" : { + "state" : "new", + "value" : "'%1$@ · %2$@' 이번 주 몫은 이미 채웠어요. 오늘은 더 하지 않아도 돼요." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "'%1$@ · %2$@' has already met this week's target. Nothing more needed today." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "「%1$@ · %2$@」は今週の分をすでに達成しています。今日はやらなくても大丈夫です。" + } + } + } + }, "'%@' %@ 진행률은 %lld%%예요." : { "localizations" : { "en" : { @@ -2448,6 +2492,22 @@ } } }, + "이번 달 달성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Done this month" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今月分達成" + } + } + } + }, "이번 주" : { "localizations" : { "en" : { @@ -2480,6 +2540,22 @@ } } }, + "이번 주 달성" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Done this week" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今週分達成" + } + } + } + }, "이상 달성" : { "localizations" : { "en" : { @@ -3589,4 +3665,4 @@ } }, "version" : "1.0" -} +} \ No newline at end of file diff --git a/myApp/HaruDanim/Widgets/QuestRingWidget.swift b/myApp/HaruDanim/Widgets/QuestRingWidget.swift index 5abee12..78e74db 100644 --- a/myApp/HaruDanim/Widgets/QuestRingWidget.swift +++ b/myApp/HaruDanim/Widgets/QuestRingWidget.swift @@ -169,6 +169,8 @@ struct QuestRingActionCellView: View { private var percentText: String { // 오늘이 수행일이 아니면(하루 span 전용 상태) 퍼센트 대신 상태 문구 if cell.isRestDay { return String(localized: "수행일 아님") } + // 주기 몫 완료(§4.2) — "이번 주 달성" 등. 링은 스냅숏 승격으로 이미 가득 + if let fulfilled = cell.periodFulfilledLabel { return fulfilled } if cell.isAtMost { return cell.isAchieved ? String(localized: "\(spanLabel) 한도 지킴") diff --git a/myApp/HaruDanim/Widgets/WidgetSupport.swift b/myApp/HaruDanim/Widgets/WidgetSupport.swift index db5f9d6..d4e8a7b 100644 --- a/myApp/HaruDanim/Widgets/WidgetSupport.swift +++ b/myApp/HaruDanim/Widgets/WidgetSupport.swift @@ -93,6 +93,10 @@ struct QuestCellSnapshot: Identifiable { /// 하루 span인데 오늘이 수행일이 아님(요일·날짜 다짐의 쉬는 날, 기간 밖) — /// 링·게이지는 0으로 비우고 퍼센트 대신 '수행일 아님'을 표기한다 (③ 문구, ②·④는 흐림) let isRestDay: Bool + /// 주기 몫 완료 상태(§4.2) — 주/월 다짐이 이번 주기 몫을 이미 채웠을 때의 표시 문구 + /// ("이번 주 달성" 등). 하루 span 전용, 해당 없으면 nil. 이 상태면 ratio·displayRatio는 + /// 1로 승격돼 링·바가 가득 찬다 (③은 퍼센트 대신 이 문구, ②는 체크 표시). + var periodFulfilledLabel: String? = nil /// 실행 버튼 대상 (단일 행동 대상 다짐만) let runTarget: ActionEntity? let isRunning: Bool @@ -112,6 +116,9 @@ struct QuestCellSnapshot: Identifiable { // 하루 span인데 오늘이 수행일이 아니면 수치 대신 상태를 보여 준다 — // 쉬는 날의 기록으로 링이 차 있으면 "오늘 채웠다"는 오해를 유발 (주/월 집계에도 안 잡히는 값) let isRestDay = span == .day && !progress.isScheduled(on: now) + // 주기 몫을 이미 채운 주/월 다짐의 하루 셀은 0% 대신 완료 상태 — 링·바를 가득 채우고 + // 퍼센트 자리는 문구/체크로 대체 (§4.2 주기 몫 완료, 목표 탭 행과 동일 규칙) + let fulfilled = span == .day && !isRestDay && progress.isPeriodFulfilled(asOf: now) let result = isRestDay ? QuestProgressResult(value: 0, target: quest.targetValue, direction: quest.direction) : progress.spanProgress(span, now: now) @@ -132,11 +139,12 @@ struct QuestCellSnapshot: Identifiable { symbolName: quest.targetSymbol, colorHex: action?.tags.sorted { $0.createdAt < $1.createdAt }.first?.colorHex ?? quest.targetTag?.colorHex ?? "#2F6B4F", - ratio: isRestDay ? 0 : result.ratio, - displayRatio: isRestDay ? 0 : result.displayRatio, + ratio: isRestDay ? 0 : (fulfilled ? 1 : result.ratio), + displayRatio: isRestDay ? 0 : (fulfilled ? 1 : result.displayRatio), isAtMost: quest.direction == .atMost, - isAchieved: isRestDay ? false : result.isAchieved, + isAchieved: isRestDay ? false : (fulfilled || result.isAchieved), isRestDay: isRestDay, + periodFulfilledLabel: fulfilled ? progress.periodFulfilledLabel : nil, runTarget: action.map(ActionEntity.init), isRunning: action?.isRunning ?? false, streakLabel: (streak?.count ?? 0) > 0 ? streak?.label : nil,