You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
release: VisuStruct 1.2.2 with 21 UI languages (Swift sync)
Align desktop UI locales with VisuStruct-swift via sync_java_messages_from_swift.py
and new Messages_* bundles. Split Settings: Languages menu, dedicated block-text
preset dialog, and Simulation dialog to avoid duplicate language selection.
Co-authored-by: Cursor <cursoragent@cursor.com>
Copy file name to clipboardExpand all lines: README.md
+12-5Lines changed: 12 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@
10
10
11
11
**VisuStruct** is a **structure-chart editor** for **Nassi–Shneiderman** diagrams (desktop, Java / Swing).
12
12
13
-
Under **Settings → Languages** the **user interface** can be set to **English**, **German**, or **European Portuguese (Portugal)** (`uilanguage`: `en`, `de`, `pt_PT` in `visustruct.properties`). A few auxiliary dialogs may still show English-only labels.
13
+
Under **Settings → Languages** the **user interface** can be set to any of **21 languages** aligned with **VisuStruct-swift** (English, German, Spanish, French, Italian, Polish, Turkish, Korean, Japanese, Greek, Ukrainian, Arabic, Russian, Hebrew, Dutch, Swedish, Danish, Norwegian Bokmål, Chinese Simplified/Traditional, European Portuguese). Stored as `uilanguage` in `visustruct.properties` (e.g. `zh_Hans`, `pt_PT`). UI strings are synced from the Swift app where keys overlap: `python3 tools/sync_java_messages_from_swift.py` (map: `VisuStruct-swift/tools/java_swift_i18n_map.json`). Desktop-only labels may still fall back to English.
14
14
15
15
*Lineage:* Based on the open-source project [kekru/struktogrammeditor](https://github.com/kekru/struktogrammeditor) (Kevin Krummenauer, MIT). Copyright and terms: [LICENSE](LICENSE).
-**CI:** GitHub Actions build passes again (headless-safe drag-and-drop init for tests).
29
+
30
+
Full notes: [`release-notes/v1.2.2.md`](release-notes/v1.2.2.md).
31
+
25
32
## Changes in 1.2.1 (summary)
26
33
27
34
-**Simulation:****true/false** branch selection by case name; **reset (Stop)** for new input on rerun; highlight mode and play speed in Settings; sidebar layout (input always visible, current block shows instruction text).
@@ -98,7 +105,7 @@ Full notes: [`release-notes/v1.0.7.md`](release-notes/v1.0.7.md).
-**Languages:****Settings → Languages** lists **English**, **German**, **Portuguese**; stored in **`visustruct.properties`** (`uilanguage`). If unset, default follows **JVM locale**.
108
+
-**Languages:****Settings → Languages** lists **21 languages** (same set as VisuStruct-swift, except the Java-keyword pseudo-locale); stored in **`visustruct.properties`** (`uilanguage`). If unset, default follows **JVM locale**. Regenerate bundles: `python3 tools/sync_java_messages_from_swift.py`.
102
109
-**I18n:** menu, core confirmation dialogs, `JFileChooser` labels, context menu, palette (PNG, about, trash, etc.); **English** is no longer overridden by the OS default locale.
103
110
-**Structure-chart labels:** preset **“Java (default)”** (and localized equivalents); **preview** in the settings dialog; **palette** shows Java keywords on buttons when the Java preset is active.
104
111
-**Tabs:** new diagram tab uses a localized **“Untitled”**-style title instead of a hard-coded English string.
@@ -141,7 +148,7 @@ This release aligns **branding and technical identity** with **VisuStruct**. **`
141
148
-**Java 17** target (build and run with JDK 17+).
142
149
-**FlatLaf** light/dark themes; **JDOM2**; no legacy AppleJavaExtensions.
143
150
-**Motif** look-and-feel removed; **Metal** and FlatLaf available.
144
-
- Current fat JAR name follows **`pom.xml`****`version`** (e.g. **`visustruct-1.2.1.jar`**).
151
+
- Current fat JAR name follows **`pom.xml`****`version`** (e.g. **`visustruct-1.2.2.jar`**).
145
152
146
153
---
147
154
@@ -216,13 +223,13 @@ chmod +x mvnw
216
223
Output (version from `pom.xml`):
217
224
218
225
```text
219
-
target/visustruct-1.2.1.jar
226
+
target/visustruct-1.2.2.jar
220
227
```
221
228
222
229
## Run
223
230
224
231
```bash
225
-
java -jar target/visustruct-1.2.1.jar
232
+
java -jar target/visustruct-1.2.2.jar
226
233
```
227
234
228
235
Double-click may work if `.jar` is associated with Java.
-**21 UI languages** (aligned with VisuStruct-swift): Settings → Languages and the settings dialog; `uilanguage` in `visustruct.properties`.
8
+
- Bundles synced from the Swift app where keys overlap: `python3 tools/sync_java_messages_from_swift.py`.
9
+
10
+
## Build / CI
11
+
12
+
-**GitHub Actions:** unit tests no longer fail with `java.awt.HeadlessException` on CI runners without a display. Drag-and-drop is initialized only when not in headless mode (`GraphicsEnvironment.isHeadless()`).
0 commit comments