feat(locale): Phase 3 — 전수 sweep, 노인 사용자 기준 영어 잔여 텍스트 한글화

이전 Phase 2 에서 'already English-only' 라며 skip 했던 화면들 — 노인 사용자에게는 영어로
보이면 안 됨. 전체 다시 훑어 모든 user-visible 영어 hardcoded text 를 strings.xml 로 추출.

11 파일 수정:
- MainActivity (Exit dialog)
- HomeView (Smart Bladder Monitoring / Start / Connected / Clinical Mode / dev toast)
- OnboardingView (Welcome, Get Started 등)
- CalibrationView (모든 status + Retry/Skip/Continue)
- SensorSelectView (title, descriptions)
- ShuffledKeypad (Delete contentDescription)
- MeasurementHistoryView (title, tabs, empty state, Today/Yesterday)
- VivamyoMonitoringView (전체 status)
- PiezoMonitoringView (사용자 영역 — Auto/Single Scan, Voiding/Catheterization, 측정 카드, dialog 등)
- PlacementGuideView (V1 hints, Step indicator, Start/Skip/Complete Alignment, In position/Position lost)

추출 strings: ~170 (각 언어). strings.xml 194 → 365 라인.

skip 유지:
- ClinicalHomeView / ClinicalLiveView (R&D dev mode)
- PiezoMonitoring dev panel sliders (3-tap 활성화 dev 도구)
- PlacementGuide dev settings overlay + Echo Waveforms (isDevMode gated)
- BLE Debug Log / Scan Log dialog (dev 전용)
- 브랜드명 (VesiScan-Basic, Vivamyo, Bladdy)
- DEMO 배지, IMU debug 문자열, Log.d / debugLogger 출력

Korean coverage: ~95% (일반 사용자가 절대 보지 않는 dev surface 만 영어 유지).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-29 09:17:23 +09:00
parent 2cf4f4db2f
commit 59d4ac0e81
12 changed files with 587 additions and 200 deletions
+171
View File
@@ -191,4 +191,175 @@
<string name="align_left">← 왼쪽으로 살짝</string>
<string name="align_right">→ 오른쪽으로 살짝</string>
<string name="align_probe_lr">↔ 좌우로 천천히 움직여 보세요</string>
<!-- Exit Dialog -->
<string name="exit_app_title">앱 종료</string>
<string name="exit_app_message">앱을 종료하시겠습니까?</string>
<string name="exit_app_confirm">종료</string>
<!-- Home View -->
<string name="home_subtitle">스마트 방광 모니터링</string>
<string name="home_start">시작</string>
<string name="home_connected_resume">● 연결됨 — 시작을 눌러 이어서 진행하세요</string>
<string name="home_clinical_mode_dev">임상 모드 (개발자)</string>
<string name="home_dev_mode_on">개발자 모드 켜짐</string>
<string name="home_dev_mode_off">개발자 모드 꺼짐</string>
<string name="home_language_icon_desc">언어</string>
<!-- Onboarding -->
<string name="onboarding_welcome">VesiScan-Basic 에 오신 것을 환영합니다</string>
<string name="onboarding_subtitle">더 나은 삶의 질을 위한\n스마트 방광 모니터링</string>
<string name="onboarding_get_started">시작하기</string>
<!-- PIN View -->
<string name="pin_setup">PIN 설정</string>
<string name="pin_setup_reenter">PIN 재입력</string>
<string name="pin_enter">PIN 입력</string>
<string name="pin_mismatch">PIN 이 일치하지 않습니다. 다시 시도해주세요.</string>
<string name="pin_incorrect">잘못된 PIN 입니다</string>
<string name="pin_delete">지우기</string>
<!-- Sensor Select -->
<string name="sensor_select_title">센서 선택</string>
<string name="sensor_select_subtitle">측정 방식을 선택하세요</string>
<string name="sensor_nirs_desc">근적외선 분광법\n조직 산소화 모니터링</string>
<string name="sensor_piezo_desc">초음파 에코\n방광 용량 측정</string>
<!-- Calibration -->
<string name="calibration_initializing">초기화 중…</string>
<string name="calibration_complete_status">NIRS 보정 완료</string>
<string name="calibration_no_response">기기 응답이 없습니다. 기기가 켜져 있고 가까이 있는지 확인해주세요.</string>
<string name="calibration_powering_on">NIRS 센서 켜는 중…</string>
<string name="calibration_activating">센서 활성화 중…</string>
<string name="calibration_reading_gain">보정값 읽는 중…</string>
<string name="calibration_failed">보정 실패</string>
<string name="calibration_complete">보정 완료</string>
<string name="calibration_in_progress">NIRS 보정 중…</string>
<string name="calibration_skip">건너뛰기</string>
<string name="calibration_continue">계속</string>
<!-- Measurement History -->
<string name="history_title">기록</string>
<string name="history_records_count">기록 %d건</string>
<string name="history_tab_history">기록</string>
<string name="history_tab_trends">추이</string>
<string name="history_no_measurements">측정 기록이 없습니다</string>
<string name="history_tap_spot_hint">단일 측정을 눌러 시작하세요</string>
<string name="history_chart_bladder_level">방광 레벨</string>
<string name="history_chart_estimated_volume">추정 용량</string>
<string name="history_catheterization_log">도뇨 기록</string>
<string name="history_at_level">레벨 %d 에서</string>
<string name="history_no_data">측정 데이터가 없습니다</string>
<string name="history_pinch_hint">두 손가락으로 확대 • 점을 누르면 상세 정보</string>
<string name="history_catheterization">도뇨</string>
<string name="history_measurement">측정</string>
<string name="history_yesterday">어제</string>
<string name="history_today">오늘</string>
<!-- Vivamyo (NIRS Monitoring) -->
<string name="vivamyo_title">Vivamyo</string>
<string name="vivamyo_subtitle">NIRS 모니터링</string>
<string name="vivamyo_clear_title">모든 데이터를 지우시겠습니까?</string>
<string name="vivamyo_clear_message">수집된 NIRS 데이터가 영구적으로 삭제됩니다.</string>
<string name="vivamyo_clear_button">데이터 지우기</string>
<string name="vivamyo_status_low">낮음</string>
<string name="vivamyo_status_caution">주의</string>
<string name="vivamyo_status_normal">정상</string>
<string name="vivamyo_status_check">확인 필요</string>
<string name="vivamyo_samples_label">샘플: %d</string>
<string name="vivamyo_window_label">4Hz | 60초 윈도우</string>
<string name="vivamyo_filtered">필터 적용</string>
<string name="vivamyo_no_data">데이터 없음</string>
<string name="vivamyo_clear">지우기</string>
<string name="vivamyo_stop">중지</string>
<string name="vivamyo_start">시작</string>
<string name="vivamyo_home_desc">홈</string>
<!-- Piezo Monitoring -->
<string name="piezo_recorded">기록됨</string>
<string name="piezo_add_catheters_title">카테터 추가</string>
<string name="piezo_add_catheters_message">추가할 카테터 개수를 입력해주세요:</string>
<string name="piezo_add_catheters_count_label">개수</string>
<string name="piezo_add">추가</string>
<string name="piezo_reset_level_title">방광 레벨을 초기화하시겠습니까?</string>
<string name="piezo_reset_level_message">방광 레벨이 0 으로 초기화됩니다. 이 작업은 되돌릴 수 없습니다.</string>
<string name="piezo_catheterize">도뇨</string>
<string name="piezo_quick_save">바로 저장</string>
<string name="piezo_catheter_left">개 남음</string>
<string name="piezo_disconnect">연결 해제</string>
<string name="piezo_disconnect_desc">연결 끊김</string>
<string name="piezo_voiding_catheterization">배뇨 / 도뇨</string>
<string name="piezo_stop_scan">측정 중지</string>
<string name="piezo_auto_scan">자동 측정</string>
<string name="piezo_single_scan">단일 측정</string>
<string name="piezo_current_measurement">현재 측정값</string>
<string name="piezo_realign_title">위치를 놓쳤거나 젤이 부족합니다</string>
<string name="piezo_realign_message">위치가 어긋났거나 젤이 부족할 수 있습니다. 확인해주세요.</string>
<string name="piezo_realign_button">다시 정렬</string>
<string name="piezo_dismiss">닫기</string>
<string name="piezo_delete_pairing_title">페어링 삭제</string>
<string name="piezo_delete_pairing_message">연결을 끊고 페어링을 삭제합니다.</string>
<string name="piezo_posture_lying">누움</string>
<string name="piezo_posture_upright">서있음</string>
<string name="piezo_posture_walking">걷는 중</string>
<string name="piezo_posture_detecting">감지 중</string>
<string name="piezo_home_desc">홈</string>
<string name="piezo_placement_desc">위치 잡기</string>
<string name="piezo_catheter_desc">카테터</string>
<string name="piezo_settings_desc">설정</string>
<!-- Placement Guide -->
<string name="placement_title">센서 정렬</string>
<string name="placement_press_start">VesiScan 을 치골 위에 놓고 시작 버튼을 누르세요</string>
<string name="placement_initial_hint">치골 바로 위에 센서를 위치시켜 주세요</string>
<string name="placement_sweep_initial">배꼽 근처에 센서를 놓고 아래로 내려주세요 ↓</string>
<string name="placement_step_format">단계 %1$d/%2$d</string>
<string name="placement_start_alignment">정렬 시작</string>
<string name="placement_complete_alignment">정렬 완료</string>
<string name="placement_start_scanning">측정 시작</string>
<string name="placement_skip">건너뛰기</string>
<string name="placement_in_position">제 위치입니다!</string>
<string name="placement_position_lost">위치를 놓쳤습니다. 치골 위에서 다시 시작해주세요.</string>
<string name="placement_detached_restart">센서가 분리되었습니다. 치골 위에서 다시 시작해주세요.</string>
<string name="placement_signal_lost">신호를 놓쳤습니다 — 위로 올려주세요 ↑</string>
<string name="placement_sweep_start">배꼽 근처에서 시작해 천천히 아래로 내려주세요 ↓</string>
<string name="placement_too_far">너무 멀어요 — 위로 올려주세요 ↑</string>
<string name="placement_position_ok">위치 좋습니다! 최종 확인 중…</string>
<string name="placement_slide_left">왼쪽으로 이동 ←</string>
<string name="placement_slide_right">오른쪽으로 이동 →</string>
<string name="placement_checking">확인 중</string>
<string name="placement_slide_down_slight">아래로 살짝 내려주세요 ↓</string>
<string name="placement_slide_down">아래로 내려주세요 ↓</string>
<string name="placement_slide_further_down">더 아래로 내려주세요 ↓</string>
<string name="placement_hold_still">잠시 그대로 두세요</string>
<string name="placement_slide_up">위로 올려주세요 ↑</string>
<string name="placement_slide_up_slight">위로 살짝 올려주세요 ↑</string>
<string name="placement_final_check">최종 확인 중…</string>
<string name="placement_move_left">센서를 왼쪽으로 ←</string>
<string name="placement_move_right">센서를 오른쪽으로 →</string>
<string name="placement_try_right">오른쪽으로 이동해보세요 →</string>
<string name="placement_symmetry_ok">대칭이 맞습니다! 최종 확인 중…</string>
<string name="placement_restart_pubic">치골 위에서 다시 시작해주세요</string>
<string name="placement_adjust_multiple">위치를 조정해주세요 — 여러 채널 감지 안 됨</string>
<string name="placement_slide_up_ch3">위로 살짝 올려주세요 ↑ (ch3 감지 안 됨)</string>
<string name="placement_slide_down_ch0">아래로 살짝 내려주세요 ↓ (ch0 감지 안 됨)</string>
<string name="placement_adjust_center">위치를 살짝 조정해주세요 — 중앙 채널 감지 안 됨</string>
<string name="placement_adjust_lr">좌우로 조정해주세요</string>
<string name="placement_optimizing">최적화 중</string>
<string name="placement_back_desc">뒤로</string>
<string name="placement_ready_desc">준비 완료</string>
<string name="placement_body_desc">신체 실루엣</string>
<!-- Piezo Settings -->
<string name="piezo_settings_bladder_capacity">방광 용량</string>
<string name="piezo_settings_catheter_threshold">도뇨 알림 기준</string>
<string name="piezo_settings_auto_scan_interval">자동 측정 간격</string>
<string name="piezo_settings_level_format">레벨 %d</string>
<string name="piezo_settings_unit_sec">초</string>
<string name="piezo_settings_unit_min">분</string>
<string name="piezo_settings_app">앱</string>
<string name="piezo_settings_device">기기</string>
<string name="piezo_settings_firmware">펌웨어</string>
<string name="piezo_logs_charts">기록 및 그래프</string>
<string name="piezo_developer_tools">개발자 도구</string>
</resources>