feat: localize Shopee GUI wording

This commit is contained in:
chengma
2026-07-07 14:58:54 +08:00
parent 7838554c3d
commit 862f791fde
25 changed files with 163 additions and 136 deletions
+37 -30
View File
@@ -140,7 +140,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
item_id="26887160467",
stage="imported",
status="failed",
last_error="等待 Shopee 商品编辑器就绪超时",
last_error="等待蝦皮商品编辑器就绪超时",
)
model = gui.TaskTableModel()
model.set_tasks([invalid_task, generic_task], [account])
@@ -166,7 +166,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assertEqual("就绪", window.statusBar().currentMessage())
self.assertEqual(gui.BUTTON_BASE_STYLE, window.styleSheet())
self.assertEqual(TAB_STYLE, window.tabs.styleSheet())
self.assertFalse(window.tabs.tabIcon(TAB_TITLES.index("③ 更新shopee")).isNull())
self.assertFalse(window.tabs.tabIcon(TAB_TITLES.index("③ 更新蝦皮")).isNull())
self.assertIn("QPushButton", window.styleSheet())
self.assertIn("border-radius: 4px", window.styleSheet())
self.assertIn("min-width: 128px", window.tabs.styleSheet())
@@ -404,7 +404,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assertFalse(hasattr(tab, "test_item_id_edit"))
self.assertFalse(hasattr(tab, "dry_run_checkbox"))
self.assertEqual(
"Shopee 更新安全 / 执行模式",
"蝦皮更新安全 / 执行模式",
tab.shopee_update_section_title.text(),
)
self.assertEqual("基础设施(路径与端口)", tab.infrastructure_section_title.text())
@@ -707,7 +707,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
)
self.addCleanup(window.close)
settings_tab = window.tabs.widget(TAB_TITLES.index("⑤ 设置"))
apply_tab = window.tabs.widget(TAB_TITLES.index("③ 更新shopee"))
apply_tab = window.tabs.widget(TAB_TITLES.index("③ 更新蝦皮"))
settings_tab.allow_real_submit_checkbox.setChecked(True)
settings_tab.allow_cover_update_checkbox.setChecked(True)
@@ -2582,7 +2582,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
message = question.call_args[0][2]
self.assertIn("已经提交过线上", message)
self.assertIn("本地重置不会回滚 Shopee", message)
self.assertIn("本地重置不会回滚蝦皮", message)
self.assertIn("重复更新会再次提交线上", message)
updated = db.get_task(task.id, path=cfg["db_path"])
self.assertEqual("generated", updated.stage)
@@ -3500,8 +3500,8 @@ class GuiTests(TempDirMixin, unittest.TestCase):
window.tabs.setCurrentIndex(2)
self.assertEqual("③ 更新shopee", window.tabs.tabText(window.tabs.currentIndex()))
self.assertEqual("当前:③ 更新shopee", window.statusBar().currentMessage())
self.assertEqual("③ 更新蝦皮", window.tabs.tabText(window.tabs.currentIndex()))
self.assertEqual("当前:③ 更新蝦皮", window.statusBar().currentMessage())
self.assert_removed(temp_dir)
@@ -3922,7 +3922,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assertTrue(all(task.batch_id != batch_a for task in generate_tab.model.tasks))
self.assertTrue(all(task.batch_id != batch_a for task in apply_tab.model.tasks))
self.assertEqual([True], refresh_calls)
self.assertIn("不会回滚 Shopee", question.call_args[0][2])
self.assertIn("不会回滚蝦皮", question.call_args[0][2])
self.assertIn("已软删除批次", info.call_args[0][2])
self.assertIn("已软删除批次", statuses[-1])
@@ -4438,33 +4438,40 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assert_removed(temp_dir)
def test_write_back_worker_calls_excel_write_back(self):
with mock.patch(
"app.gui.excel.write_back",
return_value={"ok": True, "batch_id": "batch-1", "files": 1, "rows": 2},
) as write_back:
summary = WriteBackWorker("batch-1", db_path="db.sqlite").execute()
with self.make_temp_dir() as temp_dir:
db_path = os.path.join(temp_dir, "db.sqlite")
with mock.patch(
"app.gui.excel.write_back",
return_value={"ok": True, "batch_id": "batch-1", "files": 1, "rows": 2},
) as write_back:
summary = WriteBackWorker("batch-1", db_path=db_path).execute()
self.assertEqual({"ok": True, "batch_id": "batch-1", "files": 1, "rows": 2}, summary)
write_back.assert_called_once_with(
"batch-1",
excel_path=None,
path="db.sqlite",
)
self.assertEqual({"ok": True, "batch_id": "batch-1", "files": 1, "rows": 2}, summary)
write_back.assert_called_once_with(
"batch-1",
excel_path=None,
path=db_path,
)
self.assert_removed(temp_dir)
def test_write_back_worker_calls_result_write_back(self):
with mock.patch(
"app.gui.excel.write_back_results",
return_value={"ok": True, "batch_id": "batch-1", "files": 1, "rows": 2},
) as write_back_results:
summary = WriteBackWorker("batch-1", db_path="db.sqlite", mode="results").execute()
with self.make_temp_dir() as temp_dir:
db_path = os.path.join(temp_dir, "db.sqlite")
with mock.patch(
"app.gui.excel.write_back_results",
return_value={"ok": True, "batch_id": "batch-1", "files": 1, "rows": 2},
) as write_back_results:
summary = WriteBackWorker("batch-1", db_path=db_path, mode="results").execute()
self.assertEqual({"ok": True, "batch_id": "batch-1", "files": 1, "rows": 2}, summary)
write_back_results.assert_called_once_with(
"batch-1",
excel_path=None,
path="db.sqlite",
)
self.assertEqual({"ok": True, "batch_id": "batch-1", "files": 1, "rows": 2}, summary)
write_back_results.assert_called_once_with(
"batch-1",
excel_path=None,
path=db_path,
)
self.assert_removed(temp_dir)
def test_collect_tab_import_excel_writes_diagnostic_run_log(self):
with self.make_temp_dir() as temp_dir: