This commit is contained in:
QIDI TECH
2024-09-03 09:34:33 +08:00
parent 27f34aa3e8
commit 585146181b
5147 changed files with 1734881 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
# Building QIDI Studio on UNIX/Linux
Currently Linux version is not verified, you can try it referring to [PrusaSlicer'S linux building guide](https://github.com/prusa3d/PrusaSlicer/blob/master/doc/How%20to%20build%20-%20Linux%20et%20al.md)

View File

@@ -0,0 +1,67 @@
# Building QIDI Studio on MacOS
## Enviroment setup
Install Following tools:
- Xcode from app store
- Cmake
- git
- gettext
Cmake, git, gettext can be installed from brew(brew install cmake git gettext)
## Building the dependencies
You need to build the dependencies of QIDIStudio first. (Only needs for the first time)
Suppose you download the codes into `/Users/_username_/work/projects/QIDIStudio`.
Create a directory to store the built dependencies: `/Users/_username_/work/projects/QIDIStudio_dep`.
**(Please make sure to replace the username with the one on your computer)**
Then:
```shell
cd QIDIStudio/deps
mkdir build
cd build
```
Next, for arm64 architecture:
```shell
cmake ../ -DDESTDIR="/Users/username/work/projects/QIDIStudio_dep" -DOPENSSL_ARCH="darwin64-arm64-cc"
make
```
Or, for x86 architeccture:
```shell
cmake ../ -DDESTDIR="/Users/username/work/projects/QIDIStudio_dep" -DOPENSSL_ARCH="darwin64-x86_64-cc"
make -jN
```
(N can be a number between 1 and the max cpu number)
## Building QIDI Studio
Create a directory to store the installed files at `/Users/username/work/projects/QIDIStudio/install_dir`:
```shell
cd QIDIStudio
mkdir install_dir
mkdir build
cd build
```
To build using CMake:
```shell
cmake .. -DQDT_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/QIDIStudio_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/QIDIStudio_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on
cmake --build . --target install --config Release -jN
```
To build for use with XCode:
```shell
cmake .. -GXcode -DQDT_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/QIDIStudio_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/QIDIStudio_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on
```

View File

@@ -0,0 +1,36 @@
# Building QIDI Studio on Windows
## Enviroment setup
Install Following tools:
- Visual Studio Community 2019 from [visualstudio.microsoft.com/vs/](https://visualstudio.microsoft.com/vs/) (Older versions are not supported as QIDI Studio requires support for C++17, and newer versions should also be ok);
- Cmake from [cmake.org](https://cmake.org/download/)
- Git from [gitforwindows.org](https://gitforwindows.org/)
- Perl from [strawberryperl](https://strawberryperl.com/)
## building the deps
Suppose you download the codes into D:/work/Projects/QIDIStudio
create a directory to store the dependence built: D:/work/Projects/QIDIStudio_dep
`cd QIDIStudio/deps`
`mkdir build;cd build`
`cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="D:/work/Projects/QIDIStudio_dep" -DCMAKE_BUILD_TYPE=Release`
`msbuild /m ALL_BUILD.vcxproj`
It takes "00:14:27.37" to finish it on my machine (11th Gen Intel(R) Core(TM) i9-11900 @2.50GHz 2.50 GHz, with 32.0 GB DDR)
## building the QIDI Studio
create a directory to store the installed files at D:/work/Projects/QIDIStudio/install_dir
`cd QIDIStudio`
`mkdir install_dir`
`mkdir build;cd build`
set -DWIN10SDK_PATH to your windows sdk path(for example: C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0) in below command:
`cmake .. -G "Visual Studio 16 2019" -DQDT_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="D:/work/Projects/QIDIStudio_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"`
then build it using command
`cmake --build . --target install --config Release`
or building it under the Visual Studio 2019
(set the QIDIStudio_app_gui as start project)
![image](https://user-images.githubusercontent.com/106916061/179185940-06135b47-f2a4-415a-9be4-666680fa0f9a.png)

104
doc/Localization_guide.md Normal file
View File

@@ -0,0 +1,104 @@
# Localization and translation guide
The purpose of this guide is to describe how to contribute to the QIDI Studio translations. We use GNUgettext for extracting string resources from the project and PoEdit for editing translations.
Those can be downloaded here:
- https://sourceforge.net/directory/os:windows/?q=gnu+gettext GNUgettext package contains a set of tools to extract strings from the source code and to create the translation Catalog.
- https://poedit.net PoEdit provides good interface for the translators.
After GNUgettext is installed, it is recommended to add the path to gettext/bin to PATH variable.
Full manual for GNUgettext can be seen here: http://www.gnu.org/software/gettext/manual/gettext.html
### Scenario 1. How do I add a translation or fix an existing translation
1. Get PO-file 'QIDIStudio_xx.pot' from corresponding sub-folder here:
https://github.com/qidilab/QIDIStudio/tree/master/qdt/i18n
2. Open this file in PoEdit as "Edit a translation"
3. Apply your corrections to the translation
4. Push changed QIDIStudio_xx.po into the original folder
5. copy QIDIStudio_xx.mo into resources/i18n/xx and rename it to QIDIStudio.mo, then push the changed file.
### Scenario 2. How do I add a new language support
1. Get file QIDIStudio.pot here :
https://github.com/qidilab/QIDIStudio/tree/master/qdt/i18n
2. Open it in PoEdit for "Create new translation"
3. Select Translation Language (for example French).
4. As a result you will have fr.po - the file containing translation to French.
Notice. When the translation is complete you need to:
- Rename the file to QIDIStudio_fr.po
- Click "Save file" button. QIDIStudio_fr.mo will be created immediately
- QIDI_Studio_fr.po needs to be copied into the sub-folder fr of https://github.com/qidilab/QIDIStudio/tree/master/qdt/i18n, and be pushed
- copy QIDIStudio_xx.mo into resources/i18n/xx and rename it to QIDIStudio.mo, then push the changed file.
( name of folder "fr" means "French" - the translation language).
### Scenario 3. How do I add a new text resource when implementing a feature to QIDI Studio
Each string resource in QIDI Studio available for translation needs to be explicitly marked using L() macro like this:
```C++
auto msg = L("This message to be localized")
```
To get translated text use one of needed macro/function (`_(s)` or `_CHB(s)` ).
If you add new file resource, add it to the list of files containing macro `L()`
### Scenario 4. How do I use GNUgettext to localize my own application taking QIDI Studio as an example
1. For convenience create a list of files with this macro `L(s)`. We have
https://github.com/qidilab/QIDIStudio/blob/master/qdt/i18n/list.txt.
2. Create template file(*.POT) with GNUgettext command:
```
xgettext --keyword=L --add-comments=TRN --from-code=UTF-8 --debug -o QIDIStudio.pot -f list.txt
```
Use flag `--from-code=UTF-8` to specify that the source strings are in UTF-8 encoding
Use flag `--debug` to correctly extract formatted strings(used %d, %s etc.)
3. Create PO- and MO-files for your project as described above.
4. To merge old PO-file with strings from created new POT-file use command:
```
msgmerge -N -o new.po old.po new.pot
```
Use option `-N` to not using fuzzy matching when an exact match is not found.
5. To concatenate old PO-file with strings from new PO-file use command:
```
msgcat -o new.po old.po
```
6. Create an English translation catalog with command:
```
msgen -o new.po old.po
```
Notice, in this Catalog it will be totally same strings for initial text and translated.
When you have Catalog to translation open POT or PO file in PoEdit and start translating.
## General guidelines for QIDI Studio translators
- We recommend using *PoEdit* application for translation (as described above). It will help you eliminate most punctuation errors and will show you strings with "random" translations (if the fuzzy parameter was used).
- To check how the translated text looks on the UI elements, test it :) If you use *PoEdit*, all you need to do is save the file. At this point, a MO file will be created. Rename it QIDI Studio.mo, and you can run QIDI Studio (see above).
- If you see an encoding error (garbage characters instead of Unicode) somewhere in QIDI Studio, report it. It is likely not a problem of your translation, but a bug in the software.
- See on which UI elements the translated phrase will be used. Especially if it's a button, it is very important to decide on the translation and not write alternative translations in parentheses, as this will significantly increase the width of the button, which is sometimes highly undesirable:
![Long text on button](images/long_text_on_button.png)
- If you decide to use autocorrect or any batch processing tool, the output requires very careful proofreading. It is very easy to make it do changes that break things big time.
- **Any formatting parts of the phrases must remain unchanged.** For example, you should not change `%1%` to `%1 %`, you should not change `%%` to `%` (for percent sign) and similar. This will lead to application crashes.
- Please pay attention to spaces, line breaks (\n) and punctuation marks. **Don't add extra line breaks.** This is especially important for parameter names.
- Description of the parameters should not contain units of measurement. For example, "Enable fan if layer print time is less than ~~n seconds~~"
- For units of measurement, use the international system of units. Use "s" instead of "sec".
- If the phrase doesn't have a dot at the end, don't add it. And if it does, then don't forget to :)
- It is useful to stick to the same terminology in the application (especially with basic terms such as "filament" and similar). Stay consistent. Otherwise it will confuse users.

18
doc/release_notes_cn.md Normal file
View File

@@ -0,0 +1,18 @@
**新功能**
1. 3D文字工具
2. 对象和拷贝间的数据共享
3. 参数表格
4. 用户指南
5. 支持Arachne特性
**改进**
1. 支持导出通用的3mf格式兼容其他切片软件
2. 优化混合支撑和树状支撑的生成速度
3. 支持不停靠工具头的延迟摄影
4. 支持纹理PEI热床
5. 支持导入和导出预设
6. 支持随机位置的接缝设置
7. 支持匈牙利语
8. 一些关键问题修复
详细信息请查看https://github.com/qidilab/QIDIStudio/releases

18
doc/release_notes_en.md Normal file
View File

@@ -0,0 +1,18 @@
**New Features**
1. 3D text tool
2. Shared data between an object and its copies
3. Parameter table
4. User manual
5. Arachne feature
**Improvements**
1. Added support for exporting generic 3mf that is compatible with other slicers
2. Optimized the performance of hybrid and tree support
3. Added traditional timelapse mode
4. Added support for Textured PEI plate
5. Added support for export/import preset
6. Added random seam position
7. Added Magyar translations
8. Fixed some known bugs
For details, please check https://github.com/qidilab/QIDIStudio/releases