feat: localize interview questions (ko/en), send X-Lang header

This commit is contained in:
user
2026-04-27 21:00:57 +09:00
parent e9a58173b4
commit 592b6b1254
6 changed files with 71 additions and 11 deletions

View File

@@ -89,6 +89,7 @@ els.sessionForm.addEventListener("submit", async (event) => {
.map((item) => item.trim())
.filter(Boolean),
interview_timeline: value("#timeline"),
lang: localStorage.getItem("tutor_lang") || document.documentElement.lang || "ko",
};
try {
@@ -216,7 +217,7 @@ function renderSession() {
"aria-pressed",
String(state.selectedQuestion?.id === question.id)
);
button.innerHTML = `<span class="question-id">${escapeHTML(question.id)}</span>${escapeHTML(question.prompt)}`;
button.innerHTML = `<span class="question-id">${escapeHTML(question.id)}</span>${escapeHTML(tq(question.id) || question.prompt)}`;
button.addEventListener("click", () => {
state.selectedQuestion = question;
els.answerText.value = "";
@@ -465,7 +466,8 @@ els.logoutButton.addEventListener("click", () => {
async function request(url, options = {}) {
const token = localStorage.getItem("tutor_token");
const headers = { "Content-Type": "application/json" };
const lang = localStorage.getItem("tutor_lang") || document.documentElement.lang || "ko";
const headers = { "Content-Type": "application/json", "X-Lang": lang };
if (token) headers["Authorization"] = `Bearer ${token}`;
const response = await fetch(url, { headers, ...options });
const body = await response.json();