피아노 학습 화면을 한국어로 제공한다

화면 문구와 도움말 및 PWA 정보를 별도 한국어 리소스로 구성한다.
This commit is contained in:
이창현
2026-10-03 07:32:36 +09:00
parent 8b6db270f3
commit 7b864afc49
4 changed files with 113 additions and 8 deletions
+5 -5
View File
@@ -1,5 +1,5 @@
<!doctype html>
<html lang="en">
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@@ -7,8 +7,8 @@
'unsafe-inline' for script-src is needed for the error overlay below;
tighten by moving it to a separate .js file if desired. -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: blob:; media-src 'self' blob:; connect-src 'self' https://gleitz.github.io https://danigb.github.io https://smpldsnds.github.io https://goldst.dev; worker-src 'self' blob:; object-src 'none'; base-uri 'self'" />
<title>Bach to Basics</title>
<meta name="description" content="Browser-based piano practice tool. Import MIDI, MusicXML, or PDF sheet music and learn pieces with falling notes, interactive piano, A/B loop, speed trainer, and wait mode." />
<title>Bach to Basics 피아노 학습</title>
<meta name="description" content="MIDI와 MusicXML 악보를 불러와 건반과 내려오는 음표를 보며 연습하는 한국어 피아노 학습 도구" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" type="image/png" href="/favicon-light.png" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
@@ -82,7 +82,7 @@
el.style.display = 'block';
el.textContent = isDev
? 'JS ERROR:\n' + msg + '\n\nFile: ' + src + ':' + line + '\n\n' + (err && err.stack ? err.stack : '')
: 'Something went wrong. Please reload the page.';
: '오류가 발생했습니다. 페이지를 새로고침해 주세요.';
};
window.addEventListener('unhandledrejection', function(e) {
var el = document.getElementById('error-overlay');
@@ -90,7 +90,7 @@
if (isDev) {
el.textContent = (el.textContent || '') + '\n\nUNHANDLED PROMISE:\n' + (e.reason && e.reason.stack ? e.reason.stack : String(e.reason));
} else if (!el.textContent) {
el.textContent = 'Something went wrong. Please reload the page.';
el.textContent = '오류가 발생했습니다. 페이지를 새로고침해 주세요.';
}
});
</script>