JSRF-kr-patch v0.0.14
issue #26과 #25의 결과입니다. 이벤트 자막이 영어 음성과 같은 때에 바뀌고 끝납니다. 영어 모드로 바꾼 v0.0.12부터 이벤트 자막이 일본어판의 시간 값을 써서, 대사보다 먼저 끝나거나 화면과 어긋났습니다. 이제 영어판의 페이지 수와 시간 값을 쓰고, 한국어 자막을 영어 페이지 수에 맞춰 자동으로 다시 나눕니다. 소개 페이지의 기능 소개도 쉬운 말로 바꿨습니다.
해결된 issue
| issue |
내용 |
커밋 |
| #26 |
영어 모드 이벤트 자막 타이밍: 영어 구간의 시간 값 쓰기 |
edd3322, 03b728c, 2714d1a |
| #25 |
소개 페이지 기능 카드 문구를 쉽게 |
04f9337 |
바뀐 것
- 자막 시간(설계 i026): 이벤트의 영어 자리(언어 1)가 영어판의 페이지 수·페이지별 시간·시작 지연을 그대로 쓴다. 페이지 수가 같은 메시지 77개는 한국어 페이지를 그대로, 다른 62개는
tools/jsrfkr/resplit.py가 한국어를 영어 페이지 수로 다시 나눈다(문장 끝·쉼표·연결 어미·조사 뒤를 우선, 영어 글자 비율을 목표로, 자막 창 한도 안). 번역 파일은 그대로다. 거리 대화는 이전과 같다.
- 검사 도구
tools/check_timing.py: 모든 이벤트 메시지의 시간 값, 낱말 보존, 창 한도를 계산으로 확인한다. --review는 영어·한국어 페이지를 나란히 work/에 쓴다. check_english.py도 새 규칙으로.
- 분석: message-script §5(언어마다 다른 시간 값). 가이드: text-pipeline §3.2, translation.md.
- 소개 페이지: 기능 카드 6개를 기술 용어 없이 짧게.
확인한 것
| 구성 |
확인 |
| 단위 시험 |
88개 통과(새 15개) |
| 자막 시간(계산) |
이벤트 메시지 139개 모두 영어 시간 값, 낱말 보존, 창 한도 안(문제 0). 다시 나눈 곳 248개 중 문장 끝 142, 절 끝 74, 조사 뒤 22, 그 밖 10 |
| 왕복·영어 자리 |
check_reinsert.py, check_roundtrip.py, check_english.py 통과 |
| 재현성 |
같은 입력이면 같은 출력. default.xbe는 v0.0.13과 같다(98c624a9…) |
| 화면 |
하지 않음(사용자 결정: 계산으로 검증, 플레이 확인은 나중에) |
| 게임 데이터 |
git status에 roms/, work/, out/가 보이지 않음 |
| 사용자 |
안 2(계산) 결정, 머지 승인 |
JSRF-kr-patch v0.0.14
The results of issues #26 and #25. Cutscene subtitles now change and end with the English voice. Since English mode (v0.0.12) the event subtitles used the Japanese version's timing, so they ended before the line or drifted from the picture. Now the English version's page count and timing are used, and the Korean subtitles are re-split automatically into the English page count. The introduction page's feature cards are in plain words too.
Resolved issues
| Issue |
Content |
Commits |
| #26 |
English-mode cutscene subtitle timing: use the English block's timing |
edd3322, 03b728c, 2714d1a |
| #25 |
Plain wording for the introduction page's feature cards |
04f9337 |
Changes
- Subtitle timing (design i026): the English place (language 1) of each event keeps the English page count, per-page times and start delay. The 77 messages with the same page count keep the Korean pages; for the other 62,
tools/jsrfkr/resplit.py re-splits the Korean into the English page count (preferring sentence ends, commas, connective endings and particles, aiming at the English letter shares, within the subtitle window). The translation files are unchanged; talk events are as before.
- Check tool
tools/check_timing.py: computes timing values, word preservation and window limits for every event message; --review writes the English and Korean pages side by side to work/. check_english.py follows the new rule.
- Analysis: message-script §5 (timing values differ by language). Guides: text-pipeline §3.2, translation.md.
- Introduction page: the six feature cards, short and without jargon.
Checks
| Area |
Check |
| Unit tests |
88 pass (15 new) |
| Subtitle timing (computed) |
all 139 event messages: English timing, words kept, within the window (0 problems); of 248 re-split breaks, 142 at sentence ends, 74 at clause ends, 22 after particles, 10 other |
| Round trips, English places |
check_reinsert.py, check_roundtrip.py, check_english.py pass |
| Reproducibility |
same input, same output; default.xbe equals v0.0.13 (98c624a9…) |
| Screen |
not done (the user's decision: verify by calculation, play-test later) |
| Game data |
git status shows no roms/, work/, out/ |
| User |
chose option 2 (by calculation), approved the merge |