diff --git a/frontend/src/LeftoverInteractionMap.tsx b/frontend/src/LeftoverInteractionMap.tsx
index e492325d5..77faeccc4 100644
--- a/frontend/src/LeftoverInteractionMap.tsx
+++ b/frontend/src/LeftoverInteractionMap.tsx
@@ -171,7 +171,7 @@ export function LeftoverInteractionMap({
y2={item.y}
>
- {pair.pair_kind === "farthest" ? "Farthest leftover" : "Closest leftover"}:{" "}
+ {t(pair.pair_kind === "farthest" ? "Farthest leftover" : "Closest leftover")}:{" "}
{person.label} · {item.label}
diff --git a/frontend/src/i18n.test.ts b/frontend/src/i18n.test.ts
index 2a1e16aa2..d29ae230a 100644
--- a/frontend/src/i18n.test.ts
+++ b/frontend/src/i18n.test.ts
@@ -66,14 +66,26 @@ describe("i18n", () => {
});
it.each([
- ["ko", "잔여 맵 평가 항목 열기: sales-lead"],
- ["zh", "打开残差图评估项:sales-lead"],
- ["ja", "残差マップの評価項目を開く: sales-lead"],
- ["vi", "Mở tiêu chí bản đồ phần dư: sales-lead"],
- ] as const)("translates leftover-map criterion next action in %s", (locale, expected) => {
+ ["ko", "DEMO은(는) 이벤트 계보의 현재 항목입니다. 다음으로 Keyman과 평가를 읽으세요."],
+ ["zh", "DEMO 是事件谱系中的当前记录。接下来查看关键联系人和评估。"],
+ ["ja", "DEMOはイベント系譜の現在の記録です。次にキーパーソンと評価を確認してください。"],
+ ["vi", "DEMO là bản ghi hiện tại trong Dòng sự kiện. Hãy xem người liên hệ chính và đánh giá tiếp theo."],
+ ] as const)("formats dynamic buyer guidance in %s", (locale, expected) => {
+ setLocale(locale);
+ expect(tf("{post} is current in Event Lineage. Read Keyman and evaluation next.", { post: "DEMO" })).toBe(expected);
+ });
+
+ it.each([
+ ["ko", "잔여 맵 평가 항목 열기: sales-lead", "가장 가까운 잔여", "가장 먼 잔여"],
+ ["zh", "打开残差图评估项:sales-lead", "最近残差", "最远残差"],
+ ["ja", "残差マップの評価項目を開く: sales-lead", "最も近い残差", "最も遠い残差"],
+ ["vi", "Mở tiêu chí bản đồ phần dư: sales-lead", "Phần dư gần nhất", "Phần dư xa nhất"],
+ ] as const)("translates leftover-map criterion next action in %s", (locale, expected, closest, farthest) => {
setLocale(locale);
expect(tf("Open leftover map criterion: {label}", { label: "sales-lead" })).toBe(expected);
expect(t("Leftover interaction map")).not.toBe("Leftover interaction map");
+ expect(t("Closest leftover")).toBe(closest);
+ expect(t("Farthest leftover")).toBe(farthest);
});
});
diff --git a/frontend/src/i18n.ts b/frontend/src/i18n.ts
index 4ed14c96d..97a307540 100644
--- a/frontend/src/i18n.ts
+++ b/frontend/src/i18n.ts
@@ -315,6 +315,8 @@ const TRANSLATIONS: Partial>> = {
"Keyman next action": "Keyman 다음 작업",
"Leftover interaction map": "잔여 상호작용 맵",
"Leftover interaction map after main effects": "주효과 이후 잔여 상호작용 맵",
+ "Closest leftover": "가장 가까운 잔여",
+ "Farthest leftover": "가장 먼 잔여",
"Open leftover map post: {label}": "잔여 맵 글 열기: {label}",
"Open leftover map criterion: {label}": "잔여 맵 평가 항목 열기: {label}",
"Open this leftover map criterion to read the leftover pair post: {label}":
@@ -661,6 +663,8 @@ const TRANSLATIONS: Partial>> = {
"Keyman next action": "关键联系人操作",
"Leftover interaction map": "残差交互图",
"Leftover interaction map after main effects": "主效应后的残差交互图",
+ "Closest leftover": "最近残差",
+ "Farthest leftover": "最远残差",
"Open leftover map post: {label}": "打开残差图帖子:{label}",
"Open leftover map criterion: {label}": "打开残差图评估项:{label}",
"Open this leftover map criterion to read the leftover pair post: {label}":
@@ -1007,6 +1011,8 @@ const TRANSLATIONS: Partial>> = {
"Keyman next action": "キーパーソンの操作",
"Leftover interaction map": "残差インタラクションマップ",
"Leftover interaction map after main effects": "主効果後の残差インタラクションマップ",
+ "Closest leftover": "最も近い残差",
+ "Farthest leftover": "最も遠い残差",
"Open leftover map post: {label}": "残差マップの投稿を開く: {label}",
"Open leftover map criterion: {label}": "残差マップの評価項目を開く: {label}",
"Open this leftover map criterion to read the leftover pair post: {label}":
@@ -1353,6 +1359,8 @@ const TRANSLATIONS: Partial>> = {
"Keyman next action": "Thao tác người liên hệ chính",
"Leftover interaction map": "Bản đồ tương tác phần dư",
"Leftover interaction map after main effects": "Bản đồ tương tác phần dư sau hiệu ứng chính",
+ "Closest leftover": "Phần dư gần nhất",
+ "Farthest leftover": "Phần dư xa nhất",
"Open leftover map post: {label}": "Mở bài viết bản đồ phần dư: {label}",
"Open leftover map criterion: {label}": "Mở tiêu chí bản đồ phần dư: {label}",
"Open this leftover map criterion to read the leftover pair post: {label}":