Kaynağa Gözat

AMS: an A2L with an AMS and an AMS Lite shows both (#3499)

- the printer sends a regular AMS's id as a string, the AMS Lite's
  id 16 is normalised to the int 6; with both attached the merge
  sort compared the two and raised, so the unit list was never
  stored
- the frame's AMS object stayed in its place and every later frame,
  and the AMS labels API, failed on its string keys
- units sort by numeric id; the merge ignores a stored AMS object
  that is not a unit list, and a frame whose AMS handling fails no
  longer leaves its AMS object behind
- the connection diagnostic skips the external storage check on the
  A2L, which offers the option nowhere; its explanation no longer
  names the P1 series only
maziggy 1 gün önce
ebeveyn
işleme
e6b2b6f7e9

+ 28 - 3
backend/app/services/bambu_mqtt.py

@@ -158,6 +158,21 @@ A2L_LITE_NORMALIZED_AMS_ID = 6
 A2L_LITE_GLOBAL_BASE = A2L_LITE_NORMALIZED_AMS_ID * 4  # 24
 
 
+def _ams_unit_order(unit: dict) -> tuple[int, str]:
+    """Sort key for AMS units by id (#3499).
+
+    Firmware sends unit ids as strings ("0"), while the A2L AMS Lite's id is
+    normalised to the int 6, so an A2L with an AMS 2 Pro and an AMS Lite held
+    both: comparing them raised, and the AMS card stayed empty. Numeric order,
+    with anything unreadable last.
+    """
+    raw = unit.get("id", 0)
+    try:
+        return (int(raw), "")
+    except (TypeError, ValueError):
+        return (1 << 30, str(raw))
+
+
 def normalize_am_unit_id(ams_id: int) -> int:
     """Map the A2L AMS-Lite's physical unit id (16) to its normalised id (6).
 
@@ -3956,8 +3971,14 @@ class BambuMQTTClient:
         # Merge AMS data instead of replacing, to handle partial updates
         # During prints, the printer may only send updates for active AMS units
         # We need deep merging at the tray level to preserve fields like tray_sub_brands
-        existing_ams = self.state.raw_data.get("ams", [])
-        existing_by_id = {ams.get("id"): ams for ams in existing_ams if ams.get("id") is not None}
+        existing_ams = self.state.raw_data.get("ams")
+        # #3499: anything but the merged unit list (once, the frame's own AMS
+        # object) would fail every later frame on its string keys.
+        if not isinstance(existing_ams, list):
+            existing_ams = []
+        existing_by_id = {
+            ams.get("id"): ams for ams in existing_ams if isinstance(ams, dict) and ams.get("id") is not None
+        }
 
         # Update existing units with new data, add new units
         for ams_unit in ams_list:
@@ -4098,7 +4119,7 @@ class BambuMQTTClient:
                     del existing_by_id[ams_id]
 
         # Convert back to list, sorted by ID for consistent ordering
-        merged_ams = sorted(existing_by_id.values(), key=lambda x: x.get("id", 0))
+        merged_ams = sorted(existing_by_id.values(), key=_ams_unit_order)
 
         # Empty-slot cleanup via tray_exist_bits (#147, #1322, #765, #1365).
         # Shared with the VP bridge cache so the slicer-facing view stays in
@@ -5920,6 +5941,10 @@ class BambuMQTTClient:
         # (e.g. _probe_developer_mode publishes an MQTT message).
         if ams_data is not None:
             self.state.raw_data["ams"] = ams_data
+        elif not isinstance(self.state.raw_data.get("ams"), list):
+            # #3499: no unit list yet (the AMS handling failed on this frame).
+            # The frame's AMS object is not one; readers iterate it as units.
+            self.state.raw_data.pop("ams", None)
         if vt_tray_data is not None:
             self.state.raw_data["vt_tray"] = vt_tray_data
         if ams_extruder_map_data is not None:

+ 6 - 1
backend/app/utils/printer_models.py

@@ -191,9 +191,13 @@ NO_REMOTE_STORAGE_TOGGLE_MODELS = frozenset(
         # Display names (uppercase, no spaces)
         "P1S",
         "P1P",
+        # A2L (#3499): neither the printer (firmware 01.01.05.00) nor Bambu
+        # Studio or OrcaSlicer offers the option, per the reporter.
+        "A2L",
         # Internal codes
         "C11",  # P1P
         "C12",  # P1S
+        "N9",  # A2L
     ]
 )
 
@@ -362,7 +366,8 @@ def has_remote_storage_toggle(model: str | None) -> bool:
 
     False for P1-series (has an SD slot, but no on-printer screen and no
     published `support_save_remote_print_file_to_storage` capability, so the
-    Bambu Studio toggle never renders). The external_storage diagnostic uses
+    Bambu Studio toggle never renders), and for the A2L, which offers the
+    option nowhere (#3499). The external_storage diagnostic uses
     this to skip rather than report an unresolvable fail (#2524). Defaults to
     True for unknown models so the check keeps working on anything not
     explicitly listed.

+ 121 - 0
backend/tests/unit/test_a2l_mixed_ams_3499.py

@@ -0,0 +1,121 @@
+"""An A2L with an AMS 2 Pro and an AMS Lite shows both on the card (#3499).
+
+The firmware sends unit ids as strings ("0"); the AMS Lite's physical id 16 is
+normalised to the int 6. With both units attached the merge sorted "0" against
+6 and raised, so the unit list was never stored. The frame's own AMS object
+stayed in its place, and every later frame (and the AMS labels API) failed on
+its string keys: the card showed only the external spool until one AMS was
+unplugged and the printer reconnected.
+
+Frame values follow the reporter's support package: AMS 2 Pro with four bare
+slots, AMS Lite with four Bambu PLA Basic spools, ams_exist_bits "1001",
+tray_exist_bits "f000000".
+"""
+
+from unittest.mock import patch
+
+from backend.app.services.bambu_mqtt import BambuMQTTClient
+
+
+def _client() -> BambuMQTTClient:
+    return BambuMQTTClient(ip_address="10.0.0.1", serial_number="A2L", access_code="c", model="A2L")
+
+
+def _lite_tray(slot: int, colour: str) -> dict:
+    return {
+        "id": str(slot),
+        "state": 3,
+        "remain": -1,
+        "tray_type": "PLA",
+        "tray_sub_brands": "PLA Basic",
+        "tray_info_idx": "GFA00",
+        "tray_color": colour,
+    }
+
+
+def _frame(lite_id=16) -> dict:
+    return {
+        "ams": {
+            "ams": [
+                {"id": "0", "info": "2003", "tray": [{"id": str(n)} for n in range(4)]},
+                {
+                    "id": lite_id,
+                    "info": "30001005",
+                    "tray": [
+                        _lite_tray(0, "000000FF"),
+                        _lite_tray(1, "3F8E43FF"),
+                        _lite_tray(2, "0056B8FF"),
+                        _lite_tray(3, "FFFFFFFF"),
+                    ],
+                },
+            ],
+            "ams_exist_bits": "1001",
+            "tray_exist_bits": "f000000",
+            "tray_now": "255",
+            "power_on_flag": True,
+        },
+        "gcode_state": "IDLE",
+    }
+
+
+def _units(client: BambuMQTTClient) -> list:
+    units = client.state.raw_data.get("ams")
+    assert isinstance(units, list), f"AMS units are {type(units).__name__}, not a list"
+    return units
+
+
+def test_both_units_are_stored():
+    client = _client()
+
+    client._process_message({"print": _frame()})
+
+    units = _units(client)
+    assert [str(u["id"]) for u in units] == ["0", "6"]
+    assert [t["tray_color"] for t in units[1]["tray"]] == ["000000FF", "3F8E43FF", "0056B8FF", "FFFFFFFF"]
+
+
+def test_a_string_lite_id_is_stored_too():
+    client = _client()
+
+    client._process_message({"print": _frame(lite_id="16")})
+
+    assert [str(u["id"]) for u in _units(client)] == ["0", "6"]
+
+
+def test_later_frames_keep_both_units():
+    client = _client()
+    for _ in range(3):
+        client._process_message({"print": _frame()})
+
+    assert [str(u["id"]) for u in _units(client)] == ["0", "6"]
+
+
+def test_a_frame_the_ams_handling_fails_on_leaves_no_ams_object_behind():
+    client = _client()
+
+    # Any failure in the AMS handling, as the mixed-id sort was.
+    with patch.object(client, "_handle_ams_data", side_effect=TypeError("boom")):
+        client._process_message({"print": _frame()})
+
+    assert "ams" not in client.state.raw_data
+
+
+def test_a_stored_ams_object_does_not_block_later_frames():
+    # An install already in the broken state: the AMS object in place of the list.
+    client = _client()
+    client.state.raw_data["ams"] = {"ams": [], "ams_exist_bits": "1001"}
+
+    client._process_message({"print": _frame()})
+
+    assert [str(u["id"]) for u in _units(client)] == ["0", "6"]
+
+
+def test_units_are_in_numeric_order():
+    client = _client()
+    frame = _frame()
+    frame["ams"]["ams"].append({"id": "1", "tray": [{"id": str(n)} for n in range(4)]})
+    frame["ams"]["ams_exist_bits"] = "1003"
+
+    client._process_message({"print": frame})
+
+    assert [str(u["id"]) for u in _units(client)] == ["0", "1", "6"]

+ 5 - 0
backend/tests/unit/test_printer_models.py

@@ -349,6 +349,11 @@ class TestHasRemoteStorageToggle:
     def test_p1_series_has_no_reachable_toggle(self, model: str):
         assert has_remote_storage_toggle(model) is False
 
+    @pytest.mark.parametrize("model", ["A2L", "a2l", "N9"])
+    def test_a2l_has_no_reachable_toggle(self, model: str):
+        # #3499: no option on the printer or in either slicer.
+        assert has_remote_storage_toggle(model) is False
+
     @pytest.mark.parametrize(
         "model",
         ["X1C", "X1E", "X1", "P2S", "H2D", "H2D Pro", "H2C", "H2S", "X2D", "A1", "A1 Mini"],

+ 1 - 1
frontend/src/i18n/locales/de.ts

@@ -7790,7 +7790,7 @@ export default {
         pass: 'Der Drucker meldet, dass diese Option aktiv ist — gesendete Dateien werden auf der SD-Karte gespeichert und Archive enthalten Vorschaubilder und Slicer-Metadaten.',
         fail: 'Der Drucker meldet, dass diese Option deaktiviert ist. Aktivieren Sie "Gesendete Dateien auf externem Speicher speichern" — bei neuer Firmware (P2S 01.02 / Bambu Studio 2.6+) liegt der Schalter in den Druckeinstellungen des Druckers, bei älteren Versionen im Geräte-Tab von Bambu Studio / OrcaSlicer. Ohne diese Option fehlen jedem archivierten Druck Vorschaubild und Slicer-Metadaten.',
         skip: 'Nicht geprüft — eine aktive MQTT-Verbindung ist erforderlich. Bei älteren Slicern, in denen diese Einstellung nur im Slicer existiert, meldet sie der Drucker nicht — diese Prüfung besteht auch dann, wenn die Option deaktiviert ist. Prüfen Sie Installationsschritt 4 in diesem Fall manuell.',
-        skip_unsupported_model: 'Dieses Modell hat einen SD-Slot, aber keine Möglichkeit, die Option zu aktivieren — die aktuelle P1-Firmware zeigt den Schalter in Bambu Studio nicht an und der Drucker hat kein Display. Hier gibt es nichts zu beheben; archivierten Drucken fehlen möglicherweise Vorschaubilder und Slicer-Metadaten, bis Bambu Lab dies per Firmware unterstützt.',
+        skip_unsupported_model: 'Bei diesem Modell lässt sich die Option nicht einschalten: Mit der aktuellen Firmware bieten sie weder der Drucker noch Bambu Studio an. Hier ist nichts zu beheben; archivierten Drucken können Vorschaubilder und Slicer-Metadaten fehlen, bis Bambu Lab die Option nachreicht.',
         fail_no_media: 'Die Option ist aktiviert, aber der Drucker meldet weder Karte noch Stick im Steckplatz, daher können gesendete Dateien nirgends abgelegt werden. Legen Sie einen ein und drucken Sie erneut — bis dahin fehlen jedem archivierten Druck Vorschaubild und Slicer-Metadaten.',
         warn_internal_storage: 'Die Option ist aktiviert und ein Speicher ist vorhanden, aber der letzte Druck landete dennoch im internen Speicher des Druckers, den Bambuddy nicht lesen kann. Bei der H2-Serie, dem P2S und dem X2D sendet die Schaltfläche "Drucken" in Bambu Studio unabhängig von dieser Option immer dorthin. Drucke werden mit Namen und Zeiten archiviert, aber ohne Vorschaubild und Slicer-Metadaten. Für vollständige Archive den Druck aus Bambuddy starten oder in OrcaSlicer slicen — oder in Bambu Studio "Senden" mit "Extern" verwenden und den Druck danach starten.',
         warn_internal_history: 'Die Option ist aktiv und Speicher vorhanden, aber der letzte Druck lief aus einer Datei, die bereits auf dem Drucker lag — ein erneuter Druck über sein Display, ein Start aus Handy oder eine früher gesendete Datei. Diese Bibliothek liegt im internen Speicher, den Bambuddy nicht lesen kann, und keine Einstellung ändert das, denn für diesen Druck wurde nichts gesendet. Er wird weiterhin mit Namen und Zeiten archiviert, nur ohne Vorschaubild und Slicer-Metadaten. Für vollständige Archive Drucke aus Bambuddy starten oder aus dem Slicer senden.',

+ 1 - 1
frontend/src/i18n/locales/en.ts

@@ -7843,7 +7843,7 @@ export default {
         pass: 'The printer reports this option is on — sent files will be stored on the SD card and archives will have thumbnails and slicer metadata.',
         fail: 'The printer reports this option is off. Enable "Store sent files on external storage" — on newer firmware (P2S 01.02 / Bambu Studio 2.6+) the toggle lives on the printer\'s Print Settings; on older versions it\'s in Bambu Studio / OrcaSlicer\'s Device tab. Without it, every archived print is missing its thumbnail and slicer metadata.',
         skip: 'Not checked — needs a live MQTT connection. On older slicers where this setting lives only in the slicer the printer never reports it, so this check will pass even when the option is off — verify install step 4 manually.',
-        skip_unsupported_model: 'This model has an SD slot but no way to turn the option on — current P1-series firmware doesn\'t expose the toggle in Bambu Studio and the printer has no screen. Nothing to fix here; archived prints may lack thumbnails and slicer metadata until Bambu Lab adds firmware support.',
+        skip_unsupported_model: 'This model has no way to turn the option on: on current firmware neither the printer nor Bambu Studio offers it. Nothing to fix here; archived prints may lack thumbnails and slicer metadata until Bambu Lab adds it.',
         fail_no_media: 'The option is on, but the printer reports no card or stick in its slot, so there is nowhere for sent files to go. Insert one and print again — until then every archived print will be missing its thumbnail and slicer metadata.',
         warn_internal_storage: 'The option is on and storage is present, but the last print still went to the printer\'s internal storage, which Bambuddy cannot read. On H2-series, P2S and X2D, Bambu Studio\'s Print button always sends there whatever this option is set to. Prints archive with their name and timing, but without a thumbnail or slicer metadata. For complete archives, start prints from Bambuddy or slice in OrcaSlicer — or in Bambu Studio use Send with External selected, then start the print.',
         warn_internal_history: 'The option is on and storage is present, but the last print ran from a file that was already on the printer — a re-print from its screen, a start from Handy, or a file sent earlier. That library sits on internal storage Bambuddy cannot read, and no setting changes it, because nothing was sent for that print. It still archives with its name and timing, but without a thumbnail or slicer metadata. For complete archives, start prints from Bambuddy or send them from the slicer.',

+ 1 - 1
frontend/src/i18n/locales/es.ts

@@ -7798,7 +7798,7 @@ export default {
         pass: 'La impresora informa que esta opción está activada — los archivos enviados se guardarán en la tarjeta SD y los archivos tendrán miniaturas y metadatos del slicer.',
         fail: 'La impresora informa que esta opción está desactivada. Active "Almacenar archivos enviados en almacenamiento externo" — en firmware reciente (P2S 01.02 / Bambu Studio 2.6+) el conmutador está en los Ajustes de Impresión de la impresora; en versiones anteriores está en la pestaña Dispositivo de Bambu Studio / OrcaSlicer. Sin esta opción, cada impresión archivada queda sin miniatura ni metadatos del slicer.',
         skip: 'No comprobado — se necesita una conexión MQTT activa. En slicers más antiguos donde este ajuste solo existe en el slicer, la impresora no lo reporta, así que esta comprobación pasa aunque la opción esté desactivada — verifique el paso 4 de la instalación manualmente.',
-        skip_unsupported_model: 'Este modelo tiene ranura SD pero no hay forma de activar la opción — el firmware actual de la serie P1 no muestra el interruptor en Bambu Studio y la impresora no tiene pantalla. Aquí no hay nada que arreglar; a las impresiones archivadas pueden faltarles miniaturas y metadatos del slicer hasta que Bambu Lab lo admita por firmware.',
+        skip_unsupported_model: 'Este modelo no permite activar la opción: con el firmware actual no la ofrecen ni la impresora ni Bambu Studio. No hay nada que corregir aquí; las impresiones archivadas pueden carecer de miniaturas y metadatos del laminador hasta que Bambu Lab la añada.',
         fail_no_media: 'La opción está activada, pero la impresora no detecta ninguna tarjeta ni memoria en su ranura, así que los archivos enviados no tienen dónde ir. Inserte una e imprima de nuevo — hasta entonces, cada impresión archivada carecerá de miniatura y de metadatos del laminador.',
         warn_internal_storage: 'La opción está activada y hay almacenamiento presente, pero la última impresión aun así fue al almacenamiento interno de la impresora, que Bambuddy no puede leer. En la serie H2, la P2S y la X2D, el botón «Imprimir» de Bambu Studio siempre envía ahí, sea cual sea este ajuste. Las impresiones se archivan con su nombre y sus tiempos, pero sin miniatura ni metadatos del laminador. Para archivos completos, inicia las impresiones desde Bambuddy o lamina en OrcaSlicer, o bien en Bambu Studio usa «Enviar» con «Externo» y luego inicia la impresión.',
         warn_internal_history: 'La opción está activada y hay almacenamiento, pero la última impresión salió de un archivo que ya estaba en la impresora: una reimpresión desde su pantalla, un inicio desde Handy o un archivo enviado antes. Esa biblioteca reside en el almacenamiento interno, que Bambuddy no puede leer, y ninguna opción lo cambia, porque para esa impresión no se envió nada. Se sigue archivando con su nombre y sus tiempos, pero sin miniatura ni metadatos del laminador. Para archivos completos, inicia las impresiones desde Bambuddy o envíalas desde el laminador.',

+ 1 - 1
frontend/src/i18n/locales/fr.ts

@@ -7778,7 +7778,7 @@ export default {
         pass: 'L\'imprimante signale que cette option est activée — les fichiers envoyés seront stockés sur la carte SD et les archives auront des miniatures et des métadonnées slicer.',
         fail: 'L\'imprimante signale que cette option est désactivée. Activez « Stocker les fichiers envoyés sur stockage externe » — sur les firmwares récents (P2S 01.02 / Bambu Studio 2.6+) l\'interrupteur se trouve dans les Paramètres d\'impression de l\'imprimante ; sur les versions antérieures, il est dans l\'onglet Périphérique de Bambu Studio / OrcaSlicer. Sans cette option, chaque impression archivée est dépourvue de miniature et de métadonnées slicer.',
         skip: 'Non vérifié — une connexion MQTT active est requise. Sur les slicers plus anciens où ce paramètre n\'existe que dans le slicer, l\'imprimante ne le signale pas, donc cette vérification passe même si l\'option est désactivée — vérifiez l\'étape 4 de l\'installation manuellement.',
-        skip_unsupported_model: 'Ce modèle a un emplacement SD mais aucun moyen d\'activer l\'option — le firmware actuel de la série P1 n\'affiche pas le bouton dans Bambu Studio et l\'imprimante n\'a pas d\'écran. Il n\'y a rien à corriger ici ; les impressions archivées peuvent manquer de miniatures et de métadonnées du slicer jusqu\'à ce que Bambu Lab l\'ajoute par firmware.',
+        skip_unsupported_model: "Ce modèle ne permet pas d'activer l'option : avec le firmware actuel, ni l'imprimante ni Bambu Studio ne la proposent. Rien à corriger ici ; les impressions archivées peuvent manquer de miniatures et de métadonnées du slicer jusqu'à ce que Bambu Lab l'ajoute.",
         fail_no_media: 'L\'option est activée, mais l\'imprimante ne signale ni carte ni clé dans son emplacement : les fichiers envoyés n\'ont nulle part où aller. Insérez-en une et relancez une impression — d\'ici là, chaque impression archivée sera dépourvue de miniature et de métadonnées slicer.',
         warn_internal_storage: 'L\'option est activée et un stockage est présent, mais la dernière impression est tout de même allée dans le stockage interne de l\'imprimante, que Bambuddy ne peut pas lire. Sur les séries H2, P2S et X2D, le bouton « Imprimer » de Bambu Studio y envoie toujours, quel que soit ce réglage. Les impressions sont archivées avec leur nom et leurs durées, mais sans miniature ni métadonnées slicer. Pour des archives complètes, lancez les impressions depuis Bambuddy ou tranchez dans OrcaSlicer, ou bien dans Bambu Studio utilisez « Envoyer » avec « Externe » puis lancez l\'impression.',
         warn_internal_history: 'L\'option est activée et un stockage est présent, mais la dernière impression est partie d\'un fichier déjà présent sur l\'imprimante : une réimpression depuis son écran, un lancement depuis Handy ou un fichier envoyé plus tôt. Cette bibliothèque réside dans le stockage interne, que Bambuddy ne peut pas lire, et aucun réglage n\'y change rien, puisque rien n\'a été envoyé pour cette impression. Elle reste archivée avec son nom et ses durées, mais sans miniature ni métadonnées slicer. Pour des archives complètes, lancez les impressions depuis Bambuddy ou envoyez-les depuis le trancheur.',

+ 1 - 1
frontend/src/i18n/locales/it.ts

@@ -7777,7 +7777,7 @@ export default {
         pass: 'La stampante segnala che questa opzione è attiva — i file inviati saranno memorizzati sulla scheda SD e gli archivi avranno miniature e metadati dello slicer.',
         fail: 'La stampante segnala che questa opzione è disattivata. Abilita "Memorizza file inviati su archiviazione esterna" — nei firmware recenti (P2S 01.02 / Bambu Studio 2.6+) l\'interruttore si trova nelle Impostazioni di stampa della stampante; nelle versioni precedenti è nella scheda Dispositivo di Bambu Studio / OrcaSlicer. Senza questa opzione, ogni stampa archiviata è priva di miniatura e di metadati dello slicer.',
         skip: 'Non verificato — è necessaria una connessione MQTT attiva. Negli slicer più vecchi dove questa impostazione esiste solo nello slicer, la stampante non la segnala, quindi questo controllo passa anche se l\'opzione è disattivata — verifica manualmente il passo 4 dell\'installazione.',
-        skip_unsupported_model: 'Questo modello ha uno slot SD ma nessun modo per attivare l\'opzione — il firmware attuale della serie P1 non mostra l\'interruttore in Bambu Studio e la stampante non ha uno schermo. Non c\'è nulla da correggere qui; alle stampe archiviate potrebbero mancare miniature e metadati dello slicer finché Bambu Lab non aggiungerà il supporto via firmware.',
+        skip_unsupported_model: "Su questo modello non è possibile attivare l'opzione: con il firmware attuale non la offrono né la stampante né Bambu Studio. Non c'è nulla da correggere; le stampe archiviate potrebbero non avere miniature e metadati dello slicer finché Bambu Lab non la aggiunge.",
         fail_no_media: 'L\'opzione è attiva, ma la stampante non rileva né scheda né chiavetta nel suo slot, quindi i file inviati non hanno dove andare. Inseriscine una e stampa di nuovo — fino ad allora ogni stampa archiviata sarà priva di miniatura e metadati dello slicer.',
         warn_internal_storage: 'L\'opzione è attiva ed è presente una memoria, ma l\'ultima stampa è comunque finita nella memoria interna della stampante, che Bambuddy non può leggere. Sulla serie H2, sulla P2S e sulla X2D il pulsante «Stampa» di Bambu Studio invia sempre lì, a prescindere da questa opzione. Le stampe vengono archiviate con nome e tempi, ma senza miniatura né metadati dello slicer. Per archivi completi, avvia le stampe da Bambuddy oppure elabora in OrcaSlicer, oppure in Bambu Studio usa «Invia» con «Esterna» e avvia la stampa dopo.',
         warn_internal_history: 'L\'opzione è attiva e la memoria è presente, ma l\'ultima stampa è partita da un file già presente sulla stampante: una ristampa dal suo schermo, un avvio da Handy o un file inviato prima. Quella libreria si trova nella memoria interna, che Bambuddy non può leggere, e nessuna impostazione lo cambia, perché per quella stampa non è stato inviato nulla. Resta archiviata con nome e tempi, ma senza miniatura né metadati dello slicer. Per archivi completi, avvia le stampe da Bambuddy o inviale dallo slicer.',

+ 1 - 1
frontend/src/i18n/locales/ja.ts

@@ -7791,7 +7791,7 @@ export default {
         pass: 'プリンターはこのオプションが有効と報告しています — 送信されたファイルはSDカードに保存され、アーカイブにはサムネイルとスライサーメタデータが含まれます。',
         fail: 'プリンターはこのオプションが無効と報告しています。「送信ファイルを外部ストレージに保存」を有効にしてください — 新しいファームウェア (P2S 01.02 / Bambu Studio 2.6以降) ではプリンター本体の印刷設定にトグルがあります。古いバージョンでは Bambu Studio / OrcaSlicer のデバイスタブにあります。この設定がないと、アーカイブされた印刷にはサムネイルもスライサーメタデータも残りません。',
         skip: '未確認 — アクティブなMQTT接続が必要です。古いスライサーでこの設定がスライサー側のみに存在する場合、プリンターはそれを報告しないため、オプションが無効でもこのチェックは通過します — インストール手順4を手動で確認してください。',
-        skip_unsupported_model: 'このモデルにはSDスロットがありますが、オプションを有効にする方法がありません — 現在のP1シリーズのファームウェアはBambu Studioにトグルを表示せず、プリンターに画面もありません。ここで修正すべきことはありません。Bambu Labがファームウェアで対応するまで、アーカイブされた印刷にはサムネイルやスライサーのメタデータが欠ける場合があります。',
+        skip_unsupported_model: 'このモデルではこのオプションを有効にできません。現在のファームウェアでは、プリンターにも Bambu Studio にもこのオプションがありません。ここで直すことはありません。Bambu Lab が追加するまで、アーカイブされたプリントにはサムネイルとスライサーのメタデータが欠けることがあります。',
         fail_no_media: 'オプションは有効ですが、プリンターのスロットにカードもUSBメモリも検出されないため、送信ファイルの保存先がありません。挿入して再度印刷してください。それまでアーカイブされる印刷にはサムネイルとスライサーメタデータがありません。',
         warn_internal_storage: 'オプションは有効でストレージも装着されていますが、直近の印刷は Bambuddy が読み取れないプリンターの内部ストレージに保存されました。H2 シリーズ、P2S、X2D では、この設定に関係なく Bambu Studio の「印刷」ボタンは常にそちらへ送信します。印刷は名前と時間付きでアーカイブされますが、サムネイルとスライサーのメタデータはありません。完全なアーカイブを残すには、Bambuddy から印刷を開始するか、OrcaSlicer でスライスするか、Bambu Studio で「送信」から「外部ストレージ」を選んだあとに印刷を開始してください。',
         warn_internal_history: 'オプションは有効でストレージもありますが、直近の印刷はすでにプリンター内にあったファイルから実行されました — 画面からの再印刷、Handy からの開始、または以前に送信したファイルです。そのライブラリは Bambuddy が読めない内部ストレージにあり、この印刷では何も送信されていないため、どの設定を変えても解決しません。名前と時間付きでアーカイブはされますが、サムネイルとスライサーのメタデータはありません。完全なアーカイブにするには、Bambuddy から印刷を開始するか、スライサーから送信してください。',

+ 1 - 1
frontend/src/i18n/locales/ko.ts

@@ -8108,7 +8108,7 @@ export default {
         pass: '프린터가 이 옵션이 켜져 있다고 보고합니다 — 전송된 파일이 SD 카드에 저장되며 아카이브에 썸네일과 슬라이서 메타데이터가 포함됩니다.',
         fail: '프린터가 이 옵션이 꺼져 있다고 보고합니다. "전송된 파일을 외부 저장소에 저장"을 활성화하세요 — 최신 펌웨어 (P2S 01.02 / Bambu Studio 2.6 이상)에서는 프린터의 인쇄 설정에 토글이 있고, 이전 버전에서는 Bambu Studio / OrcaSlicer의 장치 탭에 있습니다. 이 옵션이 없으면 아카이브된 모든 인쇄물에 썸네일과 슬라이서 메타데이터가 없습니다.',
         skip: '확인되지 않음 — 활성 MQTT 연결이 필요합니다. 이 설정이 슬라이서에만 존재하는 이전 슬라이서에서는 프린터가 보고하지 않으므로, 옵션이 꺼져 있어도 이 검사는 통과합니다 — 설치 단계 4를 수동으로 확인하세요.',
-        skip_unsupported_model: '이 모델에는 SD 슬롯이 있지만 옵션을 켤 방법이 없습니다 — 현재 P1 시리즈 펌웨어는 Bambu Studio에 토글을 표시하지 않으며 프린터에 화면도 없습니다. 여기서 고칠 것은 없습니다. Bambu Lab이 펌웨어로 지원할 때까지 보관된 출력물에는 썸네일과 슬라이서 메타데이터가 없을 수 있습니다.',
+        skip_unsupported_model: '이 모델에서는 이 옵션을 켤 수 없습니다. 현재 펌웨어에서는 프린터와 Bambu Studio 모두 이 옵션을 제공하지 않습니다. 여기서 고칠 것은 없습니다. Bambu Lab이 추가할 때까지 보관된 출력물에는 썸네일과 슬라이서 메타데이터가 없을 수 있습니다.',
         fail_no_media: '옵션은 켜져 있지만 프린터 슬롯에 카드도 USB도 감지되지 않아 보낸 파일이 갈 곳이 없습니다. 하나 넣고 다시 출력하세요. 그전까지는 보관되는 모든 출력물에 썸네일과 슬라이서 메타데이터가 없습니다.',
         warn_internal_storage: '옵션이 켜져 있고 저장소도 있지만 마지막 출력물은 Bambuddy가 읽을 수 없는 프린터 내부 저장소에 저장되었습니다. H2 시리즈, P2S, X2D에서는 이 설정과 관계없이 Bambu Studio의 «인쇄» 버튼이 항상 그쪽으로 보냅니다. 출력물은 이름과 시간과 함께 보관되지만 썸네일과 슬라이서 메타데이터는 없습니다. 완전한 기록을 남기려면 Bambuddy에서 출력을 시작하거나, OrcaSlicer로 슬라이싱하거나, Bambu Studio에서 «보내기»로 «외부 저장소»를 고른 뒤 출력을 시작하세요.',
         warn_internal_history: '옵션은 켜져 있고 저장소도 있지만, 마지막 출력은 이미 프린터에 있던 파일에서 실행되었습니다 — 화면에서의 재출력, Handy에서의 시작, 또는 이전에 보낸 파일입니다. 그 라이브러리는 Bambuddy가 읽을 수 없는 내부 저장소에 있으며, 그 출력에서는 아무것도 전송되지 않았으므로 어떤 설정으로도 바뀌지 않습니다. 이름과 시간과 함께 보관되기는 하지만 썸네일과 슬라이서 메타데이터는 없습니다. 온전한 보관을 원하면 Bambuddy에서 출력을 시작하거나 슬라이서에서 전송하세요.',

+ 1 - 1
frontend/src/i18n/locales/nl.ts

@@ -7841,7 +7841,7 @@ export default {
         pass: 'De printer meldt dat deze optie aanstaat — verzonden bestanden worden op de SD-kaart opgeslagen en archieven bevatten miniaturen en slicermetadata.',
         fail: 'De printer meldt dat deze optie uitstaat. Schakel "Verzonden bestanden op externe opslag bewaren" in — op nieuwere firmware (P2S 01.02 / Bambu Studio 2.6+) staat de schakelaar in de Afdrukinstellingen van de printer; op oudere versies in het tabblad Apparaat van Bambu Studio / OrcaSlicer. Zonder deze optie mist elke gearchiveerde afdruk zijn miniatuur en slicermetadata.',
         skip: 'Niet gecontroleerd — hiervoor is een actieve MQTT-verbinding nodig. Bij oudere slicers, waar deze instelling alleen in de slicer staat, rapporteert de printer hem nooit. Daardoor kan deze controle slagen terwijl de optie uitstaat — controleer installatiestap 4 handmatig.',
-        skip_unsupported_model: 'Dit model heeft een SD-slot maar geen manier om de optie in te schakelen — de huidige P1-seriefirmware toont de schakelaar niet in Bambu Studio en de printer heeft geen scherm. Hier is niets te herstellen; gearchiveerde afdrukken kunnen miniaturen en slicermetadata missen totdat Bambu Lab firmwareondersteuning toevoegt.',
+        skip_unsupported_model: 'Bij dit model kan de optie niet worden ingeschakeld: met de huidige firmware bieden de printer en Bambu Studio haar geen van beide aan. Hier valt niets op te lossen; gearchiveerde prints kunnen miniaturen en slicer-metadata missen totdat Bambu Lab de optie toevoegt.',
         fail_no_media: 'De optie staat aan, maar de printer meldt dat er geen kaart of stick in het slot zit, waardoor verzonden bestanden nergens kunnen worden opgeslagen. Plaats er een en druk opnieuw af — tot die tijd mist elke gearchiveerde afdruk zijn miniatuur en slicermetadata.',
         warn_internal_storage: 'De optie staat aan en opslag is aanwezig, maar de laatste afdruk ging toch naar de interne opslag van de printer, die Bambuddy niet kan lezen. Bij H2-serie, P2S en X2D stuurt de knop Afdrukken van Bambu Studio altijd daarheen, ongeacht deze instelling. Afdrukken worden gearchiveerd met naam en timing, maar zonder miniatuur of slicermetadata. Voor volledige archieven start je afdrukken vanuit Bambuddy of slice je in OrcaSlicer — of gebruik in Bambu Studio Verzenden met Extern geselecteerd en start daarna de afdruk.',
         warn_internal_history: 'De optie staat aan en er is opslag aanwezig, maar de laatste print liep vanaf een bestand dat al op de printer stond — opnieuw afdrukken via het scherm, starten vanuit Handy, of een eerder verstuurd bestand. Die bibliotheek staat op interne opslag die Bambuddy niet kan lezen, en geen enkele instelling verandert dat, omdat er voor die print niets is verstuurd. Hij wordt nog steeds gearchiveerd met naam en tijden, maar zonder thumbnail of slicer-metadata. Start prints vanuit Bambuddy of verstuur ze vanuit de slicer voor volledige archieven.',

+ 1 - 1
frontend/src/i18n/locales/pl.ts

@@ -7843,7 +7843,7 @@ export default {
         pass: 'Drukarka zgłasza, że ta opcja jest włączona — wysłane pliki będą zapisywane na karcie SD, a archiwa będą miały miniatury i metadane slicera.',
         fail: 'Drukarka zgłasza, że ta opcja jest wyłączona. Włącz „Zapisuj wysłane pliki w pamięci zewnętrznej” — w nowszym firmware (P2S 01.02 / Bambu Studio 2.6+) przełącznik znajduje się w ustawieniach druku na drukarce; w starszych wersjach jest w zakładce Urządzenie w Bambu Studio / OrcaSlicer. Bez niej każdy zarchiwizowany wydruk nie ma miniatury ani metadanych slicera.',
         skip: 'Nie sprawdzono — wymaga aktywnego połączenia MQTT. W starszych slicerach, w których to ustawienie istnieje tylko w slicerze, drukarka nigdy go nie zgłasza, więc ten test przejdzie nawet przy wyłączonej opcji — sprawdź krok instalacji 4 ręcznie.',
-        skip_unsupported_model: 'Ten model ma gniazdo SD, ale nie da się włączyć tej opcji — obecne firmware serii P1 nie udostępnia przełącznika w Bambu Studio, a drukarka nie ma ekranu. Nie ma tu nic do naprawy; zarchiwizowane wydruki mogą nie mieć miniatur i metadanych slicera, dopóki Bambu Lab nie doda obsługi w firmware.',
+        skip_unsupported_model: 'W tym modelu nie da się włączyć tej opcji: przy obecnym oprogramowaniu nie oferuje jej ani drukarka, ani Bambu Studio. Nie ma tu nic do naprawienia; zarchiwizowanym wydrukom mogą brakować miniatur i metadanych slicera, dopóki Bambu Lab jej nie doda.',
         fail_no_media: 'Opcja jest włączona, ale drukarka zgłasza brak karty lub pendrive\'a w gnieździe, więc wysłane pliki nie mają gdzie trafić. Włóż nośnik i drukuj ponownie — do tego czasu każdy zarchiwizowany wydruk nie będzie miał miniatury ani metadanych slicera.',
         warn_internal_storage: 'Opcja jest włączona i nośnik jest obecny, ale ostatni wydruk i tak trafił do pamięci wewnętrznej drukarki, której Bambuddy nie może odczytać. W serii H2, P2S i X2D przycisk Drukuj w Bambu Studio zawsze wysyła tam pliki, niezależnie od tej opcji. Wydruki są archiwizowane z nazwą i czasem, ale bez miniatury i metadanych slicera. Aby mieć pełne archiwa, uruchamiaj wydruki z Bambuddy lub slicuj w OrcaSlicer — albo w Bambu Studio użyj Wyślij z wybraną opcją Zewnętrzna, a potem uruchom wydruk.',
         warn_internal_history: 'Opcja jest włączona i nośnik jest obecny, ale ostatni wydruk został uruchomiony z pliku, który już był na drukarce — ponowny wydruk z jej ekranu, start z Handy lub plik wysłany wcześniej. Ta biblioteka znajduje się w pamięci wewnętrznej, której Bambuddy nie może odczytać, i żadne ustawienie tego nie zmienia, bo dla tego wydruku nic nie zostało wysłane. Nadal jest archiwizowany z nazwą i czasem, ale bez miniatury i metadanych slicera. Aby mieć pełne archiwa, uruchamiaj wydruki z Bambuddy lub wysyłaj je ze slicera.',

+ 1 - 1
frontend/src/i18n/locales/pt-BR.ts

@@ -7777,7 +7777,7 @@ export default {
         pass: 'A impressora informa que esta opção está ligada — os arquivos enviados serão armazenados no cartão SD e os arquivos terão miniaturas e metadados do fatiador.',
         fail: 'A impressora informa que esta opção está desligada. Ative "Armazenar arquivos enviados no armazenamento externo" — em firmwares recentes (P2S 01.02 / Bambu Studio 2.6+) o interruptor fica nas Configurações de Impressão da impressora; em versões mais antigas, está na aba Dispositivo do Bambu Studio / OrcaSlicer. Sem essa opção, cada impressão arquivada fica sem miniatura nem metadados do fatiador.',
         skip: 'Não verificado — é necessária uma conexão MQTT ativa. Em fatiadores mais antigos onde essa configuração existe apenas no fatiador, a impressora não a reporta, então esta verificação passa mesmo com a opção desligada — verifique o passo 4 da instalação manualmente.',
-        skip_unsupported_model: 'Este modelo tem slot SD mas nenhuma forma de ativar a opção — o firmware atual da série P1 não mostra o botão no Bambu Studio e a impressora não tem tela. Não há nada a corrigir aqui; as impressões arquivadas podem ficar sem miniaturas e metadados do fatiador até que a Bambu Lab adicione suporte por firmware.',
+        skip_unsupported_model: 'Este modelo não permite ativar a opção: com o firmware atual, nem a impressora nem o Bambu Studio a oferecem. Não há nada a corrigir aqui; impressões arquivadas podem ficar sem miniaturas e metadados do fatiador até que a Bambu Lab a adicione.',
         fail_no_media: 'A opção está ligada, mas a impressora não detecta cartão nem pendrive no slot, então os arquivos enviados não têm para onde ir. Insira um e imprima novamente — até lá, toda impressão arquivada ficará sem miniatura e sem metadados do fatiador.',
         warn_internal_storage: 'A opção está ligada e há armazenamento presente, mas a última impressão ainda assim foi para o armazenamento interno da impressora, que o Bambuddy não consegue ler. Na série H2, na P2S e na X2D o botão «Imprimir» do Bambu Studio sempre envia para lá, independentemente desta opção. As impressões são arquivadas com nome e tempos, mas sem miniatura nem metadados do fatiador. Para arquivos completos, inicie as impressões pelo Bambuddy ou fatie no OrcaSlicer, ou então no Bambu Studio use «Enviar» com «Externo» e inicie a impressão depois.',
         warn_internal_history: 'A opção está ligada e há armazenamento, mas a última impressão saiu de um arquivo que já estava na impressora: uma reimpressão pela tela dela, um início pelo Handy ou um arquivo enviado antes. Essa biblioteca fica no armazenamento interno, que o Bambuddy não consegue ler, e nenhuma opção muda isso, porque nada foi enviado para essa impressão. Ela continua arquivada com nome e tempos, mas sem miniatura nem metadados do fatiador. Para arquivos completos, inicie as impressões pelo Bambuddy ou envie-as pelo fatiador.',

+ 1 - 1
frontend/src/i18n/locales/ru.ts

@@ -7420,7 +7420,7 @@ export default {
         pass: "Принтер сообщает, что параметр включён: отправленные файлы будут сохраняться на SD-карте, а в архиве появятся миниатюры и метаданные слайсера.",
         fail: "Принтер сообщает, что параметр выключен. Включите «Сохранять отправленные файлы во внешнем хранилище»: в новых прошивках (P2S 01.02 / Bambu Studio 2.6+) переключатель находится в настройках печати принтера, в старых — на вкладке «Устройство» Bambu Studio / OrcaSlicer. Без этого у всех архивных заданий не будет миниатюр и метаданных слайсера.",
         skip: "Не проверено — требуется активное подключение MQTT. В старых версиях слайсеров этот параметр существует только в слайсере и принтер его не сообщает, поэтому проверка может пройти даже при выключенном параметре. Проверьте шаг 4 установки вручную.",
-        skip_unsupported_model: "В этой модели есть слот SD-карты, но включить соответствующую функцию невозможно: текущая прошивка серии P1 не предоставляет переключатель в Bambu Studio, а у принтера нет экрана. Исправлять здесь нечего. Пока Bambu Lab не добавит поддержку в прошивку, архивные задания могут сохраняться без миниатюр и метаданных слайсера.",
+        skip_unsupported_model: 'На этой модели эту опцию невозможно включить: с текущей прошивкой её не предлагают ни принтер, ни Bambu Studio. Здесь нечего исправлять; в архивированных печатях могут отсутствовать миниатюры и метаданные слайсера, пока Bambu Lab её не добавит.',
         fail_no_media: 'Параметр включён, но принтер не видит ни карты, ни флешки в слоте, поэтому отправленным файлам некуда деваться. Вставьте накопитель и напечатайте снова — до тех пор у каждой архивной печати не будет ни миниатюры, ни метаданных слайсера.',
         warn_internal_storage: 'Параметр включён и накопитель на месте, но последняя печать всё равно ушла во внутреннюю память принтера, которую Bambuddy не может прочитать. На серии H2, P2S и X2D кнопка «Печать» в Bambu Studio всегда отправляет туда, независимо от этого параметра. Печати архивируются с именем и временем, но без миниатюры и метаданных слайсера. Чтобы архивы были полными, запускайте печать из Bambuddy, нарезайте в OrcaSlicer или в Bambu Studio используйте «Отправить» с «Внешним накопителем», а затем запускайте печать.',
         warn_internal_history: 'Опция включена и накопитель на месте, но последняя печать шла из файла, который уже был на принтере, — повторная печать с его экрана, запуск из Handy или файл, отправленный раньше. Эта библиотека лежит во внутренней памяти, которую Bambuddy не читает, и никакие настройки этого не меняют: для той печати ничего не отправлялось. Она по-прежнему архивируется с именем и временем, но без миниатюры и метаданных слайсера. Чтобы архивы были полными, запускайте печать из Bambuddy или отправляйте её из слайсера.',

+ 1 - 1
frontend/src/i18n/locales/sv.ts

@@ -7872,7 +7872,7 @@ errors: {
         pass: 'Skrivaren rapporterar att detta alternativ är på — skickade filer kommer att lagras på SD-kortet och arkiv kommer att ha minibilder och slicer-inställningar.',
         fail: 'Skrivaren rapporterar att detta alternativ är av. Aktivera "Lagra skickade filer på extern lagring" — på nyare firmware (P2S 01.02 / Bambu Studio 2.6+) finns växeln på skrivarens Utskriftsinställningar; på äldre versioner finns den i Bambu Studio / OrcaSlicers Enhetsflik. Utan det saknar varje arkiverad utskrift sin minibild och slicer-inställningar.',
         skip: 'Kontrollerades inte — kräver en aktiv MQTT-anslutning. På äldre slicers där denna inställning endast finns i slicern rapporterar skrivaren aldrig det, så denna kontroll kommer att passera även när alternativet är av — verifiera installationssteg 4 manuellt.',
-        skip_unsupported_model: 'Denna modell har ett SD-kortfack men inget sätt att slå på alternativet — aktuell P1-serie-firmware exponerar inte växeln i Bambu Studio och skrivaren har ingen skärm. Inget att åtgärda här; arkiverade utskrifter kan sakna minibilder och slicer-inställningar tills Bambu Lab lägger till firmware-stöd.',
+        skip_unsupported_model: 'På den här modellen går alternativet inte att slå på: med nuvarande firmware erbjuder varken skrivaren eller Bambu Studio det. Inget att åtgärda här; arkiverade utskrifter kan sakna miniatyrer och slicer-metadata tills Bambu Lab lägger till det.',
         fail_no_media: 'Alternativet är aktiverat, men skrivaren rapporterar att det inte finns något kort eller sticka i sin kortplats, så det finns ingenstans för skickade filer att ta vägen. Sätt i ett och skriv ut igen – fram till dess kommer alla arkiverade utskrifter att sakna sina minibilder och slicing-metadata.',
         warn_internal_storage: 'Alternativet är aktiverat och lagring finns, men den sista utskriften gick ändå till skrivarens interna lagring, som Bambuddy inte kan läsa. På H2-serien och P2S skickar Bambu Studios Skriv ut-knapp alltid dit det alternativ det är inställt på. Arkivet skrivs ut med namn och tidpunkt, men utan minibild eller metadata för slicern. För kompletta arkiv, starta utskrifter från Bambuddy eller slica i OrcaSlicer — eller i Bambu Studio, använd Skicka med Externt vald, och starta sedan utskriften.',
         warn_internal_history: 'Alternativet är aktiverat och lagring finns, men den senaste utskriften kördes från en fil som redan fanns på skrivaren – en ny utskrift från dess skärm, en start från Handy eller en fil som skickades tidigare. Det biblioteket finns på den interna lagringen som Bambuddy inte kan läsa, och ingen inställning ändrar det, eftersom ingenting skickades för den utskriften. Den arkiverar fortfarande med sitt namn och tidpunkt, men utan en minibild eller slicer-metadata. För fullständiga arkiv, starta utskrifter från Bambuddy eller skicka dem från slicern.',

+ 1 - 1
frontend/src/i18n/locales/tr.ts

@@ -7729,7 +7729,7 @@ export default {
         pass: 'Yazıcı bu seçeneğin açık olduğunu bildiriyor — gönderilen dosyalar SD kartta saklanacak ve arşivler küçük resim ve dilimleyici meta verileri içerecek.',
         fail: 'Yazıcı bu seçeneğin kapalı olduğunu bildiriyor. "Gönderilen dosyaları harici depolamada sakla" seçeneğini etkinleştirin — yeni donanım yazılımlarında (P2S 01.02 / Bambu Studio 2.6+) düğme yazıcının Baskı Ayarları\'nda; eski sürümlerde Bambu Studio / OrcaSlicer\'in Cihaz sekmesindedir. Bu seçenek olmadan, arşivlenen her baskıda küçük resim ve dilimleyici meta verisi olmayacak.',
         skip: 'Kontrol edilmedi — etkin bir MQTT bağlantısı gerekli. Bu ayarın yalnızca dilimleyicide bulunduğu eski dilimleyicilerde yazıcı bunu bildirmez, bu nedenle seçenek kapalı olsa bile bu kontrol geçer — kurulum adımı 4\'ü manuel olarak doğrulayın.',
-        skip_unsupported_model: 'Bu modelde SD yuvası var ancak seçeneği açmanın bir yolu yok — mevcut P1 serisi bellenim, Bambu Studio\'da bu anahtarı göstermiyor ve yazıcının ekranı yok. Burada düzeltilecek bir şey yok; Bambu Lab bellenim desteği ekleyene kadar arşivlenen baskılarda küçük resimler ve dilimleyici meta verileri eksik olabilir.',
+        skip_unsupported_model: 'Bu modelde seçenek açılamıyor: mevcut ürün yazılımında ne yazıcı ne de Bambu Studio bu seçeneği sunuyor. Burada düzeltilecek bir şey yok; Bambu Lab ekleyene kadar arşivlenen baskılarda küçük resimler ve dilimleyici meta verileri eksik olabilir.',
         fail_no_media: 'Seçenek açık, ancak yazıcı yuvasında kart veya bellek bildirmiyor, dolayısıyla gönderilen dosyaların gideceği bir yer yok. Bir tane takıp yeniden yazdırın — o zamana kadar arşivlenen her baskıda küçük resim ve dilimleyici meta verileri eksik olacak.',
         warn_internal_storage: 'Seçenek açık ve depolama takılı, ancak son baskı yine de Bambuddy\'nin okuyamadığı dahili depolamaya gitti. H2 serisi, P2S ve X2D\'de Bambu Studio\'nun «Yazdır» düğmesi bu ayardan bağımsız olarak her zaman oraya gönderir. Baskılar adları ve süreleriyle arşivlenir, ancak küçük resim ve dilimleyici meta verileri olmadan. Eksiksiz arşivler için baskıları Bambuddy üzerinden başlatın, OrcaSlicer ile dilimleyin ya da Bambu Studio\'da «Gönder» ile «Harici» seçip baskıyı sonrasında başlatın.',
         warn_internal_history: 'Seçenek açık ve depolama takılı, ancak son baskı yazıcıda zaten bulunan bir dosyadan çalıştı — ekranından yeniden baskı, Handy üzerinden başlatma ya da daha önce gönderilmiş bir dosya. Bu kitaplık, Bambuddy\'nin okuyamadığı dahili depolamada durur ve o baskı için hiçbir şey gönderilmediğinden hiçbir ayar bunu değiştirmez. Adı ve süreleriyle yine arşivlenir, ama küçük resim ve dilimleyici meta verileri olmadan. Eksiksiz arşivler için baskıları Bambuddy\'den başlatın ya da dilimleyiciden gönderin.',

+ 1 - 1
frontend/src/i18n/locales/uk.ts

@@ -7831,7 +7831,7 @@ export default {
         pass: "Принтер повідомляє, що цю опцію ввімкнено — надіслані файли зберігатимуться на картці SD, а архіви матимуть мініатюри та метадані слайсера.",
         fail: "Принтер повідомляє, що цей параметр вимкнено. Увімкніть «Зберігати надіслані файли в зовнішньому сховищі». У новіших версіях прошивки (P2S 01.02 / Bambu Studio 2.6+) перемикач розташований у налаштуваннях друку на принтері; у старіших — на вкладці «Пристрій» у Bambu Studio або OrcaSlicer. Без цього параметра в кожному архівованому друці будуть відсутні мініатюра та метадані слайсера.",
         skip: "Не перевірено — потрібне активне MQTT-з’єднання. У старіших слайсерах, де цей параметр існує лише в самому слайсері, принтер його не повідомляє. Тому перевірка може бути успішною навіть за вимкненого параметра — перевірте крок установлення 4 вручну.",
-        skip_unsupported_model: "Ця модель має слот для SD-картки, але не дає змоги ввімкнути цей параметр: поточна прошивка принтерів серії P1 не показує перемикач у Bambu Studio, а сам принтер не має екрана. Виправляти нічого не потрібно; доки Bambu Lab не додасть підтримку в прошивці, в архівованих друках можуть бути відсутні мініатюри та метадані слайсера.",
+        skip_unsupported_model: 'На цій моделі цю опцію неможливо ввімкнути: з поточною прошивкою її не пропонують ні принтер, ні Bambu Studio. Тут нічого виправляти; в архівованих друках можуть бути відсутні мініатюри та метадані слайсера, доки Bambu Lab її не додасть.',
         fail_no_media: 'Параметр увімкнено, але принтер не бачить ані картки, ані флешки у слоті, тож надісланим файлам немає куди подітися. Вставте носій і надрукуйте ще раз — доти кожен заархівований друк буде без мініатюри та метаданих слайсера.',
         warn_internal_storage: 'Параметр увімкнено і носій на місці, але останній друк усе одно потрапив у внутрішню пам\'ять принтера, яку Bambuddy не може прочитати. На серії H2, P2S та X2D кнопка «Друк» у Bambu Studio завжди надсилає туди, незалежно від цього параметра. Друки архівуються з назвою та часом, але без мініатюри та метаданих слайсера. Щоб архіви були повними, запускайте друк із Bambuddy, нарізайте в OrcaSlicer або в Bambu Studio скористайтеся «Надіслати» із «Зовнішнім носієм», а потім запускайте друк.',
         warn_internal_history: 'Опція увімкнена й носій на місці, але останній друк ішов із файлу, який уже був на принтері, — повторний друк з його екрана, запуск із Handy або файл, надісланий раніше. Ця бібліотека лежить у внутрішній пам\'яті, яку Bambuddy не читає, і жодні налаштування цього не змінюють: для того друку нічого не надсилалося. Він і далі архівується з назвою та часом, але без мініатюри та метаданих слайсера. Щоб архіви були повними, запускайте друк із Bambuddy або надсилайте його зі слайсера.',

+ 1 - 1
frontend/src/i18n/locales/zh-CN.ts

@@ -7775,7 +7775,7 @@ export default {
         pass: '打印机报告此选项已开启 — 发送的文件将存储在 SD 卡上,归档将包含缩略图和切片机元数据。',
         fail: '打印机报告此选项已关闭。请启用"将发送的文件存储在外部存储中" — 在较新固件 (P2S 01.02 / Bambu Studio 2.6+) 中,开关位于打印机的打印设置中;在较旧版本中位于 Bambu Studio / OrcaSlicer 的设备选项卡中。如果不启用此选项,每次归档的打印都将没有缩略图也没有切片机元数据。',
         skip: '未检查 — 需要有效的 MQTT 连接。在该设置仅存在于切片机中的较旧切片机上,打印机不会报告此设置,因此即使选项已关闭,此检查也会通过 — 请手动验证安装步骤 4。',
-        skip_unsupported_model: '此型号有 SD 卡槽,但无法开启该选项 — 当前 P1 系列固件不会在 Bambu Studio 中显示此开关,且打印机没有屏幕。这里无需修复;在 Bambu Lab 通过固件添加支持之前,存档的打印可能缺少缩略图和切片元数据。',
+        skip_unsupported_model: '此型号无法开启该选项:在当前固件中,打印机和 Bambu Studio 都不提供此选项。这里无需修复;在 Bambu Lab 添加之前,存档的打印可能缺少缩略图和切片元数据。',
         fail_no_media: '该选项已开启,但打印机的插槽中未检测到存储卡或U盘,发送的文件无处存放。插入一个再打印一次 — 在此之前,每一次归档的打印都会缺少缩略图和切片元数据。',
         warn_internal_storage: '该选项已开启且存储介质在位,但上一次打印仍进入了 Bambuddy 无法读取的打印机内部存储。在 H2 系列、P2S 和 X2D 上,无论此选项如何设置,Bambu Studio 的「打印」按钮总是发送到那里。打印会带着名称和时间归档,但没有缩略图和切片元数据。要获得完整归档,请从 Bambuddy 启动打印、改用 OrcaSlicer 切片,或在 Bambu Studio 中用「发送」选择「外部存储」后再启动打印。',
         warn_internal_history: '该选项已开启,存储介质也在,但最近一次打印来自打印机里已有的文件 — 从它的屏幕重新打印、从 Handy 启动,或是先前发送过的文件。这个文件库位于 Bambuddy 读不到的内部存储中,而且任何设置都改变不了,因为那次打印根本没有发送过文件。它仍会带着名称和时间归档,但没有缩略图和切片元数据。要获得完整归档,请从 Bambuddy 启动打印,或从切片软件发送。',

+ 1 - 1
frontend/src/i18n/locales/zh-TW.ts

@@ -7775,7 +7775,7 @@ export default {
         pass: '印表機回報此選項已開啟 — 傳送的檔案將儲存在 SD 卡上,封存將包含縮圖和切片機中繼資料。',
         fail: '印表機回報此選項已關閉。請啟用「將傳送的檔案儲存在外部儲存中」 — 在較新韌體 (P2S 01.02 / Bambu Studio 2.6+) 中,開關位於印表機的列印設定中;在較舊版本中位於 Bambu Studio / OrcaSlicer 的裝置分頁中。如果未啟用此選項,每次封存的列印都將沒有縮圖也沒有切片機中繼資料。',
         skip: '未檢查 — 需要有效的 MQTT 連線。在該設定僅存在於切片機中的較舊切片機上,印表機不會回報此設定,因此即使選項已關閉,此檢查也會通過 — 請手動驗證安裝步驟 4。',
-        skip_unsupported_model: '此型號有 SD 卡槽,但無法開啟該選項 — 目前 P1 系列韌體不會在 Bambu Studio 中顯示此開關,且印表機沒有螢幕。這裡無需修復;在 Bambu Lab 透過韌體加入支援之前,封存的列印可能缺少縮圖和切片中繼資料。',
+        skip_unsupported_model: '此型號無法開啟該選項:在目前韌體中,印表機和 Bambu Studio 都不提供此選項。這裡無需修復;在 Bambu Lab 新增之前,存檔的列印可能缺少縮圖和切片中繼資料。',
         fail_no_media: '該選項已開啟,但印表機的插槽中未偵測到記憶卡或隨身碟,傳送的檔案無處存放。插入一個再列印一次 — 在此之前,每一次歸檔的列印都會缺少縮圖與切片中繼資料。',
         warn_internal_storage: '該選項已開啟且儲存媒體在位,但上一次列印仍進入了 Bambuddy 無法讀取的印表機內部儲存。在 H2 系列、P2S 與 X2D 上,無論此選項如何設定,Bambu Studio 的「列印」按鈕總是傳送到那裡。列印會帶著名稱與時間歸檔,但沒有縮圖與切片中繼資料。要取得完整歸檔,請從 Bambuddy 啟動列印、改用 OrcaSlicer 切片,或在 Bambu Studio 中用「傳送」選擇「外部儲存」後再啟動列印。',
         warn_internal_history: '該選項已開啟,儲存媒體也在,但最近一次列印來自印表機裡既有的檔案 — 從它的螢幕重新列印、從 Handy 啟動,或是先前傳送過的檔案。這個檔案庫位於 Bambuddy 讀不到的內部儲存中,而且任何設定都改變不了,因為那次列印根本沒有傳送過檔案。它仍會帶著名稱與時間歸檔,但沒有縮圖與切片中繼資料。要獲得完整歸檔,請從 Bambuddy 啟動列印,或從切片軟體傳送。',