{ "actions": { "list": "List", "create": "Create", "edit": "Edit", "show": "Show", "clone": "Clone" }, "buttons": { "create": "Create", "save": "Save", "saveAndAdd": "Save and Add", "logout": "Log out", "delete": "Delete", "edit": "Edit", "cancel": "Cancel", "confirm": "Are you sure?", "continue": "Continue", "filter": "Filter", "clear": "Clear", "refresh": "Refresh", "show": "Show", "undo": "Undo", "import": "Import", "clone": "Clone", "archive": "Archive", "unArchive": "Unarchive", "hideArchived": "Hide Archived", "showArchived": "Show Archived", "prev": "Prev", "next": "Next", "yes": "Yes", "no": "No", "notAccessTitle": "You don't have permission to access", "hideColumns": "Hide Columns", "clearFilters": "Clear Filters", "viewAll": "View All" }, "warnWhenUnsavedChanges": "Are you sure you want to leave? You have unsaved changes.", "notifications": { "success": "Successful", "error": "Error (status code: {{statusCode}})", "undoable": "You have {{seconds}} seconds to undo.", "createSuccess": "Successfully created {{resource}}", "createError": "There was an error creating {{resource}} (status code: {{statusCode}})", "deleteSuccess": "Successfully deleted {{resource}}", "deleteError": "Error when deleting {{resource}} (status code: {{statusCode}})", "editSuccess": "Successfully edited {{resource}}", "editError": "Error when editing {{resource}} (status code: {{statusCode}})", "importProgress": "Importing: {{processed}}/{{total}}", "saveSuccessful": "Save successful!", "validationError": "Validation error: {{error}}" }, "kofi": "Tip me on Ko-fi", "loading": "Loading", "version": "Version", "unknown": "Unknown", "yes": "Yes", "no": "No", "tags": { "clone": "Clone" }, "dashboard": { "title": "Dashboard" }, "printing": { "generic": { "title": "Printing", "description": "Tune in the settings below to get the desired print layout. Keep in mind that printers and your OS may apply it's own margins and scaling, so you may need to perform some trial-and-error before it's all correct. Test it on a piece of regular paper before printing on the actual labels.", "helpMargin": "Margins should be configured to match your label paper and printer, changing these will affect the size of the entire grid.", "helpPrinterMargin": "Safe-Zone should be set to how close to the paper edge your printer can print, changing these will not affect the entire grid.", "print": "Print", "columns": "Columns", "rows": "Rows", "paperSize": "Paper Size", "customSize": "Custom", "dimensions": "Dimensions", "showBorder": "Show Border", "previewScale": "Preview Scale", "skipItems": "Skip Items", "itemCopies": "Item Copies", "contentSettings": "Content Settings", "layoutSettings": "Layout Settings", "horizontalSpacing": "Horizontal Spacing", "verticalSpacing": "Vertical Spacing", "marginLeft": "Left Margin", "marginRight": "Right Margin", "marginTop": "Top Margin", "marginBottom": "Bottom Margin", "printerMarginLeft": "Safe-Zone Left", "printerMarginRight": "Safe-Zone Right", "printerMarginTop": "Safe-Zone Top", "printerMarginBottom": "Safe-Zone Bottom", "borders": { "none": "None", "border": "Border", "grid": "Grid" }, "settings": "Presets", "defaultSettings": "Default", "addSettings": "Add New Preset", "newSetting": "New", "duplicateSettings": "Duplicate", "deleteSettings": "Delete Current Preset", "deleteSettingsConfirm": "Are you sure you want to delete this preset?", "settingsName": "Preset Name", "saveSetting": "Save Presets", "saveAsImage": "Save as Image" }, "qrcode": { "button": "Print Labels", "title": "Label Printing", "template": "Label Template", "templateHelp": "Use {} to insert values of the spool object as text. For example, {id} will be replaced with the spool id, or {filament.material} will be replaced with the material of the spool. if a value is missing it will be replaced with \"?\". A second set of {} can be used to remove this. In addition, any text between the sets of {} will be removed if the value is missing. For example, {Lot Nr: {lot_nr}} will only show the label if the spool has a lot number. Enclose text with double asterix ** to make it bold. Click the button to view a list of all available tags.", "textSize": "Label Text Size", "showContent": "Print Label", "useHTTPUrl": { "label": "QR code link", "tooltip": "Will use proprietary link that will work only if scanned from Spoolman's scanning feature (default). URL uses either the base URL specified in settings, or the current page URL if not set.", "options": { "default": "Default", "url": "URL" }, "preview": "Preview:" }, "showQRCode": "Print QR Code", "showQRCodeMode": { "no": "No", "simple": "Simple", "withIcon": "With Icon" }, "qrCodePadding": "QR Code Padding", "qrCodePaddingTooltip": "White space around the QR code for better scanning reliability", "qrCodeMaxWidth": "QR Code Max Width", "qrCodeMaxWidthTooltip": "Maximum width of QR code as percentage of label. Set to 0 for automatic sizing.", "qrCodeSize": "QR Code Size", "qrCodeSizeTooltip": "Fixed size of QR code in millimeters. Set to 0 for automatic sizing based on label.", "auto": "Auto" }, "spoolSelect": { "title": "Select Spools", "description": "Select spools to print labels for.", "showArchived": "Show Archived", "noSpoolsSelected": "You have not selected any spools.", "selectAll": "Select/Unselect All", "selectedTotal_one": "{{count}} spool selected", "selectedTotal_other": "{{count}} spools selected" } }, "scanner": { "title": "QR Code Scanner", "description": "Scan a Spoolman QR code to view details about the spool.", "error": { "notAllowed": "You have not allowed access to the camera.", "insecureContext": "The page is not served over HTTPS.", "streamApiNotSupported": "The browser does not support the MediaStream API.", "notReadable": "The camera is not readable.", "notFound": "No camera was found.", "unknown": "An unknown error occurred. ({{error}})" } }, "spool": { "spool": "Spools", "fields": { "id": "ID", "filament_name": "Filament", "filament": "Filament", "filament_internal": "Internal", "filament_external": "External", "price": "Price", "material": "Material", "weight_to_use": "Weight", "used_weight": "Used Weight", "remaining_weight": "Remaining Weight", "measured_weight": "Measured Weight", "used_length": "Used Length", "remaining_length": "Remaining Length", "initial_weight": "Initial Weight", "spool_weight": "Empty Weight", "location": "Location", "lot_nr": "Lot Nr", "first_used": "First Used", "last_used": "Last Used", "registered": "Registered", "comment": "Comment", "archived": "Archived", "adjustment_history": "Adjustment History", "show_history": "Show History", "adjustment_timestamp": "Date/Time", "adjustment_type": "Type", "adjustment_type_weight": "Weight", "adjustment_type_length": "Length", "adjustment_value": "Amount", "adjustment_comment": "Comment" }, "fields_help": { "price": "Price of a full spool. If not set, the price of the filament will be assumed instead.", "weight_to_use": "Select what weight value to enter. Measured weight is only available if the spool weight is set for the selected filament.", "used_weight": "How much filament has been used from the spool. A new spool should have 0g used.", "remaining_weight": "How much filament is left on the spool. For a new spool this should match the spool weight.", "measured_weight": "How much the filament and spool weigh.", "initial_weight": "The initial weight of filament on the spool (net weight). Will use the weight from the filament object if not set.", "spool_weight": "The weight of the spool when it is empty. Leave empty to use the value from the filament or the manufacturer.", "location": "Where the spool is located if you have multiple locations where you store your spools.", "lot_nr": "Manufacturer's lot number. Can be used to ensure a print has consistent color if multiple spools are used.", "external_filament": "You have selected a filament from the external database. A filament object (and possibly a manufacturer object) will be created automatically when you create this spool. This can create duplicate filament objects if you have already created a filament object for this filament." }, "titles": { "create": "Create Spool", "clone": "Clone Spool", "edit": "Edit Spool", "list": "Spools", "show": "Show Spool", "show_title": "[Spool #{{id}}] {{name}}", "archive": "Archive Spool", "adjust": "Adjust Spool Filament" }, "form": { "measurement_type": { "length": "Length", "weight": "Weight" }, "measurement_type_label": "Measurement Type", "adjust_filament_help": "Here you can directly add or subtract filament from the spool. A positive value will consume filament, a negative value will add it.", "adjust_filament_value": "Consume Amount", "new_location_prompt": "Enter a new location", "spool_updated": "This spool has been updated by someone/something else since you opened this page. Saving will overwrite those changes!" }, "messages": { "archive": "Are you sure you want to archive this spool?" }, "formats": { "last_used": "Last used {{date}}" } }, "filament": { "filament": "Filaments", "fields": { "id": "ID", "vendor_name": "Manufacturer", "vendor": "Manufacturer", "name": "Name", "material": "Material", "price": "Price", "density": "Density", "diameter": "Diameter", "weight": "Weight", "spool_weight": "Spool Weight", "article_number": "Article Number", "registered": "Registered", "comment": "Comment", "settings_extruder_temp": "Extruder Temp", "settings_bed_temp": "Bed Temp", "temp_min": "Min", "temp_max": "Max", "color_hex": "Color", "single_color": "Single", "multi_color": "Multi", "coaxial": "Coextruded", "longitudinal": "Longitudinal", "external_id": "External ID", "spools": "Show Spools", "not_set": "Not Set", "spool_count": "Spools", "total_remaining_weight": "Total Remaining" }, "fields_help": { "name": "Filament name, to distinguish this filament type among others from the same manufacturer. Should contain the color for example.", "material": "E.g. PLA, ABS, PETG, etc.", "price": "Price of a full spool.", "density": "Auto-filled based on material. Standard: PLA 1.24, ABS 1.04, PETG 1.27 g/cm³.", "weight": "The filament weight of a full spool (net weight). This should not include the weight of the spool itself, only the filament. It is what is usually written on the packaging.", "spool_weight": "The weight of an empty spool. Used to determine measured weight of a spool.", "article_number": "E.g. EAN, UPC, etc.", "multi_color_direction": "Filaments can have multiple colors in two ways: either through coextrusion, like dual-color filaments with consistent multi-colors, or through longitudinal color changes, like gradient filaments that shift colors along the spool." }, "titles": { "create": "Create Filament", "clone": "Clone Filament", "edit": "Edit Filament", "list": "Filaments", "show": "Show Filament", "show_title": "[Filament #{{id}}] {{name}}" }, "form": { "filament_updated": "This filament has been updated by someone/something else since you opened this page. Saving will overwrite those changes!", "import_external": "Import from External", "import_external_description": "Select a filament in the list to automatically populate its details in the filament creation form. This will overwrite any data you have entered in the form.

A Manufacturer object will be created automatically when you click Ok, if necessary.", "all_sources": "All Sources", "select_filament": "Select a filament...", "created_success": "Created filament \"{{name}}\"", "vendor_placeholder": "Select a manufacturer", "name_placeholder": "E.g. Matte Black", "material_placeholder": "PLA, PETG, ABS, etc." }, "buttons": { "add_spool": "Add Spool" } }, "vendor": { "vendor": "Manufacturers", "fields": { "id": "ID", "name": "Name", "empty_spool_weight": "Empty Spool Weight", "external_id": "External ID", "registered": "Registered", "comment": "Comment" }, "fields_help": { "empty_spool_weight": "The weight of an empty spool from this manufacturer." }, "titles": { "create": "Create Manufacturer", "clone": "Clone Manufacturer", "edit": "Edit Manufacturer", "list": "Manufacturers", "show": "Show Manufacturer", "show_title": "[Manufacturer #{{id}}] {{name}}" }, "form": { "vendor_updated": "This manufacturer has been updated by someone/something else since you opened this page. Saving will overwrite those changes!", "created_success": "Created manufacturer \"{{name}}\"", "name_required": "Name is required" } }, "home": { "home": "Home", "welcome": "Welcome to your Spoolman instance!", "description": "It looks like you haven't added any spools yet. See the Help page for help getting started.", "all_spools": "All Spools", "low_stock_alert": "{{count}} spools below {{threshold}}g", "low_stock_warning": "Low stock" }, "help": { "help": "Help", "resources": { "filament": "Brands of filament. They have properties such as name, material, color, diameter, and more.", "spool": "Individual physical spools of a specific filament.", "vendor": "The companies that make the filament." }, "description": "Help

Here are some tips to get you started.

Spoolman holds 3 different types of data:

To add a new spool to the database, start by creating a Filament object. Once that's done, proceed to create a Spool object for that specific spool. If you acquire additional spools of the same filament later on, simply generate additional Spool objects and reuse the same Filament object.

Optionally, you can also generate a Manufacturer object for the company manufacturing the filament if you wish to track that information.

You have the option to link other 3D printer services to Spoolman, like Moonraker, which can automatically monitor filament usage and update the Spool objects for you. Refer to the Spoolman README for guidance on how to set that up.

" }, "table": { "actions": "Actions" }, "settings": { "settings": "Settings", "header": "Settings", "general": { "tab": "General", "currency": { "label": "Currency" }, "base_url": { "label": "Base URL", "tooltip": "The base URL to use when generating features such as QR codes." }, "round_prices": { "label": "Round prices", "tooltip": "Round prices to the nearest whole number." }, "theme_color": { "label": "Theme Color", "orange": "Orange", "teal": "Teal", "red": "Red", "green": "Green", "blue": "Blue" } }, "backup": { "title": "Backup & Restore", "description": "Export all your data for backup or migrate to a different database.", "export_title": "Export Data", "export_button": "Download Backup", "export_success": "Backup downloaded successfully", "export_error": "Failed to export data", "import_title": "Import Data", "select_file": "Select backup file", "import_merge": "Import (Merge)", "import_replace": "Import (Replace All)", "import_success": "Data imported successfully", "import_error": "Failed to import data", "replace_warning_title": "Replace all data?", "replace_warning": "This will DELETE all existing data and replace it with the backup. This cannot be undone!" }, "extra_fields": { "tab": "Extra Fields", "description": "

Here you can add extra custom fields to your entities.

Once a field is added, you can not change its key or type, and for choice type fields you can not remove choices or change the multi choice state. If you remove a field, the associated data for all entities will be deleted.

The key is what other programs read/write the data as, so if your custom field is supposed to integrate with a third-party program, make sure to set it correctly. Default value is only applied to new items.

Extra fields can not be sorted or filtered in the table views.

", "params": { "key": "Key", "name": "Name", "field_type": "Type", "unit": "Unit", "order": "Order", "default_value": "Default Value", "choices": "Choices", "multi_choice": "Multi Choice" }, "field_type": { "text": "Text", "integer": "Integer", "integer_range": "Integer Range", "float": "Float", "float_range": "Float Range", "datetime": "Datetime", "boolean": "Boolean", "choice": "Choice" }, "boolean_true": "Yes", "boolean_false": "No", "choices_missing_error": "You cannot remove choices. The following choices are missing: {{choices}}", "non_unique_key_error": "The key must be unique.", "key_not_changed": "Please change the key to something else.", "delete_confirm": "Delete field {{name}}?", "delete_confirm_description": "This will delete the field and all associated data for all entities." } }, "documentTitle": { "default": "Spoolman", "suffix": " | Spoolman", "home": { "list": "Home | Spoolman" }, "help": { "list": "Help | Spoolman" }, "locations": { "list": "Locations | Spoolman" }, "filament": { "list": "Filaments | Spoolman", "show": "#{{id}} Show Filament | Spoolman", "edit": "#{{id}} Edit Filament | Spoolman", "create": "Create Filament | Spoolman", "clone": "#{{id}} Clone Filament | Spoolman" }, "spool": { "list": "Spools | Spoolman", "show": "#{{id}} Show Spool | Spoolman", "edit": "#{{id}} Edit Spool | Spoolman", "create": "Create Spool | Spoolman", "clone": "#{{id}} Clone Spool | Spoolman" }, "vendor": { "list": "Manufacturers | Spoolman", "show": "#{{id}} Show Manufacturer | Spoolman", "edit": "#{{id}} Edit Manufacturer | Spoolman", "create": "Create Manufacturer | Spoolman", "clone": "#{{id}} Clone Manufacturer | Spoolman" } }, "locations": { "locations": "Locations", "new_location": "New Location", "no_location": "No Location", "no_locations_help": "This page lets you organize your spools in locations, add some spools to get started!" }, "print-queue": { "print-queue": "Print Queue" }, "print_queue": { "title": "Print Queue", "pending_jobs": "Pending Jobs", "needs_weighing": "Spools Needing Weigh-In", "recent_history": "Recent History", "no_pending_jobs": "No pending print jobs", "no_history": "No completed or cancelled jobs yet", "fields": { "filename": "Filename", "spool": "Spool", "filament_used": "Filament Used", "created": "Created", "finished": "Finished", "status": "Status" }, "status": { "pending": "Pending", "completed": "Completed", "cancelled": "Cancelled" }, "stats": { "pending": "Pending", "needs_weighing": "Need Weigh-In", "completed_today": "Completed Today", "total_jobs": "Total Jobs" }, "complete": "Complete", "cancel": "Cancel", "cancel_job": "Cancel Job", "weigh_in": "Weigh In", "clear_flag": "Clear Flag", "clear_flag_tooltip": "Mark as weighed without updating weight", "confirm_complete": "Complete Print Job?", "confirm_complete_description": "This will deduct {{grams}}g from the spool.", "confirm_cancel": "Cancel Print Job?", "confirm_cancel_description": "The spool will be flagged for manual weigh-in since filament usage is unknown.", "confirm_delete": "Delete Print Job?", "confirm_delete_description": "This will permanently remove this job from history.", "job_completed": "Print job completed", "job_complete_error": "Failed to complete print job", "job_cancelled": "Print job cancelled - spool flagged for weigh-in", "job_cancel_error": "Failed to cancel print job", "job_deleted": "Print job deleted", "weighing_cleared": "Weigh-in flag cleared" } }