Commit graph

217 commits

Author SHA1 Message Date
xun.zhang
75a98050a0 ENH: pva filament should use normal support type
1.Always pop up to switch support type for PVA filaments
2.Rename the old "on_filament_change" to "on_filament_count_change",
add a new function as "on_filament_change"

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib5a96f2334bbe016db6661864d44e66c1fc5660f
(cherry picked from commit a17aa8c701d05cee57fb9d422a5bcde9f434fd7b)
2025-09-16 21:21:35 +08:00
Noisyfox
2375ab860a Merge remote-tracking branch 'upstream/main' into dev/h2d
# Conflicts:
#	resources/profiles/BBL.json
#	src/slic3r/GUI/AmsMappingPopup.cpp
#	src/slic3r/GUI/MediaFilePanel.cpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-09-16 14:46:40 +08:00
zhimin.zeng
98f305f32c FIX: auto sync extruder list after connect printer
when enter in prepare page
jira: none

Change-Id: I3dd0ac4fbc283d5c4b8e85d01724251cc1a7131e
(cherry picked from commit 34ed8441a16499f922e82b6c83f140eda58055a5)
2025-09-10 15:26:54 +08:00
Alexandre Folle de Menezes
914425e526
Update strings for keyboard shortcuts (#10399)
Some checks are pending
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
* Update strings for keyboard shortcuts
2025-09-09 21:48:42 +08:00
chunmao.guo
80c4891926 FIX: support maximum 999 recent projects
Change-Id: I2465990583a1295f40e3c4c6ef9237657e38a91c
Jira: STUDIO-9107
(cherry picked from commit d29fa512acd0c21255fbf8d6f5f0488214677e83)
2025-09-09 15:41:25 +08:00
xun.zhang
74cf5b424a ENH: enable pop up when slice btn is disabled
1. Enable hover and pop up even if slice btn is disabled. Always
trigger background process schedule

jira: NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie9c63c952eeb0f8a7611dd9929e656360609d11a
(cherry picked from commit 9340b4f89e3bd33f4f6d826118e90babe0ca694c)
2025-09-09 11:27:29 +08:00
xun.zhang
897a78ce9a ENH: refine the logic of filament map dialog
1. Always change the map and mode in plate if plate mode is not default
2. Always add pop up before slice
3. Fix the mapping issue in gcode viewer

jira: studio-9523,studio-9519,studio-9513,studio-9479

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d7d5daf081951ea2d49e06565762ac24064e77c
(cherry picked from commit afaa48520e16b6808f05e511ac1cfe91acadc84b)
2025-09-09 11:03:56 +08:00
zhimin.zeng
b61670a503 FIX: cannot continue slice all when sync extruder list now
jira: STUDIO-9613
Change-Id: I1ce6953f4a802051a9ee9464518b55e9fc1f8e2b
(cherry picked from commit 74f189e807b50db00f185dad499bace51b3ee8ef)
2025-09-09 11:03:06 +08:00
xun.zhang
347cd4aadd ENH: refine some ui logics with filament map
1. Optimize performance with pop up
2. Optimize display in dark mode

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic0f72a42e791fb58b84e7a88d7a34ced3a9e8c38
(cherry picked from commit 481ebc4a4b9353d8c9ef9d6bf64cb0006364e839)
2025-09-07 00:46:58 +08:00
xun.zhang
c0cda458e5 FIX: wrong filament map in plate params
1.Always clear filament map when global map mode change if
plate filament map mode is default

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I38055b7c77668fdb211f6b459be1044d8d3c8f8c
(cherry picked from commit b492ab13a28b25599da9668d84447be260cbbc34)
(cherry picked from commit 48c45e06a571decf9cfe460cd680bfad75ace3fe)
2025-09-07 00:13:22 +08:00
xun.zhang
daad39949f ENH:add check machine sync status logic
1. Check machine sync logic before pop up filament map
2. Switch to auto for flush mode if is not synced

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I05ef0e610418767f763c5579f5fc85a4e9b79c47
(cherry picked from commit 5d7f8b126789ca4f8f20d5cfbcc70ac24efd4d6c)
2025-09-06 23:52:43 +08:00
xun.zhang
057a1a4f5d ENH: refine ui logic with filament group
1. Add filament group pop up when slice
2. Add more filament modes in filament dialog
3. Add capsule button

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8bc3a2e08696e406b89e550a0335a1a36728ee65
(cherry picked from commit f1702a5c3604f685a3b35ea0e83d29bdbbd90f70)
2025-09-06 23:52:20 +08:00
lane.wei
eac07fd8e3 ENH: buildvolume: add logic to support extruder_printable_height
jira: no-jira
Change-Id: I962c4aed8c536c0fd8b89ae090cd0463c5d645db
(cherry picked from commit 43773d77010492453473797e77e83e9a4630c25f)
2025-08-24 23:18:30 +08:00
zhimin.zeng
c99047c6a7 FIX: add ams status check before print
jira: none
Change-Id: I5fd03ec596ddddd1b568325c509914cd9aec0f61
(cherry picked from commit 8fca76aac9742934c27c66f824d6190bb6e9279e)
2025-08-24 23:18:24 +08:00
lane.wei
f702ad9fd2 ENH: dual_extruder: add logic to process extruder_printable_area
JIRA: STUDIO-7498
Change-Id: I1cf53db93acf41b06cb1b9569a0679487c9f1e41
(cherry picked from commit e5be69dedd1ba6dc289a14b89598c9a6101dacb3)
2025-08-24 23:18:12 +08:00
lane.wei
f52dd41b23 ENH: config: remove unused custome_defined logic
also improve project_embedded
1. remove unused is_custom_defined
2. improve project_embedded to support multi-extruder diff

jira: no-jira

Change-Id: I1db28c3cfd59ccc31c6855af30305396c71c4e9a
(cherry picked from commit 0434853bf32b063f7850fd4e0c9c3a6045375225)
2025-08-24 23:18:06 +08:00
Vovodroid
5fa35342fd
Add stl, step, etc. to recent list (#9481)
* Add stl, step, etc. to recent list

* Make configurable

* Merge branch 'main' into recent-files-pr
2025-08-24 00:24:30 +08:00
Ian Bassi
43a84842e8
Disable resonance avoidance in calibration routines + Calibration Reorder (#10174)
* Disable resonance avoidance in calibration routines

* Reorder Calibrations

* Moved Tolerance to Handy Models
2025-07-25 15:21:22 +08:00
Alexandre Folle de Menezes
e13ec786d5
Fix english strings punctuation mistakes (#8901)
Some checks failed
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
Publish docs to Wiki / Publish docs to Wiki (push) Has been cancelled
* Fix punctuation of enumerations

* Add missing '?' at the end of questions on hints

* Add periods after error messages

* Add punctuation to all tooltips

* Add missing periods on the pt-BR translation
2025-06-15 16:12:03 +08:00
yw4z
c93e321ef0
Fix scaling on SideButton (#9673)
* Update MainFrame.cpp

* fix scaling on gap
2025-06-01 13:16:51 +08:00
Alexandre Folle de Menezes
57a6f61349
Fix the spacing on the original english strings (#9596)
* Remove extra spaces between words

* Remove extra spaces after punctuation

* Remove extra spaces before punctuation

* Always needs a space after punctuation

* Always needs a space before parens

* Remove trailing spaces before newline
2025-05-16 16:31:58 +08:00
Alexandre Folle de Menezes
d37f1b6a81
Fix english strings consistency (#8881)
* "non zero" -> "non-zero"

* "Z hop" -> "Z-hop"

* "works" -> "is working"

* "version at least x" -> "version x or higher"

* "printing job" -> "print job"
"to print on" -> "printing on"

* "is not find" -> "was not found"

* "boundary of plate" -> "plate boundaries"

* "toolchange" -> "tool change"

* "colour" -> "color"

* "cancelled" -> "canceled"

* "can not" -> "cannot"

* "gcode" -> "G-code"
2025-04-26 19:59:49 +08:00
Noisyfox
32efc176d9
Vfa calibs - Input Shaping & Junction Deviation (#9160)
@RF47 and I have been working on a **two-step input shaping
calibration** to help fine-tune print quality and Junction Deviation
Test for Marlin2 printers.
This is based on [Klipper's Resonance
Compensation](https://www.klipper3d.org/Resonance_Compensation.html#resonance-compensation),
[Marlin’s M593 G-code](https://marlinfw.org/docs/gcode/M593.html),
discussions from
[SoftFever/OrcaSlicer#1820](https://github.com/SoftFever/OrcaSlicer/issues/1820),
some elements from the [input_shaping
branch](https://github.com/SoftFever/OrcaSlicer/tree/feature/input_shaping)
and Junction Deviation [Marlin
Documentation](https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-)

This is for Marlin only, but I'm working on a future Klipper-compatible
version here:
[VFA-Calibs+Klipper](https://github.com/ianalexis/OrcaSlicer/tree/VFA-Calibs%2BKlipper).
However, we don't own a Klipper machine, so we're unsure how to improve
it or verify if it works correctly.

### Calibration Steps

1. **Frequency Test** – Helps identify the optimal input shaping
frequency.
2. **Damping Test** – Fine-tunes the damping ratio for smoother prints. 

### Screenshots

![imagen](https://github.com/user-attachments/assets/bfa9ef9c-3a81-499e-b7f8-d60a77952304)

![imagen](https://github.com/user-attachments/assets/df764cfd-85ca-4048-8748-c95a56bc2c8b)

![imagen](https://github.com/user-attachments/assets/cb991d1b-d1f5-489c-81f2-c25d4f9e394c)

![imagen](https://github.com/user-attachments/assets/7da6607c-7644-49af-8c13-97349d7226ef)

![imagen](https://github.com/user-attachments/assets/db8ce73a-6b51-4bcd-ad7e-b654074096e5)

![imagen](https://github.com/user-attachments/assets/5deea699-e5d1-4a09-85f4-809d07395ca1)

![imagen](https://github.com/user-attachments/assets/cc87c756-75a3-40e4-9df3-7437ea78ac4e)

![imagen](https://github.com/user-attachments/assets/de5a8329-3567-473f-bf40-8649d84279b6)

## Tests
- Marlin tested on **Ender 3-class printers** (@RF47 and @ianalexis)
- Klipper tested in Voron 2.4 and an FLSun T1 Pro @ShaneDelmore 
- Tested in Windows and MacOs.
2025-04-06 20:16:12 +08:00
SoftFever
85d46d2979
Fix shortcut collision on macOS (#9136)
Fix #8152
2025-04-05 21:44:48 +08:00
Ian Bassi
428cba9a25 Juntion Deviation + Documentation
Junction Deviation Calibration Test
Base documentation
 - VFA
 - Input Shaping
 - Junction Deviation

Co-Authored-By: Rodrigo <162915171+rf47@users.noreply.github.com>
2025-04-03 14:40:25 -03:00
Ian Bassi
1857849cba Input Shaping Damping
Damping
Fix spanish comments
2025-04-03 13:59:07 -03:00
Ian Bassi
19dae83e40 Input Shaping Frequency
Input Shaping calibration based in https://marlinfw.org/docs/gcode/M593.html
2025-04-03 13:59:07 -03:00
Noisyfox
0cb458db89
Fix wxEVT_UPDATE_UI event been consumed by wrong control (#9061)
* Fix `wxEVT_UPDATE_UI` event been consumed by wrong control (SoftFever/OrcaSlicer#9059)
2025-04-02 22:48:32 +08:00
Noisyfox
2fbeb75ced Fix display of command key 2025-03-30 01:11:04 +08:00
Noisyfox
eb0d0386a0 Fix shortcut collision on macOS (SoftFever/OrcaSlicer#8152) 2025-03-30 00:42:04 +08:00
Noisyfox
345ab82f91
QoL: Add auto perspective (#8312)
* ImGuizmo: Comment out unused code

* 3DNav: Avoid gimbal lock by using polar coordinates

* 3DNav: Make sure top and bottom are oriented correctly

* Add auto perspective

* Add options

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-03-09 14:04:46 +08:00
Alexandre Folle de Menezes
2a5371ab62
Fix text on file/config overwrite dialog (#8471)
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-03-05 23:22:33 +08:00
SoftFever
bb9a980b4b update locale 2025-02-20 21:44:38 +08:00
Noisyfox
68997f260f
Fix auto-hide taskbar overlapping issue when maximized (#8118)
Fix auto-hide taskbar overlapping issue when maximized (SoftFever/OrcaSlicer#8085)
2025-01-22 10:03:53 +08:00
Marius Wachtler
2b95ef4e3b
Fix some errors uncovered via compiler warnings (#7954)
* fix: tray_exist_bits != tray_exist_bits comparison

* fix: title == GetTitle() == title comparison

* fix: possibly dangling reference to a temporary
```
OrcaSlicer/src/libslic3r/calib.cpp:456:17: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  456 |     const auto &w         = bed_ext.size().x();
OrcaSlicer/src/libslic3r/calib.cpp:456:45: note: the temporary was destroyed at the end of the full expression ‘((Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>*)(& Slic3r::BoundingBoxBase<PointClass>::size() const [with PointClass = Eigen::Matrix<double, 2, 1, 2>]()))->Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>::x()’
  456 |     const auto &w         = bed_ext.size().x();
```

* fix: mixup of | and ||
in this case I think it actually does not change the semantics it just means that both comparison have to be evaluated.

* fix: multi-character character constants need "

OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: multi-character character constant [-Wmultichar]
  392 |     if (auto n = tunnel.find_first_of('/_'); n != std::string::npos)
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp: In member function ‘void Slic3r::GUI::MediaPlayCtrl::Stop(const wxString&)’:
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: overflow in conversion from ‘int’ to ‘char’ changes value from ‘12127’ to ‘95’ [-Woverflow]

* fix: missing paranthesis - skips null check

* NFC: Remove this check it can never be false

* NFC: fix warning: statement has no effect
2025-01-08 13:06:39 +08:00
Erkan Ozgur Yilmaz
2b4cd6577b
Duplicate Current Plate With Objects (Second PR) (#6710)
* Added `duplicate plate` feature.

This the initial commit and this still needs work.

* [#2025] Fixed the SEGFAULT, apparently an icon id=6 needed to be updated to id=7 as we have one more plate icon.
[#2025] Removed the `printf` statements.

* [#2025] Plate duplication is now fully implemented.

* [#2025] Updated icons for plate duplicate funcctionality.

* [#2025] Added toolbar icon fro "Duplicate Current Plate" action.

* [#2025] Revert changes for `toolbar_add_plate_dark.svg`.

* [#2025] Removed the `BBS` label in the code that is not written by BBS.

* [#2025] Updated `.gitignore` to ignore VSCode workspace file.

* [#2025] Fixed the instances not transforming in global space when the plate is duplicated.

* [#2025] Removed the Duplicate Plate action from the plate actions and the toolbar.

* [#2025] Added the `Duplicate Current Plate` functionality to the `Edit` menu.

* [#2025] Addressed review comments.

* [#2025] Addressed review comments.

* [#2025] Removed unused icons related to the previously introduced "Duplicate Plate" functionality.
2024-09-10 23:43:41 +08:00
Henri van der Riet
5b0ddbd5f7 merge conflicts 2024-09-08 01:04:19 +02:00
SoftFever
220213e846 Revert "Fix typos and grammar (#6638)"
This reverts commit 1afc1372bc.
2024-09-07 20:04:17 +08:00
henrivdr
1afc1372bc
Fix typos and grammar (#6638)
* fix lots of typos, grammar etc.

* merge conflict

* merge conflict

* merge conflict

* merge conflict

* revert gettext comments

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-09-07 18:00:01 +08:00
Noisyfox
e3c1716d7c
Fix calibration tab when switching between BBL&non-BBL printers (#6661)
* Fix calibration tab when switching between BBL&non-BBL printers (SoftFever/OrcaSlicer#6563)

* Merge branch 'main' into bugfox/cali_tab
2024-09-07 17:09:10 +08:00
Noisyfox
f244aed9c0 Add option to turn outline on & off 2024-08-30 23:25:03 +08:00
SoftFever
c6065d54fc
New YOLO flow rate calibration (#6479)
* update flow rate calibration tests

* more tweaks

* add YOLO linear flow rate calibration

* update name

* revert line_width changes

* Make it 2mm thick and change some text

* Update YOLO test:
Normal YOLO for 0.01 step
Perfectionist YOLO for 0.005 step

* add space
2024-08-23 00:01:59 +08:00
SoftFever
7082e945b1 Revert "Fix Compile Warnings (#5963)"
This reverts commit b83e16dbdd.

Found regressions like auto orientation didn't work anymore after this change, revert it
2024-08-12 00:00:20 +08:00
Ocraftyone
b83e16dbdd
Fix Compile Warnings (#5963)
* Fix calls to depreciated wxPen constructor

* Fix use of wxTimerEvent

* Fix unrecognized character escape sequence

* Fix signed/unsigned mismatch

At least as much as possible without significantly altering parts of the application

* Clean unreferenced variables

* fix mistyped namespace selector

* Update deprecated calls

* Fix preprocessor statement

* Remove empty switch statements

* Change int vector used as bool to bool vector

* Remove empty control statements and related unused code

* Change multi character constant to string constant

* Fix discarded return value

json::parse was being called on the object, rather than statically like it should be. Also, the value was not being captured.

* Rename ICON_SIZE def used by MultiMachine

By having the definition in the header, it causes issues when other files define ICON_SIZE. By renaming it to MM_ICON_SIZE, this lessens the issue. It would probably be ideal to have the definitions in the respective .cpp that use them, but it would make it less convenient to update the values if needed in the future.

* Remove unused includes

* Fix linux/macOS compilation

* Hide unused-function errors on non-Windows systems

* Disable signed/unsigned comparison mismatch error

* Remove/Disable more unused variables

Still TODO: check double for loop in Print.cpp

* Remove unused variable that was missed

* Remove unused variables in libraries in the src folder

* Apply temporary fix for subobject linkage error

* Remove/Disable last set of unused variables reported by GCC

* remove redundant for loop

* fix misspelled ifdef check

* Update message on dialog

* Fix hard-coded platform specific modifier keys

* Remove duplicate for loop

* Disable -Wmisleading-indentation warning

* disable -Wswitch warning

* Remove unused local typedefs

* Fix -Wunused-value

* Fix pragma error on Windows from subobject linkage fix

* Fix -Waddress

* Fix null conversions (-Wconversion-null)

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-07-29 21:00:26 +08:00
Vovodroid
5ff93fe103
Mark unsaved project title with * (#5910)
* Mark unsaved project title with *
2024-06-29 22:13:57 +08:00
Noisyfox
cd6cd0786f
Various improvements to SimplyPrint integration (#4831)
* Allow using BBL's device tab when 3rd party print host is used

* Add option to open SimplyPrint panel in device tab after uploading

* Fix default print host for prusa connect

* Do not set api key in device view when SimplyPrint is used

* Sending 3mf file to SimplyPrint when using BBL printers

* Fix file extension when uploading 3mf

* Prepare for large file uploading

* Implement chunk upload

* Fix file uploading exceeding content size

* Fix wrong field type

* Add `temp=true` to all chunk upload calls

* Add macro to enable test api

* Merge branch 'main' into dev/simplyprint-improve

* Fix another missing `temp=true`

* Add delete token

* Try fixing build error on *nix systems

* Merge branch 'main' into dev/simplyprint-improve

* Merge branch 'main' into dev/simplyprint-improve

* Merge remote-tracking branch 'remote/main' into dev/simplyprint-improve

# Conflicts:
#	src/slic3r/GUI/BackgroundSlicingProcess.cpp

* Move the `bbl_use_print_host_webui` option to print host dialog. Also make it a derived option of `print_host_webui` instead.

* Merge branch 'main' into dev/simplyprint-improve

# Conflicts:
#	src/slic3r/GUI/MainFrame.cpp
#	src/slic3r/GUI/Plater.cpp

* Merge branch 'main' into dev/simplyprint-improve

# Conflicts:
#	src/slic3r/GUI/Plater.cpp

* Use a more generic option instead of SimplyPrint specific

* Merge branch 'main' into dev/simplyprint-improve

* Merge branch 'main' into dev/simplyprint-improve
2024-06-21 19:48:00 +08:00
SoftFever
b3fff4ffd5 Removed the copyright and credits in the header of each file. This information is outdated and hard to update. Orca Slicer maintains the autoher info in git history so this is not necessary. 2024-06-15 14:56:44 +08:00
Alex Tang
06ef58ab3e
Allow Cmd-Shift-M to bring up 3dConnexion Spacemouse Dialog (EXCEPT on "Home" sub-screen) (#5598)
* Prevent Cmd-Shift-M from minimizing on Mac EXCEPT on "Home" sub-screen

The problem is that hitting "Cmd-Shift-M" on mac always minimizes the app, even though it should only minimize on "Cmd-M", and not on "Cmd-Shift-M".

The code that minimizes (using the WXWidgets "Iconize()" call) happens in MainFrame.cpp keyboard event loop.  The code that's checking, looks for "Cmd-M" but does not check for any other keyboard modifiers, so I added a check to ignore the event if Shift is pressed along with "Cmd-M".

There's a secondary issue that isn't really relevant to this bug in that the app will still minimize when pressing "Cmd-Shift-M", but ONLY on the "Home" sub-screen. (all other sub-screens work as they should).

I'm not sure why, but when the "Home" sub-screen is selected, the keyboard event loop (MainFrame.cpp, line 609), is called TWICE when "Cmd-Shift-<any key>" is pressed:

* Once where the event's wxKeyModifier (retrieved via `evt.GetModifiers()` is set to `wxMOD_CONTROL`  AND `wxMOD_SHIFT`.  (this is correct)
* Once where the event's wxKeyModifier  is **ONLY** set to `wxMOD_CONTROL` (this is wrong).

Again, this double-event (with the wrong modifiers) only happens when the user is on the "Home" sub-screen.  For the context of this bug the 3DConnexion preferences dialog isn't needed on the "Home" sub-screen so this secondary bug doesn't matter.  But it does make the UX odd where Cmd-Shift-M will minimize the app when the user is viewing the "Home" sub-screen, but not minimize the app when the user is viewing any other sub-screen.

* Merge branch 'main' into spacemouse_dialog
2024-06-07 22:14:41 +08:00
Ocraftyone
a764d836e1
ENH: Open Prinables.com Links and Zip Archives (#3823)
* Enable ability to open `prusaslicer://` links

* Add needed function to miniz

* Import Zip Functionality

Allows zip file to be drag and dropped or imported via the menu option

Based on prusa3d/PrusaSlicer@ce38e57 and current master branch files

* Update dialog style to match Orca

* Ensure link is from printables

* add toggle option in preferences

doesn't actually control anything yet

* Add Downloader classes

As-is from PS master

* Create Orca Styled Variant of Icons

* Add Icons to ImGui

* Use PS's Downloader impl for `prusaslicer://` links

* Implement URL Registering on Windows

* Implement prusaslicer:// link on macOS

* Remove unnecessary class name qualifier in Plater.hpp

* Add downloader desktop integration registration and undo

* Revert Info.plist

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-22 10:52:34 +08:00
SoftFever
f33b46ed32 update locale 2024-05-21 00:36:45 +08:00