From 2caa95a69de944cd29ff276ec089d9acf7c05e2a Mon Sep 17 00:00:00 2001 From: ETWen Date: Tue, 20 Oct 2026 09:51:33 +0800 Subject: [PATCH] =?UTF-8?q?chore(release):=20v0.8.0=20=E2=80=94=20language?= =?UTF-8?q?=20switching=20(EN=20/=20=E7=B9=81=E4=B8=AD=20/=20=E7=AE=80?= =?UTF-8?q?=E4=B8=AD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump version to 0.8.0, add the About-dialog changelog entry in all three language packs, and add release notes crediting @CarmJos (#1). Co-Authored-By: Claude Opus 5.5 --- docs/release-notes/v0.8.0.md | 33 +++++++++++++++++++++++++++++++ src/STPViewer/AboutDialog.xaml.cs | 7 +++++++ src/STPViewer/STPViewer.csproj | 2 +- src/STPViewer/i18n/en.json | 4 ++++ src/STPViewer/i18n/zh_cn.json | 4 ++++ src/STPViewer/i18n/zh_tw.json | 4 ++++ 6 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 docs/release-notes/v0.8.0.md diff --git a/docs/release-notes/v0.8.0.md b/docs/release-notes/v0.8.0.md new file mode 100644 index 0000000..224d3cb --- /dev/null +++ b/docs/release-notes/v0.8.0.md @@ -0,0 +1,33 @@ +# v0.8.0 — Switch languages: English, 繁體中文, 简体中文 + +## ✨ New features + +**Language switching** +* Pick **English**, **繁體中文** or **简体中文** from **View → Language** or the language box on the quick toolbar. The whole interface switches instantly — menus, dialogs, status messages, and even measurements already on screen — and your choice is remembered next time. +* On first launch STPViewer follows your Windows display language (Traditional Chinese regions → 繁體中文, other Chinese → 简体中文, everything else → English). + +**Add your own language — no update needed** +* Languages are plain JSON files in the `i18n` folder next to `STPViewer.exe`. Copy `en.json`, translate it, save it under a new name, and restart — the new language appears in the menu. Anything not yet translated falls back to English. See [Adding a Language](https://github.com/ETWen/STPViewer#-adding-a-language) in the README. + +**Simplified Chinese README** +* The README is now also available in [简体中文](https://github.com/ETWen/STPViewer/blob/main/README.zh-CN.md). + +## 🙏 Thanks + +* Multi-language support was contributed by **@CarmJos** in [#1](https://github.com/ETWen/STPViewer/pull/1) — thank you! + +## 📦 Downloads + +| Build | Needs .NET Runtime? | Notes | +|---|---|---| +| **STPViewer_v0.8.0** (Standard) | ✅ Requires .NET 8 Desktop Runtime | Smaller download | +| **STPViewer_v0.8.0_portable** (Portable) | ❌ Runtime included | Unzip and run anywhere, no admin | + +Run `STPViewer v0.8.0.exe`. Keep the `i18n` folder next to it — that's where the languages live. + +## 🔗 Links + +* [Architecture](https://github.com/ETWen/STPViewer/blob/main/ARCHITECTURE.md) +* [README](https://github.com/ETWen/STPViewer/blob/main/README.md) + +**Full changelog:** [v0.7.1...v0.8.0](https://github.com/ETWen/STPViewer/compare/v0.7.1...v0.8.0) diff --git a/src/STPViewer/AboutDialog.xaml.cs b/src/STPViewer/AboutDialog.xaml.cs index 4c568b7..8da7e2f 100644 --- a/src/STPViewer/AboutDialog.xaml.cs +++ b/src/STPViewer/AboutDialog.xaml.cs @@ -29,6 +29,13 @@ public partial class AboutDialog : Window // ── 版本紀錄(新版加最上面;口吻:一般使用者看得懂,講「你會感覺到什麼」而非實作細節)── private static readonly ChangelogEntry[] Changelog = { + new("0.8.0", new DateOnly(2026, 10, 20), "Ui.About.Release080.Title", + new[] + { + "Ui.About.Release080.Change1", + "Ui.About.Release080.Change2", + "Ui.About.Release080.Change3", + }), new("0.7.1", new DateOnly(2026, 7, 12), "Ui.About.Release071.Title", new[] { diff --git a/src/STPViewer/STPViewer.csproj b/src/STPViewer/STPViewer.csproj index 6ef53bf..6d122b1 100644 --- a/src/STPViewer/STPViewer.csproj +++ b/src/STPViewer/STPViewer.csproj @@ -6,7 +6,7 @@ enable enable true - 0.7.1 + 0.8.0 diff --git a/src/STPViewer/i18n/en.json b/src/STPViewer/i18n/en.json index f21f6d8..fd0e62d 100644 --- a/src/STPViewer/i18n/en.json +++ b/src/STPViewer/i18n/en.json @@ -250,6 +250,10 @@ "Ui.About.Release071.Change1": "• Large STL mesh files with millions of triangles now open almost instantly instead of taking several minutes.", "Ui.About.Release071.Change2": "• For example, a 75 MB STL with 1.5 million triangles now appears in under a second.", "Ui.About.Release071.Title": "Open Large STL Files in Seconds", + "Ui.About.Release080.Change1": "• Choose English, 繁體中文 or 简体中文 from View → Language or the quick toolbar. The whole interface switches instantly — including measurements already on screen — and your choice is remembered.", + "Ui.About.Release080.Change2": "• Languages are plain files in the i18n folder next to the program: drop in a new one and it shows up in the menu, no update needed. Anything not yet translated falls back to English.", + "Ui.About.Release080.Change3": "• Thanks to @CarmJos for contributing this feature.", + "Ui.About.Release080.Title": "Switch Languages: English, Traditional & Simplified Chinese", "Ui.About.Technology": ".NET 8 · WPF · C#; CADability (STEP / B-rep geometry); HelixToolkit (3D display and camera)", "Ui.About.TechnologyTitle": "🔧 Technology", "Ui.About.Title": "About STPViewer", diff --git a/src/STPViewer/i18n/zh_cn.json b/src/STPViewer/i18n/zh_cn.json index f9cda16..6223e90 100644 --- a/src/STPViewer/i18n/zh_cn.json +++ b/src/STPViewer/i18n/zh_cn.json @@ -250,6 +250,10 @@ "Ui.About.Release071.Change1": "• 打开大型 STL 网格文件(数十 MB、上百万三角形)现在几乎瞬间完成,不用再等好几分钟。", "Ui.About.Release071.Change2": "• 例如一个 75 MB、150 万个三角形的 STL,以前要等到天荒地老,现在不到 1 秒就显示出来。", "Ui.About.Release071.Title": "大型 STL 秒开", + "Ui.About.Release080.Change1": "• 在「视图 → 语言」或快速栏即可切换 English、繁體中文、简体中文,整个界面立即更换(连画面上已经测量好的结果也会跟着换),下次打开会记住。", + "Ui.About.Release080.Change2": "• 语言是程序旁 i18n 文件夹里的普通文件:放一个新的进去,菜单就多一种语言,无需更新程序。尚未翻译的文字会先以英文显示。", + "Ui.About.Release080.Change3": "• 感谢 @CarmJos 贡献这项功能。", + "Ui.About.Release080.Title": "语言切换:英文/繁体中文/简体中文", "Ui.About.Technology": ".NET 8 · WPF · C#;CADability(STEP / B-rep 几何内核);HelixToolkit(3D 显示与相机)", "Ui.About.TechnologyTitle": "🔧 技术栈", "Ui.About.Title": "关于 STPViewer", diff --git a/src/STPViewer/i18n/zh_tw.json b/src/STPViewer/i18n/zh_tw.json index 893b3ba..539982a 100644 --- a/src/STPViewer/i18n/zh_tw.json +++ b/src/STPViewer/i18n/zh_tw.json @@ -250,6 +250,10 @@ "Ui.About.Release071.Change1": "• 開啟大型 STL 網格檔(數十 MB、上百萬三角形)現在幾乎瞬間完成,不用再等好幾分鐘。", "Ui.About.Release071.Change2": "• 例如一個 75 MB、150 萬個三角形的 STL,以前要等到天荒地老,現在不到 1 秒就顯示出來。", "Ui.About.Release071.Title": "大型 STL 秒開", + "Ui.About.Release080.Change1": "• 到「視圖 → 語言」或快速列就能切換 English、繁體中文、简体中文,整個介面立刻換掉(連畫面上已經量好的結果也會跟著換),下次開啟會記住。", + "Ui.About.Release080.Change2": "• 語言是程式旁 i18n 資料夾裡的一般檔案:放一個新的進去,選單就多一種語言,不用更新程式。還沒翻譯到的文字會先用英文顯示。", + "Ui.About.Release080.Change3": "• 感謝 @CarmJos 貢獻這項功能。", + "Ui.About.Release080.Title": "語言切換:英文/繁體中文/簡體中文", "Ui.About.Technology": ".NET 8 · WPF · C#;CADability(STEP / B-rep 幾何核心);HelixToolkit(3D 顯示與相機)", "Ui.About.TechnologyTitle": "🔧 技術棧", "Ui.About.Title": "關於 STPViewer",