Actions
오류 #66
완료됨
백대
백대
[DEF-iOS-TGFU-019] 알림 내역에 영문/국문이 혼용으로 표시되는 현상
오류 #66:
[DEF-iOS-TGFU-019] 알림 내역에 영문/국문이 혼용으로 표시되는 현상
시작일:
2026/05/06
완료일:
진척도:
100%
추정시간:
백대 백대선이(가) 20일 전에 변경
분석 결과 — 백엔드 의존 결함으로 별도 처리 필요합니다.
클라이언트 현황:
-
lib/screens/settings/push_history.dart와pushHistoryService.dart가 서버 알림title/body를 가공 없이 그대로 표시 - FCM
RemoteMessage.notification.title과body를 받아 SQLite 에 저장 후 알림 내역 화면에서 그대로 출력
필요한 백엔드 변경:
- 알림 발송 시 사용자 언어 설정 (예:
users.preferred_language) 을 참조하여
title/body를 해당 언어로 발송 - 또는 다국어 키 구조 (예:
notification_type: 'tracker_status',params: {...}) 를 페이로드에 포함해
클라이언트가 locale 매핑
대안 (클라이언트 layer):
- LanguageController 에 영문 알림 키워드 → 한국어 매핑 테이블 추가 (rule-based)
- 단, 알림 종류가 많아 유지보수 부담 큼 → 백엔드 측 처리 권장
현재 status: 보고 유지 (백엔드 협업 대기)
백대 백대선이(가) 20일 전에 변경
백엔드와 옵션 2 (notification_type + params 페이로드) 합의 완료 — 다음 sprint 작업 예정.
합의 내역 (2026-05-07):
- ✅ 옵션 A (Backend i18n): 발송 시점 사용자 언어 기준 다국어 발송 — 이미 ~90% 구현됨 (백엔드 커밋 6f94053)
- ✅ 옵션 2 (notification_type + params): 알림 내역 (
tbl_push_history) 영문 저장 정책 → 페이로드에 type/params 추가하여 클라이언트 i18n 전환
작업 분담:
백엔드 (즉시 — 현 sprint):
-
sos.ts:80, 97, 114FIND ME 영문 하드코딩 픽스 →getTranslatedMessage()통일 - dev 배포 후 커밋 해시 공유
백엔드 (다음 sprint):
-
tbl_push_history스키마 확장 (notificationType String?,params Json?) - N개 발송 코드 수정 (notificationType + params 함께 저장)
-
GET /api/users/push/history응답에 두 필드 추가 - (선택)
GET /api/admin/push-log/:userSeq신설 —tbl_push_notification_log조회 디버깅용
클라이언트 (현 sprint):
- 클라이언트 sync 로직은 100% 구현됨 (추가 작업 불필요)
-
lib/controllers/language_controller.dart가 PUT /api/user/language 호출 시점 모두 처리:- 앱 시작 (첫 실행)
_loadSavedLanguage:110-112 - 앱 시작 (매 실행) idempotent sync
_loadSavedLanguage:115-116 - 사용자 명시 변경
changeLanguage:211
- 앱 시작 (첫 실행)
-
- 4개 언어 회귀 검증 시나리오 준비 (
claudedocs/2026-05-07-def019-final-agreement.md4번 항목)
클라이언트 (다음 sprint):
-
lib/models/pushHistory.dart모델 확장 -
push_history.dart표시 로직:notificationType있으면 locale 키 변환, 없으면 fallback -
assets/languages/*.json4개 파일에pushHistory.<type>.{title,body}키 추가
제안 notificationType 후보 (백엔드 SPEC 작성 시 참조):
trackerBatteryLow, intrusionDetected, theftDetected, findMeReceived, findMeArrived, sosActivated, sosDeactivated, roadlineDeparted, friendRequest, guardianLocationShared, senderConfirmFindme/Theft/Intrusion
다음 액션:
- 백엔드 sos.ts 픽스 dev 배포 → 클라이언트 회귀 검증
- 다음 sprint 시작 전 옵션 2 SPEC 미팅 (디스코드/미팅 일정 협의)
- SPEC 확정 후 양측 동시 작업
본 이슈 status 보고 유지 — 양측 작업 완료 후 개발서버 → 완료 전환 예정.
전체 분석 + 합의 내용은 다음 문서 참조:
-
claudedocs/2026-05-07-def019-backend-i18n-request.md(1차 요청) -
claudedocs/2026-05-07-def019-frontend-reply.md(회신) -
claudedocs/2026-05-07-def019-final-agreement.md(최종 합의)
Actions