[미밴드 8Pro/MiBand 8Pro] 한글 패치 수정
MiBand 8 Pro 한글 패치 강화
선행 작업자 분들 덕분에 중국 내수용-제품도 어렵지 않게 한글을 사용할 수 있게 되었다. 이 글에서는 번역에서 누락 되었거나 아쉬운 번역을 수정 및 반영하는 내용을 다루고자 한다. 이 글은 샤오미 미밴드 8 Pro 내수용 버전을 바탕으로 하고 있다. (Xiaomi MiBand 8 Pro)
- 펌웨어 1.4.103 기준
- 네이버 카페 “치유의거장”님 자료 기반
다운로드
- Install_KR.V040328: 한글을 포함하고 있는 워치페이스
- PoEdit : 한글 번역 파일 (po)를 수정할 수 있는 에디터
- unpack : 워치페이스 파일 추출 프로그램
- EasyFace_Gen2 : 워치페이스 병합 프로그
한글 파일 추출
다운받은 Install_KOR.V040328.zip와 EasyFace_Gen2를 특정 폴더에 압축을 풀고 워치페이스 파일을 추출한다. Install_KR.V040328.face 파일을 unpack.exe 에 드래그&드롭 하면 워치페이스와 같은 이름의 폴더가 생성된다.
“..\Install_KR.V040328\app\lua”로 폴더를 이용하면 messages_ko_KR.mo 파일이 보인다. PoEdit를 사용해 수정 가능한 형태의 .po 로 변경해야 한다. PoEdit를 실행해 언어 파일을 추출한다. 이를 위해서는 PoEdit의 폴더를 확인해야 한다. 일반적으로 Program Files (x86) 하위에 설치된다.
명령 프롬포트로 위 폴더로 이동한 다음 다음과 같이 입력하면 .po 가 생성된 것을 확인할 수 있다.
- “C:\Program Files (x86)\Poedit\GettextTools\bin\msgunfmt.exe” messages_ko_KR.mo -o messages_ko_KR.po
po 파일은 plain text 파일이기 때문에 텍스트 에디터로 수정할 수 있다. 구조는 msgid와 msgstr로 구분되어 있는데, msgid 는 프로그램에서 호출하는 id 이고 이에 따른 메시지를 반환하는 구조다. 누락된 ID를 추가하거나, 이미 번역된 내용을 수정할 수 있다.
메시지 추가 및 수정
펌웨어 업데이트에 따라 새로운 기능이 추가되면 신규 메시지ID 등장하게 된다. 메시지 ID를 찾는 건 어렵지 않다. 화면을 유심히 보고 글자가 아닌 이상한 문자로 보이는 부분들을 찾아내면 된다.
예)
- 누락된 ID : cnt/min.common
- 누락된 ID 용도 : BPM
- 아래와 같이 추가
msgid “cnt/min.common”
msgstr “BPM”
수정 결과
이와 같은 방식으로 누락된 메시지를 찾거나 수정하면 된다.
추가 (누락분)
msgid "today.common" msgstr "오늘" msgid "tomorrow.common" msgstr "내일" msgid "cnt/min.common" msgstr "BPM" msgid "allday_m36.calendar" msgstr "오늘하루동안" msgid "pm.common" msgstr "오후" msgid "am.common" msgstr "오전" msgid "yesterday.commonam" msgstr "어제 오전" msgid "yesterday.commonpm" msgstr "어제 오후" msgid "full_min.hr" msgstr " BPM"
수정
msgid "close.todo" msgstr "닫기"
수정이 완료 되었다면 po 파일을 mo 로 변경해야 한다.
- “C:\Program Files (x86)\Poedit\GettextTools\bin\msgfmt.exe” messages_ko_KR.po -o messages_ko_KR.mo
워치페이스 파일 병합
수정된 mo 파일을 포함한 워치페이스 파일을 만들어야한다. 앞서 같은 폴더에 압축을 풀었던 EasyFace_Gen2에서 추출된 EasyFace_en를 사용하자. File > Open Project를 이용해 파일을 열고 컴파일만 하면 끝이다.
이제 생성된 워치페이스 파일을 MiBand 8 Pro에 업로드만 하면 끝! 위 내용대로 수정된 워치페이스 파일은 다음과 같다. 가장 최근 버전을 받으면 된다.
msgid "%2d_target_hour.sleep" msgid_plural "%2d_target_hours.sleep" msgstr[0] "목표 수면: %2d 시간" msgstr[1] "목표 수면: %2d 시간" msgid "%2d_target_hours.sleep" msgstr "목표 수면: %2d 시간" msgid "%d%d_target_time.sleep" msgstr "목표: %d시간 %d분"
msgid "%d_min_sec.sleep" msgstr "%d 분" msgid "%dcnt/min.common" msgstr "%d BPM" msgid "%dfull_hour.common" msgstr "%d 시간" msgid "%dfull_hour.hr" msgstr "%d 시간" msgid "%dfull_min.common" msgstr "%d 분" msgid "%dfull_min.hr" msgstr "%d 분" msgid "%dhour.common" msgstr "%d 시간" msgid "%dmin.common" msgstr "%d 분" msgid "%dsec.common" msgstr "%d 초" msgid "%dtime_num.slep" msgstr "%d 회" msgid "%02d%02d_update_am_time.sleep" msgstr "오전 %1$02d시 %2$02d분" msgid "%02d%02d_update_pm_time.sleep" msgstr "오후 %1$02d시 %2$02d분" msgid "%02d%02d_update_time.sleep" msgstr "%1$02d:%2$02d 업데이트" msgid "%02d:%02d_update.health" msgstr "%1$02d:%2$02d 업데이트" msgid "%02d:%02d_update.pressure" msgstr "%02d:%02d 업데이트" msgid "ignore.notify" msgstr "닫기" msgid "update_time.weather" msgstr "업데이트"
msgid "issue.nfc" msgstr "NFC 등록중"
- miband8pro.v240430.R2
msgid "workday.common" msgstr "평일" msgid "wechat.common" msgstr "WeChat" msgid "watchmode.settings" msgstr "모델" msgid "voice_mode.share" msgstr "보이스 모드" msgid "unknown_song.media" msgstr "제목없음" msgid "unknown_status.media" msgstr "노래 데이터 없음" msgid "unit_mph.sport" msgstr "MPH" msgid "uncompleted32.todo" msgstr "완료되지 않음" msgid "turnoff.todo" msgstr "끄기" msgid "try_again_later.wxpay" msgstr "나중에 다시 시도하세요" msgid "transport.share" msgstr "Transparency" msgid "tools.common" msgstr "도구" msgid "toq.alipay" msgstr "QR 코드" msgid "today_t.common" msgstr "오늘" msgid "today_d.common" msgstr "오늘" msgid "tob.alipay" msgstr "바코드" msgid "sys_reset_info.common" msgstr "공장초기화는 모든 데이터를 삭제합니다. 계속하시겠습니까?" msgid "sys_reset.common" msgstr "초기화" msgid "sys_reboot_info.common" msgstr "지금 재부팅하시겠습니까?" msgid "sys_reboot.common" msgstr "지금 재부팅하시겠습니까?" msgid "sys_poweroff.common" msgstr "전원 끄기" msgid "stop.common" msgstr "중지" msgid "step" msgstr "걸음" msgid "weather_title.alexa" msgstr "weather_title.alexa" msgid "switch.share" msgstr "switch.share" msgid "%1$s_ampm_%2$s_time_combine.common" msgstr "%1$s%2$s" msgid "start.common" msgstr "시작" msgid "stand" msgstr "스탠딩" msgid "sport_health.watchface" msgstr "운동 건강" msgid "sn.common" msgstr "일련번호" msgid "select_device.share" msgstr "기기" msgid "sec.common" msgstr "초" msgid "searching.common" msgstr "검색 중..." msgid "resume.common" msgstr "계속" msgid "%d%d_time_sec.sleep" msgstr "%d시간 %d분" msgid "%d_hour_sec.sleep" msgstr "%d 시간" msgid "%d%2d_12AMend.calendar" msgstr "종료: %1$d:%2$02d 오전" msgid "%d%2d_12PMend.calendar" msgstr "종료: %1$d:%2$02d 오후" msgid "%d%2d_24end.calendar" msgstr "종료: %1$d:%2$02d" msgid "%02d:%02dAMexit_sleep_mode.reminder" msgstr "슬립모드 꺼짐: %02d:%02d 오전" msgid "%02d:%02dPMexit_sleep_mode.reminder" msgstr "슬립모드 꺼짐: %02d:%02d 오후" msgid "i_know.common" msgstr "내가 알기로는" msgid "input.settings" msgstr "입력" msgid "intensity" msgstr "고중강도" msgid "issue.nfc" msgstr "잠시만 기다려주세요..."
- [24-04-29] miband8pro.v240429
초기버전
- [24-04-28] miband8pro.v240428
작성자분도 알람이 오면 아래 내용이 잘 번역되서 나오나요..?
msgid “ignore.notify”
msgstr “닫기”
저는 여전히 ignore.notify 로만 나옵니다 ㅠ
가장 마지막 파일을 받아 업데이트 해 보세요. 이번에 하이퍼os 로 업데이트 하고 재시도 해 봤는데 문제가 되는 부분은 없습니다. 😀
이번에 미밴드8 프로 업데이트 되서
miband8pro.v240501 파일로 해보려고 하는데 에러나네요.