mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-18 03:54:17 +02:00
Post work PR #3062
This commit is contained in:
@@ -5,6 +5,7 @@ All notable changes to Bambuddy will be documented in this file.
|
||||
## [1.2.6b1] - Unreleased
|
||||
|
||||
### Added
|
||||
- **Swedish (sv) is now a supported interface language (#3052, requested and contributed by @AntonPalmqvist in #3062)** — Adds `sv` as the fifteenth locale, listed as "Svenska" in the language picker. The file arrived in better structural shape than any locale contribution so far: 6302 leaves in 458 objects, the same shape as `en.ts` down to the nesting, no duplicate keys, no keys `sv` has that `en` does not, plural suffixes exact, and every `<Trans>` component tag preserved — French has quietly dropped `<strong>` from five strings and nobody noticed, so that is a real bar. The 74 entries in the new `SV_COGNATES` allow-list were each checked against the strings actually identical to English: every one is load-bearing, none dead, which is what the list's "curated, not a shortcut" comment claims. Four things needed correcting before it could be wired up. The submission was clean on the day it was made and then went stale: thirteen keys and three placeholder sets landed on `dev` in the fortnight that followed (#3051, #3063, #1334, #3090, #3092, #3114, #3110), so `{{id}}` in `inventory.tagAlreadyLinked` and `{{runtime}}` in two `diagnostic.check.network_mode` strings were missing and the parity gate was red through no fault of the translation. More consequential, three literal identifiers had been translated along with the prose around them: `device/<serial>/report` and `{{prefix}}/printers/<serial>/status` are MQTT topics on the wire, and the column names in the CSV import hint are what the importer matches on — `märke, subtyp, färgnamn` would have told a Swedish user to build a file that cannot import, so the columns are verbatim again and only the word describing them is translated, the way `de`, `fr`, `nl`, `it` and `es` do it. The four `backup.repoUrlPlaceholder` values were changed back from `exempel.com` to `example.com`, which is the domain reserved for documentation; `exempel.com` belongs to somebody. And the file had been using both `slicer` and the `skivare` family for the same word — a problem in a translation that says `skrivare` or one of its inflections 377 times, with `skivaren` one letter away from `skrivaren` and both words landing in the same sentence in `diagnostic.check.printer_publishing.pass`. It is `slicer` throughout now. Three strings left in English were also translated rather than exempted (`Support` → Stöd, `Teal` → Blågrön, `Display` → Skärm), which retired three cognate entries. Parity green at 6302 leaves across all 15 locales.
|
||||
- **Sub-projects on the Projects page can be folded away (#2991)** — A project with sub-projects drew every one of them expanded underneath it, at every level, with nothing to shut. That is fine for two projects and unusable for a three-level hierarchy over a couple of hundred archives, where the page becomes one long scroll before the first thing you were looking for. Each group's "Sub-projects of X" caption is now a chevron that folds that group, and a **Collapse** pill next to the status filter tabs sets the default for the whole page and is remembered across reloads. The caption stays visible when a group is shut — it is the way back in, and it carries a count of what is behind it. That count is of the cards actually nested there, not the card's own sub-project badge: the API counts sub-projects across every status on purpose, so under the default Active filter the badge can legitimately say 2 where only one card will unfold. A group folded by hand deviates from the default until the pill is pressed, which resets those deviations rather than leaving a group defying the switch that was just flipped. Nothing changes for a page with no nesting, where the pill is not shown at all, and the default with no stored preference is still fully expanded.
|
||||
- **A spool can carry a different filament preset on each printer model, and its K profiles are picked per hotend** — A slicer preset is bound to a printer model: `Bambu PLA Basic @BBL X1C` is not the same preset as `@BBL H2C`. A spool stored exactly one, which was right until the same spool was used on a second model — the AMS slot on the other machine was then configured with a preset that machine has no profile for. The spool form's PA Profile tab is now a **Printers** tab holding both halves of the answer: a model list on the left, and on the right that model's filament presets and the K profiles for each of its hotends. Presets are keyed on the printer *model*, because `@BBL X1C` is the same preset on every X1C you own and asking once per machine would mean picking the identical value twice; K profiles stay keyed on the individual printer, extruder and nozzle diameter, because a K value is measured on one physical hotend and two machines of the same model legitimately differ. Both halves cover **every nozzle size — 0.2, 0.4, 0.6 and 0.8 — not only the size currently fitted**, because a spool is configured once and nozzles get swapped: presets get a row per size (the preset is written to an AMS slot, a slot feeds exactly one nozzle, and Bambu names its presets per size anyway), and K profiles are laid out as a grid with size down the side and hotend across the top, a dash marking a size the printer has no calibration for. Anything left alone inherits the spool's own preset and keeps inheriting it when that changes later, so only what actually differs needs an override, and a spool nobody has configured behaves exactly as it did before. Each model is offered only the presets that name it — using the same matcher the Configure AMS Slot modal filters with, now shared between them — while presets whose name identifies no model, which is most user-authored and OrcaSlicer ones, stay available everywhere, and a preset already saved is never hidden from the control that shows it. Every preset carries an origin badge — Bambu Cloud, Orca Cloud, Local or Built-in — in the same wording and colours the Configure AMS Slot modal has used since #1623, because the same filament exists in several of those sources and which one is picked decides what actually reaches the printer. **Auto-match** fills every size of every model with the variant of the spool's preset that names it, preferring the variant for that exact size; a model with no such variant is left inherited rather than given an approximate one. The model list stays one row per model however large the fleet is, and carries a count of hotends still without a K profile so an unfinished spool is visible without opening anything. One limit worth knowing: a per-model override can be one of your own cloud presets, whose id the slicer refuses in a slot's filament field, so such an override configures the slot but is not used as the calibration link — the spool's own preset is used there instead.
|
||||
- **K profiles distinguish High Flow from Standard nozzles** — A printer files each calibration under a nozzle id of the form `HH00-0.4` (high flow) or `HS00-0.4` (standard) and can hold both for one diameter — a maintainer's H2D carries 102 high-flow entries and 6 standard — because the same filament reads a different K through each. The picker labels every profile with the flow it was measured on, saving records it, and a stored profile is no longer applied when the fitted nozzle disagrees; the picker marks such a profile rather than letting it look configured while quietly doing nothing. Two spellings have to agree for that: a calibration entry says `HH00-0.4` while the fitted nozzle reports `HH01`, so the comparison is two characters, not four. An unknown flow on either side matches anything, which is what it must do — every K profile stored before this has none, and an X1C declares none on any profile at all (measured: all eight come back with an empty nozzle id) even though the machine really does take either nozzle, so treating silence as "Standard" and filtering on it would have dropped every X1C profile the moment a high-flow nozzle was fitted.
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -26,7 +26,7 @@
|
||||
|
||||
<!-- Splash screens for iOS -->
|
||||
<link rel="apple-touch-startup-image" href="/img/android-chrome-512x512.png" />
|
||||
<script type="module" crossorigin src="/assets/index-BqTQFqpO.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-CN5d-0KI.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-ChscM3lF.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user