Merge branch 'feat/printer-agent-impl' into feat/orca-printer-agent

This commit is contained in:
Ian Chua
2026-09-04 18:28:25 +08:00
160 changed files with 9581 additions and 1637 deletions
+5
View File
@@ -5,3 +5,8 @@
# with CRLF line endings: it fails on the first line. Windows checkouts default # with CRLF line endings: it fails on the first line. Windows checkouts default
# to core.autocrlf=true, so keep these LF whatever the platform. # to core.autocrlf=true, so keep these LF whatever the platform.
*.sh text eol=lf *.sh text eol=lf
# Batch files are read by cmd.exe, which tracks a byte offset into the file to
# resume after `call :label`. With LF endings that offset can land wrong and the
# label lookup fails, so keep these CRLF whatever the platform.
*.bat text eol=crlf
+35 -5
View File
@@ -33,6 +33,8 @@ on:
- 'build_linux.sh' - 'build_linux.sh'
- 'build_release_vs.bat' - 'build_release_vs.bat'
- 'build_release_vs2022.bat' - 'build_release_vs2022.bat'
- 'build_win.bat'
- 'scripts/test_build_win.ps1'
- 'build_release_macos.sh' - 'build_release_macos.sh'
- 'scripts/build_preset_cache.*' - 'scripts/build_preset_cache.*'
- 'scripts/flatpak/**' - 'scripts/flatpak/**'
@@ -56,6 +58,22 @@ concurrency:
jobs: jobs:
# build_win.bat ships a test suite. Run it before the Windows builds.
check_build_script:
name: Windows build script tests
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v7
with:
lfs: 'false'
# Windows PowerShell rather than pwsh: the suite drives build_win.bat
# through cmd, and the two differ in how they quote native arguments.
- name: Run the build script test suite
shell: powershell
run: .\scripts\test_build_win.ps1
build_linux: build_linux:
strategy: strategy:
fail-fast: false fail-fast: false
@@ -81,14 +99,16 @@ jobs:
# SELF_HOSTED skips arm64 (the self-hosted Windows server is x64-only). # SELF_HOSTED skips arm64 (the self-hosted Windows server is x64-only).
matrix: matrix:
include: ${{ fromJSON(vars.SELF_HOSTED include: ${{ fromJSON(vars.SELF_HOSTED
&& '[{"arch":"x64","os":"orca-win-server"}]' && '[{"arch":"x64","os":"orca-win-server","compiler":"clang"}]'
|| '[{"arch":"x64","os":"windows-latest"},{"arch":"arm64","os":"windows-11-arm"}]') }} || '[{"arch":"x64","os":"windows-latest","compiler":"clang"},{"arch":"arm64","os":"windows-11-arm","compiler":"clang"}]') }}
needs: check_build_script
# Don't run scheduled builds on forks: # Don't run scheduled builds on forks:
if: ${{ !cancelled() && (github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer') }} if: ${{ !cancelled() && needs.check_build_script.result == 'success' && (github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer') }}
uses: ./.github/workflows/build_check_cache.yml uses: ./.github/workflows/build_check_cache.yml
with: with:
os: ${{ matrix.os }} os: ${{ matrix.os }}
arch: ${{ matrix.arch }} arch: ${{ matrix.arch }}
compiler: ${{ matrix.compiler }}
build-deps-only: ${{ inputs.build-deps-only || false }} build-deps-only: ${{ inputs.build-deps-only || false }}
force-build: ${{ github.event_name == 'schedule' }} force-build: ${{ github.event_name == 'schedule' }}
secrets: inherit secrets: inherit
@@ -259,20 +279,24 @@ jobs:
echo "date=$(date +'%Y%m%d')" >> $GITHUB_ENV echo "date=$(date +'%Y%m%d')" >> $GITHUB_ENV
echo "git_commit_hash=$git_commit_hash" >> $GITHUB_ENV echo "git_commit_hash=$git_commit_hash" >> $GITHUB_ENV
shell: bash shell: bash
- name: Compute the flatpak-builder cache key
id: fp_cache_key
run: echo "key=flatpak-builder-${{ matrix.variant.arch }}-${{ hashFiles('deps/**', 'scripts/flatpak/com.orcaslicer.OrcaSlicer.yml', 'scripts/flatpak/make_deps_tar.sh') }}" >> "$GITHUB_OUTPUT"
shell: bash
# Manage flatpak-builder cache externally so PRs restore but never upload # Manage flatpak-builder cache externally so PRs restore but never upload
- name: Restore flatpak-builder cache - name: Restore flatpak-builder cache
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
uses: actions/cache/restore@v6 uses: actions/cache/restore@v6
with: with:
path: .flatpak-builder path: .flatpak-builder
key: flatpak-builder-${{ matrix.variant.arch }}-${{ github.event.pull_request.base.sha }} key: ${{ steps.fp_cache_key.outputs.key }}
restore-keys: flatpak-builder-${{ matrix.variant.arch }}- restore-keys: flatpak-builder-${{ matrix.variant.arch }}-
- name: Save/restore flatpak-builder cache - name: Save/restore flatpak-builder cache
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
uses: actions/cache@v6 uses: actions/cache@v6
with: with:
path: .flatpak-builder path: .flatpak-builder
key: flatpak-builder-${{ matrix.variant.arch }}-${{ github.sha }} key: ${{ steps.fp_cache_key.outputs.key }}
restore-keys: flatpak-builder-${{ matrix.variant.arch }}- restore-keys: flatpak-builder-${{ matrix.variant.arch }}-
- name: Disable debug info for faster CI builds - name: Disable debug info for faster CI builds
run: | run: |
@@ -284,6 +308,12 @@ jobs:
sed -i "/name: OrcaSlicer/{n;s|buildsystem: simple|buildsystem: simple\n build-options:\n env:\n git_commit_hash: \"$git_commit_hash\"|}" \ sed -i "/name: OrcaSlicer/{n;s|buildsystem: simple|buildsystem: simple\n build-options:\n env:\n git_commit_hash: \"$git_commit_hash\"|}" \
scripts/flatpak/com.orcaslicer.OrcaSlicer.yml scripts/flatpak/com.orcaslicer.OrcaSlicer.yml
shell: bash shell: bash
- name: Check the manifest keeps orca_deps cacheable
run: ./scripts/flatpak/check_manifest_cacheable.sh
shell: bash
- name: Pack deps/ for the Flatpak manifest
run: ./scripts/flatpak/make_deps_tar.sh
shell: bash
- uses: flatpak/flatpak-github-actions/flatpak-builder@master - uses: flatpak/flatpak-github-actions/flatpak-builder@master
with: with:
bundle: OrcaSlicer-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak bundle: OrcaSlicer-Linux-flatpak_${{ env.ver }}_${{ matrix.variant.arch }}.flatpak
+9 -4
View File
@@ -9,6 +9,10 @@ on:
arch: arch:
required: false required: false
type: string type: string
compiler:
required: false
type: string
default: msvc
build-deps-only: build-deps-only:
required: false required: false
type: boolean type: boolean
@@ -33,10 +37,10 @@ jobs:
- name: set outputs - name: set outputs
id: set_outputs id: set_outputs
env: env:
# Keep macOS/Windows cache keys architecture-specific. amd64 Linux passes # Anything that changes how the tree is built belongs in the key, or a job
# no arch (key stays 'linux-clang', preserving the existing cache); # restores one it cannot use. Linux amd64 passes no arch deliberately, so
# aarch64 gets its own 'linux-clang-aarch64' key. # 'linux-clang' keeps the cache it already has.
cache-os: ${{ runner.os == 'macOS' && format('macos-{0}', inputs.arch) || (runner.os == 'Windows' && format('windows-{0}', inputs.arch) || format('linux-clang{0}', inputs.arch && format('-{0}', inputs.arch) || '')) }} cache-os: ${{ runner.os == 'macOS' && format('macos-{0}', inputs.arch) || (runner.os == 'Windows' && format('windows-{0}-{1}', inputs.arch, inputs.compiler) || format('linux-clang{0}', inputs.arch && format('-{0}', inputs.arch) || '')) }}
# ARM64 builds use the build-arm64 tree (see build_release_vs.bat); x64/other use build. # ARM64 builds use the build-arm64 tree (see build_release_vs.bat); x64/other use build.
dep-folder-name: ${{ runner.os == 'macOS' && format('/{0}', inputs.arch) || (runner.os == 'Windows' && inputs.arch == 'arm64') && '-arm64/OrcaSlicer_dep' || '/OrcaSlicer_dep' }} dep-folder-name: ${{ runner.os == 'macOS' && format('/{0}', inputs.arch) || (runner.os == 'Windows' && inputs.arch == 'arm64') && '-arm64/OrcaSlicer_dep' || '/OrcaSlicer_dep' }}
output-cmd: ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '"$GITHUB_OUTPUT"'}} output-cmd: ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '"$GITHUB_OUTPUT"'}}
@@ -62,6 +66,7 @@ jobs:
valid-cache: ${{ needs.check_cache.outputs.valid-cache == 'true' }} valid-cache: ${{ needs.check_cache.outputs.valid-cache == 'true' }}
os: ${{ inputs.os }} os: ${{ inputs.os }}
arch: ${{ inputs.arch }} arch: ${{ inputs.arch }}
compiler: ${{ inputs.compiler }}
build-deps-only: ${{ inputs.build-deps-only }} build-deps-only: ${{ inputs.build-deps-only }}
force-build: ${{ inputs.force-build }} force-build: ${{ inputs.force-build }}
secrets: inherit secrets: inherit
+18 -2
View File
@@ -16,6 +16,10 @@ on:
arch: arch:
required: false required: false
type: string type: string
compiler:
required: false
type: string
default: msvc
build-deps-only: build-deps-only:
required: false required: false
type: boolean type: boolean
@@ -135,11 +139,22 @@ jobs:
choco install strawberryperl choco install strawberryperl
} }
$arch = "${{ inputs.arch }}" $arch = "${{ inputs.arch }}"
# -l selects clang-cl and -x Ninja; together they build the deps with clang.
$clang = "${{ inputs.compiler }}" -eq "clang"
$flags = if ($clang) { "-l", "-x" } else { @() }
if ($clang) {
# OpenSSL builds with nmake, which needs a VC environment.
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$vs = & $vswhere -latest -property installationPath
$devArch = if ($arch -eq "arm64") { "arm64" } else { "amd64" }
Import-Module "$vs\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell -VsInstallPath $vs -SkipAutomaticLocation -DevCmdArguments "-arch=$devArch"
}
if ($arch -eq "arm64") { if ($arch -eq "arm64") {
.\build_release_vs.bat deps arm64 .\build_release_vs.bat deps arm64 @flags
.\build_release_vs.bat pack arm64 .\build_release_vs.bat pack arm64
} else { } else {
.\build_release_vs.bat deps .\build_release_vs.bat deps @flags
.\build_release_vs.bat pack .\build_release_vs.bat pack
} }
shell: pwsh shell: pwsh
@@ -204,4 +219,5 @@ jobs:
cache-path: ${{ inputs.cache-path }} cache-path: ${{ inputs.cache-path }}
os: ${{ inputs.os }} os: ${{ inputs.os }}
arch: ${{ inputs.arch }} arch: ${{ inputs.arch }}
compiler: ${{ inputs.compiler }}
secrets: inherit secrets: inherit
+16 -1
View File
@@ -13,6 +13,10 @@ on:
arch: arch:
required: false required: false
type: string type: string
compiler:
required: false
type: string
default: msvc
macos-combine-only: macos-combine-only:
required: false required: false
type: boolean type: boolean
@@ -395,7 +399,18 @@ jobs:
# "tests" builds the unit tests too; the unit_tests_windows_* jobs run them. # "tests" builds the unit tests too; the unit_tests_windows_* jobs run them.
run: | run: |
$arch = "${{ inputs.arch }}" $arch = "${{ inputs.arch }}"
if ($arch -eq "arm64") { .\build_release_vs.bat slicer arm64 tests } else { .\build_release_vs.bat slicer tests } # -l selects clang-cl and -x Ninja; together they build the slicer with clang.
$clang = "${{ inputs.compiler }}" -eq "clang"
$flags = if ($clang) { "-l", "-x" } else { @() }
if ($clang) {
# Build against the same VC toolchain and SDK as the dependencies.
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$vs = & $vswhere -latest -property installationPath
$devArch = if ($arch -eq "arm64") { "arm64" } else { "amd64" }
Import-Module "$vs\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell -VsInstallPath $vs -SkipAutomaticLocation -DevCmdArguments "-arch=$devArch"
}
if ($arch -eq "arm64") { .\build_release_vs.bat slicer arm64 @flags tests } else { .\build_release_vs.bat slicer @flags tests }
shell: pwsh shell: pwsh
- name: Build system preset cache (Windows) - name: Build system preset cache (Windows)
+22 -6
View File
@@ -32,13 +32,21 @@ jobs:
} }
const allowedLabels = [ const allowedLabels = [
// kind of change
'crash',
'bug-fix', 'bug-fix',
'enhancement', 'enhancement',
'Localization',
'profile',
'QoL', 'QoL',
'optimization',
// area
'UI/UX', 'UI/UX',
'dependencies' 'profile',
'Localization',
// infrastructure
'build',
'test',
'dependencies',
'documentation'
]; ];
const pr = context.payload.pull_request; const pr = context.payload.pull_request;
const labelsList = `${allowedLabels const labelsList = `${allowedLabels
@@ -182,13 +190,21 @@ jobs:
} }
const allowedLabels = [ const allowedLabels = [
// kind of change
'crash',
'bug-fix', 'bug-fix',
'enhancement', 'enhancement',
'Localization',
'profile',
'QoL', 'QoL',
'optimization',
// area
'UI/UX', 'UI/UX',
'dependencies' 'profile',
'Localization',
// infrastructure
'build',
'test',
'dependencies',
'documentation'
]; ];
const issue = context.payload.issue; const issue = context.payload.issue;
+2
View File
@@ -1,6 +1,7 @@
Build Build
Build.bat Build.bat
/build*/ /build*/
/out/
CMakeLists.txt.user CMakeLists.txt.user
CMakeUserPresets.json CMakeUserPresets.json
**/CMakeLists.txt.autosave **/CMakeLists.txt.autosave
@@ -51,3 +52,4 @@ internal_docs/
__pycache__/ __pycache__/
*.pyc *.pyc
*.opc *.opc
/.test/
+16
View File
@@ -362,6 +362,22 @@ if (MSVC)
if (SLIC3R_MSVC_COMPILE_PARALLEL AND CMAKE_GENERATOR MATCHES "Visual Studio") if (SLIC3R_MSVC_COMPILE_PARALLEL AND CMAKE_GENERATOR MATCHES "Visual Studio")
add_compile_options(/MP) add_compile_options(/MP)
endif () endif ()
# Parse lambdas the way the standard says, as clang and GCC already do. Without it
# MSVC keeps its legacy lambda processor under /std:c++17 and rejects reading a
# constexpr constant inside a lambda that does not capture it (C3493), which no
# other compiler requires. Implied by /std:c++20 and /permissive-, so it is only
# needed while we are on C++17. clang-cl is conforming already and does not take
# the flag. Requires VS2019 16.8 or newer.
if (NOT IS_CLANG_CL)
# cl.exe only warns (D9002) about an unknown /Zc: option, so without this the
# flag would be dropped and the first lambda reading a constexpr constant would
# fail with C3493 far from the cause.
if (MSVC_VERSION LESS 1928)
message(FATAL_ERROR "Visual Studio 2019 16.8 (MSVC 19.28) or newer is required; detected MSVC ${MSVC_VERSION}.")
endif ()
add_compile_options(/Zc:lambda)
endif ()
# /bigobj (Increase Number of Sections in .Obj file) # /bigobj (Increase Number of Sections in .Obj file)
# error C3859: virtual memory range for PCH exceeded; please recompile with a command line option of '-Zm90' or greater # error C3859: virtual memory range for PCH exceeded; please recompile with a command line option of '-Zm90' or greater
# Generate symbols at every build target, even for the release. # Generate symbols at every build target, even for the release.
+3
View File
@@ -260,6 +260,9 @@ if [[ ! -f "./scripts/flatpak/com.orcaslicer.OrcaSlicer.yml" ]]; then
exit 1 exit 1
fi fi
echo -e "${YELLOW}Packing deps/ for the manifest...${NC}"
./scripts/flatpak/make_deps_tar.sh
# Build the Flatpak # Build the Flatpak
echo -e "${YELLOW}Building Flatpak package...${NC}" echo -e "${YELLOW}Building Flatpak package...${NC}"
echo -e "This may take a while (30+ minutes depending on your system)..." echo -e "This may take a while (30+ minutes depending on your system)..."
+1 -1
View File
@@ -86,7 +86,7 @@ if "%VS_MAJOR%"=="16" (
set CMAKE_GENERATOR="Visual Studio 18 2026" set CMAKE_GENERATOR="Visual Studio 18 2026"
) else ( ) else (
echo Error: Unsupported Visual Studio version: %VS_MAJOR% echo Error: Unsupported Visual Studio version: %VS_MAJOR%
echo Supported versions: VS2019 (16.x^), VS2022 (17.x^), VS2026 (18.x^) echo Supported versions: VS2019 (16.8+^), VS2022 (17.x^), VS2026 (18.x^)
exit /b 1 exit /b 1
) )
+1333
View File
File diff suppressed because it is too large Load Diff
+8
View File
@@ -1,3 +1,10 @@
# clang-cl cannot emit IGESAppli_GeneralModule.cxx on ARM64
# (llvm/llvm-project#62081). cl and clang-cl share an ABI.
set(_occt_compiler_args "")
if ("${DEPS_ARCH}" STREQUAL "arm64" AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
set(_occt_compiler_args -DCMAKE_C_COMPILER:STRING=cl -DCMAKE_CXX_COMPILER:STRING=cl)
endif ()
if(WIN32) if(WIN32)
set(library_build_type "Shared") set(library_build_type "Shared")
else() else()
@@ -31,6 +38,7 @@ orcaslicer_add_cmake_project(OCCT
-DBUILD_MODULE_ModelingAlgorithms=OFF -DBUILD_MODULE_ModelingAlgorithms=OFF
-DBUILD_MODULE_ModelingData=OFF -DBUILD_MODULE_ModelingData=OFF
-DBUILD_MODULE_Visualization=OFF -DBUILD_MODULE_Visualization=OFF
${_occt_compiler_args}
) )
# add_dependencies(dep_OCCT ${FREETYPE_PKG}) # add_dependencies(dep_OCCT ${FREETYPE_PKG})
+8
View File
@@ -10,6 +10,13 @@ else ()
set(_options "") set(_options "")
endif () endif ()
# carotene is OpenCV's ARM NEON HAL. It uses M_PI without _USE_MATH_DEFINES
# and does not compile with clang-cl.
set(_disable_carotene "")
if ("${DEPS_ARCH}" STREQUAL "arm64" AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
set(_disable_carotene "-DWITH_CAROTENE=OFF")
endif ()
if (IN_GIT_REPO) if (IN_GIT_REPO)
set(OpenCV_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV) set(OpenCV_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV)
endif () endif ()
@@ -83,5 +90,6 @@ orcaslicer_add_cmake_project(OpenCV
-DWITH_PROTOBUF=OFF -DWITH_PROTOBUF=OFF
-DWITH_WIN32UI=OFF -DWITH_WIN32UI=OFF
-DHAVE_WIN32UI=FALSE -DHAVE_WIN32UI=FALSE
${_disable_carotene}
) )
+1 -1
View File
@@ -6,7 +6,7 @@ if(DEFINED OPENSSL_ARCH)
set(_cross_arch ${OPENSSL_ARCH}) set(_cross_arch ${OPENSSL_ARCH})
else() else()
if(WIN32) if(WIN32)
if("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "ARM64") if("${DEPS_ARCH}" STREQUAL "arm64")
set(_cross_arch "VC-WIN64-ARM") set(_cross_arch "VC-WIN64-ARM")
else() else()
set(_cross_arch "VC-WIN64A") set(_cross_arch "VC-WIN64A")
+4
View File
@@ -1,6 +1,10 @@
if (APPLE) if (APPLE)
# Only disable NEON extension for Apple ARM builds, leave it enabled for Raspberry PI. # Only disable NEON extension for Apple ARM builds, leave it enabled for Raspberry PI.
set(_disable_neon_extension "-DPNG_ARM_NEON=off") set(_disable_neon_extension "-DPNG_ARM_NEON=off")
elseif ("${DEPS_ARCH}" STREQUAL "arm64" AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
# libpng's CMake ignores PNG_ARM_NEON on Windows ARM64 and skips the NEON
# sources, but pngpriv.h enables NEON anyway.
set(_disable_neon_extension "-DCMAKE_C_FLAGS=/DWIN32 /D_WINDOWS /DPNG_ARM_NEON_OPT=0")
else () else ()
set(_disable_neon_extension "") set(_disable_neon_extension "")
endif () endif ()
+138 -42
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -2762,6 +2762,9 @@ msgstr ""
msgid "Merge with" msgid "Merge with"
msgstr "" msgstr ""
msgid "Decompose Color"
msgstr ""
msgid "Delete this filament" msgid "Delete this filament"
msgstr "" msgstr ""
@@ -3039,6 +3042,9 @@ msgstr ""
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "" msgstr ""
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr ""
msgid "Add layers" msgid "Add layers"
msgstr "" msgstr ""
@@ -4497,7 +4503,7 @@ msgid ""
"The value will be reset to 0." "The value will be reset to 0."
msgstr "" msgstr ""
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "" msgstr ""
msgid "" msgid ""
@@ -4528,13 +4534,13 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
@@ -5951,10 +5957,10 @@ msgstr ""
msgid "Load a model" msgid "Load a model"
msgstr "" msgstr ""
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "" msgstr ""
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "" msgstr ""
msgid "Import Configs" msgid "Import Configs"
@@ -7403,6 +7409,9 @@ msgstr ""
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "" msgstr ""
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr ""
#, possible-boost-format #, possible-boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "" msgstr ""
@@ -7523,12 +7532,36 @@ msgstr ""
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "" msgstr ""
msgid "Add Mixed Filament"
msgstr ""
msgid "Mixed Filament"
msgstr ""
msgid "Remove last mixed filament"
msgstr ""
msgid "Add mixed filament"
msgstr ""
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr ""
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "" msgstr ""
msgid "Pellets" msgid "Pellets"
msgstr "" msgstr ""
msgid "Mixed filament has broken component references"
msgstr ""
msgid "Edit / Delete / Merge"
msgstr ""
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr ""
#, possible-c-format, possible-boost-format #, possible-c-format, possible-boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "" msgstr ""
@@ -7663,7 +7696,7 @@ msgstr ""
msgid "Customized Preset" msgid "Customized Preset"
msgstr "" msgstr ""
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "" msgstr ""
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -7685,7 +7718,7 @@ msgstr ""
#, possible-c-format, possible-boost-format #, possible-c-format, possible-boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
msgid "Object too small" msgid "Object too small"
@@ -7700,6 +7733,12 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "" msgstr ""
msgid "Matching textures to filaments"
msgstr ""
msgid "Texture Import Warning"
msgstr ""
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "" msgstr ""
@@ -7894,6 +7933,18 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "" msgstr ""
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr ""
msgid "Applying texture colors..."
msgstr ""
msgid "Updating 3D view..."
msgstr ""
msgid "Texture colors applied."
msgstr ""
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "" msgstr ""
@@ -9043,6 +9094,9 @@ msgstr ""
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "" msgstr ""
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr ""
msgid "By Layer" msgid "By Layer"
msgstr "" msgstr ""
@@ -10329,11 +10383,11 @@ msgstr ""
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "" msgstr ""
msgid "Copy paramters" msgid "Copy parameters"
msgstr "" msgstr ""
#, possible-c-format, possible-boost-format #, possible-c-format, possible-boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "" msgstr ""
#, possible-c-format, possible-boost-format #, possible-c-format, possible-boost-format
@@ -10807,27 +10861,6 @@ msgstr ""
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "" msgstr ""
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr ""
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr ""
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr ""
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr ""
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr ""
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr ""
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr ""
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "" msgstr ""
@@ -11510,6 +11543,9 @@ msgstr ""
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "" msgstr ""
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr ""
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "" msgstr ""
@@ -11546,6 +11582,9 @@ msgstr ""
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "" msgstr ""
msgid "The wipe tower filament cannot be a mixed filament."
msgstr ""
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "" msgstr ""
@@ -11874,7 +11913,7 @@ msgstr ""
msgid "Other layers" msgid "Other layers"
msgstr "" msgstr ""
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "" msgstr ""
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -12958,6 +12997,7 @@ msgstr ""
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "" msgstr ""
msgctxt "second"
msgid "s" msgid "s"
msgstr "" msgstr ""
@@ -13251,6 +13291,48 @@ msgstr ""
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "" msgstr ""
msgid "Is mixed filament"
msgstr ""
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr ""
msgid "Mixed filament components"
msgstr ""
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr ""
msgid "Mixed filament sublayer ratios"
msgstr ""
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr ""
msgid "Mixed filament gradient"
msgstr ""
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr ""
msgid "Mixed filament gradient range"
msgstr ""
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr ""
msgid "Mixed filament gradient curve"
msgstr ""
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr ""
msgid "Mixed filament per-part gradient"
msgstr ""
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr ""
msgid "Filament printable" msgid "Filament printable"
msgstr "" msgstr ""
@@ -14398,6 +14480,7 @@ msgstr ""
msgid "The allowed maximum output force of Y axis" msgid "The allowed maximum output force of Y axis"
msgstr "" msgstr ""
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "" msgstr ""
@@ -14407,6 +14490,7 @@ msgstr ""
msgid "The machine bed mass load of Y axis" msgid "The machine bed mass load of Y axis"
msgstr "" msgstr ""
msgctxt "gram"
msgid "g" msgid "g"
msgstr "" msgstr ""
@@ -14675,7 +14759,7 @@ msgstr ""
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "" msgstr ""
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "" msgstr ""
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -14831,7 +14915,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
@@ -14874,7 +14958,7 @@ msgstr ""
msgid "Z-hop height" msgid "Z-hop height"
msgstr "" msgstr ""
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "" msgstr ""
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -15834,6 +15918,12 @@ msgid ""
"Setting a value in the retract amount before wipe setting below will perform any excess retraction before the wipe, else it will be performed after." "Setting a value in the retract amount before wipe setting below will perform any excess retraction before the wipe, else it will be performed after."
msgstr "" msgstr ""
msgid "Mixed color sublayer"
msgstr ""
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr ""
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "" msgstr ""
@@ -16861,6 +16951,9 @@ msgstr ""
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "" msgstr ""
msgid "The file format is incompatible and cannot be parsed."
msgstr ""
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "" msgstr ""
@@ -18191,17 +18284,17 @@ msgstr ""
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "" msgstr ""
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "" msgstr ""
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
msgid "Please select at least one printer or filament." msgid "Please select at least one printer or filament."
@@ -18416,7 +18509,7 @@ msgstr ""
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "" msgstr ""
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "" msgstr ""
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -18458,7 +18551,7 @@ msgstr ""
msgid "Stored logs" msgid "Stored logs"
msgstr "" msgstr ""
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "" msgstr ""
msgid "Profiles" msgid "Profiles"
@@ -18523,7 +18616,7 @@ msgstr ""
msgid "Authorizing..." msgid "Authorizing..."
msgstr "" msgstr ""
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "" msgstr ""
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -18961,7 +19054,7 @@ msgstr ""
msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings" msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings"
msgstr "" msgstr ""
msgid "Fila Saving" msgid "File Saving"
msgstr "" msgstr ""
msgid "Don't remind me again" msgid "Don't remind me again"
@@ -19321,6 +19414,9 @@ msgstr ""
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "" msgstr ""
msgid "s"
msgstr ""
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "" msgstr ""
+215 -48
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2025-03-15 10:55+0100\n" "PO-Revision-Date: 2025-03-15 10:55+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@@ -3015,6 +3015,10 @@ msgstr "Editar"
msgid "Merge with" msgid "Merge with"
msgstr "Fusiona amb" msgstr "Fusiona amb"
# AI Translated
msgid "Decompose Color"
msgstr "Descompondre el color"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Elimina aquest filament" msgstr "Elimina aquest filament"
@@ -3316,6 +3320,10 @@ msgstr "Muntatge"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Fusionar les peces en un objecte" msgstr "Fusionar les peces en un objecte"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Utilitzar una alçada de capa variable juntament amb la subcapa de color mixt pot reduir la qualitat de la barreja de colors."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Afegir capes" msgstr "Afegir capes"
@@ -4893,7 +4901,7 @@ msgstr ""
"\n" "\n"
"El valor es restablirà a 0." "El valor es restablirà a 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "La paret addicional alternativa no funciona bé quan assegurar el gruix de la closca vertical està establert a Tot." msgstr "La paret addicional alternativa no funciona bé quan assegurar el gruix de la closca vertical està establert a Tot."
msgid "" msgid ""
@@ -4939,7 +4947,7 @@ msgstr ""
"NO - Mantenir l'alçada de la capa de suport independent" "NO - Mantenir l'alçada de la capa de suport independent"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height ha de ser més petit que layer_height.\n" "seam_slope_start_height ha de ser més petit que layer_height.\n"
@@ -4947,7 +4955,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"La profunditat de bloqueig ha de ser menor que la profunditat de la pell.\n" "La profunditat de bloqueig ha de ser menor que la profunditat de la pell.\n"
@@ -6419,10 +6427,10 @@ msgstr "Importar 3MF STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Carregar un model" msgstr "Carregar un model"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importar fitxer ZIP" msgstr "Importar fitxer ZIP"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Carregar models continguts dins d'un arxiu zip" msgstr "Carregar models continguts dins d'un arxiu zip"
msgid "Import Configs" msgid "Import Configs"
@@ -7956,6 +7964,10 @@ msgstr "Personalitzar la placa actual"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "El broquet %s no pot imprimir %s." msgstr "El broquet %s no pot imprimir %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Imprimir filament de color mixt en una impressora d'un sol extrusor requereix canvis de filament i purgues freqüents, cosa que pot augmentar considerablement el malbaratament i el risc d'obstrucció del broquet o del conducte de residus."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "No es recomana barrejar %1% amb %2% en la impressió.\n" msgstr "No es recomana barrejar %1% amb %2% en la impressió.\n"
@@ -8081,6 +8093,26 @@ msgstr "Sincronitzar la llista de filaments des d'AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Configurar els filaments a utilitzar" msgstr "Configurar els filaments a utilitzar"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Afegir filament mixt"
# AI Translated
msgid "Mixed Filament"
msgstr "Filament mixt"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Eliminar l'últim filament mixt"
# AI Translated
msgid "Add mixed filament"
msgstr "Afegir filament mixt"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "El filament mixt té components no vàlids o incoherents. Torneu a editar les entrades afectades."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Cercar placa, objecte i peça." msgstr "Cercar placa, objecte i peça."
@@ -8088,6 +8120,18 @@ msgstr "Cercar placa, objecte i peça."
msgid "Pellets" msgid "Pellets"
msgstr "Pèl·lets" msgstr "Pèl·lets"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "El filament mixt té referències de components trencades"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Editar / Esborrar / Fusionar"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "El filament mixt de destinació utilitza aquest filament físic com a component. En fusionar-los s'eliminarà aquest filament físic i el filament mixt pot quedar no vàlid. Voleu continuar?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "En completar l'operació, el projecte %s es tancarà i es crearà un nou projecte." msgstr "En completar l'operació, el projecte %s es tancarà i es crearà un nou projecte."
@@ -8232,8 +8276,8 @@ msgid "Customized Preset"
msgstr "Perfil personalitzat" msgstr "Perfil personalitzat"
# AI Translated # AI Translated
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Els noms dels components dins del fitxer STEP no tenen format UTF8!" msgstr "Els noms dels components dins del fitxer STEP no tenen format UTF-8!"
# AI Translated # AI Translated
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -8255,10 +8299,10 @@ msgstr "El volum de l'objecte és zero"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"L'objecte del fitxer %s és massa petit, i potser en metres o polzades.\n" "L'objecte del fitxer %s és massa petit, i potser en metres o polzades.\n"
" Vols escalar a mil·límetres?" "Vols escalar a mil·límetres?"
msgid "Object too small" msgid "Object too small"
msgstr "Objecte massa petit" msgstr "Objecte massa petit"
@@ -8275,6 +8319,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Objecte de múltiples peces detectat" msgstr "Objecte de múltiples peces detectat"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Associant les textures als filaments"
# AI Translated
msgid "Texture Import Warning"
msgstr "Avís d'importació de textures"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Carregar aquests fitxers com un sol objecte amb diverses peces?\n" msgstr "Carregar aquests fitxers com un sol objecte amb diverses peces?\n"
@@ -8488,6 +8540,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Sincronitza ara" msgstr "Sincronitza ara"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "No s'ha pogut importar la textura. El model sembla contenir dades de textura, però el procés d'importació no s'ha pogut completar. El model s'importarà només com a geometria."
# AI Translated
msgid "Applying texture colors..."
msgstr "Aplicant els colors de textura..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Actualitzant la vista 3D..."
# AI Translated
msgid "Texture colors applied."
msgstr "Colors de textura aplicats."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Podeu mantenir els perfils modificats al projecte nou o descartar-los" msgstr "Podeu mantenir els perfils modificats al projecte nou o descartar-los"
@@ -9780,6 +9848,10 @@ msgstr "Gerro en Espiral"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Seqüència d'impressió de la primera capa" msgstr "Seqüència d'impressió de la primera capa"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "La llista de filaments conté filaments mixtos. La seqüència de filaments personalitzada no tindrà efecte."
msgid "By Layer" msgid "By Layer"
msgstr "Per Capa" msgstr "Per Capa"
@@ -11189,12 +11261,12 @@ msgid "No modifications need to be copied."
msgstr "No cal copiar cap modificació." msgstr "No cal copiar cap modificació."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Copiar els paràmetres" msgstr "Copiar els paràmetres"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Modificar els paràmetres de %s" msgstr "Modificar els paràmetres de %s"
# AI Translated # AI Translated
@@ -11715,29 +11787,6 @@ msgstr "Volums de purga per al canvi de filament"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Trieu el color del filament" msgstr "Trieu el color del filament"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "La visualització en directe nativa de Wayland requereix el sink de vídeo GTK de GStreamer. Instal·leu el connector gtksink per a GStreamer i reinicieu l'OrcaSlicer."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "No s'ha pogut inicialitzar el sink de vídeo natiu de GStreamer per a Wayland. Comproveu la instal·lació del connector GTK de GStreamer."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "El Windows Media Player és necessari per a aquesta tasca. Voleu habilitar el \"Windows Media Player\" per al vostre sistema operatiu?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource no s'ha registrat correctament per a la reproducció multimèdia! Premeu Sí per tornar-lo a registrar. Seràs promocionat dues vegades"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Falta el component BambuSource registrat per a la reproducció multimèdia! Reinstal·leu OrcaSlicer o cerqueu ajuda a la comunitat."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Utilitzar un BambuSource des d'una instal·lació diferent, la reproducció de vídeo pot no funcionar correctament! Premeu Sí per solucionar-ho."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Al vostre sistema li falten còdecs H.264 per al GStreamer, necessaris per reproduir vídeo. (Proveu d'instal·lar els paquets gstreamer1.0-plugins-bad o gstreamer1.0-libav i, a continuació, reinicieu Orca Slicer?)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "L'agent del núvol no està disponible. Reinicieu l'OrcaSlicer i torneu-ho a provar." msgstr "L'agent del núvol no està disponible. Reinicieu l'OrcaSlicer i torneu-ho a provar."
@@ -12465,6 +12514,10 @@ msgstr "Si tot i així voleu imprimir, podeu activar l'opció a Preferències /
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "No hi ha extrusions a la configuració actual." msgstr "No hi ha extrusions a la configuració actual."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "S'està utilitzant un filament mixt amb degradat, però 'Subcapa de color mixt' està desactivat. El degradat no s'imprimirà."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "El mode suau de timelapse no està permès quan la seqüència \"Per objecte\" està habilitada." msgstr "El mode suau de timelapse no està permès quan la seqüència \"Per objecte\" està habilitada."
@@ -12501,6 +12554,10 @@ msgstr "Potser voleu reduir la mida del model o canviar la configuració d'impre
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Alçada de Capa Variable no és compatible amb suports Orgànics." msgstr "Alçada de Capa Variable no és compatible amb suports Orgànics."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "El filament de la torre de purga no pot ser un filament mixt."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "És possible que els diferents diàmetres de broquet i els diferents diàmetres de filament no funcionin bé quan la torre principal està activada. És molt experimental, així que si us plau, procediu amb precaució." msgstr "És possible que els diferents diàmetres de broquet i els diferents diàmetres de filament no funcionin bé quan la torre principal està activada. És molt experimental, així que si us plau, procediu amb precaució."
@@ -12868,8 +12925,8 @@ msgstr "mm o %"
msgid "Other layers" msgid "Other layers"
msgstr "Altres capes" msgstr "Altres capes"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Temperatura del llit per a les capes excepte la primera. Un valor de 0 significa que el filament no admet la impressió sobre el Cool Plate SuperTack." msgstr "Temperatura del llit de les capes excepte la inicial. Un valor de 0 significa que el filament no admet la impressió sobre el Cool Plate SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
msgstr "Temperatura del llit de les capes excepte la inicial. El valor 0 significa que el filament no admet imprimir a una Base Freda." msgstr "Temperatura del llit de les capes excepte la inicial. El valor 0 significa que el filament no admet imprimir a una Base Freda."
@@ -14263,6 +14320,8 @@ msgstr "Temps de capa"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "S'habilitarà el ventilador de refrigeració de peces per a capes el temps estimat de les quals sigui inferior a aquest valor. La velocitat del ventilador s'interpola entre les velocitats mínima i màxima del ventilador segons el temps d'impressió per capes" msgstr "S'habilitarà el ventilador de refrigeració de peces per a capes el temps estimat de les quals sigui inferior a aquest valor. La velocitat del ventilador s'interpola entre les velocitats mínima i màxima del ventilador segons el temps d'impressió per capes"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14572,6 +14631,62 @@ msgstr "Material de suport"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "El material de suport s'utilitza habitualment per imprimir interfície de suport i suport" msgstr "El material de suport s'utilitza habitualment per imprimir interfície de suport i suport"
# AI Translated
msgid "Is mixed filament"
msgstr "És filament mixt"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Indica si aquesta ranura de filament és un filament mixt compost per diversos filaments físics"
# AI Translated
msgid "Mixed filament components"
msgstr "Components del filament mixt"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Índexs (començant per 1) dels filaments components, separats per comes; p. ex. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Proporcions de subcapa del filament mixt"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Valors de proporció separats per comes que sumin 1.0; p. ex. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Degradat del filament mixt"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Activa el mode de degradat en direcció Z per a les subcapes del filament mixt. En activar-lo, les proporcions de les subcapes varien linealment entre capes."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Rang del degradat del filament mixt"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Proporcions inicial i final del primer component en el mode de degradat. Parell separat per comes; p. ex. \"0.10,0.90\" significa del 10% al 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Corba del degradat del filament mixt"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Corba personalitzada opcional, a l'estil de Photoshop, que assigna el progrés en Z a la proporció del primer component. Es codifica com a punts de control separats per barres verticals, amb el format \"x,y\" (heretat) o \"x,y,m_in,m_out\" quan cal anul·lar la tangent (un valor buit o \"nan\" fa servir el valor PCHIP predeterminat). x està dins de [0,1]; y es limita al rang de proporcions configurat; p. ex. \"0,0.15|0.5,0.50|1,0.85\". Si es deixa buit, s'utilitza el gradient_range lineal."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Degradat per peça del filament mixt"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Quan el mode de degradat està activat, aplica el degradat a cada peça d'un muntatge de manera independent en lloc de tractar tot el muntatge com un únic rang Z."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament imprimible" msgstr "Filament imprimible"
@@ -15860,6 +15975,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Força de sortida màxima permesa de l'eix Y" msgstr "Força de sortida màxima permesa de l'eix Y"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15872,6 +15988,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Càrrega de massa del llit de la màquina a l'eix Y" msgstr "Càrrega de massa del llit de la màquina a l'eix Y"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -16197,7 +16314,7 @@ msgid "Reduce infill retraction"
msgstr "Reduir la retracció de farciment" msgstr "Reduir la retracció de farciment"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "No retrau quan el desplaçament està totalment a la zona de farciment. Això vol dir que l'oozing( goteig ) queda amagat. Això pot reduir els temps de retracció per a models complexos i estalviar temps d'impressió, però fer que el laminat i la generació de Codi-G siguin més lents. Tingueu en compte que el salt en Z tampoc es realitza a les zones on s'omet la retracció." msgstr "No retrau quan el desplaçament està totalment a la zona de farciment. Això vol dir que l'oozing( goteig ) queda amagat. Això pot reduir els temps de retracció per a models complexos i estalviar temps d'impressió, però fer que el laminat i la generació de Codi-G siguin més lents. Tingueu en compte que el salt en Z tampoc es realitza a les zones on s'omet la retracció."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -16373,7 +16490,7 @@ msgstr "Quantitat de retracció després de netejar"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Longitud de la retracció ràpida després de netejar, relativa a la longitud de retracció.\n" "Longitud de la retracció ràpida després de netejar, relativa a la longitud de retracció.\n"
@@ -16420,7 +16537,7 @@ msgstr "Quan s'activa la retracció abans d'un canvi d'eina, el filament es reti
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Alçada Z-hop" msgstr "Alçada Z-hop"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Cade vegada que es fa una retracció, s'aixeca una mica el broquet per crear espai lliure entre el broquet i la impressió. Evita que el broquet colpegi la impressió en els desplaçaments. L'ús de la línia espiral per aixecar z pot evitar l'aparició de fils" msgstr "Cade vegada que es fa una retracció, s'aixeca una mica el broquet per crear espai lliure entre el broquet i la impressió. Evita que el broquet colpegi la impressió en els desplaçaments. L'ús de la línia espiral per aixecar z pot evitar l'aparició de fils"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17482,6 +17599,14 @@ msgstr ""
"\n" "\n"
"L'establiment d'un valor en la quantitat de retractació abans de l'esborrat es realitzarà qualsevol retracció en excés abans de la neteja, sinó es realitzarà després." "L'establiment d'un valor en la quantitat de retractació abans de l'esborrat es realitzarà qualsevol retracció en excés abans de la neteja, sinó es realitzarà després."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Subcapa de color mixt"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Activa la divisió en subcapes de color mixt. En activar-la, les capes que contenen filaments de color mixt es divideixen en subcapes per aconseguir efectes de barreja de colors."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "La Torre de Purga es pot utilitzar per netejar els residus al broquet i estabilitzar la pressió de la cambra dins del broquet, per tal d'evitar defectes d'aparença en imprimir objectes." msgstr "La Torre de Purga es pot utilitzar per netejar els residus al broquet i estabilitzar la pressió de la cambra dins del broquet, per tal d'evitar defectes d'aparença en imprimir objectes."
@@ -18573,6 +18698,10 @@ msgstr "La generació de malla del fitxer del model ha fallat o la forma no és
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "El fitxer subministrat no s'ha pogut llegir perquè està buit" msgstr "El fitxer subministrat no s'ha pogut llegir perquè està buit"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "El format del fitxer és incompatible i no es pot analitzar."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Format de fitxer desconegut. El fitxer d'entrada ha de tenir extensió .stl, .obj, .amf( .xml )." msgstr "Format de fitxer desconegut. El fitxer d'entrada ha de tenir extensió .stl, .obj, .amf( .xml )."
@@ -20071,19 +20200,19 @@ msgstr "Mostrar només els noms de les impressores amb canvis als perfils d'impr
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Mostrar només els noms dels filaments amb canvis en els perfils de filament." msgstr "Mostrar només els noms dels filaments amb canvis en els perfils de filament."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Només es mostraran els noms de les impressores amb perfils d'impressora d'usuari i cada perfil que trieu s'exportarà com a fitxer zip." msgstr "Només es mostraran els noms de les impressores amb perfils d'impressora d'usuari i cada perfil que trieu s'exportarà com a fitxer zip."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Només es mostraran els noms dels filaments amb perfils de filament d'usuari, \n" "Només es mostraran els noms dels filaments amb perfils de filament d'usuari, \n"
"i tots els perfils de filament d'usuari de cada nom de filament que seleccioneu s'exportaran com a zip." "i tots els perfils de filament d'usuari de cada nom de filament que seleccioneu s'exportaran com a zip."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Només es mostraran els noms de les impressores amb perfils de processament modificats, \n" "Només es mostraran els noms de les impressores amb perfils de processament modificats, \n"
"I tots els valors perfils del procés d'usuari de cada nom d'impressora que seleccioneu s'exportaran com a ZIP." "I tots els valors perfils del procés d'usuari de cada nom d'impressora que seleccioneu s'exportaran com a ZIP."
@@ -20328,7 +20457,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Necessitem informació per diagnosticar l'origen del problema. Consulteu la pàgina wiki per a una guia detallada." msgstr "Necessitem informació per diagnosticar l'origen del problema. Consulteu la pàgina wiki per a una guia detallada."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "El botó Empaquetar recull el fitxer del projecte i els registres de la sessió actual en un fitxer zip." msgstr "El botó Empaquetar recull el fitxer del projecte i els registres de la sessió actual en un fitxer zip."
# AI Translated # AI Translated
@@ -20384,7 +20513,7 @@ msgid "Stored logs"
msgstr "Registres emmagatzemats" msgstr "Registres emmagatzemats"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Empaqueta tots els registres emmagatzemats en un fitxer zip." msgstr "Empaqueta tots els registres emmagatzemats en un fitxer zip."
# AI Translated # AI Translated
@@ -20472,7 +20601,7 @@ msgid "Authorizing..."
msgstr "Autoritzant..." msgstr "Autoritzant..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Error. No es pot obtenir el testimoni d'api per a l'autorització" msgstr "Error. No es pot obtenir el testimoni d'api per a l'autorització"
# AI Translated # AI Translated
@@ -20928,8 +21057,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Activar l'assignació intel·ligent de filament: assigna un filament a diversos broquets per maximitzar l'estalvi" msgstr "Activar l'assignació intel·ligent de filament: assigna un filament a diversos broquets per maximitzar l'estalvi"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Estalvi de filament" msgstr "Desament de fitxers"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "No m'ho recordis més" msgstr "No m'ho recordis més"
@@ -21338,6 +21467,9 @@ msgstr "Reinicia ara"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "SENSE EMPENTA" msgstr "SENSE EMPENTA"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Velocitat volumètrica" msgstr "Velocitat volumètrica"
@@ -21989,6 +22121,41 @@ msgstr ""
"Evitar la deformació( warping )\n" "Evitar la deformació( warping )\n"
"Sabíeu que quan imprimiu materials propensos a deformar-se, com ara l'ABS, augmentar adequadament la temperatura del llit pot reduir la probabilitat de deformació?" "Sabíeu que quan imprimiu materials propensos a deformar-se, com ara l'ABS, augmentar adequadament la temperatura del llit pot reduir la probabilitat de deformació?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "La visualització en directe nativa de Wayland requereix el sink de vídeo GTK de GStreamer. Instal·leu el connector gtksink per a GStreamer i reinicieu l'OrcaSlicer."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "No s'ha pogut inicialitzar el sink de vídeo natiu de GStreamer per a Wayland. Comproveu la instal·lació del connector GTK de GStreamer."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "El Windows Media Player és necessari per a aquesta tasca. Voleu habilitar el \"Windows Media Player\" per al vostre sistema operatiu?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource no s'ha registrat correctament per a la reproducció multimèdia! Premeu Sí per tornar-lo a registrar. Seràs promocionat dues vegades"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Falta el component BambuSource registrat per a la reproducció multimèdia! Reinstal·leu OrcaSlicer o cerqueu ajuda a la comunitat."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Utilitzar un BambuSource des d'una instal·lació diferent, la reproducció de vídeo pot no funcionar correctament! Premeu Sí per solucionar-ho."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Al vostre sistema li falten còdecs H.264 per al GStreamer, necessaris per reproduir vídeo. (Proveu d'instal·lar els paquets gstreamer1.0-plugins-bad o gstreamer1.0-libav i, a continuació, reinicieu Orca Slicer?)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Estalvi de filament"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+219 -52
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: Jakub Hencl\n" "Last-Translator: Jakub Hencl\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2977,6 +2977,10 @@ msgstr "Upravit"
msgid "Merge with" msgid "Merge with"
msgstr "Sloučit s" msgstr "Sloučit s"
# AI Translated
msgid "Decompose Color"
msgstr "Rozložit barvu"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Smazat tento filament" msgstr "Smazat tento filament"
@@ -3279,6 +3283,10 @@ msgstr "Sestava"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Sloučit části do objektu" msgstr "Sloučit části do objektu"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Použití proměnné výšky vrstvy společně s podvrstvou míchané barvy může zhoršit kvalitu míchání barev."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Přidat vrstvy" msgstr "Přidat vrstvy"
@@ -4851,7 +4859,7 @@ msgstr ""
"\n" "\n"
"Hodnota bude nastavena na 0." "Hodnota bude nastavena na 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Střídavá přídavná stěna nefunguje správně, pokud je zajištění tloušťky svislé stěny nastaveno na Vše." msgstr "Střídavá přídavná stěna nefunguje správně, pokud je zajištění tloušťky svislé stěny nastaveno na Vše."
msgid "" msgid ""
@@ -4897,7 +4905,7 @@ msgstr ""
"NE Ponechat nezávislou výšku podpůrné vrstvy" "NE Ponechat nezávislou výšku podpůrné vrstvy"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height musí být menší než layer_height.\n" "seam_slope_start_height musí být menší než layer_height.\n"
@@ -4905,7 +4913,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Hloubka zamčení musí být menší než hloubka krycí vrstvy.\n" "Hloubka zamčení musí být menší než hloubka krycí vrstvy.\n"
@@ -6380,10 +6388,10 @@ msgstr "Importovat 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Načíst model" msgstr "Načíst model"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importovat ZIP archiv" msgstr "Importovat ZIP archiv"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Načíst modely obsažené v zip archivu" msgstr "Načíst modely obsažené v zip archivu"
msgid "Import Configs" msgid "Import Configs"
@@ -7921,6 +7929,10 @@ msgstr "Přizpůsobit aktuální desku"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "Tryska %s nemůže tisknout %s." msgstr "Tryska %s nemůže tisknout %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Tisk filamentu s míchanou barvou na tiskárně s jedním extruderem vyžaduje časté výměny filamentu a čištění, což může výrazně zvýšit množství odpadu a riziko ucpání trysky nebo odpadního skluzu."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Míchání %1% s %2% při tisku není doporučeno.\n" msgstr "Míchání %1% s %2% při tisku není doporučeno.\n"
@@ -8050,12 +8062,44 @@ msgstr "Synchronizovat seznam filamentů z AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Nastavit používané filamenty" msgstr "Nastavit používané filamenty"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Přidat míchaný filament"
# AI Translated
msgid "Mixed Filament"
msgstr "Míchaný filament"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Odebrat poslední míchaný filament"
# AI Translated
msgid "Add mixed filament"
msgstr "Přidat míchaný filament"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Míchaný filament má neplatné nebo neodpovídající komponenty. Upravte prosím dotčené položky znovu."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Hledat desku, objekt a díl." msgstr "Hledat desku, objekt a díl."
msgid "Pellets" msgid "Pellets"
msgstr "Pelety" msgstr "Pelety"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Míchaný filament má poškozené odkazy na komponenty"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Upravit / Smazat / Sloučit"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Cílový míchaný filament používá tento fyzický filament jako komponentu. Sloučením se tento fyzický filament odstraní a míchaný filament může přestat být platný. Pokračovat?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Po dokončení operace bude projekt %s uzavřen a bude vytvořen nový projekt." msgstr "Po dokončení operace bude projekt %s uzavřen a bude vytvořen nový projekt."
@@ -8193,7 +8237,7 @@ msgstr "Potvrďte prosím, že je G-code v těchto předvolbách bezpečný, aby
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Přizpůsobená předvolba" msgstr "Přizpůsobená předvolba"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Názvy komponent v souboru STEP nejsou ve formátu UTF-8!" msgstr "Názvy komponent v souboru STEP nejsou ve formátu UTF-8!"
# AI Translated # AI Translated
@@ -8216,7 +8260,7 @@ msgstr "Objem objektu je nula."
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Objekt ze souboru %s je příliš malý a může být v metrech nebo palcích.\n" "Objekt ze souboru %s je příliš malý a může být v metrech nebo palcích.\n"
"Chcete převést měřítko na milimetry?" "Chcete převést měřítko na milimetry?"
@@ -8237,6 +8281,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Detekován vícedílný objekt" msgstr "Detekován vícedílný objekt"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Přiřazování textur k filamentům"
# AI Translated
msgid "Texture Import Warning"
msgstr "Upozornění při importu textury"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Načíst tyto soubory jako jeden objekt s více částmi?\n" msgstr "Načíst tyto soubory jako jeden objekt s více částmi?\n"
@@ -8447,6 +8499,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Synchronizovat nyní" msgstr "Synchronizovat nyní"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Import textury se nezdařil. Zdá se, že model obsahuje data textury, ale proces importu nebylo možné dokončit. Model bude importován pouze jako geometrie."
# AI Translated
msgid "Applying texture colors..."
msgstr "Aplikují se barvy textury..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Aktualizuje se 3D náhled..."
# AI Translated
msgid "Texture colors applied."
msgstr "Barvy textury byly použity."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Upravené předvolby můžete ponechat v novém projektu nebo je zahodit" msgstr "Upravené předvolby můžete ponechat v novém projektu nebo je zahodit"
@@ -9728,6 +9796,10 @@ msgstr "Spirálová váza"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Pořadí filamentů v první vrstvě" msgstr "Pořadí filamentů v první vrstvě"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Seznam filamentů obsahuje míchané filamenty. Vlastní pořadí filamentů se neuplatní."
msgid "By Layer" msgid "By Layer"
msgstr "Podle vrstvy" msgstr "Podle vrstvy"
@@ -11133,12 +11205,12 @@ msgid "No modifications need to be copied."
msgstr "Není třeba kopírovat žádné úpravy." msgstr "Není třeba kopírovat žádné úpravy."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Kopírovat parametry" msgstr "Kopírovat parametry"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Upravit parametry %s" msgstr "Upravit parametry %s"
# AI Translated # AI Translated
@@ -11697,34 +11769,6 @@ msgstr "Objemy čištění při výměně filamentu"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Vyberte prosím barvu filamentu" msgstr "Vyberte prosím barvu filamentu"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Nativní živý náhled ve Waylandu vyžaduje video sink GStreamer GTK. Nainstalujte prosím plugin gtksink pro GStreamer a poté restartujte OrcaSlicer."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Nepodařilo se inicializovat nativní video sink GStreamer pro Wayland. Zkontrolujte prosím instalaci pluginu GStreamer GTK."
# AI Translated
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Pro tuto úlohu je vyžadován Windows Media Player! Chcete ve svém operačním systému povolit „Windows Media Player“?"
# AI Translated
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource nebyl správně zaregistrován pro přehrávání médií! Stisknutím Ano jej znovu zaregistrujete. Budete vyzváni dvakrát"
# AI Translated
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Chybí komponenta BambuSource registrovaná pro přehrávání médií! Přeinstalujte prosím OrcaSlicer nebo požádejte o pomoc komunitu."
# AI Translated
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Používá se BambuSource z jiné instalace, přehrávání videa nemusí fungovat správně! Stisknutím Ano to opravíte."
# AI Translated
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Ve vašem systému chybí kodeky H.264 pro GStreamer, které jsou nutné k přehrávání videa. (Zkuste nainstalovat balíčky gstreamer1.0-plugins-bad nebo gstreamer1.0-libav a poté restartovat Orca Slicer?)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Cloudový agent není dostupný. Restartujte prosím OrcaSlicer a zkuste to znovu." msgstr "Cloudový agent není dostupný. Restartujte prosím OrcaSlicer a zkuste to znovu."
@@ -12446,6 +12490,10 @@ msgstr "Pokud chcete přesto tisknout, můžete povolit možnost v Nastavení /
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Při aktuálním nastavení nejsou žádné extruze." msgstr "Při aktuálním nastavení nejsou žádné extruze."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Je použit míchaný filament s gradientem, ale 'Podvrstva míchané barvy' je vypnutá. Gradient nebude vytištěn."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Plynulý režim časosběru není podporován, pokud je povoleno pořadí tisku „podle objektu“." msgstr "Plynulý režim časosběru není podporován, pokud je povoleno pořadí tisku „podle objektu“."
@@ -12482,6 +12530,10 @@ msgstr "Možná budete chtít zmenšit velikost modelu nebo změnit aktuální n
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Proměnná výška vrstvy není podporována s organickými podporami." msgstr "Proměnná výška vrstvy není podporována s organickými podporami."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Filament věže na očištění trysky nemůže být míchaný filament."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Různé průměry trysek a filamentu nemusí správně fungovat, pokud je povolena základní věž. Jedná se o velmi experimentální funkci, proto pokračujte opatrně." msgstr "Různé průměry trysek a filamentu nemusí správně fungovat, pokud je povolena základní věž. Jedná se o velmi experimentální funkci, proto pokračujte opatrně."
@@ -12853,7 +12905,7 @@ msgstr "mm nebo %"
msgid "Other layers" msgid "Other layers"
msgstr "Ostatní vrstvy" msgstr "Ostatní vrstvy"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Teplota desky pro vrstvy kromě počáteční. Hodnota 0 znamená, že filament nepodporuje tisk na chladicí podložce SuperTack." msgstr "Teplota desky pro vrstvy kromě počáteční. Hodnota 0 znamená, že filament nepodporuje tisk na chladicí podložce SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -14232,6 +14284,8 @@ msgstr "Čas vrstvy"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Ventilátor chlazení části bude spuštěn u vrstev, jejichž odhadovaný čas je kratší než tato hodnota. Rychlost ventilátoru je interpolována mezi minimální a maximální podle času tisku vrstvy." msgstr "Ventilátor chlazení části bude spuštěn u vrstev, jejichž odhadovaný čas je kratší než tato hodnota. Rychlost ventilátoru je interpolována mezi minimální a maximální podle času tisku vrstvy."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14540,6 +14594,62 @@ msgstr "Podpůrný materiál"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Podpůrný materiál se běžně používá pro tisk podpěr a rozhraní podpěr." msgstr "Podpůrný materiál se běžně používá pro tisk podpěr a rozhraní podpěr."
# AI Translated
msgid "Is mixed filament"
msgstr "Je míchaný filament"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Určuje, zda je tato pozice filamentu míchaným filamentem složeným z několika fyzických filamentů"
# AI Translated
msgid "Mixed filament components"
msgstr "Komponenty míchaného filamentu"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Čárkami oddělené indexy komponentních filamentů počítané od 1, např. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Poměry podvrstev míchaného filamentu"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Čárkami oddělené hodnoty poměrů, jejichž součet je 1.0, např. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Gradient míchaného filamentu"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Zapne režim gradientu ve směru Z pro podvrstvy míchaného filamentu. Je-li zapnutý, poměry podvrstev se mění lineárně napříč vrstvami."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Rozsah gradientu míchaného filamentu"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Počáteční a koncový poměr první komponenty v režimu gradientu. Dvojice oddělená čárkou, např. \"0.10,0.90\" znamená 10% až 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Křivka gradientu míchaného filamentu"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Volitelná vlastní křivka ve stylu Photoshopu, která mapuje postup v ose Z na poměr první komponenty. Zapisuje se jako řídicí body oddělené svislými čarami, buď ve tvaru \"x,y\" (starší formát), nebo \"x,y,m_in,m_out\", pokud je potřeba přepsat tečnu (prázdná hodnota nebo \"nan\" použije výchozí PCHIP). x je v intervalu [0,1]; y je omezeno na nastavený rozsah poměrů, např. \"0,0.15|0.5,0.50|1,0.85\". Pokud je pole prázdné, použije se lineární gradient_range."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Gradient míchaného filamentu podle dílu"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Je-li zapnutý režim gradientu, aplikuje gradient na každý díl sestavy samostatně místo toho, aby se celá sestava brala jako jeden rozsah Z."
msgid "Filament printable" msgid "Filament printable"
msgstr "Tisknutelný filament" msgstr "Tisknutelný filament"
@@ -15816,6 +15926,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Povolená maximální výstupní síla osy Y" msgstr "Povolená maximální výstupní síla osy Y"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15828,6 +15939,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Zatížení osy Y hmotností podložky stroje" msgstr "Zatížení osy Y hmotností podložky stroje"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -16143,8 +16255,8 @@ msgstr "Počáteční a koncové body, které vedou z oblasti řezače do odpadk
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Snížit retrakci při výplni" msgstr "Snížit retrakci při výplni"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Neprovádět retrakci, pokud se přejezd nachází zcela uvnitř oblasti výplně. Případné vytékání materiálu tak nebude viditelné. To může snížit počet retrakčních pohybů u složitých modelů a zkrátit dobu tisku, ale zároveň zpomalit slicování a generování G-code. V oblastech, kde je retrakce přeskočena, se zároveň neprovádí ani z-hop." msgstr "Neprovádět retrakci, pokud se přejezd nachází zcela uvnitř oblasti výplně. Případné vytékání materiálu tak nebude viditelné. To může snížit počet retrakčních pohybů u složitých modelů a zkrátit dobu tisku, ale zároveň zpomalit slicování a generování G-code. V oblastech, kde je retrakce přeskočena, se zároveň neprovádí ani Z-hop."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
msgstr "Tato možnost sníží teplotu neaktivních extruderů, aby se zabránilo vytékání." msgstr "Tato možnost sníží teplotu neaktivních extruderů, aby se zabránilo vytékání."
@@ -16317,7 +16429,7 @@ msgstr "Délka retrakce po očištění"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Délka rychlé retrakce po očištění, vztažená k délce retrakce.\n" "Délka rychlé retrakce po očištění, vztažená k délce retrakce.\n"
@@ -16364,7 +16476,7 @@ msgstr "Když je retrakce spuštěna před změnou nástroje, filament se zatáh
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Výška Z-hopu" msgstr "Výška Z-hopu"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Po každém stažení filamentu se tryska mírně zvedne, aby vznikla mezera mezi tryskou a tiskem. Zabrání kolizi trysky s tiskem při přesunu. Použití spirálových linií pro zvedání v ose Z může zabránit vytahování vláken." msgstr "Po každém stažení filamentu se tryska mírně zvedne, aby vznikla mezera mezi tryskou a tiskem. Zabrání kolizi trysky s tiskem při přesunu. Použití spirálových linií pro zvedání v ose Z může zabránit vytahování vláken."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17427,6 +17539,14 @@ msgstr ""
"\n" "\n"
"Nastavení hodnoty v parametru množství retrakce před očištěním níže provede případnou dodatečnou retrakci před očištěním, jinak bude provedena po něm." "Nastavení hodnoty v parametru množství retrakce před očištěním níže provede případnou dodatečnou retrakci před očištěním, jinak bude provedena po něm."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Podvrstva míchané barvy"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Zapne dělení na podvrstvy míchané barvy. Je-li zapnuto, vrstvy obsahující filamenty s míchanou barvou se rozdělí na podvrstvy, aby vznikl efekt míchání barev."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Čistící věž lze použít k odstranění zbytků materiálu na trysce a ke stabilizaci tlaku v komoře trysky, aby se předešlo vizuálním vadám při tisku objektů." msgstr "Čistící věž lze použít k odstranění zbytků materiálu na trysce a ke stabilizaci tlaku v komoře trysky, aby se předešlo vizuálním vadám při tisku objektů."
@@ -18500,6 +18620,10 @@ msgstr "Síťování modelového souboru selhalo nebo nebyl nalezen platný tvar
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Zadaný soubor nelze načíst, protože je prázdný." msgstr "Zadaný soubor nelze načíst, protože je prázdný."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Formát souboru není kompatibilní a nelze jej načíst."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Neznámý formát souboru. Vstupní soubor musí mít příponu .stl, .obj nebo .amf(.xml)." msgstr "Neznámý formát souboru. Vstupní soubor musí mít příponu .stl, .obj nebo .amf(.xml)."
@@ -19992,19 +20116,19 @@ msgstr "Zobrazit pouze názvy tiskáren se změnami v předvolbách tiskárny, f
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Zobrazit pouze názvy filamentů se změnami ve filamentových profilech." msgstr "Zobrazit pouze názvy filamentů se změnami ve filamentových profilech."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Zobrazí se pouze názvy tiskáren s uživatelskými předvolbami tiskárny, každá vybraná předvolba bude exportována jako zip archiv." msgstr "Zobrazí se pouze názvy tiskáren s uživatelskými předvolbami tiskárny, každá vybraná předvolba bude exportována jako zip archiv."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Zobrazí se pouze názvy filamentů s uživatelskými filamentovými profily. \n" "Zobrazí se pouze názvy filamentů s uživatelskými filamentovými profily. \n"
"Všechny uživatelské filamentové profily ve vybraných filamentech budou exportovány jako zip archiv." "Všechny uživatelské filamentové profily ve vybraných filamentech budou exportovány jako zip archiv."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Zobrazí se pouze názvy tiskáren se změněnými procesními předvolbami. \n" "Zobrazí se pouze názvy tiskáren se změněnými procesními předvolbami. \n"
"Všechny uživatelské procesní předvolby ve vybraných tiskárnách budou exportovány jako zip archiv." "Všechny uživatelské procesní předvolby ve vybraných tiskárnách budou exportovány jako zip archiv."
@@ -20250,7 +20374,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Pro diagnostiku zdroje problému potřebujeme informace. Podrobný návod najdete na stránce wiki." msgstr "Pro diagnostiku zdroje problému potřebujeme informace. Podrobný návod najdete na stránce wiki."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Tlačítko Zabalit shromáždí soubor projektu a protokoly aktuální relace do souboru zip." msgstr "Tlačítko Zabalit shromáždí soubor projektu a protokoly aktuální relace do souboru zip."
# AI Translated # AI Translated
@@ -20306,7 +20430,7 @@ msgid "Stored logs"
msgstr "Uložené protokoly" msgstr "Uložené protokoly"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Zabalí všechny uložené protokoly do souboru zip." msgstr "Zabalí všechny uložené protokoly do souboru zip."
# AI Translated # AI Translated
@@ -20394,8 +20518,8 @@ msgid "Authorizing..."
msgstr "Probíhá autorizace..." msgstr "Probíhá autorizace..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Chyba. Nelze získat api token pro autorizaci" msgstr "Chyba. Nelze získat API token pro autorizaci"
# AI Translated # AI Translated
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20851,8 +20975,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Povolit chytré přiřazení filamentu: přiřadit jeden filament více tryskám pro maximální úsporu" msgstr "Povolit chytré přiřazení filamentu: přiřadit jeden filament více tryskám pro maximální úsporu"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Úspora filamentu" msgstr "Ukládání souboru"
# AI Translated # AI Translated
msgid "Don't remind me again" msgid "Don't remind me again"
@@ -21308,6 +21432,9 @@ msgstr "Restartovat nyní"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "ŽÁDNÝ RAMMING" msgstr "ŽÁDNÝ RAMMING"
msgid "s"
msgstr "s"
# AI Translated # AI Translated
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Objemová rychlost" msgstr "Objemová rychlost"
@@ -21975,6 +22102,46 @@ msgstr ""
"Zamezte kroucení\n" "Zamezte kroucení\n"
"Víte, že při tisku materiálů náchylných ke kroucení, jako je ABS, může vhodné zvýšení teploty vyhřívané desky snížit pravděpodobnost kroucení?" "Víte, že při tisku materiálů náchylných ke kroucení, jako je ABS, může vhodné zvýšení teploty vyhřívané desky snížit pravděpodobnost kroucení?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Nativní živý náhled ve Waylandu vyžaduje video sink GStreamer GTK. Nainstalujte prosím plugin gtksink pro GStreamer a poté restartujte OrcaSlicer."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Nepodařilo se inicializovat nativní video sink GStreamer pro Wayland. Zkontrolujte prosím instalaci pluginu GStreamer GTK."
# AI Translated
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Pro tuto úlohu je vyžadován Windows Media Player! Chcete ve svém operačním systému povolit „Windows Media Player“?"
# AI Translated
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource nebyl správně zaregistrován pro přehrávání médií! Stisknutím Ano jej znovu zaregistrujete. Budete vyzváni dvakrát"
# AI Translated
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Chybí komponenta BambuSource registrovaná pro přehrávání médií! Přeinstalujte prosím OrcaSlicer nebo požádejte o pomoc komunitu."
# AI Translated
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Používá se BambuSource z jiné instalace, přehrávání videa nemusí fungovat správně! Stisknutím Ano to opravíte."
# AI Translated
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Ve vašem systému chybí kodeky H.264 pro GStreamer, které jsou nutné k přehrávání videa. (Zkuste nainstalovat balíčky gstreamer1.0-plugins-bad nebo gstreamer1.0-libav a poté restartovat Orca Slicer?)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Úspora filamentu"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+212 -45
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: Heiko Liebscher <hliebschergmail.com>\n" "Last-Translator: Heiko Liebscher <hliebschergmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2917,6 +2917,10 @@ msgstr "Bearbeiten"
msgid "Merge with" msgid "Merge with"
msgstr "Zusammenführen mit" msgstr "Zusammenführen mit"
# AI Translated
msgid "Decompose Color"
msgstr "Farbe zerlegen"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Diesen Filament löschen" msgstr "Diesen Filament löschen"
@@ -3216,6 +3220,10 @@ msgstr "Zusammenbau"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Teile zu einem Objekt zusammenführen" msgstr "Teile zu einem Objekt zusammenführen"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Die Verwendung einer variablen Schichthöhe zusammen mit der Mischfarben-Unterschicht kann zu einer schlechten Farbmischqualität führen."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Schichten hinzufügen" msgstr "Schichten hinzufügen"
@@ -4757,7 +4765,7 @@ msgstr ""
"\n" "\n"
"Der Wert wird auf 0 zurückgesetzt." "Der Wert wird auf 0 zurückgesetzt."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Der alternative zusätzliche Wandmodus funktioniert nicht gut, wenn die vertikale Wanddicke auf Alle eingestellt ist." msgstr "Der alternative zusätzliche Wandmodus funktioniert nicht gut, wenn die vertikale Wanddicke auf Alle eingestellt ist."
msgid "" msgid ""
@@ -4803,7 +4811,7 @@ msgstr ""
"NEIN - unabhängige Stütz-Schichthöhen beibehalten" "NEIN - unabhängige Stütz-Schichthöhen beibehalten"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height muss kleiner als layer_height sein.\n" "seam_slope_start_height muss kleiner als layer_height sein.\n"
@@ -4811,7 +4819,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Die Verriegelungstiefe sollte kleiner als die Hauttiefe sein.\n" "Die Verriegelungstiefe sollte kleiner als die Hauttiefe sein.\n"
@@ -6272,10 +6280,10 @@ msgstr "Importiere 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Lade ein Modell" msgstr "Lade ein Modell"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Zip-Archiv importieren" msgstr "Zip-Archiv importieren"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Modelle aus einem Zip-Archiv laden" msgstr "Modelle aus einem Zip-Archiv laden"
msgid "Import Configs" msgid "Import Configs"
@@ -7791,6 +7799,10 @@ msgstr "Aktuelle Platte anpassen"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "Die %s Düse kann %s nicht drucken." msgstr "Die %s Düse kann %s nicht drucken."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Der Druck von Mischfarben-Filament auf einem Drucker mit nur einem Extruder erfordert häufige Filamentwechsel und Spülvorgänge, was den Abfall und das Risiko einer Verstopfung von Düse bzw. Abfallschacht deutlich erhöhen kann."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Mischen von %1% mit %2% im Druck wird nicht empfohlen.\n" msgstr "Mischen von %1% mit %2% im Druck wird nicht empfohlen.\n"
@@ -7916,6 +7928,26 @@ msgstr "Filamentliste von AMS synchronisieren"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Zu verwendende Filamente einstellen" msgstr "Zu verwendende Filamente einstellen"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Mischfilament hinzufügen"
# AI Translated
msgid "Mixed Filament"
msgstr "Mischfilament"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Letztes Mischfilament entfernen"
# AI Translated
msgid "Add mixed filament"
msgstr "Mischfilament hinzufügen"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Das Mischfilament enthält ungültige oder nicht zusammenpassende Komponenten. Bitte bearbeiten Sie die betroffenen Einträge erneut."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Suche Platte, Objekt und Teil." msgstr "Suche Platte, Objekt und Teil."
@@ -7923,6 +7955,18 @@ msgstr "Suche Platte, Objekt und Teil."
msgid "Pellets" msgid "Pellets"
msgstr "Pellets" msgstr "Pellets"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Das Mischfilament enthält ungültige Komponentenverweise"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Bearbeiten / Löschen / Zusammenführen"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Das Ziel-Mischfilament verwendet dieses physische Filament als Komponente. Beim Zusammenführen wird dieses physische Filament entfernt und das Mischfilament kann dadurch ungültig werden. Fortfahren?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Nach Abschluss Ihrer Operation wird das %s-Projekt geschlossen und ein neues Projekt erstellt." msgstr "Nach Abschluss Ihrer Operation wird das %s-Projekt geschlossen und ein neues Projekt erstellt."
@@ -8063,8 +8107,8 @@ msgstr "Bitte bestätigen Sie, dass die G-Codes innerhalb dieser Profile sicher
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Benutzerdefinierte Profile" msgstr "Benutzerdefinierte Profile"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Der Name der Komponenten in der Step-Datei ist nicht im UTF8-Format!" msgstr "Der Name der Komponenten in der Step-Datei ist nicht im UTF-8-Format!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "Aufgrund der nicht unterstützten Textkodierung können unbrauchbare Zeichen erscheinen!" msgstr "Aufgrund der nicht unterstützten Textkodierung können unbrauchbare Zeichen erscheinen!"
@@ -8085,10 +8129,10 @@ msgstr "Das Volumen des Objekts ist Null"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Das Objekt aus der Datei %s ist zu klein und vielleicht in Metern oder Zoll angeben.\n" "Das Objekt aus der Datei %s ist zu klein und vielleicht in Metern oder Zoll angeben.\n"
" Möchten Sie auf Millimeter skalieren?" "Möchten Sie auf Millimeter skalieren?"
msgid "Object too small" msgid "Object too small"
msgstr "Objekt zu klein" msgstr "Objekt zu klein"
@@ -8106,6 +8150,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Mehrteiliges Objekt erkannt" msgstr "Mehrteiliges Objekt erkannt"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Texturen werden den Filamenten zugeordnet"
# AI Translated
msgid "Texture Import Warning"
msgstr "Warnung beim Texturimport"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Diese Dateien als ein einziges Objekt mit mehreren Teilen laden?\n" msgstr "Diese Dateien als ein einziges Objekt mit mehreren Teilen laden?\n"
@@ -8319,6 +8371,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Jetzt synchronisieren" msgstr "Jetzt synchronisieren"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Der Texturimport ist fehlgeschlagen. Das Modell scheint Texturdaten zu enthalten, der Importvorgang konnte jedoch nicht abgeschlossen werden. Das Modell wird nur als Geometrie importiert."
# AI Translated
msgid "Applying texture colors..."
msgstr "Texturfarben werden angewendet..."
# AI Translated
msgid "Updating 3D view..."
msgstr "3D-Ansicht wird aktualisiert..."
# AI Translated
msgid "Texture colors applied."
msgstr "Texturfarben angewendet."
# AI Translated # AI Translated
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Sie können die geänderten Profile für das neue Projekt beibehalten oder sie verwerfen" msgstr "Sie können die geänderten Profile für das neue Projekt beibehalten oder sie verwerfen"
@@ -9563,6 +9631,10 @@ msgstr "Vasenmodus"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Erste Filament-Schichtsequenz" msgstr "Erste Filament-Schichtsequenz"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Die Filamentliste enthält Mischfilamente. Die benutzerdefinierte Filamentreihenfolge wird nicht wirksam."
msgid "By Layer" msgid "By Layer"
msgstr "Nach Schicht" msgstr "Nach Schicht"
@@ -10940,11 +11012,11 @@ msgstr "%s: %s"
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "Es müssen keine Änderungen kopiert werden." msgstr "Es müssen keine Änderungen kopiert werden."
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Parameter kopieren" msgstr "Parameter kopieren"
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Parameter von %s ändern" msgstr "Parameter von %s ändern"
#, c-format, boost-format #, c-format, boost-format
@@ -11460,27 +11532,6 @@ msgstr "Reinigungsvolumen für Filamentwechsel"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Bitte wählen Sie die Filamentfarbe" msgstr "Bitte wählen Sie die Filamentfarbe"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Native Wayland Liveview erfordert das GStreamer GTK Video Sink. Bitte installieren Sie das gtksink-Plugin für GStreamer und starten Sie OrcaSlicer neu."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Fehler beim Initialisieren des nativen Wayland GStreamer Video Sinks. Bitte überprüfen Ihre GStreamer GTK-Plugin-Installation."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Windows Media Player wird für diese Aufgabe benötigt! Möchten Sie 'Windows Media Player' für Ihr Betriebssystem aktivieren?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource wurde nicht korrekt für das Abspielen von Medien registriert! Drücken Sie Ja, um es erneut zu registrieren. Sie werden zweimal aufgefordert"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Fehlende BambuSource-Komponente, die für das Abspielen von Medien registriert ist! Bitte installieren Sie OrcaSlicer neu oder suchen Sie Hilfe in der Community."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Verwendung eines BambuSource aus einer anderen Installation, das Abspielen von Videos funktioniert möglicherweise nicht korrekt! Drücken Sie Ja, um es zu beheben."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Ihr System fehlt H.264-Codecs für GStreamer, die zum Abspielen von Videos erforderlich sind. (Versuchen Sie, die Pakete gstreamer1.0-plugins-bad oder gstreamer1.0-libav zu installieren und starten Sie Orca Slicer neu?)"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Cloud-Agent ist nicht verfügbar. Bitte starten Sie OrcaSlicer neu und versuchen Sie es erneut." msgstr "Cloud-Agent ist nicht verfügbar. Bitte starten Sie OrcaSlicer neu und versuchen Sie es erneut."
@@ -12185,6 +12236,10 @@ msgstr "Wenn Sie trotzdem drucken möchten, können Sie die Option in Einstellun
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Keine Extrusion unter den aktuellen Einstellungen." msgstr "Keine Extrusion unter den aktuellen Einstellungen."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Es wird ein Mischfilament mit Verlauf verwendet, aber „Mischfarben-Unterschicht“ ist deaktiviert. Der Verlauf wird nicht gedruckt."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Der gewählte Zeitraffermodus wird nicht unterstützt, wenn die Sequenz \"nach Objekt\" aktiviert ist." msgstr "Der gewählte Zeitraffermodus wird nicht unterstützt, wenn die Sequenz \"nach Objekt\" aktiviert ist."
@@ -12221,6 +12276,10 @@ msgstr "Sie möchten möglicherweise die Größe Ihres Modells reduzieren oder d
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Variable Schichthöhe wird nicht mit organischen Stützstrukturen unterstützt." msgstr "Variable Schichthöhe wird nicht mit organischen Stützstrukturen unterstützt."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Das Filament des Reinigungsturms darf kein Mischfilament sein."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Unterschiedliche Düsendurchmesser und unterschiedliche Filamentdurchmesser funktionieren möglicherweise nicht gut, wenn der Reinigungsturm aktiviert ist. Es ist sehr experimentell, also gehen Sie bitte vorsichtig vor." msgstr "Unterschiedliche Düsendurchmesser und unterschiedliche Filamentdurchmesser funktionieren möglicherweise nicht gut, wenn der Reinigungsturm aktiviert ist. Es ist sehr experimentell, also gehen Sie bitte vorsichtig vor."
@@ -12570,7 +12629,7 @@ msgstr "mm o. %"
msgid "Other layers" msgid "Other layers"
msgstr "Andere Schichten" msgstr "Andere Schichten"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Dies ist die Betttemperatur für Schichten mit Ausnahme der Ersten. Ein Wert von 0 bedeutet, dass das Filament auf der kalten Druckplatte SuperTack nicht unterstützt wird." msgstr "Dies ist die Betttemperatur für Schichten mit Ausnahme der Ersten. Ein Wert von 0 bedeutet, dass das Filament auf der kalten Druckplatte SuperTack nicht unterstützt wird."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -13934,6 +13993,8 @@ msgstr "Schichtdauer"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Der Bauteillüfter wird für Schichten aktiviert, deren geschätzte Zeit kürzer als dieser Wert ist. Die Lüftergeschwindigkeit wird zwischen der minimalen und maximalen Geschwindigkeit entsprechend der Druckzeit der Schicht interpoliert." msgstr "Der Bauteillüfter wird für Schichten aktiviert, deren geschätzte Zeit kürzer als dieser Wert ist. Die Lüftergeschwindigkeit wird zwischen der minimalen und maximalen Geschwindigkeit entsprechend der Druckzeit der Schicht interpoliert."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14238,6 +14299,62 @@ msgstr "Stützmaterial"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Stützmaterial wird üblicherweise zum Drucken von Stützen und Stütz-Schnittstellen verwendet." msgstr "Stützmaterial wird üblicherweise zum Drucken von Stützen und Stütz-Schnittstellen verwendet."
# AI Translated
msgid "Is mixed filament"
msgstr "Ist Mischfilament"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Gibt an, ob dieser Filamentplatz ein Mischfilament aus mehreren physischen Filamenten ist"
# AI Translated
msgid "Mixed filament components"
msgstr "Komponenten des Mischfilaments"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Durch Kommas getrennte Indizes der Komponentenfilamente, beginnend bei 1, z. B. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Unterschicht-Anteile des Mischfilaments"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Durch Kommas getrennte Anteilswerte, die in der Summe 1.0 ergeben, z. B. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Verlauf des Mischfilaments"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Aktiviert den Verlaufsmodus in Z-Richtung für die Unterschichten des Mischfilaments. Wenn aktiviert, ändern sich die Anteile der Unterschichten linear über die Schichten hinweg."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Verlaufsbereich des Mischfilaments"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Start- und Endanteil der ersten Komponente im Verlaufsmodus. Durch Komma getrenntes Paar, z. B. \"0.10,0.90\" bedeutet 10% bis 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Verlaufskurve des Mischfilaments"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Optionale benutzerdefinierte Kurve im Photoshop-Stil, die den Z-Fortschritt auf den Anteil der ersten Komponente abbildet. Kodiert als durch senkrechte Striche getrennte Kontrollpunkte, entweder \"x,y\" (veraltet) oder \"x,y,m_in,m_out\", wenn die Tangente überschrieben werden soll (ein leerer Wert oder \"nan\" verwendet den PCHIP-Standard). x liegt in [0,1]; y wird auf den konfigurierten Anteilsbereich begrenzt, z. B. \"0,0.15|0.5,0.50|1,0.85\". Bleibt das Feld leer, wird stattdessen der lineare gradient_range verwendet."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Verlauf pro Teil beim Mischfilament"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Wenn der Verlaufsmodus aktiviert ist, wird der Verlauf auf jedes Teil eines Zusammenbaus einzeln angewendet, anstatt den gesamten Zusammenbau als einen einzigen Z-Bereich zu behandeln."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament druckbar" msgstr "Filament druckbar"
@@ -15478,6 +15595,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Die maximal zulässige Ausgangskraft der Y-Achse" msgstr "Die maximal zulässige Ausgangskraft der Y-Achse"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15488,6 +15606,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Die Maschinenbett-Massenlast der Y-Achse" msgstr "Die Maschinenbett-Massenlast der Y-Achse"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15802,7 +15921,7 @@ msgstr "Die Start- und Endpunkte, vom Schnittbereich bis zum Auswurfschacht."
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Rückzug bei der Füllung verringern" msgstr "Rückzug bei der Füllung verringern"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Kein Rückzug, wenn sich die Bewegung des Druckkopfes vollständig in einem Füllbereich befindet. Das bedeutet, dass das herauslaufen des Filaments nicht zu sehen ist. Dies kann die Zeit für das zurückziehen des Filaments bei komplexeren Modellen verkürzen und Druckzeit sparen, verlangsamt aber das Slicen und die G-Code Generierung." msgstr "Kein Rückzug, wenn sich die Bewegung des Druckkopfes vollständig in einem Füllbereich befindet. Das bedeutet, dass das herauslaufen des Filaments nicht zu sehen ist. Dies kann die Zeit für das zurückziehen des Filaments bei komplexeren Modellen verkürzen und Druckzeit sparen, verlangsamt aber das Slicen und die G-Code Generierung."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -15972,7 +16091,7 @@ msgstr "Rückzugsmenge nach dem Wischen"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Die Länge des schnellen Rückzugs nach dem Wischen, relativ zur Rückzugslänge.\n" "Die Länge des schnellen Rückzugs nach dem Wischen, relativ zur Rückzugslänge.\n"
@@ -16019,7 +16138,7 @@ msgstr "Wenn vor einem Werkzeugwechsel ein Rückzug ausgelöst wird, wird das Fi
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z-Hub-Höhe" msgstr "Z-Hub-Höhe"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Bei jedem Rückzug wird die Düse ein wenig angehoben, um einen Abstand zwischen Düse und Druck zu schaffen. Dadurch wird verhindert, dass die Düse bei der Verfahrbewegung gegen den Druck stößt. Die Verwendung einer Spirallinie zum Anheben von z kann Fadenbildung verhindern." msgstr "Bei jedem Rückzug wird die Düse ein wenig angehoben, um einen Abstand zwischen Düse und Druck zu schaffen. Dadurch wird verhindert, dass die Düse bei der Verfahrbewegung gegen den Druck stößt. Die Verwendung einer Spirallinie zum Anheben von z kann Fadenbildung verhindern."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17070,6 +17189,14 @@ msgstr ""
"\n" "\n"
"Wenn ein Wert in der Einstellung \"Rückzugsmenge vor dem Wischen\" unten angegeben ist, wird ein überschüssiger Rückzug vor dem Wischen ausgeführt, ansonsten wird er danach ausgeführt." "Wenn ein Wert in der Einstellung \"Rückzugsmenge vor dem Wischen\" unten angegeben ist, wird ein überschüssiger Rückzug vor dem Wischen ausgeführt, ansonsten wird er danach ausgeführt."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Mischfarben-Unterschicht"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Aktiviert die Aufteilung in Mischfarben-Unterschichten. Wenn aktiviert, werden Schichten mit Mischfarben-Filamenten in Unterschichten aufgeteilt, um Farbmischeffekte zu erzielen."
# AI Translated # AI Translated
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Der Reinigungsturm kann verwendet werden, um Rückstände auf der Düse zu entfernen und den Kammerdruck im Inneren der Düse zu stabilisieren, um Erscheinungsdefekte beim Drucken von Objekten zu vermeiden." msgstr "Der Reinigungsturm kann verwendet werden, um Rückstände auf der Düse zu entfernen und den Kammerdruck im Inneren der Düse zu stabilisieren, um Erscheinungsdefekte beim Drucken von Objekten zu vermeiden."
@@ -18140,6 +18267,10 @@ msgstr "Das Erstellen eines Netzes aus der Modelldatei ist fehlgeschlagen oder e
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Die angegebene Datei konnte nicht gelesen werden, weil sie leer ist." msgstr "Die angegebene Datei konnte nicht gelesen werden, weil sie leer ist."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Das Dateiformat ist nicht kompatibel und kann nicht gelesen werden."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Unbekanntes Dateiformat: Die Eingabedatei muss die Endung .stl, .obj oder .amf(.xml) haben." msgstr "Unbekanntes Dateiformat: Die Eingabedatei muss die Endung .stl, .obj oder .amf(.xml) haben."
@@ -19600,19 +19731,19 @@ msgstr "Nur Druckernamen mit Änderungen an Drucker-, Filament- und Prozessprofi
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Nur die Filamentnamen mit Änderungen an den Filamentprofilen werden angezeigt." msgstr "Nur die Filamentnamen mit Änderungen an den Filamentprofilen werden angezeigt."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Nur Druckernamen mit Benutzerdruckerprofilen werden angezeigt, und jedes Profil, das Sie auswählen, wird als ZIP exportiert." msgstr "Nur Druckernamen mit Benutzerdruckerprofilen werden angezeigt, und jedes Profil, das Sie auswählen, wird als ZIP exportiert."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Nur die Filamentnamen mit Benutzerfilamentvorlagen werden angezeigt, \n" "Nur die Filamentnamen mit Benutzerfilamentvorlagen werden angezeigt, \n"
"und alle Benutzerfilamentvorlagen in jedem Filamentnamen, den Sie auswählen, " "und alle Benutzerfilamentvorlagen in jedem Filamentnamen, den Sie auswählen, "
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Nur Druckernamen mit geänderten Prozessvorlagen werden angezeigt, \n" "Nur Druckernamen mit geänderten Prozessvorlagen werden angezeigt, \n"
"und alle Benutzerprozessvorlagen in jedem Druckernamen, den Sie auswählen, werden als ZIP exportiert." "und alle Benutzerprozessvorlagen in jedem Druckernamen, den Sie auswählen, werden als ZIP exportiert."
@@ -19841,7 +19972,7 @@ msgstr "Systeminformationen in die Zwischenablage kopieren"
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "Wir benötigen Informationen zur Diagnose der Ursache des Problems. Überprüfen Sie die Wiki-Seite für eine detaillierte Anleitung." msgstr "Wir benötigen Informationen zur Diagnose der Ursache des Problems. Überprüfen Sie die Wiki-Seite für eine detaillierte Anleitung."
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Die Schaltfläche „Packen“ sammelt die Projektdatei und Protokolle der aktuellen Sitzung in einer ZIP-Datei." msgstr "Die Schaltfläche „Packen“ sammelt die Projektdatei und Protokolle der aktuellen Sitzung in einer ZIP-Datei."
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -19883,7 +20014,7 @@ msgstr "Protokollstufe"
msgid "Stored logs" msgid "Stored logs"
msgstr "Gespeicherte Protokolle" msgstr "Gespeicherte Protokolle"
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Packt alle gespeicherten Protokolle in eine ZIP-Datei." msgstr "Packt alle gespeicherten Protokolle in eine ZIP-Datei."
msgid "Profiles" msgid "Profiles"
@@ -19950,7 +20081,7 @@ msgstr "Druckertyp nicht gefunden, bitte manuell auswählen."
msgid "Authorizing..." msgid "Authorizing..."
msgstr "Autorisierung..." msgstr "Autorisierung..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Fehler. Kann kein API-Token für die Autorisierung erhalten" msgstr "Fehler. Kann kein API-Token für die Autorisierung erhalten"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20398,8 +20529,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Intelligente Filamentzuweisung aktivieren: Ein Filament mehreren Düsen zuweisen, um Einsparungen zu maximieren" msgstr "Intelligente Filamentzuweisung aktivieren: Ein Filament mehreren Düsen zuweisen, um Einsparungen zu maximieren"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Filamentersparnis" msgstr "Datei speichern"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Nicht mehr erinnern" msgstr "Nicht mehr erinnern"
@@ -20764,6 +20895,9 @@ msgstr "Jetzt neu starten"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "KEIN RAMMING ÜBERALL" msgstr "KEIN RAMMING ÜBERALL"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Volumetrische Geschwindigkeit" msgstr "Volumetrische Geschwindigkeit"
@@ -21388,6 +21522,39 @@ msgstr ""
"Verwerfungen vermeiden\n" "Verwerfungen vermeiden\n"
"Wussten Sie, dass beim Drucken von Materialien, die zu Verwerfungen neigen, wie z.B. ABS, durch eine entsprechende Erhöhung der Heizbetttemperatur die Wahrscheinlichkeit von Verwerfungen verringert werden kann?" "Wussten Sie, dass beim Drucken von Materialien, die zu Verwerfungen neigen, wie z.B. ABS, durch eine entsprechende Erhöhung der Heizbetttemperatur die Wahrscheinlichkeit von Verwerfungen verringert werden kann?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Native Wayland Liveview erfordert das GStreamer GTK Video Sink. Bitte installieren Sie das gtksink-Plugin für GStreamer und starten Sie OrcaSlicer neu."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Fehler beim Initialisieren des nativen Wayland GStreamer Video Sinks. Bitte überprüfen Ihre GStreamer GTK-Plugin-Installation."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Windows Media Player wird für diese Aufgabe benötigt! Möchten Sie 'Windows Media Player' für Ihr Betriebssystem aktivieren?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource wurde nicht korrekt für das Abspielen von Medien registriert! Drücken Sie Ja, um es erneut zu registrieren. Sie werden zweimal aufgefordert"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Fehlende BambuSource-Komponente, die für das Abspielen von Medien registriert ist! Bitte installieren Sie OrcaSlicer neu oder suchen Sie Hilfe in der Community."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Verwendung eines BambuSource aus einer anderen Installation, das Abspielen von Videos funktioniert möglicherweise nicht korrekt! Drücken Sie Ja, um es zu beheben."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Ihr System fehlt H.264-Codecs für GStreamer, die zum Abspielen von Videos erforderlich sind. (Versuchen Sie, die Pakete gstreamer1.0-plugins-bad oder gstreamer1.0-libav zu installieren und starten Sie Orca Slicer neu?)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Filamentersparnis"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+138 -42
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-06-17 15:44-0300\n" "PO-Revision-Date: 2026-06-17 15:44-0300\n"
"Last-Translator: Alexandre Folle de Menezes\n" "Last-Translator: Alexandre Folle de Menezes\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2758,6 +2758,9 @@ msgstr ""
msgid "Merge with" msgid "Merge with"
msgstr "" msgstr ""
msgid "Decompose Color"
msgstr ""
msgid "Delete this filament" msgid "Delete this filament"
msgstr "" msgstr ""
@@ -3035,6 +3038,9 @@ msgstr ""
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "" msgstr ""
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr ""
msgid "Add layers" msgid "Add layers"
msgstr "" msgstr ""
@@ -4493,7 +4499,7 @@ msgid ""
"The value will be reset to 0." "The value will be reset to 0."
msgstr "" msgstr ""
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "" msgstr ""
msgid "" msgid ""
@@ -4524,13 +4530,13 @@ msgid ""
msgstr "" msgstr ""
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
@@ -5947,10 +5953,10 @@ msgstr ""
msgid "Load a model" msgid "Load a model"
msgstr "" msgstr ""
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "" msgstr ""
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "" msgstr ""
msgid "Import Configs" msgid "Import Configs"
@@ -7399,6 +7405,9 @@ msgstr ""
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "" msgstr ""
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr ""
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "" msgstr ""
@@ -7519,12 +7528,36 @@ msgstr ""
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "" msgstr ""
msgid "Add Mixed Filament"
msgstr ""
msgid "Mixed Filament"
msgstr ""
msgid "Remove last mixed filament"
msgstr ""
msgid "Add mixed filament"
msgstr ""
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr ""
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "" msgstr ""
msgid "Pellets" msgid "Pellets"
msgstr "" msgstr ""
msgid "Mixed filament has broken component references"
msgstr ""
msgid "Edit / Delete / Merge"
msgstr ""
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr ""
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "" msgstr ""
@@ -7659,7 +7692,7 @@ msgstr ""
msgid "Customized Preset" msgid "Customized Preset"
msgstr "" msgstr ""
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "" msgstr ""
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -7681,7 +7714,7 @@ msgstr ""
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
msgid "Object too small" msgid "Object too small"
@@ -7696,6 +7729,12 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "" msgstr ""
msgid "Matching textures to filaments"
msgstr ""
msgid "Texture Import Warning"
msgstr ""
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "" msgstr ""
@@ -7890,6 +7929,18 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "" msgstr ""
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr ""
msgid "Applying texture colors..."
msgstr ""
msgid "Updating 3D view..."
msgstr ""
msgid "Texture colors applied."
msgstr ""
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "" msgstr ""
@@ -9039,6 +9090,9 @@ msgstr ""
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "" msgstr ""
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr ""
msgid "By Layer" msgid "By Layer"
msgstr "" msgstr ""
@@ -10325,11 +10379,11 @@ msgstr ""
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "" msgstr ""
msgid "Copy paramters" msgid "Copy parameters"
msgstr "" msgstr ""
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "" msgstr ""
#, c-format, boost-format #, c-format, boost-format
@@ -10803,27 +10857,6 @@ msgstr ""
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "" msgstr ""
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr ""
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr ""
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr ""
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr ""
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr ""
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr ""
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr ""
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "" msgstr ""
@@ -11506,6 +11539,9 @@ msgstr ""
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "" msgstr ""
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr ""
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "" msgstr ""
@@ -11542,6 +11578,9 @@ msgstr ""
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "" msgstr ""
msgid "The wipe tower filament cannot be a mixed filament."
msgstr ""
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "" msgstr ""
@@ -11870,7 +11909,7 @@ msgstr ""
msgid "Other layers" msgid "Other layers"
msgstr "" msgstr ""
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "" msgstr ""
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -12954,6 +12993,7 @@ msgstr ""
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "" msgstr ""
msgctxt "second"
msgid "s" msgid "s"
msgstr "" msgstr ""
@@ -13247,6 +13287,48 @@ msgstr ""
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "" msgstr ""
msgid "Is mixed filament"
msgstr ""
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr ""
msgid "Mixed filament components"
msgstr ""
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr ""
msgid "Mixed filament sublayer ratios"
msgstr ""
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr ""
msgid "Mixed filament gradient"
msgstr ""
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr ""
msgid "Mixed filament gradient range"
msgstr ""
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr ""
msgid "Mixed filament gradient curve"
msgstr ""
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr ""
msgid "Mixed filament per-part gradient"
msgstr ""
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr ""
msgid "Filament printable" msgid "Filament printable"
msgstr "" msgstr ""
@@ -14394,6 +14476,7 @@ msgstr ""
msgid "The allowed maximum output force of Y axis" msgid "The allowed maximum output force of Y axis"
msgstr "" msgstr ""
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "" msgstr ""
@@ -14403,6 +14486,7 @@ msgstr ""
msgid "The machine bed mass load of Y axis" msgid "The machine bed mass load of Y axis"
msgstr "" msgstr ""
msgctxt "gram"
msgid "g" msgid "g"
msgstr "" msgstr ""
@@ -14671,7 +14755,7 @@ msgstr ""
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "" msgstr ""
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "" msgstr ""
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -14827,7 +14911,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
@@ -14870,7 +14954,7 @@ msgstr ""
msgid "Z-hop height" msgid "Z-hop height"
msgstr "" msgstr ""
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "" msgstr ""
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -15830,6 +15914,12 @@ msgid ""
"Setting a value in the retract amount before wipe setting below will perform any excess retraction before the wipe, else it will be performed after." "Setting a value in the retract amount before wipe setting below will perform any excess retraction before the wipe, else it will be performed after."
msgstr "" msgstr ""
msgid "Mixed color sublayer"
msgstr ""
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr ""
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "" msgstr ""
@@ -16857,6 +16947,9 @@ msgstr ""
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "" msgstr ""
msgid "The file format is incompatible and cannot be parsed."
msgstr ""
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "" msgstr ""
@@ -18187,17 +18280,17 @@ msgstr ""
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "" msgstr ""
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "" msgstr ""
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
msgid "Please select at least one printer or filament." msgid "Please select at least one printer or filament."
@@ -18412,7 +18505,7 @@ msgstr ""
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "" msgstr ""
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "" msgstr ""
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -18454,7 +18547,7 @@ msgstr ""
msgid "Stored logs" msgid "Stored logs"
msgstr "" msgstr ""
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "" msgstr ""
msgid "Profiles" msgid "Profiles"
@@ -18519,7 +18612,7 @@ msgstr ""
msgid "Authorizing..." msgid "Authorizing..."
msgstr "" msgstr ""
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "" msgstr ""
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -18957,7 +19050,7 @@ msgstr ""
msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings" msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings"
msgstr "" msgstr ""
msgid "Fila Saving" msgid "File Saving"
msgstr "" msgstr ""
msgid "Don't remind me again" msgid "Don't remind me again"
@@ -19317,6 +19410,9 @@ msgstr ""
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "" msgstr ""
msgid "s"
msgstr ""
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "" msgstr ""
+180 -48
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: Ian A. Bassi <>\n" "Last-Translator: Ian A. Bassi <>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2832,6 +2832,9 @@ msgstr "Editar"
msgid "Merge with" msgid "Merge with"
msgstr "Fusionar con" msgstr "Fusionar con"
msgid "Decompose Color"
msgstr "Descomponer color"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Eliminar este filamento" msgstr "Eliminar este filamento"
@@ -3113,6 +3116,9 @@ msgstr "Ensamblaje"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Fusionar piezas en un objeto" msgstr "Fusionar piezas en un objeto"
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Usar altura de capa variable junto con la subcapa de color mezclado puede reducir la calidad de la mezcla de colores."
msgid "Add layers" msgid "Add layers"
msgstr "Añadir capas" msgstr "Añadir capas"
@@ -4629,7 +4635,7 @@ msgstr ""
"\n" "\n"
"El valor se restablecerá a 0." "El valor se restablecerá a 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Perímetro adicional alternado no funciona bien cuando \"Garantizar el grosor vertical de las cubiertas\" se establece en Todos." msgstr "Perímetro adicional alternado no funciona bien cuando \"Garantizar el grosor vertical de las cubiertas\" se establece en Todos."
msgid "" msgid ""
@@ -4675,7 +4681,7 @@ msgstr ""
"NO - Mantener la altura de capa de soportes independiente" "NO - Mantener la altura de capa de soportes independiente"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height debe ser menor que layer_height.\n" "seam_slope_start_height debe ser menor que layer_height.\n"
@@ -4683,7 +4689,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"La profundidad de bloqueo debe ser menor que la profundidad de piel.\n" "La profundidad de bloqueo debe ser menor que la profundidad de piel.\n"
@@ -6129,10 +6135,10 @@ msgstr "Importar 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Cargar un modelo" msgstr "Cargar un modelo"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importar archivo Zip" msgstr "Importar archivo Zip"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Cargar modelos contenidos en un archivo zip" msgstr "Cargar modelos contenidos en un archivo zip"
msgid "Import Configs" msgid "Import Configs"
@@ -7613,6 +7619,9 @@ msgstr "Personalizar cama actual"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "La boquilla %s no puede imprimir %s." msgstr "La boquilla %s no puede imprimir %s."
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Imprimir filamento de color mezclado en una impresora de un solo extrusor requiere cambios de filamento y purgas frecuentes, lo que puede aumentar considerablemente el desperdicio y el riesgo de obstrucción de la boquilla o del conducto de residuos."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "No se recomienda mezclar %1% con %2% en la impresión.\n" msgstr "No se recomienda mezclar %1% con %2% en la impresión.\n"
@@ -7735,12 +7744,36 @@ msgstr "Sicronizar filamentos de la lista AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Elegir filamentos para usar" msgstr "Elegir filamentos para usar"
msgid "Add Mixed Filament"
msgstr "Añadir filamento mixto"
msgid "Mixed Filament"
msgstr "Filamento mixto"
msgid "Remove last mixed filament"
msgstr "Eliminar el último filamento mixto"
msgid "Add mixed filament"
msgstr "Añadir filamento mixto"
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "El filamento mixto tiene componentes no válidos o incoherentes. Vuelva a editar las entradas afectadas."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Buscar cama, objeto y parte." msgstr "Buscar cama, objeto y parte."
msgid "Pellets" msgid "Pellets"
msgstr "Pellets" msgstr "Pellets"
msgid "Mixed filament has broken component references"
msgstr "El filamento mixto tiene referencias de componentes rotas"
msgid "Edit / Delete / Merge"
msgstr "Editar / Borrar / Fusionar"
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "El filamento mixto de destino usa este filamento físico como componente. Al fusionarlos se eliminará este filamento físico y el filamento mixto puede quedar no válido. ¿Continuar?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Al completar la operación, el proyecto %s se cerrará y se creará un nuevo proyecto." msgstr "Al completar la operación, el proyecto %s se cerrará y se creará un nuevo proyecto."
@@ -7877,8 +7910,8 @@ msgstr "¡Por favor, confirme que el G-Code dentro de los perfiles son seguros p
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Perfil Personalizado" msgstr "Perfil Personalizado"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "¡El nombre de los componentes dentro del archivo de pasos no tiene formato UTF8!" msgstr "¡El nombre de los componentes dentro del archivo de pasos no tiene formato UTF-8!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "¡El nombre puede mostrar caracteres no válidos!" msgstr "¡El nombre puede mostrar caracteres no válidos!"
@@ -7899,10 +7932,10 @@ msgstr "El volumen del objeto es cero"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"El objeto del archivo %s es demasiado pequeño, tal vez en metros o pulgadas.\n" "El objeto del archivo %s es demasiado pequeño, tal vez en metros o pulgadas.\n"
" ¿Quiere escalar a milímetros?" "¿Quiere escalar a milímetros?"
msgid "Object too small" msgid "Object too small"
msgstr "Objeto demasiado pequeño" msgstr "Objeto demasiado pequeño"
@@ -7919,6 +7952,12 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Objeto multipieza detectado" msgstr "Objeto multipieza detectado"
msgid "Matching textures to filaments"
msgstr "Asociando texturas a los filamentos"
msgid "Texture Import Warning"
msgstr "Aviso de importación de texturas"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "¿Cargar estos archivos como un objeto único con múltiples piezas?\n" msgstr "¿Cargar estos archivos como un objeto único con múltiples piezas?\n"
@@ -8123,6 +8162,18 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Sincronizar ahora" msgstr "Sincronizar ahora"
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "No se ha podido importar la textura. El modelo parece contener datos de textura, pero no se ha podido completar el proceso de importación. El modelo se importará solo como geometría."
msgid "Applying texture colors..."
msgstr "Aplicando colores de textura..."
msgid "Updating 3D view..."
msgstr "Actualizando la vista 3D..."
msgid "Texture colors applied."
msgstr "Colores de textura aplicados."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Puedes mantener los perfiles modificados en el nuevo proyecto o descartarlos" msgstr "Puedes mantener los perfiles modificados en el nuevo proyecto o descartarlos"
@@ -9338,6 +9389,9 @@ msgstr "Vaso en espiral"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Secuencia de primera capa de filamento" msgstr "Secuencia de primera capa de filamento"
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "La lista de filamentos contiene filamentos mixtos. La secuencia de filamentos personalizada no tendrá efecto."
msgid "By Layer" msgid "By Layer"
msgstr "Por Capa" msgstr "Por Capa"
@@ -10670,11 +10724,11 @@ msgstr "%s: %s"
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "No hay modificaciones que copiar." msgstr "No hay modificaciones que copiar."
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Copiar parámetros" msgstr "Copiar parámetros"
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Modificar parámetros de %s" msgstr "Modificar parámetros de %s"
#, c-format, boost-format #, c-format, boost-format
@@ -11181,27 +11235,6 @@ msgstr "Volúmenes de purgado para el cambio de filamentos"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Por favor, elija el color del filamento" msgstr "Por favor, elija el color del filamento"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "La función de visualización en directo nativa de Wayland requiere el receptor de vídeo GTK de GStreamer. Instale el plugin gtksink para GStreamer y, a continuación, reinicie OrcaSlicer."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "No se pudo inicializar el receptor de vídeo nativo de Wayland GStreamer. Compruebe la instalación del plugin GTK de GStreamer."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Para esta tarea se necesita el Reproductor de Windows Media. ¿Desea activar el \"Reproductor de Windows Media\" en su sistema operativo?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource no se ha registrado correctamente para la reproducción multimedia. Pulse Sí para volver a registrarlo. Será promocionado dos veces"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "¡Falta el componente BambuSource para la reproducción de medios! Reinstale OrcaSlicer o busque ayuda en la comunidad."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Si utiliza una BambuSource de una instalación diferente, es posible que la reproducción de vídeo no funcione correctamente. Pulsa Sí para solucionarlo."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "A tu sistema le faltan los codecs H.264 para GStreamer, necesarios para reproducir vídeo. (Prueba a instalar los paquetes gstreamer1.0-plugins-bad o gstreamer1.0-libav y, a continuación, reinicia Orca Slicer...)."
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "El proveedor de servicios en la nube no está disponible. Reinicia OrcaSlicer e inténtalo de nuevo." msgstr "El proveedor de servicios en la nube no está disponible. Reinicia OrcaSlicer e inténtalo de nuevo."
@@ -11891,6 +11924,9 @@ msgstr "Si aún así quieres imprimir, puedes activar la opción en Preferencias
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "No hay extrusiones con los ajustes actuales." msgstr "No hay extrusiones con los ajustes actuales."
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Se está usando un filamento mixto con degradado, pero 'Subcapa de color mezclado' está desactivado. El degradado no se imprimirá."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Modo de timelapse suave no está soportado cuando la secuencia \"por objeto\" está activada." msgstr "Modo de timelapse suave no está soportado cuando la secuencia \"por objeto\" está activada."
@@ -11927,6 +11963,9 @@ msgstr "Es posible que desee reducir el tamaño de su modelo o cambiar la config
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "La altura de capa adaptativa no es compatible con los soportes orgánicos." msgstr "La altura de capa adaptativa no es compatible con los soportes orgánicos."
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "El filamento de la torre de purga no puede ser un filamento mixto."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Diámetros de boquillas y diámetros de filamento diferentes pueden no funcionar correctamente cuando la torre de purga está activada. Esta función es experimental, así que proceda con cautela." msgstr "Diámetros de boquillas y diámetros de filamento diferentes pueden no funcionar correctamente cuando la torre de purga está activada. Esta función es experimental, así que proceda con cautela."
@@ -12267,8 +12306,8 @@ msgstr "mm o %"
msgid "Other layers" msgid "Other layers"
msgstr "Otras capas" msgstr "Otras capas"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Temperatura de la cama para las capas, excepto la inicial. Un valor de 0 significa que el filamento no es compatible con la Cama Fría SuperTack." msgstr "Esta es la temperatura de la cama para las capas excepto la inicial. Un valor de 0 significa que el filamento no es compatible con la Cama Fría SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
msgstr "Esta es la temperatura de la cama para las capas excepto la inicial. Un valor de 0 significa que el filamento no admite la impresión en la Cama Fría." msgstr "Esta es la temperatura de la cama para las capas excepto la inicial. Un valor de 0 significa que el filamento no admite la impresión en la Cama Fría."
@@ -13611,6 +13650,7 @@ msgstr "Tiempo de capa"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "El ventilador de refrigeración de la pieza se activará para las capas cuyo tiempo estimado sea inferior a este valor. La velocidad del ventilador se interpola entre las velocidades mínima y máxima del ventilador en función del tiempo de impresión de cada capa." msgstr "El ventilador de refrigeración de la pieza se activará para las capas cuyo tiempo estimado sea inferior a este valor. La velocidad del ventilador se interpola entre las velocidades mínima y máxima del ventilador en función del tiempo de impresión de cada capa."
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -13916,6 +13956,50 @@ msgstr "Material de soporte"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "El material de soporte se utiliza habitualmente para imprimir soportes y la interfaz de los soportes." msgstr "El material de soporte se utiliza habitualmente para imprimir soportes y la interfaz de los soportes."
msgid "Is mixed filament"
msgstr "Es filamento mixto"
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Indica si esta ranura de filamento es un filamento mixto compuesto por varios filamentos físicos"
msgid "Mixed filament components"
msgstr "Componentes del filamento mixto"
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Índices (empezando en 1) de los filamentos componentes, separados por comas; p. ej. \"1,3\""
msgid "Mixed filament sublayer ratios"
msgstr "Proporciones de subcapa del filamento mixto"
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Valores de proporción separados por comas cuya suma sea 1.0; p. ej. \"0.7,0.3\""
msgid "Mixed filament gradient"
msgstr "Degradado del filamento mixto"
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Activa el modo de degradado en dirección Z para las subcapas del filamento mixto. Al activarlo, las proporciones de las subcapas varían linealmente entre capas."
msgid "Mixed filament gradient range"
msgstr "Rango del degradado del filamento mixto"
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Proporciones inicial y final del primer componente en el modo de degradado. Par separado por comas; p. ej. \"0.10,0.90\" significa del 10% al 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Curva del degradado del filamento mixto"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Curva personalizada opcional, al estilo de Photoshop, que asigna el progreso en Z a la proporción del primer componente. Se codifica como puntos de control separados por barras verticales, con el formato \"x,y\" (heredado) o \"x,y,m_in,m_out\" cuando se necesita anular la tangente (un valor vacío o \"nan\" usa el valor PCHIP predeterminado). x está en [0,1]; y se limita al rango de proporciones configurado; p. ej. \"0,0.15|0.5,0.50|1,0.85\". Si se deja vacío, se usa el gradient_range lineal."
msgid "Mixed filament per-part gradient"
msgstr "Degradado por pieza del filamento mixto"
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Cuando el modo de degradado está activado, aplica el degradado a cada pieza de un ensamblaje de forma independiente en lugar de tratar todo el ensamblaje como un único rango Z."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filamento imprimible" msgstr "Filamento imprimible"
@@ -15150,6 +15234,7 @@ msgstr "Fuerza máxima del eje Y"
msgid "The allowed maximum output force of Y axis" msgid "The allowed maximum output force of Y axis"
msgstr "La fuerza máxima permitida del eje Y" msgstr "La fuerza máxima permitida del eje Y"
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15159,6 +15244,7 @@ msgstr "Masa de la cama del eje Y"
msgid "The machine bed mass load of Y axis" msgid "The machine bed mass load of Y axis"
msgstr "La carga de la masa de la cama de la máquina del eje Y" msgstr "La carga de la masa de la cama de la máquina del eje Y"
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15470,7 +15556,7 @@ msgstr "Los puntos de inicio y fin, desde la zona de corte al cubo de basura."
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Reducir la retracción del relleno" msgstr "Reducir la retracción del relleno"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Desactiva la retracción cuando el desplazamiento se realiza en su totalidad dentro de un área de relleno, donde los artefactos causados por un rezumado no son visibles. Puede reducir el número de retracciones y por ende el tiempo total de retracción al imprimir modelos complejos, reduciendo el tiempo total de impresión. Sin embargo, puede que las operaciones de laminado y de generación del archivo G-Code sean más lentas." msgstr "Desactiva la retracción cuando el desplazamiento se realiza en su totalidad dentro de un área de relleno, donde los artefactos causados por un rezumado no son visibles. Puede reducir el número de retracciones y por ende el tiempo total de retracción al imprimir modelos complejos, reduciendo el tiempo total de impresión. Sin embargo, puede que las operaciones de laminado y de generación del archivo G-Code sean más lentas."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -15635,7 +15721,7 @@ msgstr "Cantidad de retracción después de la limpieza"
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"La longitud de la retracción rápida después de la limpieza, relativa a la longitud de retracción.\n" "La longitud de la retracción rápida después de la limpieza, relativa a la longitud de retracción.\n"
@@ -15682,7 +15768,7 @@ msgstr "Cuando se activa la retracción antes de un cambio de herramienta, el fi
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Altura de Salto en Z" msgstr "Altura de Salto en Z"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Cada vez que se realiza una retracción, la boquilla se levanta un poco para crear un pequeño margen entre la boquilla y la impresión. Esto evita que la boquilla golpee la pieza cuando se desplaza. El uso de la línea espiral para levantar z puede evitar la aparición de hilos." msgstr "Cada vez que se realiza una retracción, la boquilla se levanta un poco para crear un pequeño margen entre la boquilla y la impresión. Esto evita que la boquilla golpee la pieza cuando se desplaza. El uso de la línea espiral para levantar z puede evitar la aparición de hilos."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -16715,6 +16801,14 @@ msgstr ""
"\n" "\n"
"Fijando un valor en la cantidad de retracción antes del purgado se realizará cualquier exceso de retracción antes del purgado, de lo contrario se realizará después." "Fijando un valor en la cantidad de retracción antes del purgado se realizará cualquier exceso de retracción antes del purgado, de lo contrario se realizará después."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Subcapa de color mezclado"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Activa la división en subcapas de color mezclado. Al activarlo, las capas que contienen filamentos de color mezclado se dividen en subcapas para lograr efectos de mezcla de colores."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "La torre de purga puede utilizarse para limpiar los residuos de la boquilla y estabilizar la presión de la recámara en el interior de la boquilla, con el fin de evitar defectos visuales al imprimir objetos." msgstr "La torre de purga puede utilizarse para limpiar los residuos de la boquilla y estabilizar la presión de la recámara en el interior de la boquilla, con el fin de evitar defectos visuales al imprimir objetos."
@@ -17423,7 +17517,7 @@ msgid "Current Z-hop"
msgstr "Z-Hop actual" msgstr "Z-Hop actual"
msgid "Contains Z-hop present at the beginning of the custom G-code block." msgid "Contains Z-hop present at the beginning of the custom G-code block."
msgstr "Contiene el z-hop presente al principio del bloque de G-Code personalizado." msgstr "Contiene el Z-hop presente al principio del bloque de G-Code personalizado."
msgid "Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, it should write to this variable so OrcaSlicer knows where it travels from when it gets control back." msgid "Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, it should write to this variable so OrcaSlicer knows where it travels from when it gets control back."
msgstr "Posición del extrusor al comienzo del bloque de G-Code personalizado. Si el G-Code personalizado viaja a otro lugar, debe escribir en esta variable para que OrcaSlicer sepa desde dónde viaja cuando recupere el control." msgstr "Posición del extrusor al comienzo del bloque de G-Code personalizado. Si el G-Code personalizado viaja a otro lugar, debe escribir en esta variable para que OrcaSlicer sepa desde dónde viaja cuando recupere el control."
@@ -17771,6 +17865,10 @@ msgstr "La generación de la malla del archivo del modelo falló o no hay una fo
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "No se ha podido leer el archivo proporcionado porque está vacío." msgstr "No se ha podido leer el archivo proporcionado porque está vacío."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "El formato del archivo es incompatible y no se puede analizar."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Formato de archivo desconocido: el archivo de entrada debe tener extensión .STL, .obj o .amf (.xml)." msgstr "Formato de archivo desconocido: el archivo de entrada debe tener extensión .STL, .obj o .amf (.xml)."
@@ -19233,17 +19331,17 @@ msgstr "Mostrar sólo los nombres de impresora con cambios en los perfiles de im
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Mostrar sólo los nombres de impresora con cambios en los perfiles de filamento." msgstr "Mostrar sólo los nombres de impresora con cambios en los perfiles de filamento."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Sólo se mostrarán los nombres de impresoras con perfiles de impresora de usuario, y cada perfil que elija se exportará como un archivo zip." msgstr "Sólo se mostrarán los nombres de impresoras con perfiles de impresora de usuario, y cada perfil que elija se exportará como un archivo zip."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "Sólo se mostrarán los nombres de filamento con perfiles de filamento de usuario, y todos los perfiles de filamento de usuario de cada nombre de filamento que seleccione se exportarán como un archivo zip." msgstr "Sólo se mostrarán los nombres de filamento con perfiles de filamento de usuario, y todos los perfiles de filamento de usuario de cada nombre de filamento que seleccione se exportarán como un archivo zip."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Sólo se mostrarán los nombres de impresoras con perfiles de procesos modificados, \n" "Sólo se mostrarán los nombres de impresoras con perfiles de procesos modificados, \n"
"y todos los perfiles de procesos de usuario de cada nombre de impresora que seleccione se exportarán como un archivo zip." "y todos los perfiles de procesos de usuario de cada nombre de impresora que seleccione se exportarán como un archivo zip."
@@ -19472,7 +19570,7 @@ msgstr "Copiar información del sistema al portapapeles"
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "Necesitamos información para diagnosticar el origen del problema. Consulta la página wiki para una guía detallada." msgstr "Necesitamos información para diagnosticar el origen del problema. Consulta la página wiki para una guía detallada."
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "El botón Empaquetar recopila el archivo del proyecto y los registros de la sesión actual en un archivo zip." msgstr "El botón Empaquetar recopila el archivo del proyecto y los registros de la sesión actual en un archivo zip."
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -19514,7 +19612,7 @@ msgstr "Nivel de registro"
msgid "Stored logs" msgid "Stored logs"
msgstr "Registros almacenados" msgstr "Registros almacenados"
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Empaqueta todos los registros almacenados en un archivo zip." msgstr "Empaqueta todos los registros almacenados en un archivo zip."
msgid "Profiles" msgid "Profiles"
@@ -19581,7 +19679,7 @@ msgstr "No se ha encontrado el tipo de impresora; selecciónelo manualmente."
msgid "Authorizing..." msgid "Authorizing..."
msgstr "Autorizando..." msgstr "Autorizando..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Error. No se puede obtener el token de la API para la autorización" msgstr "Error. No se puede obtener el token de la API para la autorización"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20027,8 +20125,9 @@ msgstr "Eliminado"
msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings" msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings"
msgstr "Activar la asignación inteligente de filamento: asigna un filamento a varias boquillas para maximizar el ahorro" msgstr "Activar la asignación inteligente de filamento: asigna un filamento a varias boquillas para maximizar el ahorro"
msgid "Fila Saving" # AI Translated
msgstr "Ahorro de filamento" msgid "File Saving"
msgstr "Guardado de archivo"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "No me recuerdes de nuevo" msgstr "No me recuerdes de nuevo"
@@ -20387,6 +20486,9 @@ msgstr "Reiniciar ahora"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "NO CHOCAR EN ABSOLUTO" msgstr "NO CHOCAR EN ABSOLUTO"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Velocidad volumétrica" msgstr "Velocidad volumétrica"
@@ -20963,6 +21065,36 @@ msgstr ""
"Evita la deformación\n" "Evita la deformación\n"
"¿Sabías que al imprimir materiales propensos a la deformación como el ABS, aumentar adecuadamente la temperatura de la cama térmica puede reducir la probabilidad de deformaciones?" "¿Sabías que al imprimir materiales propensos a la deformación como el ABS, aumentar adecuadamente la temperatura de la cama térmica puede reducir la probabilidad de deformaciones?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "La función de visualización en directo nativa de Wayland requiere el receptor de vídeo GTK de GStreamer. Instale el plugin gtksink para GStreamer y, a continuación, reinicie OrcaSlicer."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "No se pudo inicializar el receptor de vídeo nativo de Wayland GStreamer. Compruebe la instalación del plugin GTK de GStreamer."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Para esta tarea se necesita el Reproductor de Windows Media. ¿Desea activar el \"Reproductor de Windows Media\" en su sistema operativo?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource no se ha registrado correctamente para la reproducción multimedia. Pulse Sí para volver a registrarlo. Será promocionado dos veces"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "¡Falta el componente BambuSource para la reproducción de medios! Reinstale OrcaSlicer o busque ayuda en la comunidad."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Si utiliza una BambuSource de una instalación diferente, es posible que la reproducción de vídeo no funcione correctamente. Pulsa Sí para solucionarlo."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "A tu sistema le faltan los codecs H.264 para GStreamer, necesarios para reproducir vídeo. (Prueba a instalar los paquetes gstreamer1.0-plugins-bad o gstreamer1.0-libav y, a continuación, reinicia Orca Slicer...)."
#~ msgid "N"
#~ msgstr "N"
#~ msgid "g"
#~ msgstr "g"
#~ msgid "Fila Saving"
#~ msgstr "Ahorro de filamento"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
@@ -21042,7 +21174,7 @@ msgstr ""
#~ msgid "Select Filament && Hotends" #~ msgid "Select Filament && Hotends"
#~ msgstr "Seleccionar Filamento && Hotends" #~ msgstr "Seleccionar Filamento && Hotends"
#~ msgid "External spools is not supported since Filament Track Switch has been installed. If you want to use external spool, please uninstall it." #~ msgid "External spools are not supported since Filament Track Switch has been installed. If you want to use external spool, please uninstall it."
#~ msgstr "Los carretes externos no son compatibles porque se ha instalado el Filament Track Switch. Si desea utilizar un carrete externo, desinstálelo." #~ msgstr "Los carretes externos no son compatibles porque se ha instalado el Filament Track Switch. Si desea utilizar un carrete externo, desinstálelo."
#, c-format, boost-format #, c-format, boost-format
+215 -75
View File
@@ -3,12 +3,11 @@
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-07-20 13:33+0200\n" "PO-Revision-Date: 2026-07-20 13:33+0200\n"
"Last-Translator: Manu Goiogana <mgoiogana@gmail.com>\n" "Last-Translator: Manu Goiogana <mgoiogana@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2869,6 +2868,10 @@ msgstr "Editatu"
msgid "Merge with" msgid "Merge with"
msgstr "Batu honekin" msgstr "Batu honekin"
# AI Translated
msgid "Decompose Color"
msgstr "Deskonposatu kolorea"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Ezabatu filamentu hau" msgstr "Ezabatu filamentu hau"
@@ -3150,6 +3153,10 @@ msgstr "Multzoa"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Batu piezak objektu batean" msgstr "Batu piezak objektu batean"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Geruza-altuera aldakorra kolore nahasiaren azpigeruzarekin batera erabiltzeak kolore-nahasketaren kalitatea okertu dezake."
msgid "Add layers" msgid "Add layers"
msgstr "Geruzak gehitu" msgstr "Geruzak gehitu"
@@ -4670,7 +4677,7 @@ msgstr ""
"\n" "\n"
"Balioa 0ra berrezarriko da." "Balioa 0ra berrezarriko da."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Horma gehigarri txandakatuak ez du ondo funtzionatzen \"Bermatu oskolaren lodiera bertikala\" Guztiak gisa ezarrita dagoenean." msgstr "Horma gehigarri txandakatuak ez du ondo funtzionatzen \"Bermatu oskolaren lodiera bertikala\" Guztiak gisa ezarrita dagoenean."
msgid "" msgid ""
@@ -4716,7 +4723,7 @@ msgstr ""
"NO - 'Euskarrien Geruza-Altuera Independentea' mantendu" "NO - 'Euskarrien Geruza-Altuera Independentea' mantendu"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height txigiagoa izan behar da layer_height baino.\n" "seam_slope_start_height txigiagoa izan behar da layer_height baino.\n"
@@ -4724,7 +4731,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Blokeo-sakonera gainazalaren sakonera baino txikiagoa izan behar da.\n" "Blokeo-sakonera gainazalaren sakonera baino txikiagoa izan behar da.\n"
@@ -6174,10 +6181,10 @@ msgstr "Inportatu 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Modeloa kargatu" msgstr "Modeloa kargatu"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Inportatu ZIP fitxategia" msgstr "Inportatu ZIP fitxategia"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Kargatu ZIP fitxategi baten barnean dauden modeloak" msgstr "Kargatu ZIP fitxategi baten barnean dauden modeloak"
msgid "Import Configs" msgid "Import Configs"
@@ -7680,6 +7687,10 @@ msgstr "Pertsonalizatu uneko plaka"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "%s pitak ezin du %s inprimatu." msgstr "%s pitak ezin du %s inprimatu."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Kolore nahasiko filamentua estrusore bakarreko inprimagailu batean inprimatzeak filamentu-aldaketa eta purgatze ugari eskatzen ditu, eta horrek nabarmen handitu ditzake hondakinak eta pita edo hondakin-hodia buxatzeko arriskua."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Ez da gomendatzen inprimatzean %1% eta %2% nahastea.\n" msgstr "Ez da gomendatzen inprimatzean %1% eta %2% nahastea.\n"
@@ -7802,12 +7813,44 @@ msgstr "Sinkronizatu filamentuen zerrenda AMSarekin"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Ezarri erabili beharreko filamentuak" msgstr "Ezarri erabili beharreko filamentuak"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Gehitu filamentu nahasia"
# AI Translated
msgid "Mixed Filament"
msgstr "Filamentu nahasia"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Kendu azken filamentu nahasia"
# AI Translated
msgid "Add mixed filament"
msgstr "Gehitu filamentu nahasia"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Filamentu nahasiak baliogabeko edo bat ez datozen osagaiak ditu. Editatu berriro kaltetutako sarrerak."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Bilatu plaka, objektua eta pieza." msgstr "Bilatu plaka, objektua eta pieza."
msgid "Pellets" msgid "Pellets"
msgstr "Pelletak" msgstr "Pelletak"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Filamentu nahasiak hautsitako osagai-erreferentziak ditu"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Editatu / Ezabatu / Batu"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Helburuko filamentu nahasiak filamentu fisiko hau erabiltzen du osagai gisa. Batzeak filamentu fisiko hau ezabatuko du eta filamentu nahasia baliogabetu dezake. Jarraitu?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Eragiketa amaitzean, %s proiektua itxi eta proiektu berri bat sortuko da." msgstr "Eragiketa amaitzean, %s proiektua itxi eta proiektu berri bat sortuko da."
@@ -7945,7 +7988,7 @@ msgstr "Berretsi aurrezarpen hauetako G-codea segurua dela, makinari kalterik ez
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Aurrezarpen pertsonalizatua" msgstr "Aurrezarpen pertsonalizatua"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "STEP fitxategiko osagai-izena(k) ez dago/daude UTF-8 formatuan!" msgstr "STEP fitxategiko osagai-izena(k) ez dago/daude UTF-8 formatuan!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -7967,10 +8010,10 @@ msgstr "Objektuaren bolumena zero da"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"%s fitxategiko objektua txikiegia da, eta baliteke metrotan edo hazbetetan egotea.\n" "%s fitxategiko objektua txikiegia da, eta baliteke metrotan edo hazbetetan egotea.\n"
" Milimetroetara eskalatu nahi duzu?" "Milimetroetara eskalatu nahi duzu?"
msgid "Object too small" msgid "Object too small"
msgstr "Objektua txikiegia da" msgstr "Objektua txikiegia da"
@@ -7986,6 +8029,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Pieza anitzeko objektua detektatu da" msgstr "Pieza anitzeko objektua detektatu da"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Testurak filamentuekin parekatzen"
# AI Translated
msgid "Texture Import Warning"
msgstr "Testura inportatzeko abisua"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Kargatu fitxategi hauek pieza anitzeko objektu bakar gisa?\n" msgstr "Kargatu fitxategi hauek pieza anitzeko objektu bakar gisa?\n"
@@ -8190,6 +8241,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Sinkronizatu orain" msgstr "Sinkronizatu orain"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Testura inportatzeak huts egin du. Badirudi modeloak testura-datuak dituela, baina ezin izan da inportatze-prozesua osatu. Modeloa geometria gisa soilik inportatuko da."
# AI Translated
msgid "Applying texture colors..."
msgstr "Testura-koloreak aplikatzen..."
# AI Translated
msgid "Updating 3D view..."
msgstr "3D ikuspegia eguneratzen..."
# AI Translated
msgid "Texture colors applied."
msgstr "Testura-koloreak aplikatuta."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Aldatutako aurrezarpenak proiektu berrirako gorde edo baztertu ditzakezu" msgstr "Aldatutako aurrezarpenak proiektu berrirako gorde edo baztertu ditzakezu"
@@ -9407,6 +9474,10 @@ msgstr "Espiral formako loreontzia"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Lehen geruzako filamentuen sekuentzia" msgstr "Lehen geruzako filamentuen sekuentzia"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Filamentu-zerrendak filamentu nahasiak ditu. Filamentu-sekuentzia pertsonalizatuak ez du eraginik izango."
msgid "By Layer" msgid "By Layer"
msgstr "Geruzaren arabera" msgstr "Geruzaren arabera"
@@ -10765,11 +10836,11 @@ msgstr "%s: %s"
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "Ez dago kopiatu beharreko aldaketarik." msgstr "Ez dago kopiatu beharreko aldaketarik."
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Kopiatu parametroak" msgstr "Kopiatu parametroak"
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Aldatu %s-(r)en parametroak" msgstr "Aldatu %s-(r)en parametroak"
#, c-format, boost-format #, c-format, boost-format
@@ -11274,27 +11345,6 @@ msgstr "Filamentua aldatzeko purgatze-bolumenak"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Hautatu filamentuen kolorea" msgstr "Hautatu filamentuen kolorea"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Waylanden jatorrizko zuzeneko ikuspegiak GStreamer GTK bideo-hustubidea behar du. Instalatu GStreamerrerako gtksink plugina eta berrabiarazi OrcaSlicer."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Ezin izan da Waylanden jatorrizko GStreamer bideo-hustubidea hasieratu. Egiaztatu GStreamer GTK pluginaren instalazioa."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Windows Media Player behar da zeregin honetarako! 'Windows Media Player' gaitu nahi duzu zure sistema eragilean?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource ez da behar bezala erregistratu multimedia erreproduzitzeko! Sakatu Bai berriro erregistratzeko. Bi aldiz galdetuko zaizu"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Multimedia erreproduzitzeko erregistratutako BambuSource osagaia falta da! Berrinstalatu OrcaSlicer edo eskatu laguntza komunitateari."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Beste instalazio bateko BambuSource erabiltzen ari zara; baliteke bideo-erreprodukzioak behar bezala ez funtzionatzea! Sakatu Bai konpontzeko."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Zure sisteman GStreamer-erako H.264 kodekak falta dira, eta beharrezkoak dira bideoa erreproduzitzeko. (Saiatu gstreamer1.0-plugins-bad edo gstreamer1.0-libav paketeak instalatzen, eta berrabiarazi OrcaSlicer?)"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Hodeiko agentea ez dago erabilgarri. Berrabiarazi OrcaSlicer eta saiatu berriro." msgstr "Hodeiko agentea ez dago erabilgarri. Berrabiarazi OrcaSlicer eta saiatu berriro."
@@ -11994,6 +12044,10 @@ msgstr "Hala ere inprimatu nahi baduzu, aukera hau gaitu dezakezu: Hobespenak /
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Uneko ezarpenekin ez dago estrusiorik." msgstr "Uneko ezarpenekin ez dago estrusiorik."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Gradientedun filamentu nahasi bat erabiltzen ari da, baina 'Kolore nahasiaren azpigeruza' desgaituta dago. Gradientea ez da inprimatuko."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Timelapsearen modu leuna ez da onartzen \"objektuka\" sekuentzia gaituta dagoenean." msgstr "Timelapsearen modu leuna ez da onartzen \"objektuka\" sekuentzia gaituta dagoenean."
@@ -12030,6 +12084,10 @@ msgstr "Modeloaren tamaina txikitu edo uneko inprimatze-ezarpenak aldatu eta ber
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Geruza-altuera aldakorra ez da onartzen euskarri organikoekin." msgstr "Geruza-altuera aldakorra ez da onartzen euskarri organikoekin."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Purgatze-dorrearen filamentua ezin da filamentu nahasia izan."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Pitaren diametro eta filamentu-diametro desberdinek agian ez dute ondo funtzionatuko purgatze-dorrea gaituta dagoenean. Oso esperimentala da; jarraitu kontuz." msgstr "Pitaren diametro eta filamentu-diametro desberdinek agian ez dute ondo funtzionatuko purgatze-dorrea gaituta dagoenean. Oso esperimentala da; jarraitu kontuz."
@@ -12379,8 +12437,8 @@ msgstr "mm edo %"
msgid "Other layers" msgid "Other layers"
msgstr "Beste geruzak" msgstr "Beste geruzak"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Hasierakoa ez den geruzetarako ohearen tenperatura. 0 balioak filamentuak SuperTack Plaka hotzaren gainean inprimatzea ez duela onartzen esan nahi du." msgstr "Hau da lehenengoa ez den geruzetarako ohearen tenperatura. 0 balioak filamentuak SuperTack Plaka hotzaren gainean inprimatzea ez duela onartzen esan nahi du."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
msgstr "Hau da lehenengoa ez den geruzetarako ohearen tenperatura. 0 balioak filamentuak Plaka hotzaren gainean inprimatzea ez duela onartzen esan nahi du." msgstr "Hau da lehenengoa ez den geruzetarako ohearen tenperatura. 0 balioak filamentuak Plaka hotzaren gainean inprimatzea ez duela onartzen esan nahi du."
@@ -13730,6 +13788,8 @@ msgstr "Geruza-denbora"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Piezaren hozte-haizagailua gaituko da estimatutako denbora balio hau baino laburragoa duten geruzetan. Haizagailuaren abiadura gutxienekoaren eta gehienekoaren artean interpolatuko da geruzaren inprimatze-denboraren arabera." msgstr "Piezaren hozte-haizagailua gaituko da estimatutako denbora balio hau baino laburragoa duten geruzetan. Haizagailuaren abiadura gutxienekoaren eta gehienekoaren artean interpolatuko da geruzaren inprimatze-denboraren arabera."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14035,6 +14095,62 @@ msgstr "Euskarri-materiala"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Euskarri-materiala euskarriak eta euskarri-interfazeak inprimatzeko erabiltzen da normalean." msgstr "Euskarri-materiala euskarriak eta euskarri-interfazeak inprimatzeko erabiltzen da normalean."
# AI Translated
msgid "Is mixed filament"
msgstr "Filamentu nahasia da"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Filamentu-zirrikitu hau hainbat filamentu fisikoz osatutako filamentu nahasia den adierazten du"
# AI Translated
msgid "Mixed filament components"
msgstr "Filamentu nahasiaren osagaiak"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Osagai-filamentuen indizeak, komaz bereizita eta 1etik hasita; adib. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Filamentu nahasiaren azpigeruza-ratioak"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Komaz bereizitako ratio-balioak, guztira 1.0 ematen dutenak; adib. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Filamentu nahasiaren gradientea"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Z norabideko gradiente modua gaitzen du filamentu nahasiaren azpigeruzetarako. Gaituta dagoenean, azpigeruzen ratioak linealki aldatzen dira geruzaz geruza."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Filamentu nahasiaren gradiente-barrutia"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Lehen osagaiaren hasierako eta amaierako ratioak gradiente moduan. Komaz bereizitako parea; adib. \"0.10,0.90\" %10etik %90era esan nahi du."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Filamentu nahasiaren gradiente-kurba"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Aukerako Photoshop estiloko kurba pertsonalizatua, Z progresioa lehen osagaiaren ratioarekin lotzen duena. Barra bertikalez bereizitako kontrol-puntu gisa kodetzen da, \"x,y\" (zaharra) edo \"x,y,m_in,m_out\" formatuan, tangentea gainidatzi behar denean (balio hutsak edo \"nan\" balioak PCHIP lehenetsia erabiltzen du). x [0,1] tartean dago; y konfiguratutako ratio-barrutira mugatzen da; adib. \"0,0.15|0.5,0.50|1,0.85\". Hutsik uzten bada, gradient_range lineala erabiltzen da haren ordez."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Filamentu nahasiaren gradientea pieza bakoitzeko"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Gradiente modua gaituta dagoenean, gradientea multzoko pieza bakoitzari modu independentean aplikatzen zaio, multzo osoa Z barruti bakar gisa hartu beharrean."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filamentua inprimagarria" msgstr "Filamentua inprimagarria"
@@ -15286,6 +15402,8 @@ msgstr "Y ardatzaren gehieneko indarra"
msgid "The allowed maximum output force of Y axis" msgid "The allowed maximum output force of Y axis"
msgstr "Y ardatzaren gehieneko irteera-indar baimendua" msgstr "Y ardatzaren gehieneko irteera-indar baimendua"
# AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15295,6 +15413,8 @@ msgstr "Y ardatzeko ohearen masa"
msgid "The machine bed mass load of Y axis" msgid "The machine bed mass load of Y axis"
msgstr "Y ardatzeko makinaren oheak jasaten duen masa-karga" msgstr "Y ardatzeko makinaren oheak jasaten duen masa-karga"
# AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15606,8 +15726,8 @@ msgstr "Mozteko eremutik hondakin-ontzira doazen hasierako eta amaierako puntuak
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Murriztu betegarriaren atzera-egitea" msgstr "Murriztu betegarriaren atzera-egitea"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Ez egin atzera-egiterik mugimendua guztiz betegarriaren eremuan dagoenean. Horrek esan nahi du jarioa ez dela ikusiko. Honek modelo konplexuetan atzera-egite kopurua murriztu eta inprimatze-denbora aurreztu dezake, baina xerraketa eta G-codearen sorrera motelduko ditu. Kontuan izan z-hop mugimendua ez dela egiten atzera-egitea saihesten den eremuetan." msgstr "Ez egin atzera-egiterik mugimendua guztiz betegarriaren eremuan dagoenean. Horrek esan nahi du jarioa ez dela ikusiko. Honek modelo konplexuetan atzera-egite kopurua murriztu eta inprimatze-denbora aurreztu dezake, baina xerraketa eta G-codearen sorrera motelduko ditu. Kontuan izan Z-hop mugimendua ez dela egiten atzera-egitea saihesten den eremuetan."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
msgstr "Aukera honek aktibo ez dauden estrusoreen tenperatura jaitsiko du, jarioa saihesteko." msgstr "Aukera honek aktibo ez dauden estrusoreen tenperatura jaitsiko du, jarioa saihesteko."
@@ -15771,7 +15891,7 @@ msgstr "Garbitu ondorengo atzera-egite kantitatea"
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Garbiketa-mugimenduaren ondorengo atzera-egite azkarraren luzera, atzera-egitearen luzerari dagokionez.\n" "Garbiketa-mugimenduaren ondorengo atzera-egite azkarraren luzera, atzera-egitearen luzerari dagokionez.\n"
@@ -15818,7 +15938,7 @@ msgstr "Erreminta aldatu aurretik atzera-egitea abiarazten denean, filamentua ze
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z jauziaren altuera" msgstr "Z jauziaren altuera"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Atzera-egite bakoitzean pita apur bat altxatzen da pitaren eta inprimaketaren artean tartea sortzeko. Horrela, mugimenduetan pitak pieza jotzea saihesten da. Z altxatzeko espiral-lerroak erabiltzeak hariak sortzea murriztu dezake." msgstr "Atzera-egite bakoitzean pita apur bat altxatzen da pitaren eta inprimaketaren artean tartea sortzeko. Horrela, mugimenduetan pitak pieza jotzea saihesten da. Z altxatzeko espiral-lerroak erabiltzeak hariak sortzea murriztu dezake."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -16860,6 +16980,14 @@ msgstr ""
"\n" "\n"
"Beheko garbitu aurreko atzera-egite kantitatearen ezarpenean balio batezarriz gero, gehiegizko atzera-egitea garbiketa baino lehen egingo da; bestela, ondoren egingo da." "Beheko garbitu aurreko atzera-egite kantitatearen ezarpenean balio batezarriz gero, gehiegizko atzera-egitea garbiketa baino lehen egingo da; bestela, ondoren egingo da."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Kolore nahasiaren azpigeruza"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Kolore nahasiaren azpigeruzatan zatitzea gaitzen du. Gaituta dagoenean, kolore nahasiko filamentuak dituzten geruzak azpigeruzatan zatitzen dira kolore-nahasketa efektuak lortzeko."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Purgatze-dorrea pitaren hondarrak garbitzeko eta pitaren barruko ganbera-presioa egonkortzeko erabil daiteke, objektuetan itxura-akatsak saihesteko." msgstr "Purgatze-dorrea pitaren hondarrak garbitzeko eta pitaren barruko ganbera-presioa egonkortzeko erabil daiteke, objektuetan itxura-akatsak saihesteko."
@@ -17918,6 +18046,10 @@ msgstr "Modelo-fitxategiaren sareztatzeak huts egin du edo ez dago baliozko form
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Emandako fitxategia ezin izan da irakurri hutsik dagoelako." msgstr "Emandako fitxategia ezin izan da irakurri hutsik dagoelako."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Fitxategi-formatua bateraezina da eta ezin da analizatu."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Fitxategi-formatu ezezaguna: sarrerako fitxategiak .stl, .obj edo .amf(.xml) luzapena izan behar du." msgstr "Fitxategi-formatu ezezaguna: sarrerako fitxategiak .stl, .obj edo .amf(.xml) luzapena izan behar du."
@@ -19379,19 +19511,19 @@ msgstr "Inprimagailuaren, filamentuen edo prozesuen aurrezarpenetan aldaketak di
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Bistaratu soilik filamentu-aurrezarpenetan aldaketak dituzten filamentu-izenak." msgstr "Bistaratu soilik filamentu-aurrezarpenetan aldaketak dituzten filamentu-izenak."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Erabiltzailearen inprimagailu-aurrezarpenak dituzten inprimagailu-izenak soilik bistaratuko dira, eta hautatzen duzun aurrezarpen bakoitza zip gisa esportatuko da." msgstr "Erabiltzailearen inprimagailu-aurrezarpenak dituzten inprimagailu-izenak soilik bistaratuko dira, eta hautatzen duzun aurrezarpen bakoitza zip gisa esportatuko da."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Erabiltzailearen filamentu-aurrezarpenak dituzten filamentu-izenak soilik bistaratuko dira, \n" "Erabiltzailearen filamentu-aurrezarpenak dituzten filamentu-izenak soilik bistaratuko dira, \n"
"eta hautatzen duzun filamentu-izen bakoitzeko erabiltzailearen filamentu-aurrezarpen guztiak zip gisa esportatuko dira." "eta hautatzen duzun filamentu-izen bakoitzeko erabiltzailearen filamentu-aurrezarpen guztiak zip gisa esportatuko dira."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Prozesu-aurrezarpen aldatuak dituzten inprimagailu-izenak soilik bistaratuko dira, \n" "Prozesu-aurrezarpen aldatuak dituzten inprimagailu-izenak soilik bistaratuko dira, \n"
"eta hautatzen duzun inprimagailu-izen bakoitzeko erabiltzailearen prozesu-aurrezarpen guztiak zip gisa esportatuko dira." "eta hautatzen duzun inprimagailu-izen bakoitzeko erabiltzailearen prozesu-aurrezarpen guztiak zip gisa esportatuko dira."
@@ -19620,7 +19752,7 @@ msgstr "Kopiatu sistemaren informazioa arbelera"
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "Arazoaren jatorria diagnostikatzeko informazioa behar dugu. Begiratu wiki-orria gida xehatua ikusteko." msgstr "Arazoaren jatorria diagnostikatzeko informazioa behar dugu. Begiratu wiki-orria gida xehatua ikusteko."
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Paketatu botoiak proiektu-fitxategia eta uneko saioko erregistroak ZIP fitxategi batean biltzen ditu." msgstr "Paketatu botoiak proiektu-fitxategia eta uneko saioko erregistroak ZIP fitxategi batean biltzen ditu."
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -19662,7 +19794,7 @@ msgstr "Erregistro-maila"
msgid "Stored logs" msgid "Stored logs"
msgstr "Gordetako erregistroak" msgstr "Gordetako erregistroak"
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Gordetako erregistro guztiak ZIP fitxategi batean paketatzen ditu." msgstr "Gordetako erregistro guztiak ZIP fitxategi batean paketatzen ditu."
msgid "Profiles" msgid "Profiles"
@@ -19729,7 +19861,7 @@ msgstr "Ez da inprimagailu mota aurkitu; hautatu eskuz."
msgid "Authorizing..." msgid "Authorizing..."
msgstr "Baimena ematen..." msgstr "Baimena ematen..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Errorea. Ezin da baimenerako API tokena lortu" msgstr "Errorea. Ezin da baimenerako API tokena lortu"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20180,8 +20312,9 @@ msgstr "Ezabatuta"
msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings" msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings"
msgstr "Gaitu filamentuen esleipen adimenduna: esleitu filamentua hainbat pitatara aurrezpena maximizatzeko" msgstr "Gaitu filamentuen esleipen adimenduna: esleitu filamentua hainbat pitatara aurrezpena maximizatzeko"
msgid "Fila Saving" # AI Translated
msgstr "Filamentu-aurrezpena" msgid "File Saving"
msgstr "Fitxategia gordetzea"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Ez gogorarazi berriro" msgstr "Ez gogorarazi berriro"
@@ -20542,6 +20675,9 @@ msgstr "Berrabiarazi orain"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "MUTURRAREN MOLDAKETARIK EZ INONDIK INORA" msgstr "MUTURRAREN MOLDAKETARIK EZ INONDIK INORA"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Abiadura bolumetrikoa" msgstr "Abiadura bolumetrikoa"
@@ -21118,6 +21254,36 @@ msgstr ""
"Saihestu okertzea\n" "Saihestu okertzea\n"
"Ba al zenekien ABS bezalako okertzeko joera duten materialak inprimatzean ohe beroaren tenperatura egoki igotzeak okertzeko probabilitatea murriztu dezakeela?" "Ba al zenekien ABS bezalako okertzeko joera duten materialak inprimatzean ohe beroaren tenperatura egoki igotzeak okertzeko probabilitatea murriztu dezakeela?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Waylanden jatorrizko zuzeneko ikuspegiak GStreamer GTK bideo-hustubidea behar du. Instalatu GStreamerrerako gtksink plugina eta berrabiarazi OrcaSlicer."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Ezin izan da Waylanden jatorrizko GStreamer bideo-hustubidea hasieratu. Egiaztatu GStreamer GTK pluginaren instalazioa."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Windows Media Player behar da zeregin honetarako! 'Windows Media Player' gaitu nahi duzu zure sistema eragilean?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource ez da behar bezala erregistratu multimedia erreproduzitzeko! Sakatu Bai berriro erregistratzeko. Bi aldiz galdetuko zaizu"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Multimedia erreproduzitzeko erregistratutako BambuSource osagaia falta da! Berrinstalatu OrcaSlicer edo eskatu laguntza komunitateari."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Beste instalazio bateko BambuSource erabiltzen ari zara; baliteke bideo-erreprodukzioak behar bezala ez funtzionatzea! Sakatu Bai konpontzeko."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Zure sisteman GStreamer-erako H.264 kodekak falta dira, eta beharrezkoak dira bideoa erreproduzitzeko. (Saiatu gstreamer1.0-plugins-bad edo gstreamer1.0-libav paketeak instalatzen, eta berrabiarazi OrcaSlicer?)"
#~ msgid "N"
#~ msgstr "N"
#~ msgid "g"
#~ msgstr "g"
#~ msgid "Fila Saving"
#~ msgstr "Filamentu-aurrezpena"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
@@ -22259,20 +22425,12 @@ msgstr ""
#~ msgid "The 3mf has the following customized filament or printer presets:" #~ msgid "The 3mf has the following customized filament or printer presets:"
#~ msgstr "3mf-ak pertsonalizatutako filamentuen edo inprimagailuaren aurrezarpen hauek dauzka:" #~ msgstr "3mf-ak pertsonalizatutako filamentuen edo inprimagailuaren aurrezarpen hauek dauzka:"
#~ msgid "Name of components inside step file is not UTF8 format!" #~ msgid "Name of components inside step file is not UTF-8 format!"
#~ msgstr "Step fitxategiko osagaien izena ez dago UTF8 formatuan!" #~ msgstr "Step fitxategiko osagaien izena ez dago UTF-8 formatuan!"
#~ msgid "The name may show garbage characters!" #~ msgid "The name may show garbage characters!"
#~ msgstr "Izenak karaktere ulergaitzak erakuts ditzake!" #~ msgstr "Izenak karaktere ulergaitzak erakuts ditzake!"
#, c-format, boost-format
#~ msgid ""
#~ "The object from file %s is too small, and maybe in meters or inches.\n"
#~ " Do you want to scale to millimeters?"
#~ msgstr ""
#~ "%s fitxategiko objektua txikiegia da, eta baliteke metroetan edo hazbetetan egotea.\n"
#~ " Milimetrotara eskalatu nahi duzu?"
#~ msgid "" #~ msgid ""
#~ "This file contains several objects positioned at multiple heights.\n" #~ "This file contains several objects positioned at multiple heights.\n"
#~ "Instead of considering them as multiple objects, should \n" #~ "Instead of considering them as multiple objects, should \n"
@@ -23123,24 +23281,6 @@ msgstr ""
#~ msgid "Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is larger than this value. Detour length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path. Zero to disable." #~ msgid "Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is larger than this value. Detour length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path. Zero to disable."
#~ msgstr "Hormak gurutzatzea saihesteko gehieneko desbideratze-distantzia. Ez desbideratu distantzia balio hau baino handiagoa bada. Desbideratze-luzera balio absolutu gisa edo lekualdatze-ibilbide zuzenaren ehuneko gisa zehaztu daiteke (adibidez, 50%). Zero, desgaitzeko." #~ msgstr "Hormak gurutzatzea saihesteko gehieneko desbideratze-distantzia. Ez desbideratu distantzia balio hau baino handiagoa bada. Desbideratze-luzera balio absolutu gisa edo lekualdatze-ibilbide zuzenaren ehuneko gisa zehaztu daiteke (adibidez, 50%). Zero, desgaitzeko."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate."
#~ msgstr "Ohearen tenperatura hasierakoa ez diren geruzetarako. 0 balioak esan nahi du filamentuak ez duela plaka hotzean inprimatzea onartzen."
#~ msgid "°C"
#~ msgstr "°C"
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Textured Cool Plate."
#~ msgstr "Ohearen tenperatura hasierakoa ez diren geruzetarako. 0 balioak esan nahi du filamentuak ez duela testuradun plaka hotzean inprimatzea onartzen."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Engineering Plate."
#~ msgstr "Ohearen tenperatura hasierakoa ez diren geruzetarako. 0 balioak esan nahi du filamentuak ez duela ingeniaritza-plakan inprimatzea onartzen."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the High Temp Plate."
#~ msgstr "Ohearen tenperatura hasierakoa ez diren geruzetarako. 0 balioak esan nahi du filamentuak ez duela tenperatura altuko plakan inprimatzea onartzen."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Textured PEI Plate."
#~ msgstr "Ohearen tenperatura hasierakoa ez diren geruzetarako. 0 balioak esan nahi du filamentuak ez duela testuradun PEI plakan inprimatzea onartzen."
#~ msgid "Initial layer" #~ msgid "Initial layer"
#~ msgstr "Hasierako geruza" #~ msgstr "Hasierako geruza"
+217 -50
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Guislain Cyril, Thomas Lété\n" "Language-Team: Guislain Cyril, Thomas Lété\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n==0 || n==1) ? 0 : 1;\n" "Plural-Forms: nplurals=2; plural=(n==0 || n==1) ? 0 : 1;\n"
"X-Generator: Poedit 3.6\n" "X-Generator: Poedit 3.9\n"
# AI Translated # AI Translated
msgid "Main Extruder" msgid "Main Extruder"
@@ -2896,6 +2896,10 @@ msgstr "Éditer"
msgid "Merge with" msgid "Merge with"
msgstr "Fusionner avec" msgstr "Fusionner avec"
# AI Translated
msgid "Decompose Color"
msgstr "Décomposer la couleur"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Supprimer ce filament" msgstr "Supprimer ce filament"
@@ -3178,6 +3182,10 @@ msgstr "Assemblé"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Fusionner les pièces en un objet" msgstr "Fusionner les pièces en un objet"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Lutilisation dune hauteur de couche variable avec la sous-couche de couleur mixte peut dégrader la qualité du mélange des couleurs."
msgid "Add layers" msgid "Add layers"
msgstr "Ajouter des couches" msgstr "Ajouter des couches"
@@ -4707,7 +4715,7 @@ msgstr ""
"\n" "\n"
"La valeur sera remise à 0." "La valeur sera remise à 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "La paroi supplémentaire alternée ne fonctionne pas bien lorsque le paramètre Assurer l’épaisseur de la coque verticale est réglée sur Tous." msgstr "La paroi supplémentaire alternée ne fonctionne pas bien lorsque le paramètre Assurer l’épaisseur de la coque verticale est réglée sur Tous."
msgid "" msgid ""
@@ -4753,7 +4761,7 @@ msgstr ""
"NON - Conserver la hauteur de la couche de support indépendante" "NON - Conserver la hauteur de la couche de support indépendante"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height doit être inférieur à la hauteur de couche.\n" "seam_slope_start_height doit être inférieur à la hauteur de couche.\n"
@@ -4761,7 +4769,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"La profondeur de verrouillage doit être inférieure à la profondeur de la peau.\n" "La profondeur de verrouillage doit être inférieure à la profondeur de la peau.\n"
@@ -6221,10 +6229,10 @@ msgstr "Importer des fichiers 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Charger un modèle" msgstr "Charger un modèle"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importer une archive Zip" msgstr "Importer une archive Zip"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Charger les modèles contenus dans une archive zip" msgstr "Charger les modèles contenus dans une archive zip"
msgid "Import Configs" msgid "Import Configs"
@@ -7733,6 +7741,10 @@ msgstr "Personnaliser le plateau actuel"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "La buse %s ne peut pas imprimer %s." msgstr "La buse %s ne peut pas imprimer %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Limpression dun filament de couleur mixte sur une imprimante à extrudeur unique nécessite des changements de filament et des purges fréquents, ce qui peut augmenter considérablement les déchets et le risque dobstruction de la buse ou de la goulotte à déchets."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Le mélange de %1% avec %2% lors de l'impression n'est pas recommandé.\n" msgstr "Le mélange de %1% avec %2% lors de l'impression n'est pas recommandé.\n"
@@ -7858,12 +7870,44 @@ msgstr "Synchroniser la liste des filaments depuis l'AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Définir les filaments à utiliser" msgstr "Définir les filaments à utiliser"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Ajouter un filament mixte"
# AI Translated
msgid "Mixed Filament"
msgstr "Filament mixte"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Supprimer le dernier filament mixte"
# AI Translated
msgid "Add mixed filament"
msgstr "Ajouter un filament mixte"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Le filament mixte comporte des composants invalides ou incohérents. Veuillez modifier à nouveau les entrées concernées."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Recherche de plaque, d'objet et de pièce." msgstr "Recherche de plaque, d'objet et de pièce."
msgid "Pellets" msgid "Pellets"
msgstr "Granulés" msgstr "Granulés"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Le filament mixte comporte des références de composants invalides"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Éditer / Supprimer / Fusionner"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Le filament mixte cible utilise ce filament physique comme composant. La fusion supprimera ce filament physique et risque de rendre le filament mixte invalide. Continuer ?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Une fois votre opération terminée, le projet %s sera fermé et un nouveau projet sera créé." msgstr "Une fois votre opération terminée, le projet %s sera fermé et un nouveau projet sera créé."
@@ -8000,7 +8044,7 @@ msgstr "Veuillez vous assurer que les G-codes de ces préréglages sont sûrs af
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Préréglage personnalisé" msgstr "Préréglage personnalisé"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Le nom des composants dans le fichier STEP n'est pas au format UTF-8 !" msgstr "Le nom des composants dans le fichier STEP n'est pas au format UTF-8 !"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -8022,10 +8066,10 @@ msgstr "Le volume de l'objet est nul"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Lobjet du fichier %s est trop petit, et est peut-être en mètres ou en pouces.\n" "Lobjet du fichier %s est trop petit, et est peut-être en mètres ou en pouces.\n"
" Voulez-vous le mettre à l’échelle en millimètres ?" "Voulez-vous le mettre à l’échelle en millimètres ?"
msgid "Object too small" msgid "Object too small"
msgstr "Objet trop petit" msgstr "Objet trop petit"
@@ -8042,6 +8086,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Objet en plusieurs pièces détecté" msgstr "Objet en plusieurs pièces détecté"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Association des textures aux filaments"
# AI Translated
msgid "Texture Import Warning"
msgstr "Avertissement dimportation de texture"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Charger ces fichiers en tant qu'objet unique avec plusieurs parties ?\n" msgstr "Charger ces fichiers en tant qu'objet unique avec plusieurs parties ?\n"
@@ -8246,6 +8298,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Synchroniser maintenant" msgstr "Synchroniser maintenant"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Échec de limportation de la texture. Le modèle semble contenir des données de texture, mais le processus dimportation na pas pu être mené à son terme. Le modèle sera importé en tant que géométrie uniquement."
# AI Translated
msgid "Applying texture colors..."
msgstr "Application des couleurs de texture..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Mise à jour de la vue 3D..."
# AI Translated
msgid "Texture colors applied."
msgstr "Couleurs de texture appliquées."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Vous pouvez conserver les préréglages modifiés dans le nouveau projet ou les supprimer" msgstr "Vous pouvez conserver les préréglages modifiés dans le nouveau projet ou les supprimer"
@@ -9477,6 +9545,10 @@ msgstr "Vase spirale"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Séquence dimpression de la première couche" msgstr "Séquence dimpression de la première couche"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "La liste des filaments contient des filaments mixtes. La séquence de filaments personnalisée ne sera pas appliquée."
msgid "By Layer" msgid "By Layer"
msgstr "Par Couche" msgstr "Par Couche"
@@ -10707,7 +10779,7 @@ msgid "Acceleration limitation"
msgstr "Limitation d'accélération" msgstr "Limitation d'accélération"
msgid "Jerk limitation" msgid "Jerk limitation"
msgstr "Limitation des secousses" msgstr "Limitation du jerk"
msgid "Single extruder multi-material setup" msgid "Single extruder multi-material setup"
msgstr "Configuration multi-matériaux pour extrudeur unique" msgstr "Configuration multi-matériaux pour extrudeur unique"
@@ -10854,11 +10926,11 @@ msgstr "%s : %s"
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "Aucune modification à copier." msgstr "Aucune modification à copier."
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Copier les paramètres" msgstr "Copier les paramètres"
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Modifier les paramètres de %s" msgstr "Modifier les paramètres de %s"
#, c-format, boost-format #, c-format, boost-format
@@ -11369,27 +11441,6 @@ msgstr "Volumes de purge pour le changement de filament"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Veuillez choisir la couleur du filament" msgstr "Veuillez choisir la couleur du filament"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Laperçu en direct natif sous Wayland nécessite le récepteur vidéo GStreamer GTK. Veuillez installer le plugin gtksink pour GStreamer, puis redémarrer OrcaSlicer."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Échec de linitialisation du récepteur vidéo GStreamer natif sous Wayland. Veuillez vérifier linstallation de votre plugin GStreamer GTK."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Windows Media Player est nécessaire pour cette tâche ! Voulez-vous activer Windows Media Player pour votre système dexploitation ?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource na pas été correctement enregistré pour la lecture de médias ! Appuyez sur Oui pour le réenregistrer. Vous recevrez deux fois la demande de permission"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Composant BambuSource manquant pour la lecture multimédia ! Veuillez réinstaller OrcaSlicer ou demander de l'aide à la communauté."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Si vous utilisez une BambuSource provenant dune autre installation, la lecture de la vidéo peut ne pas fonctionner correctement ! Appuyez sur Oui pour résoudre le problème."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Il manque à votre système les codecs H.264 pour GStreamer, qui sont nécessaires pour lire la vidéo. (Essayez dinstaller les paquets gstreamer1.0-plugins-bad ou gstreamer1.0-libav, puis redémarrez Orca Slicer)."
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Lagent cloud nest pas disponible. Veuillez redémarrer OrcaSlicer et réessayer." msgstr "Lagent cloud nest pas disponible. Veuillez redémarrer OrcaSlicer et réessayer."
@@ -12092,6 +12143,10 @@ msgstr "Si vous souhaitez tout de même imprimer, vous pouvez activer loption
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Aucune extrusion dans les paramètres actuels." msgstr "Aucune extrusion dans les paramètres actuels."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Un filament mixte avec dégradé est utilisé, mais « Sous-couche de couleur mixte » est désactivé. Le dégradé ne sera pas imprimé."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Le mode fluide du timelapse n'est pas pris en charge lorsque le mode d'impression « par objet » est activé." msgstr "Le mode fluide du timelapse n'est pas pris en charge lorsque le mode d'impression « par objet » est activé."
@@ -12128,6 +12183,10 @@ msgstr "Vous devez réduire la taille de votre modèle ou modifier les paramètr
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "La hauteur de couche variable nest pas prise en charge avec les supports organiques." msgstr "La hauteur de couche variable nest pas prise en charge avec les supports organiques."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Le filament de la tour dessuyage ne peut pas être un filament mixte."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Différents diamètres de buses et de filaments peuvent ne pas fonctionner correctement lorsque la tour damorçage est activée. Il sagit dun projet très expérimental, il convient donc de procéder avec prudence." msgstr "Différents diamètres de buses et de filaments peuvent ne pas fonctionner correctement lorsque la tour damorçage est activée. Il sagit dun projet très expérimental, il convient donc de procéder avec prudence."
@@ -12226,7 +12285,7 @@ msgid "Plate %d: %s does not support filament %s"
msgstr "Plaque %d : %s ne prend pas en charge le filament %s" msgstr "Plaque %d : %s ne prend pas en charge le filament %s"
msgid "Setting the jerk speed too low could lead to artifacts on curved surfaces" msgid "Setting the jerk speed too low could lead to artifacts on curved surfaces"
msgstr "Un réglage trop bas de la vitesse de saccade peut entraîner des artefacts sur les surfaces courbes" msgstr "Un réglage trop bas de la vitesse de jerk peut entraîner des artefacts sur les surfaces courbes"
msgid "" msgid ""
"The jerk setting exceeds the printer's maximum jerk (machine_max_jerk_x/machine_max_jerk_y).\n" "The jerk setting exceeds the printer's maximum jerk (machine_max_jerk_x/machine_max_jerk_y).\n"
@@ -12234,7 +12293,7 @@ msgid ""
"You can adjust the maximum jerk setting in your printer's configuration to get higher speeds." "You can adjust the maximum jerk setting in your printer's configuration to get higher speeds."
msgstr "" msgstr ""
"Le réglage du jerk dépasse le jerk maximum de limprimante (machine_max_jerk_x/machine_max_jerk_y).\n" "Le réglage du jerk dépasse le jerk maximum de limprimante (machine_max_jerk_x/machine_max_jerk_y).\n"
"Orca plafonne automatiquement la vitesse de limpulsion pour sassurer quelle ne dépasse pas les capacités de limprimante.\n" "Orca plafonne automatiquement la vitesse du jerk pour sassurer quelle ne dépasse pas les capacités de limprimante.\n"
"Vous pouvez ajuster le réglage du jerk maximum dans la configuration de votre imprimante pour obtenir des vitesses plus élevées." "Vous pouvez ajuster le réglage du jerk maximum dans la configuration de votre imprimante pour obtenir des vitesses plus élevées."
msgid "" msgid ""
@@ -12475,7 +12534,7 @@ msgstr "mm ou %"
msgid "Other layers" msgid "Other layers"
msgstr "Autres couches" msgstr "Autres couches"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Température du plateau pour les couches sauf la première. Une valeur de 0 signifie que le filament ne prend pas en charge l'impression sur la Cool Plate SuperTack." msgstr "Température du plateau pour les couches sauf la première. Une valeur de 0 signifie que le filament ne prend pas en charge l'impression sur la Cool Plate SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -13831,6 +13890,8 @@ msgstr "Temps de couche"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Le ventilateur de refroidissement des pièces sera activé pour les couches dont le temps estimé est inférieur à cette valeur. La vitesse du ventilateur est interpolée entre les vitesses minimale et maximale du ventilateur en fonction du temps d'impression de la couche" msgstr "Le ventilateur de refroidissement des pièces sera activé pour les couches dont le temps estimé est inférieur à cette valeur. La vitesse du ventilateur est interpolée entre les vitesses minimale et maximale du ventilateur en fonction du temps d'impression de la couche"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14137,6 +14198,62 @@ msgstr "Supports"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Le matériau de support est généralement utilisé pour imprimer le support et les interfaces de support" msgstr "Le matériau de support est généralement utilisé pour imprimer le support et les interfaces de support"
# AI Translated
msgid "Is mixed filament"
msgstr "Est un filament mixte"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Indique si cet emplacement de filament est un filament mixte composé de plusieurs filaments physiques"
# AI Translated
msgid "Mixed filament components"
msgstr "Composants du filament mixte"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Indices (à partir de 1) des filaments composants, séparés par des virgules ; par ex. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Proportions des sous-couches du filament mixte"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Valeurs de proportion séparées par des virgules dont la somme vaut 1.0 ; par ex. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Dégradé du filament mixte"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Active le mode dégradé dans la direction Z pour les sous-couches du filament mixte. Lorsquil est activé, les proportions des sous-couches varient linéairement dune couche à lautre."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Plage du dégradé du filament mixte"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Proportions de début et de fin du premier composant en mode dégradé. Paire séparée par une virgule ; par ex. \"0.10,0.90\" signifie de 10% à 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Courbe du dégradé du filament mixte"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Courbe personnalisée facultative, de style Photoshop, associant la progression en Z à la proportion du premier composant. Encodée sous forme de points de contrôle séparés par des barres verticales, au format \"x,y\" (ancien) ou \"x,y,m_in,m_out\" lorsquune tangente doit être forcée (une valeur vide ou \"nan\" utilise la valeur PCHIP par défaut). x est compris dans [0,1] ; y est limité à la plage de proportions configurée ; par ex. \"0,0.15|0.5,0.50|1,0.85\". Si le champ est vide, le gradient_range linéaire est utilisé à la place."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Dégradé par pièce du filament mixte"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Lorsque le mode dégradé est activé, applique le dégradé à chaque pièce dun assemblage indépendamment au lieu de traiter lassemblage entier comme une seule plage Z."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament imprimable" msgstr "Filament imprimable"
@@ -15382,6 +15499,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Force de sortie maximale autorisée sur l'axe Y" msgstr "Force de sortie maximale autorisée sur l'axe Y"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15392,6 +15510,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Charge massique du plateau de la machine sur l'axe Y" msgstr "Charge massique du plateau de la machine sur l'axe Y"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15703,7 +15822,7 @@ msgstr "Les points de départ et d'arrivée qui se situent entre la zone de coup
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Réduire la rétraction du remplissage" msgstr "Réduire la rétraction du remplissage"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Ne pas effectuer de rétraction lors de déplacement en zone de remplissage car même si lextrudeur suinte, les coulures ne seraient pas visibles. Cela peut réduire les rétractions pour les modèles complexes et économiser du temps dimpression, mais ralentit la découpe et la génération du G-code" msgstr "Ne pas effectuer de rétraction lors de déplacement en zone de remplissage car même si lextrudeur suinte, les coulures ne seraient pas visibles. Cela peut réduire les rétractions pour les modèles complexes et économiser du temps dimpression, mais ralentit la découpe et la génération du G-code"
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -15873,7 +15992,7 @@ msgstr "Quantité de rétraction après essuyage"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"La longueur de la rétraction rapide après l'essuyage, relative à la longueur de rétraction.\n" "La longueur de la rétraction rapide après l'essuyage, relative à la longueur de rétraction.\n"
@@ -15920,7 +16039,7 @@ msgstr "Lorsque la rétraction est déclenchée avant un changement doutil, l
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Hauteur du saut en Z" msgstr "Hauteur du saut en Z"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Chaque fois que la rétraction est effectuée, la buse est légèrement soulevée pour créer un espace entre la buse et l'impression. Il empêche la buse de toucher l'impression lors du déplacement. L'utilisation d'une ligne en spirale pour soulever z peut empêcher l'enfilage" msgstr "Chaque fois que la rétraction est effectuée, la buse est légèrement soulevée pour créer un espace entre la buse et l'impression. Il empêche la buse de toucher l'impression lors du déplacement. L'utilisation d'une ligne en spirale pour soulever z peut empêcher l'enfilage"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -16965,6 +17084,14 @@ msgstr ""
"\n" "\n"
"Le réglage dune valeur dans le paramètre de quantité de rétraction avant essuyage ci-dessous permet deffectuer toute rétraction excédentaire avant lessuyage, sinon elle sera effectuée après lessuyage." "Le réglage dune valeur dans le paramètre de quantité de rétraction avant essuyage ci-dessous permet deffectuer toute rétraction excédentaire avant lessuyage, sinon elle sera effectuée après lessuyage."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Sous-couche de couleur mixte"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Active la division en sous-couches de couleur mixte. Lorsquelle est activée, les couches contenant des filaments de couleur mixte sont divisées en sous-couches afin dobtenir des effets de mélange de couleurs."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "La tour de purge peut être utilisée pour nettoyer les résidus sur la buse et stabiliser la pression du caisson à l'intérieur de la buse afin d'éviter les défauts d'apparence lors de l'impression d'objets." msgstr "La tour de purge peut être utilisée pour nettoyer les résidus sur la buse et stabiliser la pression du caisson à l'intérieur de la buse afin d'éviter les défauts d'apparence lors de l'impression d'objets."
@@ -18031,6 +18158,10 @@ msgstr "Le maillage d'un fichier modèle a échoué ou la forme n'est pas valide
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Le fichier fourni n'a pas pu être lu car il est vide" msgstr "Le fichier fourni n'a pas pu être lu car il est vide"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Le format du fichier est incompatible et ne peut pas être analysé."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Format de fichier inconnu : le fichier d'entrée doit porter l'extension .stl, .obj ou .amf (.xml)." msgstr "Format de fichier inconnu : le fichier d'entrée doit porter l'extension .stl, .obj ou .amf (.xml)."
@@ -19492,19 +19623,19 @@ msgstr "Nafficher que les noms dimprimantes avec les modifications apport
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Naffichez que les noms des filaments lorsque vous modifiez les préréglages des filaments." msgstr "Naffichez que les noms des filaments lorsque vous modifiez les préréglages des filaments."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Seuls les noms dimprimantes avec des préréglages dimprimante utilisateur seront affichés, et chaque préréglage que vous choisissez sera exporté sous forme de fichier zip." msgstr "Seuls les noms dimprimantes avec des préréglages dimprimante utilisateur seront affichés, et chaque préréglage que vous choisissez sera exporté sous forme de fichier zip."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Seuls les noms de filaments contenant des préréglages de filaments utilisateur seront affichés, \n" "Seuls les noms de filaments contenant des préréglages de filaments utilisateur seront affichés, \n"
"et tous les préréglages de filament dutilisateur dans chaque nom de filament que vous sélectionnez seront exportés sous forme de fichier zip." "et tous les préréglages de filament dutilisateur dans chaque nom de filament que vous sélectionnez seront exportés sous forme de fichier zip."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Seuls les noms dimprimantes dont les préréglages de traitement ont été modifiés seront affichés, \n" "Seuls les noms dimprimantes dont les préréglages de traitement ont été modifiés seront affichés, \n"
"et tous les préréglages de processus de lutilisateur dans chaque nom dimprimante que vous sélectionnez seront exportés sous forme de fichier zip." "et tous les préréglages de processus de lutilisateur dans chaque nom dimprimante que vous sélectionnez seront exportés sous forme de fichier zip."
@@ -19733,7 +19864,7 @@ msgstr "Copier les informations système dans le presse-papiers"
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "Nous avons besoin dinformations pour diagnostiquer lorigine du problème. Consultez la page wiki pour un guide détaillé." msgstr "Nous avons besoin dinformations pour diagnostiquer lorigine du problème. Consultez la page wiki pour un guide détaillé."
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Le bouton Compresser rassemble le fichier de projet et les journaux de la session actuelle dans un fichier ZIP." msgstr "Le bouton Compresser rassemble le fichier de projet et les journaux de la session actuelle dans un fichier ZIP."
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -19775,7 +19906,7 @@ msgstr "Niveau de journalisation"
msgid "Stored logs" msgid "Stored logs"
msgstr "Journaux stockés" msgstr "Journaux stockés"
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Compresse tous les journaux stockés dans un fichier ZIP." msgstr "Compresse tous les journaux stockés dans un fichier ZIP."
msgid "Profiles" msgid "Profiles"
@@ -19842,7 +19973,7 @@ msgstr "Type dimprimante introuvable, veuillez le sélectionner manuellement.
msgid "Authorizing..." msgid "Authorizing..."
msgstr "Autorisation en cours…" msgstr "Autorisation en cours…"
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Erreur : impossible dobtenir le jeton dAPI pour lautorisation" msgstr "Erreur : impossible dobtenir le jeton dAPI pour lautorisation"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20290,8 +20421,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Activer l'attribution intelligente de filament : attribuer un filament à plusieurs buses pour maximiser les économies" msgstr "Activer l'attribution intelligente de filament : attribuer un filament à plusieurs buses pour maximiser les économies"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Économie de filament" msgstr "Enregistrement du fichier"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Ne plus me rappeler" msgstr "Ne plus me rappeler"
@@ -20656,6 +20787,9 @@ msgstr "Redémarrer maintenant"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "AUCUN BOURRAGE" msgstr "AUCUN BOURRAGE"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Vitesse volumétrique" msgstr "Vitesse volumétrique"
@@ -21278,6 +21412,39 @@ msgstr ""
"Éviter la déformation\n" "Éviter la déformation\n"
"Saviez-vous que lors de limpression de matériaux susceptibles de se déformer, tels que lABS, une augmentation appropriée de la température du plateau chauffant peut réduire la probabilité de déformation?" "Saviez-vous que lors de limpression de matériaux susceptibles de se déformer, tels que lABS, une augmentation appropriée de la température du plateau chauffant peut réduire la probabilité de déformation?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Laperçu en direct natif sous Wayland nécessite le récepteur vidéo GStreamer GTK. Veuillez installer le plugin gtksink pour GStreamer, puis redémarrer OrcaSlicer."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Échec de linitialisation du récepteur vidéo GStreamer natif sous Wayland. Veuillez vérifier linstallation de votre plugin GStreamer GTK."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Windows Media Player est nécessaire pour cette tâche ! Voulez-vous activer Windows Media Player pour votre système dexploitation ?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource na pas été correctement enregistré pour la lecture de médias ! Appuyez sur Oui pour le réenregistrer. Vous recevrez deux fois la demande de permission"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Composant BambuSource manquant pour la lecture multimédia ! Veuillez réinstaller OrcaSlicer ou demander de l'aide à la communauté."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Si vous utilisez une BambuSource provenant dune autre installation, la lecture de la vidéo peut ne pas fonctionner correctement ! Appuyez sur Oui pour résoudre le problème."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Il manque à votre système les codecs H.264 pour GStreamer, qui sont nécessaires pour lire la vidéo. (Essayez dinstaller les paquets gstreamer1.0-plugins-bad ou gstreamer1.0-libav, puis redémarrez Orca Slicer)."
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Économie de filament"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
@@ -22161,8 +22328,8 @@ msgstr ""
#~ msgid "The 3mf has the following customized filament or printer presets:" #~ msgid "The 3mf has the following customized filament or printer presets:"
#~ msgstr "Le 3mf dispose de filaments personnalisés ou de préréglages d'imprimante :" #~ msgstr "Le 3mf dispose de filaments personnalisés ou de préréglages d'imprimante :"
#~ msgid "Name of components inside step file is not UTF8 format!" #~ msgid "Name of components inside step file is not UTF-8 format!"
#~ msgstr "Le nom des composants à l'intérieur du fichier .step n'est pas au format UTF8 !" #~ msgstr "Le nom des composants à l'intérieur du fichier .step n'est pas au format UTF-8 !"
#~ msgid "Should printer/filament/process settings be loaded when opening a .3mf?" #~ msgid "Should printer/filament/process settings be loaded when opening a .3mf?"
#~ msgstr "Les paramètres de limprimante/du filament/du processus doivent-ils être chargés lors de louverture dun fichier .3mf ?" #~ msgstr "Les paramètres de limprimante/du filament/du processus doivent-ils être chargés lors de louverture dun fichier .3mf ?"
+211 -44
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"Language: hu\n" "Language: hu\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -2948,6 +2948,10 @@ msgstr "Szerkesztés"
msgid "Merge with" msgid "Merge with"
msgstr "Egyesítés ezzel" msgstr "Egyesítés ezzel"
# AI Translated
msgid "Decompose Color"
msgstr "Szín szétbontása"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Filament törlése" msgstr "Filament törlése"
@@ -3247,6 +3251,10 @@ msgstr "Összeállítás"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Tárgyak egyesítése egy objektummá" msgstr "Tárgyak egyesítése egy objektummá"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "A változó rétegmagasság és a kevert színű alréteg együttes használata ronthatja a színkeverés minőségét."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Rétegek hozzáadása" msgstr "Rétegek hozzáadása"
@@ -4803,7 +4811,7 @@ msgstr ""
"\n" "\n"
"Az érték 0-ra áll vissza." "Az érték 0-ra áll vissza."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "A váltakozó extra fal nem működik jól, ha a függőleges héjvastagság biztosítása \"Mind\" értékre van állítva." msgstr "A váltakozó extra fal nem működik jól, ha a függőleges héjvastagság biztosítása \"Mind\" értékre van állítva."
msgid "" msgid ""
@@ -4849,7 +4857,7 @@ msgstr ""
"NEM - Független támasz rétegmagasság megtartása" "NEM - Független támasz rétegmagasság megtartása"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"A seam_slope_start_height értékének kisebbnek kell lennie, mint a layer_height.\n" "A seam_slope_start_height értékének kisebbnek kell lennie, mint a layer_height.\n"
@@ -4857,7 +4865,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"A rögzítési mélységnek kisebbnek kell lennie, mint a felületi réteg mélysége.\n" "A rögzítési mélységnek kisebbnek kell lennie, mint a felületi réteg mélysége.\n"
@@ -6323,10 +6331,10 @@ msgstr "Importálás 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Modell betöltése" msgstr "Modell betöltése"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Zip archívum importálása" msgstr "Zip archívum importálása"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Zip archívumban található modellek betöltése" msgstr "Zip archívumban található modellek betöltése"
msgid "Import Configs" msgid "Import Configs"
@@ -7847,6 +7855,10 @@ msgstr "Aktuális tálca testreszabása"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "A(z) %s fúvóka nem tudja nyomtatni ezt: %s." msgstr "A(z) %s fúvóka nem tudja nyomtatni ezt: %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "A kevert színű filament nyomtatása egyextruderes nyomtatón gyakori filamentcserét és öblítést igényel, ami jelentősen növelheti a hulladék mennyiségét, valamint a fúvóka vagy a hulladékcsúszda eltömődésének kockázatát."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "A(z) %1% és %2% keverése nyomtatás közben nem ajánlott.\n" msgstr "A(z) %1% és %2% keverése nyomtatás közben nem ajánlott.\n"
@@ -7972,12 +7984,44 @@ msgstr "Filamentlista szinkronizálása az AMS-ből"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Használni kívánt filament beállítása" msgstr "Használni kívánt filament beállítása"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Kevert filament hozzáadása"
# AI Translated
msgid "Mixed Filament"
msgstr "Kevert filament"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Utolsó kevert filament eltávolítása"
# AI Translated
msgid "Add mixed filament"
msgstr "Kevert filament hozzáadása"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "A kevert filament érvénytelen vagy nem egyező összetevőket tartalmaz. Szerkessze újra az érintett bejegyzéseket."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Tálca, objektum és tárgy keresése." msgstr "Tálca, objektum és tárgy keresése."
msgid "Pellets" msgid "Pellets"
msgstr "Pelletek" msgstr "Pelletek"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "A kevert filament hibás összetevő-hivatkozásokat tartalmaz"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Szerkesztés / Törlés / Egyesítés"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "A cél kevert filament ezt a fizikai filamentet használja összetevőként. Az egyesítés eltávolítja ezt a fizikai filamentet, és a kevert filament érvénytelenné válhat. Folytatja?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "A művelet befejezésekor a(z) %s projekt bezárul, majd új projekt jön létre." msgstr "A művelet befejezésekor a(z) %s projekt bezárul, majd új projekt jön létre."
@@ -8115,7 +8159,7 @@ msgstr "Kérlek, győződj meg arról, hogy a beállításokban található G-k
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Egyedi beállítás" msgstr "Egyedi beállítás"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "A STEP fájlon belüli komponens neve nem UTF-8 formátumban van!" msgstr "A STEP fájlon belüli komponens neve nem UTF-8 formátumban van!"
# AI Translated # AI Translated
@@ -8139,10 +8183,10 @@ msgstr "Az objektum térfogata nulla"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"A(z) %s fájlból származó objektum túl kicsi, lehet, hogy méterben vagy hüvelykben lett létrehozva.\n" "A(z) %s fájlból származó objektum túl kicsi, lehet, hogy méterben vagy hüvelykben lett létrehozva.\n"
" Szeretnéd milliméterre méretezni?" "Szeretnéd milliméterre méretezni?"
msgid "Object too small" msgid "Object too small"
msgstr "Objektum túl kicsi" msgstr "Objektum túl kicsi"
@@ -8160,6 +8204,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Több részből álló objektum észlelve" msgstr "Több részből álló objektum észlelve"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Textúrák hozzárendelése a filamentekhez"
# AI Translated
msgid "Texture Import Warning"
msgstr "Textúraimportálási figyelmeztetés"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Betöltöd ezeket a fájlokat több részből álló egyetlen objektumként?\n" msgstr "Betöltöd ezeket a fájlokat több részből álló egyetlen objektumként?\n"
@@ -8371,6 +8423,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Szinkronizálás most" msgstr "Szinkronizálás most"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "A textúra importálása sikertelen. Úgy tűnik, hogy a modell textúraadatokat tartalmaz, de az importálási folyamatot nem sikerült befejezni. A modell csak geometriaként lesz importálva."
# AI Translated
msgid "Applying texture colors..."
msgstr "Textúraszínek alkalmazása..."
# AI Translated
msgid "Updating 3D view..."
msgstr "3D nézet frissítése..."
# AI Translated
msgid "Texture colors applied."
msgstr "A textúraszínek alkalmazva."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Megtarthatod az új projekt módosított beállításait, vagy elvetheted őket" msgstr "Megtarthatod az új projekt módosított beállításait, vagy elvetheted őket"
@@ -9633,6 +9701,10 @@ msgstr "Spirál (váza)"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Kezdőréteg filament sorrendje" msgstr "Kezdőréteg filament sorrendje"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "A filamentlista kevert filamenteket tartalmaz. Az egyéni filamentsorrend nem lép érvénybe."
# AI Translated # AI Translated
msgid "By Layer" msgid "By Layer"
msgstr "Rétegenként" msgstr "Rétegenként"
@@ -11030,12 +11102,12 @@ msgid "No modifications need to be copied."
msgstr "Nincs másolandó módosítás." msgstr "Nincs másolandó módosítás."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Paraméterek másolása" msgstr "Paraméterek másolása"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "A(z) %s paramétereinek módosítása" msgstr "A(z) %s paramétereinek módosítása"
# AI Translated # AI Translated
@@ -11552,27 +11624,6 @@ msgstr "Filamentcsere öblítési mennyisége"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Kérlek, válaszd ki a filament színét" msgstr "Kérlek, válaszd ki a filament színét"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "A natív Wayland élőképhez a GStreamer GTK videonyelő szükséges. Telepítsd a gtksink beépülő modult a GStreamerhez, majd indítsd újra az OrcaSlicert."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Nem sikerült inicializálni a natív Wayland GStreamer videonyelőt. Ellenőrizd a GStreamer GTK bővítmény telepítését."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Ehhez a művelethez Windows Media Player szükséges. Szeretnéd engedélyezni a \"Windows Media Player\"-t az operációs rendszerben?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "A BambuSource nincs megfelelően regisztrálva médialejátszáshoz. Kattints az Igen gombra az újbóli regisztráláshoz. Kétszer kapsz majd megerősítési kérést."
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "A médialejátszáshoz szükséges BambuSource-összetevő hiányzik. Kérlek, telepítsd újra az OrcaSlicert, vagy kérj segítséget a közösségtől."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Ha egy másik telepítésből származó BambuSource van használatban, előfordulhat, hogy a videólejátszás nem működik megfelelően. Kattints az Igen gombra a javításhoz."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "A rendszerből hiányoznak a GStreamer H.264 kodekjei, amelyek szükségesek a videolejátszáshoz. (Próbáld telepíteni a gstreamer1.0-plugins-bad vagy a gstreamer1.0-libav csomagokat, majd indítsd újra az Orca Slicert.)"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "A felhőszolgáltatás nem érhető el. Indítsd újra az OrcaSlicert, majd próbáld újra." msgstr "A felhőszolgáltatás nem érhető el. Indítsd újra az OrcaSlicert, majd próbáld újra."
@@ -12282,6 +12333,10 @@ msgstr "Ha továbbra is szeretnél nyomtatni, engedélyezheted az opciót itt: B
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "A jelenlegi beállításokkal nincsenek extrudálások." msgstr "A jelenlegi beállításokkal nincsenek extrudálások."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Színátmenetes kevert filament van használatban, de a 'Kevert színű alréteg' ki van kapcsolva. A színátmenet nem lesz kinyomtatva."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "A sima Timelapse nem használható, ha a nyomtatási sorrend \"Tárgyanként\"." msgstr "A sima Timelapse nem használható, ha a nyomtatási sorrend \"Tárgyanként\"."
@@ -12318,6 +12373,10 @@ msgstr "Próbáld meg csökkenteni a modell méretét vagy módosítani a jelenl
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "A változó rétegmagasság nem működik az organikus támaszokkal." msgstr "A változó rétegmagasság nem működik az organikus támaszokkal."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "A törlőtorony filamentje nem lehet kevert filament."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Eltérő fúvókaátmérők és eltérő filamentátmérők mellett a törlőtorony nem biztos, hogy megfelelően működik. Ez nagyon kísérleti funkció, ezért körültekintően használd." msgstr "Eltérő fúvókaátmérők és eltérő filamentátmérők mellett a törlőtorony nem biztos, hogy megfelelően működik. Ez nagyon kísérleti funkció, ezért körültekintően használd."
@@ -12685,7 +12744,7 @@ msgstr "mm vagy %"
msgid "Other layers" msgid "Other layers"
msgstr "Többi réteg" msgstr "Többi réteg"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "A kezdőréteg utáni asztalhőmérséklet. A 0 azt jelenti, hogy a filament nem nyomtatható a SuperTack hűvös tálcára." msgstr "A kezdőréteg utáni asztalhőmérséklet. A 0 azt jelenti, hogy a filament nem nyomtatható a SuperTack hűvös tálcára."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -14063,6 +14122,8 @@ msgstr "Rétegidő"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "A tárgyhűtő ventilátor azon rétegek esetében lesz engedélyezve, amelyek becsült ideje rövidebb ennél az értéknél. A ventilátor fordulatszáma a rétegnyomtatási időnek megfelelően skálázódik a minimális és maximális ventilátor fordulatszám között" msgstr "A tárgyhűtő ventilátor azon rétegek esetében lesz engedélyezve, amelyek becsült ideje rövidebb ennél az értéknél. A ventilátor fordulatszáma a rétegnyomtatási időnek megfelelően skálázódik a minimális és maximális ventilátor fordulatszám között"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "mp" msgstr "mp"
@@ -14370,6 +14431,62 @@ msgstr "Támaszanyag"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "A támaszanyagot általában a támaszok és azok érintkező felületeinek nyomtatására használják." msgstr "A támaszanyagot általában a támaszok és azok érintkező felületeinek nyomtatására használják."
# AI Translated
msgid "Is mixed filament"
msgstr "Kevert filament-e"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Megadja, hogy ez a filamenthely több fizikai filamentből álló kevert filament-e"
# AI Translated
msgid "Mixed filament components"
msgstr "Kevert filament összetevői"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Az összetevő filamentek vesszővel elválasztott, 1-től induló indexei, pl. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Kevert filament alréteg-arányai"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Vesszővel elválasztott arányértékek, amelyek összege 1.0, pl. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Kevert filament színátmenete"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Bekapcsolja a Z irányú színátmenet módot a kevert filament alrétegeihez. Bekapcsolva az alrétegek arányai lineárisan változnak a rétegek mentén."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Kevert filament színátmenetének tartománya"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Az első összetevő kezdő és záró aránya színátmenet módban. Vesszővel elválasztott számpár, pl. a \"0.10,0.90\" 10%-tól 90%-ig tartót jelent."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Kevert filament színátmenet-görbéje"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Opcionális, Photoshop stílusú egyéni görbe, amely a Z irányú haladást az első összetevő arányához rendeli. Függőleges vonallal elválasztott vezérlőpontokként van kódolva, \"x,y\" (régi) vagy \"x,y,m_in,m_out\" formában, ha az érintő felülbírálására van szükség (üres érték vagy \"nan\" esetén a PCHIP alapértelmezés érvényes). x a [0,1] tartományban van; y a beállított aránytartományra van korlátozva, pl. \"0,0.15|0.5,0.50|1,0.85\". Ha üresen marad, helyette a lineáris gradient_range kerül felhasználásra."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Kevert filament színátmenete tárgyanként"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Ha a színátmenet mód be van kapcsolva, a színátmenet az összeállítás minden tárgyára külön-külön érvényesül, ahelyett hogy az egész összeállítást egyetlen Z tartományként kezelné."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament nyomtatható" msgstr "Filament nyomtatható"
@@ -15633,6 +15750,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Az Y tengely megengedett maximális kimeneti ereje" msgstr "Az Y tengely megengedett maximális kimeneti ereje"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15643,6 +15761,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Az Y tengely gépasztaltömeg-terhelése" msgstr "Az Y tengely gépasztaltömeg-terhelése"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15957,7 +16076,7 @@ msgid "Reduce infill retraction"
msgstr "Csökkentett visszahúzás kitöltésnél" msgstr "Csökkentett visszahúzás kitöltésnél"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Nem történik visszahúzás, amikor a fej csak kitöltés felett halad el, mert az itt történő szivárgás egyébként sem látható. Ez az opció lerövidítheti a nyomtatási időt a visszahúzások csökkentésével komplex modelleknél, de egyúttal lassabbá teszi a szeletelést és a G-kód generálást. Vedd figyelembe, hogy a Z-emelés sem történik meg azokon a területeken, ahol a visszahúzás ki van hagyva." msgstr "Nem történik visszahúzás, amikor a fej csak kitöltés felett halad el, mert az itt történő szivárgás egyébként sem látható. Ez az opció lerövidítheti a nyomtatási időt a visszahúzások csökkentésével komplex modelleknél, de egyúttal lassabbá teszi a szeletelést és a G-kód generálást. Vedd figyelembe, hogy a Z-emelés sem történik meg azokon a területeken, ahol a visszahúzás ki van hagyva."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -16131,7 +16250,7 @@ msgstr "Visszahúzás mértéke törlés után"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"A törlés utáni gyors visszahúzás hossza a visszahúzási hosszhoz viszonyítva.\n" "A törlés utáni gyors visszahúzás hossza a visszahúzási hosszhoz viszonyítva.\n"
@@ -16178,7 +16297,7 @@ msgstr "Amikor a visszahúzás eszközváltás előtt aktiválódik, a filament
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z-emelés magassága" msgstr "Z-emelés magassága"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Visszahúzáskor a fúvóka egy kicsit megemelkedik, hogy a fúvóka és a nyomtatott tárgy között rés keletkezzen. Ez megakadályozza, hogy a fúvóka nagyobb mozgás közben a tárgynak ütközzön. A Z tengely emelésekor használt körkörös mozgás megelőzheti a szálazást." msgstr "Visszahúzáskor a fúvóka egy kicsit megemelkedik, hogy a fúvóka és a nyomtatott tárgy között rés keletkezzen. Ez megakadályozza, hogy a fúvóka nagyobb mozgás közben a tárgynak ütközzön. A Z tengely emelésekor használt körkörös mozgás megelőzheti a szálazást."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17233,6 +17352,14 @@ msgstr ""
"\n" "\n"
"Ha az alábbi \"visszahúzási mennyiség törlés előtt\" beállításban értéket adsz meg, akkor az esetleges többletvisszahúzás a törlés előtt történik meg, különben utána." "Ha az alábbi \"visszahúzási mennyiség törlés előtt\" beállításban értéket adsz meg, akkor az esetleges többletvisszahúzás a törlés előtt történik meg, különben utána."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Kevert színű alréteg"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Bekapcsolja a kevert színű alrétegekre bontást. Bekapcsolva a kevert színű filamentet tartalmazó rétegek alrétegekre lesznek bontva a színkeverési hatás eléréséhez."
# AI Translated # AI Translated
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "A törlőtorony a fúvókán lévő maradék eltávolítására és a fúvóka belsejében lévő nyomás stabilizálására szolgál, hogy elkerülhetők legyenek a megjelenésbeli hibák az objektumok nyomtatásakor." msgstr "A törlőtorony a fúvókán lévő maradék eltávolítására és a fúvóka belsejében lévő nyomás stabilizálására szolgál, hogy elkerülhetők legyenek a megjelenésbeli hibák az objektumok nyomtatásakor."
@@ -18306,6 +18433,10 @@ msgstr "A modellfájl hálósítása sikertelen volt, vagy nincs érvényes alak
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "A megadott fájl nem olvasható be, mert üres" msgstr "A megadott fájl nem olvasható be, mert üres"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "A fájlformátum nem kompatibilis, ezért nem értelmezhető."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Ismeretlen fájlformátum. A bemeneti fájlnak .stl, .obj vagy .amf(.xml) kiterjesztésűnek kell lennie." msgstr "Ismeretlen fájlformátum. A bemeneti fájlnak .stl, .obj vagy .amf(.xml) kiterjesztésűnek kell lennie."
@@ -19796,19 +19927,19 @@ msgstr "Csak azok a nyomtatók jelennek meg, amelyeknél változtak a nyomtató-
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Csak azok a filamentnevek jelennek meg, ahol változtak a filamentbeállítások." msgstr "Csak azok a filamentnevek jelennek meg, ahol változtak a filamentbeállítások."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Csak azok a nyomtatónevek jelennek meg, amelyekhez tartoznak felhasználói beállítások. A kiválasztott beállítások ZIP fájlként kerülnek exportálásra." msgstr "Csak azok a nyomtatónevek jelennek meg, amelyekhez tartoznak felhasználói beállítások. A kiválasztott beállítások ZIP fájlként kerülnek exportálásra."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Csak azok a filamentnevek jelennek meg, amelyekhez tartoznak felhasználói filamentbeállítások,\n" "Csak azok a filamentnevek jelennek meg, amelyekhez tartoznak felhasználói filamentbeállítások,\n"
"és a kiválasztott filamentnevekhez tartozó összes felhasználói filamentbeállítás ZIP-fájlként lesz exportálva." "és a kiválasztott filamentnevekhez tartozó összes felhasználói filamentbeállítás ZIP-fájlként lesz exportálva."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Csak azok a nyomtatónevek jelennek meg, amelyekhez módosított folyamatbeállítások tartoznak,\n" "Csak azok a nyomtatónevek jelennek meg, amelyekhez módosított folyamatbeállítások tartoznak,\n"
"és a kiválasztott nyomtatónevekhez tartozó összes felhasználói folyamatbeállítás ZIP-fájlként lesz exportálva." "és a kiválasztott nyomtatónevekhez tartozó összes felhasználói folyamatbeállítás ZIP-fájlként lesz exportálva."
@@ -20054,7 +20185,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Információra van szükségünk a probléma forrásának feltárásához. A részletes útmutatót a wiki oldalon találod." msgstr "Információra van szükségünk a probléma forrásának feltárásához. A részletes útmutatót a wiki oldalon találod."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "A Csomagolás gomb egy zip fájlba gyűjti a projektfájlt és az aktuális munkamenet naplóit." msgstr "A Csomagolás gomb egy zip fájlba gyűjti a projektfájlt és az aktuális munkamenet naplóit."
# AI Translated # AI Translated
@@ -20110,7 +20241,7 @@ msgid "Stored logs"
msgstr "Tárolt naplók" msgstr "Tárolt naplók"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Az összes tárolt naplót egy zip fájlba csomagolja." msgstr "Az összes tárolt naplót egy zip fájlba csomagolja."
# AI Translated # AI Translated
@@ -20198,7 +20329,7 @@ msgid "Authorizing..."
msgstr "Engedélyezés..." msgstr "Engedélyezés..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Hiba. Nem sikerült API-tokent szerezni az engedélyezéshez" msgstr "Hiba. Nem sikerült API-tokent szerezni az engedélyezéshez"
# AI Translated # AI Translated
@@ -20654,8 +20785,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Intelligens filament-hozzárendelés bekapcsolása: egy filament több fúvókához rendelése a megtakarítás maximalizálásához" msgstr "Intelligens filament-hozzárendelés bekapcsolása: egy filament több fúvókához rendelése a megtakarítás maximalizálásához"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Filamentmegtakarítás" msgstr "Fájl mentése"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Ne emlékeztessen újra" msgstr "Ne emlékeztessen újra"
@@ -21058,6 +21189,9 @@ msgstr "Újraindítás most"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "EGYÁLTALÁN NINCS TÖMÖRÍTÉS" msgstr "EGYÁLTALÁN NINCS TÖMÖRÍTÉS"
msgid "s"
msgstr "mp"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Volumetrikus sebesség" msgstr "Volumetrikus sebesség"
@@ -21709,6 +21843,39 @@ msgstr ""
"Kunkorodás elkerülése\n" "Kunkorodás elkerülése\n"
"Tudtad, hogy a kunkorodásra hajlamos anyagok (például ABS) nyomtatásakor az asztal hőmérsékletének növelése csökkentheti a kunkorodás valószínűségét?" "Tudtad, hogy a kunkorodásra hajlamos anyagok (például ABS) nyomtatásakor az asztal hőmérsékletének növelése csökkentheti a kunkorodás valószínűségét?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "A natív Wayland élőképhez a GStreamer GTK videonyelő szükséges. Telepítsd a gtksink beépülő modult a GStreamerhez, majd indítsd újra az OrcaSlicert."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Nem sikerült inicializálni a natív Wayland GStreamer videonyelőt. Ellenőrizd a GStreamer GTK bővítmény telepítését."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Ehhez a művelethez Windows Media Player szükséges. Szeretnéd engedélyezni a \"Windows Media Player\"-t az operációs rendszerben?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "A BambuSource nincs megfelelően regisztrálva médialejátszáshoz. Kattints az Igen gombra az újbóli regisztráláshoz. Kétszer kapsz majd megerősítési kérést."
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "A médialejátszáshoz szükséges BambuSource-összetevő hiányzik. Kérlek, telepítsd újra az OrcaSlicert, vagy kérj segítséget a közösségtől."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Ha egy másik telepítésből származó BambuSource van használatban, előfordulhat, hogy a videólejátszás nem működik megfelelően. Kattints az Igen gombra a javításhoz."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "A rendszerből hiányoznak a GStreamer H.264 kodekjei, amelyek szükségesek a videolejátszáshoz. (Próbáld telepíteni a gstreamer1.0-plugins-bad vagy a gstreamer1.0-libav csomagokat, majd indítsd újra az Orca Slicert.)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Filamentmegtakarítás"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+213 -46
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@@ -2953,6 +2953,10 @@ msgstr "Modifica"
msgid "Merge with" msgid "Merge with"
msgstr "Unisci con" msgstr "Unisci con"
# AI Translated
msgid "Decompose Color"
msgstr "Scomponi colore"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Elimina questo filamento" msgstr "Elimina questo filamento"
@@ -3252,6 +3256,10 @@ msgstr "Assemblaggio"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Unisci parti in un oggetto" msgstr "Unisci parti in un oggetto"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "L'uso dell'altezza strato variabile insieme al sottostrato di colore misto può ridurre la qualità della miscelazione dei colori."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Aggiungi strati" msgstr "Aggiungi strati"
@@ -4805,7 +4813,7 @@ msgstr ""
"\n" "\n"
"Il valore verrà reimpostato a 0." "Il valore verrà reimpostato a 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Parete aggiuntiva alternativa non funziona bene quando \"Garantisci spessore verticale del guscio\" è impostato su Tutto." msgstr "Parete aggiuntiva alternativa non funziona bene quando \"Garantisci spessore verticale del guscio\" è impostato su Tutto."
msgid "" msgid ""
@@ -4851,7 +4859,7 @@ msgstr ""
"NO - Mantieni Altezza strato di supporto indipendente" "NO - Mantieni Altezza strato di supporto indipendente"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height deve essere inferiore a layer_height.\n" "seam_slope_start_height deve essere inferiore a layer_height.\n"
@@ -4859,7 +4867,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"La profondità di intersezione deve essere inferiore alla profondità della pelle.\n" "La profondità di intersezione deve essere inferiore alla profondità della pelle.\n"
@@ -6325,10 +6333,10 @@ msgstr "Importa 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Carica modello" msgstr "Carica modello"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importa archivio Zip" msgstr "Importa archivio Zip"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Carica i modelli contenuti in un archivio zip" msgstr "Carica i modelli contenuti in un archivio zip"
msgid "Import Configs" msgid "Import Configs"
@@ -7851,6 +7859,10 @@ msgstr "Personalizza il piatto corrente"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "L'ugello %s non può stampare %s." msgstr "L'ugello %s non può stampare %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "La stampa di filamento a colore misto su una stampante a estrusore singolo richiede frequenti cambi di filamento e spurghi, il che può aumentare notevolmente gli scarti e il rischio di intasamento dell'ugello o dello scivolo di scarto."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Non è consigliato miscelare %1% con %2% nella stampa.\n" msgstr "Non è consigliato miscelare %1% con %2% nella stampa.\n"
@@ -7976,12 +7988,44 @@ msgstr "Sincronizza l'elenco filamenti dall'AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Imposta filamenti da usare" msgstr "Imposta filamenti da usare"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Aggiungi filamento misto"
# AI Translated
msgid "Mixed Filament"
msgstr "Filamento misto"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Rimuovi l'ultimo filamento misto"
# AI Translated
msgid "Add mixed filament"
msgstr "Aggiungi filamento misto"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Il filamento misto ha componenti non validi o incoerenti. Modificare nuovamente le voci interessate."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Cerca piatto, oggetto e parte." msgstr "Cerca piatto, oggetto e parte."
msgid "Pellets" msgid "Pellets"
msgstr "Granuli" msgstr "Granuli"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Il filamento misto ha riferimenti a componenti non validi"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Modifica / Elimina / Unisci"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Il filamento misto di destinazione utilizza questo filamento fisico come componente. L'unione rimuoverà questo filamento fisico e potrebbe invalidare il filamento misto. Continuare?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Al completamento dell'operazione, il progetto %s verrà chiuso e ne verrà creato uno nuovo." msgstr "Al completamento dell'operazione, il progetto %s verrà chiuso e ne verrà creato uno nuovo."
@@ -8119,8 +8163,8 @@ msgstr "Si prega di confermare che i G-code all'interno di questi profili sono s
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Profilo personalizzato" msgstr "Profilo personalizzato"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Il nome dei componenti all'interno del file STEP non è in formato UTF8!" msgstr "Il nome dei componenti all'interno del file STEP non è in formato UTF-8!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "A causa di una codifica del testo non supportata, potrebbero apparire caratteri inutili!" msgstr "A causa di una codifica del testo non supportata, potrebbero apparire caratteri inutili!"
@@ -8141,10 +8185,10 @@ msgstr "Il volume dell'oggetto è zero"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"L'oggetto del file %s è troppo piccolo e può essere in metri o pollici.\n" "L'oggetto del file %s è troppo piccolo e può essere in metri o pollici.\n"
" Si desidera scalare in millimetri?" "Si desidera scalare in millimetri?"
msgid "Object too small" msgid "Object too small"
msgstr "Oggetto troppo piccolo" msgstr "Oggetto troppo piccolo"
@@ -8161,6 +8205,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Rilevato oggetto in più parti" msgstr "Rilevato oggetto in più parti"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Associazione delle trame ai filamenti"
# AI Translated
msgid "Texture Import Warning"
msgstr "Avviso di importazione trama"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Caricare questi file come un singolo oggetto con più parti?\n" msgstr "Caricare questi file come un singolo oggetto con più parti?\n"
@@ -8371,6 +8423,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Sincronizza ora" msgstr "Sincronizza ora"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Importazione della trama non riuscita. Il modello sembra contenere dati di trama, ma non è stato possibile completare il processo di importazione. Il modello verrà importato solo come geometria."
# AI Translated
msgid "Applying texture colors..."
msgstr "Applicazione dei colori della trama..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Aggiornamento della vista 3D..."
# AI Translated
msgid "Texture colors applied."
msgstr "Colori della trama applicati."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "È possibile conservare i profili modificati per il nuovo progetto o scartarli" msgstr "È possibile conservare i profili modificati per il nuovo progetto o scartarli"
@@ -9654,6 +9722,10 @@ msgstr "Vaso a spirale"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Sequenza filamenti primo strato" msgstr "Sequenza filamenti primo strato"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "L'elenco dei filamenti contiene filamenti misti. La sequenza di filamenti personalizzata non avrà effetto."
msgid "By Layer" msgid "By Layer"
msgstr "Per strato" msgstr "Per strato"
@@ -11044,12 +11116,12 @@ msgid "No modifications need to be copied."
msgstr "Non è necessario copiare alcuna modifica." msgstr "Non è necessario copiare alcuna modifica."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Copia parametri" msgstr "Copia parametri"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Modifica i parametri di %s" msgstr "Modifica i parametri di %s"
# AI Translated # AI Translated
@@ -11571,27 +11643,6 @@ msgstr "Volumi di spurgo per cambio filamento"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Scegliere il colore del filamento" msgstr "Scegliere il colore del filamento"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "La funzione di visualizzazione in tempo reale nativa di Wayland richiede il ricevitore video GTK di GStreamer. Installare il modulo gtksink per GStreamer e riavviare OrcaSlicer."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Impossibile inizializzare il ricevitore video nativo di Wayland GStreamer. Verificare l'installazione del modulo GTK di GStreamer."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Per questa operazione è necessario Windows Media Player! Desideri abilitare 'Windows Media Player' sul il tuo sistema operativo?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource non è stato registrato correttamente per la riproduzione multimediale! Fare clic su Sì per effettuare nuovamente la registrazione. Sarai promosso due volte"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Componente BambuSource mancante per la riproduzione multimediale! Reinstallare OrcaSlicer o cercare aiuto nella comunità."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "È in uso una versione di BambuSource da un'installazione diversa. La riproduzione video potrebbe non funzionare correttamente! Fare clic su Sì per risolvere il problema."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Nel tuo sistema mancano i codec H.264 per GStreamer, necessari per riprodurre i video. (Provare a installare i pacchetti gstreamer1.0-plugins-bad o gstreamer1.0-libav e riavviare OrcaSlicer?)"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Il fornitore di servizi cloud non è disponibile. Riavviare OrcaSlicer e riprovare." msgstr "Il fornitore di servizi cloud non è disponibile. Riavviare OrcaSlicer e riprovare."
@@ -12303,6 +12354,10 @@ msgstr "Se desideri comunque stampare, puoi abilitare l'opzione in Preferenze /
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Nessuna estrusione con le impostazioni attuali." msgstr "Nessuna estrusione con le impostazioni attuali."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "È in uso un filamento misto con gradiente, ma 'Sottostrato di colore misto' è disattivato. Il gradiente non verrà stampato."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "La modalità fluida del timelapse non è supportata quando è abilitata la sequenza \"Per oggetto\"." msgstr "La modalità fluida del timelapse non è supportata quando è abilitata la sequenza \"Per oggetto\"."
@@ -12339,6 +12394,10 @@ msgstr "È possibile ridurre le dimensioni del modello o modificare le impostazi
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Altezza strato adattiva non è compatibile con i Supporti organici." msgstr "Altezza strato adattiva non è compatibile con i Supporti organici."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Il filamento della torre di spurgo non può essere un filamento misto."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Ugelli e filamenti di diverso diametro potrebbero non funzionare correttamente quando è abilitata la torre di spurgo. Questa funzione è sperimentale, quindi procedere con cautela." msgstr "Ugelli e filamenti di diverso diametro potrebbero non funzionare correttamente quando è abilitata la torre di spurgo. Questa funzione è sperimentale, quindi procedere con cautela."
@@ -12705,8 +12764,8 @@ msgstr "mm o %"
msgid "Other layers" msgid "Other layers"
msgstr "Altri strati" msgstr "Altri strati"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Temperatura del piatto per gli strati diversi dal primo. Un valore di 0 significa che il filamento non supporta la stampa su Cool Plate SuperTack." msgstr "Indica la temperatura del piatto per tutti gli strati eccetto il primo. Un valore di 0 significa che il filamento non supporta la stampa su Cool Plate SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
msgstr "Indica la temperatura del piatto per tutti gli strati eccetto il primo. Un valore pari a 0 indica che il filamento non supporta la stampa su Piatto a bassa temperatura." msgstr "Indica la temperatura del piatto per tutti gli strati eccetto il primo. Un valore pari a 0 indica che il filamento non supporta la stampa su Piatto a bassa temperatura."
@@ -14082,6 +14141,8 @@ msgstr "Durata strato"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "La ventola di raffreddamento verrà attivata per gli strati in cui il tempo stimato è inferiore a questo valore. La velocità della ventola varierà tra la velocità minima e massima in base alla durata stimata di stampa dello strato." msgstr "La ventola di raffreddamento verrà attivata per gli strati in cui il tempo stimato è inferiore a questo valore. La velocità della ventola varierà tra la velocità minima e massima in base alla durata stimata di stampa dello strato."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14388,6 +14449,62 @@ msgstr "Materiale di supporto"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Il materiale di supporto viene comunemente utilizzato per stampare supporti e interfacce di supporto." msgstr "Il materiale di supporto viene comunemente utilizzato per stampare supporti e interfacce di supporto."
# AI Translated
msgid "Is mixed filament"
msgstr "È filamento misto"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Indica se questo slot di filamento è un filamento misto composto da più filamenti fisici"
# AI Translated
msgid "Mixed filament components"
msgstr "Componenti del filamento misto"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Indici (a partire da 1) dei filamenti componenti, separati da virgole; es. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Proporzioni dei sottostrati del filamento misto"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Valori di proporzione separati da virgole la cui somma sia 1.0; es. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Gradiente del filamento misto"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Attiva la modalità gradiente in direzione Z per i sottostrati del filamento misto. Se attivata, le proporzioni dei sottostrati variano linearmente tra gli strati."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Intervallo del gradiente del filamento misto"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Proporzioni iniziale e finale del primo componente in modalità gradiente. Coppia separata da virgola; es. \"0.10,0.90\" significa dal 10% al 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Curva del gradiente del filamento misto"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Curva personalizzata opzionale, in stile Photoshop, che mappa l'avanzamento in Z sulla proporzione del primo componente. Codificata come punti di controllo separati da barre verticali, nel formato \"x,y\" (legacy) oppure \"x,y,m_in,m_out\" quando è necessario forzare la tangente (un valore vuoto o \"nan\" usa il valore PCHIP predefinito). x è compreso in [0,1]; y viene limitato all'intervallo di proporzioni configurato; es. \"0,0.15|0.5,0.50|1,0.85\". Se vuoto, viene usato il gradient_range lineare."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Gradiente per parte del filamento misto"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Quando la modalità gradiente è attiva, applica il gradiente a ciascuna parte di un assemblaggio in modo indipendente anziché trattare l'intero assemblaggio come un unico intervallo Z."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filamento stampabile" msgstr "Filamento stampabile"
@@ -15655,6 +15772,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "La forza di uscita massima consentita dell'asse Y" msgstr "La forza di uscita massima consentita dell'asse Y"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15665,6 +15783,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Il carico di massa del piano della macchina sull'asse Y" msgstr "Il carico di massa del piano della macchina sull'asse Y"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15976,7 +16095,7 @@ msgid "Reduce infill retraction"
msgstr "Evita retrazione nel riempimento" msgstr "Evita retrazione nel riempimento"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Non ritrarre quando gli spostamenti si trovano interamente in un'area di riempimento. Ciò significa che il trasudo del materiale non è visibile. Questo può ridurre i tempi di retrazione per i modelli complessi e far risparmiare tempo di stampa, ma rende più lente l'elaborazione e la generazione del G-code. Nota che anche il sollevamento Z non viene eseguito nelle aree in cui la retrazione viene saltata." msgstr "Non ritrarre quando gli spostamenti si trovano interamente in un'area di riempimento. Ciò significa che il trasudo del materiale non è visibile. Questo può ridurre i tempi di retrazione per i modelli complessi e far risparmiare tempo di stampa, ma rende più lente l'elaborazione e la generazione del G-code. Nota che anche il sollevamento Z non viene eseguito nelle aree in cui la retrazione viene saltata."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -16150,7 +16269,7 @@ msgstr "Quantità di retrazione dopo la pulizia"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"La lunghezza della retrazione rapida dopo la pulizia, relativa alla lunghezza di retrazione.\n" "La lunghezza della retrazione rapida dopo la pulizia, relativa alla lunghezza di retrazione.\n"
@@ -16197,7 +16316,7 @@ msgstr "Quando la retrazione viene attivata prima di un cambio testina, il filam
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Altezza sollevamento Z" msgstr "Altezza sollevamento Z"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Ogni volta che si verifica una retrazione, l'ugello viene sollevato leggermente per creare spazio tra ugello e stampa. Ciò impedisce all'ugello di colpire la stampa negli spostamenti. L'uso di linee a spirale per il sollevamento sull'asse Z può evitare gli sfilacciamenti sulla stampa." msgstr "Ogni volta che si verifica una retrazione, l'ugello viene sollevato leggermente per creare spazio tra ugello e stampa. Ciò impedisce all'ugello di colpire la stampa negli spostamenti. L'uso di linee a spirale per il sollevamento sull'asse Z può evitare gli sfilacciamenti sulla stampa."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17258,6 +17377,14 @@ msgstr ""
"\n" "\n"
"Impostando un valore di quantità di retrazione prima dell'impostazione di spurgo di seguito, verra eseguita qualsiasi retrazione in eccesso prima dello spurgo. Altrimenti verrà eseguita dopo." "Impostando un valore di quantità di retrazione prima dell'impostazione di spurgo di seguito, verra eseguita qualsiasi retrazione in eccesso prima dello spurgo. Altrimenti verrà eseguita dopo."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Sottostrato di colore misto"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Attiva la suddivisione in sottostrati di colore misto. Se attivata, gli strati che contengono filamenti a colore misto vengono suddivisi in sottostrati per ottenere effetti di miscelazione dei colori."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "La torre di spurgo può essere utilizzata per pulire i residui presenti sull'ugello e stabilizzare la pressione della camera all'interno dell'ugello, al fine di evitare difetti estetici durante la stampa." msgstr "La torre di spurgo può essere utilizzata per pulire i residui presenti sull'ugello e stabilizzare la pressione della camera all'interno dell'ugello, al fine di evitare difetti estetici durante la stampa."
@@ -18329,6 +18456,10 @@ msgstr "La generazione della mesh del file del modello è fallita o la forma non
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Impossibile leggere il file fornito perché è vuoto" msgstr "Impossibile leggere il file fornito perché è vuoto"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Il formato del file non è compatibile e non può essere interpretato."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Formato file sconosciuto: il file di input deve avere un'estensione .stl, .obj o .amf(.xml)." msgstr "Formato file sconosciuto: il file di input deve avere un'estensione .stl, .obj o .amf(.xml)."
@@ -19813,21 +19944,21 @@ msgstr "Vengono visualizzate solo le stampanti con modifiche ai profili di stamp
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Nomi dei filamenti con modifiche ai profili di filamento." msgstr "Nomi dei filamenti con modifiche ai profili di filamento."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "" msgstr ""
"Nomi delle stampanti con profili creati dell'utente.\n" "Nomi delle stampanti con profili creati dell'utente.\n"
"Tutti i profili selezionati saranno esportati come file zip." "Tutti i profili selezionati saranno esportati come file zip."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Nomi dei filamenti con profili creati dell'utente.\n" "Nomi dei filamenti con profili creati dell'utente.\n"
"Tutti i profili selezionati saranno esportati come file zip." "Tutti i profili selezionati saranno esportati come file zip."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Nomi delle stampanti con profili di processo modificati.\n" "Nomi delle stampanti con profili di processo modificati.\n"
"Tutti i profili selezionati saranno esportati come file zip." "Tutti i profili selezionati saranno esportati come file zip."
@@ -20072,7 +20203,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Abbiamo bisogno di informazioni per diagnosticare l'origine del problema. Consulta la pagina wiki per una guida dettagliata." msgstr "Abbiamo bisogno di informazioni per diagnosticare l'origine del problema. Consulta la pagina wiki per una guida dettagliata."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Il pulsante Comprimi raccoglie il file di progetto e i log della sessione corrente in un file zip." msgstr "Il pulsante Comprimi raccoglie il file di progetto e i log della sessione corrente in un file zip."
# AI Translated # AI Translated
@@ -20128,7 +20259,7 @@ msgid "Stored logs"
msgstr "Log memorizzati" msgstr "Log memorizzati"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Comprime tutti i log memorizzati in un file zip." msgstr "Comprime tutti i log memorizzati in un file zip."
# AI Translated # AI Translated
@@ -20216,7 +20347,7 @@ msgid "Authorizing..."
msgstr "Autorizzazione in corso..." msgstr "Autorizzazione in corso..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Errore. Impossibile ottenere il token API per l'autorizzazione" msgstr "Errore. Impossibile ottenere il token API per l'autorizzazione"
# AI Translated # AI Translated
@@ -20672,8 +20803,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Abilita l'assegnazione intelligente del filamento: assegna un filamento a più ugelli per massimizzare il risparmio" msgstr "Abilita l'assegnazione intelligente del filamento: assegna un filamento a più ugelli per massimizzare il risparmio"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Risparmio filamento" msgstr "Salvataggio file"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Non ricordarmelo più" msgstr "Non ricordarmelo più"
@@ -21082,6 +21213,9 @@ msgstr "Riavvia ora"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "NESSUNA SPINTA" msgstr "NESSUNA SPINTA"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Velocità volumetrica" msgstr "Velocità volumetrica"
@@ -21733,6 +21867,39 @@ msgstr ""
"Evita le deformazioni\n" "Evita le deformazioni\n"
"Sapevi che quando si stampano materiali soggetti a deformazioni come l'ABS, aumentare in modo appropriato la temperatura del piano riscaldato può ridurre la probabilità di deformazione?" "Sapevi che quando si stampano materiali soggetti a deformazioni come l'ABS, aumentare in modo appropriato la temperatura del piano riscaldato può ridurre la probabilità di deformazione?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "La funzione di visualizzazione in tempo reale nativa di Wayland richiede il ricevitore video GTK di GStreamer. Installare il modulo gtksink per GStreamer e riavviare OrcaSlicer."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Impossibile inizializzare il ricevitore video nativo di Wayland GStreamer. Verificare l'installazione del modulo GTK di GStreamer."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Per questa operazione è necessario Windows Media Player! Desideri abilitare 'Windows Media Player' sul il tuo sistema operativo?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource non è stato registrato correttamente per la riproduzione multimediale! Fare clic su Sì per effettuare nuovamente la registrazione. Sarai promosso due volte"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Componente BambuSource mancante per la riproduzione multimediale! Reinstallare OrcaSlicer o cercare aiuto nella comunità."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "È in uso una versione di BambuSource da un'installazione diversa. La riproduzione video potrebbe non funzionare correttamente! Fare clic su Sì per risolvere il problema."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Nel tuo sistema mancano i codec H.264 per GStreamer, necessari per riprodurre i video. (Provare a installare i pacchetti gstreamer1.0-plugins-bad o gstreamer1.0-libav e riavviare OrcaSlicer?)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Risparmio filamento"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+232 -67
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@@ -2969,6 +2969,10 @@ msgstr "編集"
msgid "Merge with" msgid "Merge with"
msgstr "結合" msgstr "結合"
# AI Translated
msgid "Decompose Color"
msgstr "色を分解"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "このフィラメントを削除" msgstr "このフィラメントを削除"
@@ -3266,6 +3270,10 @@ msgstr "アセンブリ"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "パーツをオブジェクトに結合" msgstr "パーツをオブジェクトに結合"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "可変積層ピッチと混色サブレイヤーを併用すると、混色の品質が低下する場合があります。"
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "積層を追加" msgstr "積層を追加"
@@ -4818,7 +4826,7 @@ msgstr ""
"\n" "\n"
"値は0にリセットされます。" "値は0にリセットされます。"
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "垂直シェル厚さを「すべて」に設定すると、交互追加壁が適切に機能しません。" msgstr "垂直シェル厚さを「すべて」に設定すると、交互追加壁が適切に機能しません。"
msgid "" msgid ""
@@ -4864,7 +4872,7 @@ msgstr ""
"いいえ - 「独立サポート積層ピッチ」を有効にする" "いいえ - 「独立サポート積層ピッチ」を有効にする"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_heightはlayer_heightより小さくする必要があります。\n" "seam_slope_start_heightはlayer_heightより小さくする必要があります。\n"
@@ -4872,7 +4880,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"ロック深さはスキン深さより小さくする必要があります。\n" "ロック深さはスキン深さより小さくする必要があります。\n"
@@ -6334,10 +6342,10 @@ msgstr "3MF/STL/STEP/SVG/OBJ/AMFをインポート"
msgid "Load a model" msgid "Load a model"
msgstr "モデルを読み込む" msgstr "モデルを読み込む"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "ZIPアーカイブをインポート" msgstr "ZIPアーカイブをインポート"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "ZIPアーカイブ内のモデルをロード" msgstr "ZIPアーカイブ内のモデルをロード"
msgid "Import Configs" msgid "Import Configs"
@@ -7859,6 +7867,10 @@ msgstr "現在のプレートをカスタマイズ"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "%sノズルは%sを印刷できません。" msgstr "%sノズルは%sを印刷できません。"
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "単一押出機のプリンターで混色フィラメントを印刷すると、フィラメント交換とフラッシュが頻繁に発生し、廃材やノズル/廃棄シュートの詰まりのリスクが大幅に増加する可能性があります。"
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "%1%と%2%を混合して印刷することは推奨されません。\n" msgstr "%1%と%2%を混合して印刷することは推奨されません。\n"
@@ -7984,12 +7996,44 @@ msgstr "AMSと素材を同期"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "フィラメントを選択" msgstr "フィラメントを選択"
# AI Translated
msgid "Add Mixed Filament"
msgstr "混合フィラメントを追加"
# AI Translated
msgid "Mixed Filament"
msgstr "混合フィラメント"
# AI Translated
msgid "Remove last mixed filament"
msgstr "最後の混合フィラメントを削除"
# AI Translated
msgid "Add mixed filament"
msgstr "混合フィラメントを追加"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "混合フィラメントのコンポーネントが無効か一致していません。該当する項目を編集し直してください。"
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "プレート、オブジェクト、パーツを検索。" msgstr "プレート、オブジェクト、パーツを検索。"
msgid "Pellets" msgid "Pellets"
msgstr "ペレット" msgstr "ペレット"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "混合フィラメントのコンポーネント参照が壊れています"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "編集 / 削除 / 結合"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "対象の混合フィラメントはこの物理フィラメントをコンポーネントとして使用しています。結合するとこの物理フィラメントは削除され、混合フィラメントが無効になる可能性があります。続行しますか?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "操作完了後、%sプロジェクトが閉じられ、新しいプロジェクトが作成されます。" msgstr "操作完了後、%sプロジェクトが閉じられ、新しいプロジェクトが作成されます。"
@@ -8133,8 +8177,8 @@ msgstr "これらのプリセット内のG-codeがマシンに損傷を与えな
msgid "Customized Preset" msgid "Customized Preset"
msgstr "カスタマイズされたプリセット" msgstr "カスタマイズされたプリセット"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "ファイルのエンコーディング方式はUTF8形式ではありません" msgstr "ファイルのエンコーディング方式はUTF-8形式ではありません"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "文字化けがあるようです、ご確認ください" msgstr "文字化けがあるようです、ご確認ください"
@@ -8155,7 +8199,7 @@ msgstr "オブジェクトの体積が0です"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"ファイル %s 中のオブジェクトが小さいすぎます、ファイルの単位をご確認ください。\n" "ファイル %s 中のオブジェクトが小さいすぎます、ファイルの単位をご確認ください。\n"
"mm単位に変換しますか?" "mm単位に変換しますか?"
@@ -8176,6 +8220,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "マルチパーツ検出" msgstr "マルチパーツ検出"
# AI Translated
msgid "Matching textures to filaments"
msgstr "テクスチャをフィラメントに対応付けています"
# AI Translated
msgid "Texture Import Warning"
msgstr "テクスチャインポートの警告"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "これらのファイルを一つのオブジェクトとしてロードしますか?\n" msgstr "これらのファイルを一つのオブジェクトとしてロードしますか?\n"
@@ -8389,6 +8441,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "今すぐ同期" msgstr "今すぐ同期"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "テクスチャのインポートに失敗しました。モデルにテクスチャデータが含まれているようですが、インポート処理を完了できませんでした。モデルはジオメトリのみとしてインポートされます。"
# AI Translated
msgid "Applying texture colors..."
msgstr "テクスチャの色を適用しています..."
# AI Translated
msgid "Updating 3D view..."
msgstr "3Dビューを更新しています..."
# AI Translated
msgid "Texture colors applied."
msgstr "テクスチャの色を適用しました。"
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "変更したプリセットをプロジェクト内に保存するか、破棄もできます" msgstr "変更したプリセットをプロジェクト内に保存するか、破棄もできます"
@@ -9676,6 +9744,10 @@ msgstr "スパイラル"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "初期レイヤーフィラメント順序" msgstr "初期レイヤーフィラメント順序"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "フィラメントリストに混合フィラメントが含まれています。カスタムフィラメント順序は適用されません。"
msgid "By Layer" msgid "By Layer"
msgstr "レイヤー別" msgstr "レイヤー別"
@@ -10617,7 +10689,7 @@ msgid "Junction Deviation"
msgstr "接合偏差" msgstr "接合偏差"
msgid "Jerk(XY)" msgid "Jerk(XY)"
msgstr "ジャーク(XY)" msgstr "Jerk(XY)"
msgid "Raft" msgid "Raft"
msgstr "ラフト" msgstr "ラフト"
@@ -10914,7 +10986,7 @@ msgid "Acceleration limitation"
msgstr "加速制限" msgstr "加速制限"
msgid "Jerk limitation" msgid "Jerk limitation"
msgstr "振動特性" msgstr "Jerk制限"
msgid "Single extruder multi-material setup" msgid "Single extruder multi-material setup"
msgstr "シングルエクストルーダー マルチマテリアル設定" msgstr "シングルエクストルーダー マルチマテリアル設定"
@@ -11068,12 +11140,12 @@ msgid "No modifications need to be copied."
msgstr "コピーが必要な変更はありません。" msgstr "コピーが必要な変更はありません。"
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "パラメータをコピー" msgstr "パラメータをコピー"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "%sのパラメータを変更" msgstr "%sのパラメータを変更"
# AI Translated # AI Translated
@@ -11591,33 +11663,6 @@ msgstr "フィラメントを入替える為のフラッシュ量"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "フィラメントの色を選択してください" msgstr "フィラメントの色を選択してください"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "ネイティブWaylandのライブビューにはGStreamer GTKビデオシンクが必要です。GStreamer用のgtksinkプラグインをインストールし、OrcaSlicerを再起動してください。"
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "ネイティブWaylandのGStreamerビデオシンクの初期化に失敗しました。GStreamer GTKプラグインのインストール状況をご確認ください。"
# AI Translated
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "このタスクにはWindows Media Playerが必要です!お使いのOSで「Windows Media Player」を有効にしますか?"
# AI Translated
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "メディア再生用のBambuSourceが正しく登録されていません!「はい」を押して再登録してください。確認が2回表示されます"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "メディア再生用のBambuSourceコンポーネントが見つかりません!OrcaSlicerを再インストールするかコミュニティに助けを求めてください。"
# AI Translated
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "別のインストール環境のBambuSourceを使用しているため、動画が正しく再生されない可能性があります!「はい」を押して修正してください。"
# AI Translated
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "お使いのシステムには、動画再生に必要なGStreamer用のH.264コーデックがありません。(gstreamer1.0-plugins-badまたはgstreamer1.0-libavパッケージをインストールし、Orca Slicerを再起動してみてください)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "クラウドエージェントが利用できません。OrcaSlicerを再起動して再試行してください。" msgstr "クラウドエージェントが利用できません。OrcaSlicerを再起動して再試行してください。"
@@ -12343,6 +12388,10 @@ msgstr "それでも印刷する場合は、環境設定 / 制御 / スライス
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "現在の設定では造形しません" msgstr "現在の設定では造形しません"
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "グラデーション付きの混合フィラメントが使用されていますが、「混色サブレイヤー」が無効です。グラデーションは印刷されません。"
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "オブジェクト順で造形するでは、この機能を使用できません。" msgstr "オブジェクト順で造形するでは、この機能を使用できません。"
@@ -12379,6 +12428,10 @@ msgstr "モデルのサイズを小さくするか、現在のプリント設定
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "可変レイヤー高さはオーガニックサポートではサポートされていません。" msgstr "可変レイヤー高さはオーガニックサポートではサポートされていません。"
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "ワイプタワーのフィラメントに混合フィラメントは使用できません。"
# AI Translated # AI Translated
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "ノズル径やフィラメント径が異なる場合、プライムタワーを有効にすると正しく動作しないことがあります。非常に実験的な機能ですので、慎重にお進みください。" msgstr "ノズル径やフィラメント径が異なる場合、プライムタワーを有効にすると正しく動作しないことがあります。非常に実験的な機能ですので、慎重にお進みください。"
@@ -12485,7 +12538,7 @@ msgid "Plate %d: %s does not support filament %s"
msgstr "プレート %d: %s がフィラメント %s を使用できません" msgstr "プレート %d: %s がフィラメント %s を使用できません"
msgid "Setting the jerk speed too low could lead to artifacts on curved surfaces" msgid "Setting the jerk speed too low could lead to artifacts on curved surfaces"
msgstr "ジャーク速度を低く設定しすぎると曲面にアーティファクトが発生する可能性があります" msgstr "Jerk速度を低く設定しすぎると曲面にアーティファクトが発生する可能性があります"
# AI Translated # AI Translated
msgid "" msgid ""
@@ -12756,14 +12809,12 @@ msgstr "mm 或は %"
msgid "Other layers" msgid "Other layers"
msgstr "他の層" msgstr "他の層"
# AI Translated msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "1層目を除く各層のベッド温度です。0の場合、そのフィラメントはCool Plate SuperTackでの印刷に対応していません。" msgstr "1層目を除く各層のベッド温度です。0の場合、そのフィラメントはCool Plate SuperTackでの印刷に対応していません。"
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
msgstr "ベッドの温度です(1層目以外)。値が0の場合、フィラメントが常温プレートで使用できないという意味です。" msgstr "ベッドの温度です(1層目以外)。値が0の場合、フィラメントが常温プレートで使用できないという意味です。"
# AI Translated
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Textured Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Textured Cool Plate."
msgstr "1層目を除く各層のベッド温度です。0の場合、そのフィラメントはTextured Cool Plateでの印刷に対応していません。" msgstr "1層目を除く各層のベッド温度です。0の場合、そのフィラメントはTextured Cool Plateでの印刷に対応していません。"
@@ -12774,7 +12825,7 @@ msgid "This is the bed temperature for layers except for the first one. A value
msgstr "ベッドの温度です(1層目以外)。値が0の場合、フィラメントが高温プレートで使用できないという意味です。" msgstr "ベッドの温度です(1層目以外)。値が0の場合、フィラメントが高温プレートで使用できないという意味です。"
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Textured PEI Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Textured PEI Plate."
msgstr "1層目以外のベッド温度。値が0の場合、フィラメントがPEIプレートをサポートしない意味をします。" msgstr "1層目を除く各層のベッド温度です。0の場合、そのフィラメントはTextured PEI Plateでの印刷に対応していません。"
msgid "First layer" msgid "First layer"
msgstr "1層目" msgstr "1層目"
@@ -14200,6 +14251,8 @@ msgstr "積層時間"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "パーツ冷却ファンは、積層造形時間がこの値より短い時に作動します。" msgstr "パーツ冷却ファンは、積層造形時間がこの値より短い時に作動します。"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14518,6 +14571,62 @@ msgstr "サポート材料"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "サポート素材は、サポート又はサポート接触面の造形によく使われます。" msgstr "サポート素材は、サポート又はサポート接触面の造形によく使われます。"
# AI Translated
msgid "Is mixed filament"
msgstr "混合フィラメントかどうか"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "このフィラメントスロットが複数の物理フィラメントで構成される混合フィラメントかどうか"
# AI Translated
msgid "Mixed filament components"
msgstr "混合フィラメントのコンポーネント"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "構成フィラメントの番号(1 始まり)をカンマ区切りで指定します。例: \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "混合フィラメントのサブレイヤー比率"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "合計が 1.0 になる比率をカンマ区切りで指定します。例: \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "混合フィラメントのグラデーション"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "混合フィラメントのサブレイヤーに対して Z 方向のグラデーションモードを有効にします。有効にすると、サブレイヤーの比率が積層ごとに直線的に変化します。"
# AI Translated
msgid "Mixed filament gradient range"
msgstr "混合フィラメントのグラデーション範囲"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "グラデーションモードにおける最初のコンポーネントの開始比率と終了比率。カンマ区切りの 2 つの値で指定します。例: \"0.10,0.90\" は 10% から 90% を意味します。"
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "混合フィラメントのグラデーションカーブ"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Z 方向の進行度を最初のコンポーネントの比率に対応付ける、Photoshop 風のカスタムカーブ(省略可)。制御点を縦棒区切りでエンコードし、\"x,y\"(旧形式)または接線を上書きする場合は \"x,y,m_in,m_out\" の形式で指定します(空欄または \"nan\" は PCHIP の既定値を使用します)。x は [0,1] の範囲で、y は設定された比率範囲に制限されます。例: \"0,0.15|0.5,0.50|1,0.85\"。空欄の場合は線形の gradient_range が使用されます。"
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "混合フィラメントのパーツ別グラデーション"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "グラデーションモードが有効な場合、アセンブリ全体を 1 つの Z 範囲として扱うのではなく、アセンブリ内の各パーツに個別にグラデーションを適用します。"
msgid "Filament printable" msgid "Filament printable"
msgstr "フィラメント印刷可能" msgstr "フィラメント印刷可能"
@@ -14750,7 +14859,7 @@ msgid "Klipper's max_accel_to_decel will be adjusted to this %% of acceleration.
msgstr "Klipperのmax_accel_to_decelが、加速度のこの%%に調整されます。" msgstr "Klipperのmax_accel_to_decelが、加速度のこの%%に調整されます。"
msgid "Default jerk." msgid "Default jerk."
msgstr "デフォルトジャーク。" msgstr "デフォルトのJerkです。"
# AI Translated # AI Translated
msgid "Marlin Firmware Junction Deviation (replaces the traditional XY Jerk setting)." msgid "Marlin Firmware Junction Deviation (replaces the traditional XY Jerk setting)."
@@ -15841,28 +15950,28 @@ msgid "Maximum acceleration of the E axis"
msgstr "E軸最大加速度" msgstr "E軸最大加速度"
msgid "Maximum jerk X" msgid "Maximum jerk X"
msgstr "最大振動 X" msgstr "最大Jerk X"
msgid "Maximum jerk Y" msgid "Maximum jerk Y"
msgstr "最大振動 Y" msgstr "最大Jerk Y"
msgid "Maximum jerk Z" msgid "Maximum jerk Z"
msgstr "最大振動 Z" msgstr "最大Jerk Z"
msgid "Maximum jerk E" msgid "Maximum jerk E"
msgstr "最大振動 E" msgstr "最大Jerk E"
msgid "Maximum jerk of the X axis" msgid "Maximum jerk of the X axis"
msgstr "最大振動 X" msgstr "X軸最大Jerk"
msgid "Maximum jerk of the Y axis" msgid "Maximum jerk of the Y axis"
msgstr "最大振動 Y" msgstr "Y軸最大Jerk"
msgid "Maximum jerk of the Z axis" msgid "Maximum jerk of the Z axis"
msgstr "最大振動 Z" msgstr "Z軸最大Jerk"
msgid "Maximum jerk of the E axis" msgid "Maximum jerk of the E axis"
msgstr "最大振動 E" msgstr "E軸最大Jerk"
msgid "Maximum Junction Deviation" msgid "Maximum Junction Deviation"
msgstr "最大接合偏差" msgstr "最大接合偏差"
@@ -15894,6 +16003,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Y軸の許容最大出力" msgstr "Y軸の許容最大出力"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15904,6 +16014,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Y軸のマシンベッド質量" msgstr "Y軸のマシンベッド質量"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -16238,7 +16349,7 @@ msgstr "カッター領域から廃料排出口までの終始点"
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "インフィルのリトラクション低減" msgstr "インフィルのリトラクション低減"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "インフィル領域内の移動はリトラクションしません。造形時間を節約できます。" msgstr "インフィル領域内の移動はリトラクションしません。造形時間を節約できます。"
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -16423,7 +16534,7 @@ msgstr "ワイプ後のリトラクション量"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"ワイプ後の高速リトラクションの長さで、リトラクション長に対する割合です。\n" "ワイプ後の高速リトラクションの長さで、リトラクション長に対する割合です。\n"
@@ -16474,7 +16585,7 @@ msgstr "ツール交換の前にリトラクションが行われるとき、指
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Zホップの高さ" msgstr "Zホップの高さ"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "リトラクション時に、ノズルを少し上げてから移動します。この動作でモデルとの衝突を回避できます。" msgstr "リトラクション時に、ノズルを少し上げてから移動します。この動作でモデルとの衝突を回避できます。"
# AI Translated # AI Translated
@@ -17633,6 +17744,14 @@ msgstr ""
"\n" "\n"
"下の「ワイプ前のリトラクション量」設定に値を設定すると、超過分のリトラクションはワイプの前に行われます。それ以外の場合はワイプの後に行われます。" "下の「ワイプ前のリトラクション量」設定に値を設定すると、超過分のリトラクションはワイプの前に行われます。それ以外の場合はワイプの後に行われます。"
# AI Translated
msgid "Mixed color sublayer"
msgstr "混色サブレイヤー"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "混色サブレイヤーへの分割を有効にします。有効にすると、混色フィラメントを含む積層がサブレイヤーに分割され、色を混ぜる効果が得られます。"
# AI Translated # AI Translated
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "ワイプタワーは、ノズルに残った樹脂を除去し、ノズル内のチャンバー圧力を安定させることで、オブジェクト印刷時の外観不良を防ぐために使用できます。" msgstr "ワイプタワーは、ノズルに残った樹脂を除去し、ノズル内のチャンバー圧力を安定させることで、オブジェクト印刷時の外観不良を防ぐために使用できます。"
@@ -18439,10 +18558,10 @@ msgid "Allow 3MF with newer version to be sliced."
msgstr "新しいバージョンの3MFのスライスを許可します。" msgstr "新しいバージョンの3MFのスライスを許可します。"
msgid "Current Z-hop" msgid "Current Z-hop"
msgstr "現在のz-hop" msgstr "現在のZ-hop"
msgid "Contains Z-hop present at the beginning of the custom G-code block." msgid "Contains Z-hop present at the beginning of the custom G-code block."
msgstr "カスタムGコードブロックの先頭に存在するz-hopを含む。" msgstr "カスタムGコードブロックの先頭に存在するZ-hopを含む。"
msgid "Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, it should write to this variable so OrcaSlicer knows where it travels from when it gets control back." msgid "Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, it should write to this variable so OrcaSlicer knows where it travels from when it gets control back."
msgstr "カスタム G コード ブロックの先頭のエクストルーダーのモーターの位置。 カスタム G コードで動かしたとき、PrusaSlicer が制御を取り戻したときにどこから移動したかを認識できるように、この変数に書き込む必要があります。" msgstr "カスタム G コード ブロックの先頭のエクストルーダーのモーターの位置。 カスタム G コードで動かしたとき、PrusaSlicer が制御を取り戻したときにどこから移動したかを認識できるように、この変数に書き込む必要があります。"
@@ -18804,6 +18923,10 @@ msgstr "モデルファイルのメッシュ処理に失敗したか、有効な
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "提供されたファイルは空であるため読み込めませんでした。" msgstr "提供されたファイルは空であるため読み込めませんでした。"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "ファイル形式に互換性がないため、解析できません。"
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "ファイル形式が不明です。入力ファイルの拡張子は .stl、.obj、.amf(.xml)である必要があります。" msgstr "ファイル形式が不明です。入力ファイルの拡張子は .stl、.obj、.amf(.xml)である必要があります。"
@@ -20340,19 +20463,19 @@ msgstr "プリンタ、フィラメント、加工プリセットに変更があ
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "フィラメントプリセットを変更したフィラメント名のみを表示します。" msgstr "フィラメントプリセットを変更したフィラメント名のみを表示します。"
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "ユーザープリンタプリセットを持つプリンタ名のみが表示され、選択した各プリセットがZIPとしてエクスポートされます。" msgstr "ユーザープリンタプリセットを持つプリンタ名のみが表示され、選択した各プリセットがZIPとしてエクスポートされます。"
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"ユーザーフィラメントプリセットを含むフィラメント名のみが表示されます、 \n" "ユーザーフィラメントプリセットを含むフィラメント名のみが表示されます、 \n"
"選択した各フィラメント名に含まれるすべてのユーザーフィラメントプリセットがZIP形式でエクスポートされます。" "選択した各フィラメント名に含まれるすべてのユーザーフィラメントプリセットがZIP形式でエクスポートされます。"
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "変更されたプロセスプリセットがあるプリンタ名のみが表示され、選択した各プリンタ名にあるすべてのユーザープロセスプリセットがZIP形式でエクスポートされます。" msgstr "変更されたプロセスプリセットがあるプリンタ名のみが表示され、選択した各プリンタ名にあるすべてのユーザープロセスプリセットがZIP形式でエクスポートされます。"
msgid "Please select at least one printer or filament." msgid "Please select at least one printer or filament."
@@ -20596,7 +20719,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "問題の原因を特定するために情報が必要です。詳しい手順はWikiページをご覧ください。" msgstr "問題の原因を特定するために情報が必要です。詳しい手順はWikiページをご覧ください。"
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "「パック」ボタンは、現在のセッションのプロジェクトファイルとログをzipファイルにまとめます。" msgstr "「パック」ボタンは、現在のセッションのプロジェクトファイルとログをzipファイルにまとめます。"
# AI Translated # AI Translated
@@ -20652,7 +20775,7 @@ msgid "Stored logs"
msgstr "保存されたログ" msgstr "保存されたログ"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "保存されたすべてのログをzipファイルにまとめます。" msgstr "保存されたすべてのログをzipファイルにまとめます。"
# AI Translated # AI Translated
@@ -20740,7 +20863,7 @@ msgid "Authorizing..."
msgstr "認証中..." msgstr "認証中..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "エラー。認証用のAPIトークンを取得できません" msgstr "エラー。認証用のAPIトークンを取得できません"
# AI Translated # AI Translated
@@ -21226,8 +21349,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "スマートフィラメント割り当てを有効にする: 1つのフィラメントを複数のノズルに割り当てて節約を最大化します" msgstr "スマートフィラメント割り当てを有効にする: 1つのフィラメントを複数のノズルに割り当てて節約を最大化します"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "フィラ節約" msgstr "ファイル保存"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "再度通知しない" msgstr "再度通知しない"
@@ -21634,6 +21757,9 @@ msgstr "今すぐ再起動"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "ラミングなし" msgstr "ラミングなし"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "体積速度" msgstr "体積速度"
@@ -22296,6 +22422,45 @@ msgstr ""
"反りを避ける\n" "反りを避ける\n"
"ABSのような反りやすい素材を印刷する場合、ヒートベッドの温度を適切に上げることで、反りが発生する確率を下げることができることをご存知ですか?" "ABSのような反りやすい素材を印刷する場合、ヒートベッドの温度を適切に上げることで、反りが発生する確率を下げることができることをご存知ですか?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "ネイティブWaylandのライブビューにはGStreamer GTKビデオシンクが必要です。GStreamer用のgtksinkプラグインをインストールし、OrcaSlicerを再起動してください。"
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "ネイティブWaylandのGStreamerビデオシンクの初期化に失敗しました。GStreamer GTKプラグインのインストール状況をご確認ください。"
# AI Translated
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "このタスクにはWindows Media Playerが必要です!お使いのOSで「Windows Media Player」を有効にしますか?"
# AI Translated
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "メディア再生用のBambuSourceが正しく登録されていません!「はい」を押して再登録してください。確認が2回表示されます"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "メディア再生用のBambuSourceコンポーネントが見つかりません!OrcaSlicerを再インストールするかコミュニティに助けを求めてください。"
# AI Translated
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "別のインストール環境のBambuSourceを使用しているため、動画が正しく再生されない可能性があります!「はい」を押して修正してください。"
# AI Translated
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "お使いのシステムには、動画再生に必要なGStreamer用のH.264コーデックがありません。(gstreamer1.0-plugins-badまたはgstreamer1.0-libavパッケージをインストールし、Orca Slicerを再起動してみてください)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "フィラ節約"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+214 -48
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2025-06-02 17:12+0900\n" "PO-Revision-Date: 2025-06-02 17:12+0900\n"
"Last-Translator: crwusiz <crwusiz@gmail.com>\n" "Last-Translator: crwusiz <crwusiz@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2970,6 +2970,10 @@ msgstr "편집"
msgid "Merge with" msgid "Merge with"
msgstr "병합" msgstr "병합"
# AI Translated
msgid "Decompose Color"
msgstr "색상 분해"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "이 필라멘트 삭제" msgstr "이 필라멘트 삭제"
@@ -3266,6 +3270,10 @@ msgstr "조립"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "부품을 하나의 객체로 병합" msgstr "부품을 하나의 객체로 병합"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "가변 레이어 높이를 혼색 서브레이어와 함께 사용하면 색상 혼합 품질이 떨어질 수 있습니다."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "레이어 추가" msgstr "레이어 추가"
@@ -4829,7 +4837,7 @@ msgstr ""
"\n" "\n"
"값이 0으로 재설정됩니다." "값이 0으로 재설정됩니다."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "세로 쉘 두께가 모두로 설정된 경우 대체 여분의 벽이 제대로 작동하지 않습니다." msgstr "세로 쉘 두께가 모두로 설정된 경우 대체 여분의 벽이 제대로 작동하지 않습니다."
msgid "" msgid ""
@@ -4875,7 +4883,7 @@ msgstr ""
"아니요 - 독립적 서포트 레이어 높이 유지" "아니요 - 독립적 서포트 레이어 높이 유지"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"심_경사_시작_높이는 레이어_높이보다 작아야 합니다.\n" "심_경사_시작_높이는 레이어_높이보다 작아야 합니다.\n"
@@ -4883,7 +4891,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"잠금 깊이는 스킨 깊이보다 작아야 합니다.\n" "잠금 깊이는 스킨 깊이보다 작아야 합니다.\n"
@@ -6348,10 +6356,10 @@ msgstr "3MF/STL/STEP/SVG/OBJ/AMF 가져오기"
msgid "Load a model" msgid "Load a model"
msgstr "모델 불러오기" msgstr "모델 불러오기"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "ZIP 압축파일 가져오기" msgstr "ZIP 압축파일 가져오기"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "ZIP 압축파일에 포함된 모델 로드" msgstr "ZIP 압축파일에 포함된 모델 로드"
msgid "Import Configs" msgid "Import Configs"
@@ -7871,6 +7879,10 @@ msgstr "사용자 정의 플레이트"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "%s 노즐은 %s 을 인쇄할 수 없습니다." msgstr "%s 노즐은 %s 을 인쇄할 수 없습니다."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "단일 압출기 프린터에서 혼색 필라멘트를 출력하면 필라멘트 교체와 플러시가 자주 발생하여 낭비되는 재료와 노즐 / 폐기물 슈트 막힘 위험이 크게 늘어날 수 있습니다."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "%1%와 %2% 혼합 출력을 권장하지 않습니다.\n" msgstr "%1%와 %2% 혼합 출력을 권장하지 않습니다.\n"
@@ -7997,12 +8009,44 @@ msgstr "AMS에서 필라멘트 목록 동기화"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "사용할 필라멘트 설정" msgstr "사용할 필라멘트 설정"
# AI Translated
msgid "Add Mixed Filament"
msgstr "혼합 필라멘트 추가"
# AI Translated
msgid "Mixed Filament"
msgstr "혼합 필라멘트"
# AI Translated
msgid "Remove last mixed filament"
msgstr "마지막 혼합 필라멘트 제거"
# AI Translated
msgid "Add mixed filament"
msgstr "혼합 필라멘트 추가"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "혼합 필라멘트의 구성 요소가 잘못되었거나 일치하지 않습니다. 해당 항목을 다시 편집하세요."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "플레이트, 객체 및 부품을 검색합니다." msgstr "플레이트, 객체 및 부품을 검색합니다."
msgid "Pellets" msgid "Pellets"
msgstr "펠릿" msgstr "펠릿"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "혼합 필라멘트의 구성 요소 참조가 손상되었습니다"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "편집 / 삭제 / 병합"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "대상 혼합 필라멘트가 이 물리 필라멘트를 구성 요소로 사용합니다. 병합하면 이 물리 필라멘트가 제거되어 혼합 필라멘트가 무효가 될 수 있습니다. 계속할까요?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "작업을 완료하면 %s 프로젝트가 닫히고 새 프로젝트가 만들어집니다." msgstr "작업을 완료하면 %s 프로젝트가 닫히고 새 프로젝트가 만들어집니다."
@@ -8152,8 +8196,8 @@ msgid "Customized Preset"
msgstr "사용자 정의 프리셋" msgstr "사용자 정의 프리셋"
# AI Translated # AI Translated
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "STEP 파일 내부의 구성 요소 이름이 UTF8 형식이 아닙니다!" msgstr "STEP 파일 내부의 구성 요소 이름이 UTF-8 형식이 아닙니다!"
# AI Translated # AI Translated
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -8175,7 +8219,7 @@ msgstr "물체의 부피는 0입니다"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"%s 파일의 객체가 너무 작습니다. 단위가 미터나 인치일 수 있습니다.\n" "%s 파일의 객체가 너무 작습니다. 단위가 미터나 인치일 수 있습니다.\n"
" mm 단위로 확장하시겠습니까?" " mm 단위로 확장하시겠습니까?"
@@ -8195,6 +8239,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "여러 부품으로 구성된 객체 감지됨" msgstr "여러 부품으로 구성된 객체 감지됨"
# AI Translated
msgid "Matching textures to filaments"
msgstr "텍스처를 필라멘트에 매칭하는 중"
# AI Translated
msgid "Texture Import Warning"
msgstr "텍스처 가져오기 경고"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "이 파일을 여러 부품이 있는 단일 객체로 로드하시겠습니까?\n" msgstr "이 파일을 여러 부품이 있는 단일 객체로 로드하시겠습니까?\n"
@@ -8423,6 +8475,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "지금 동기화" msgstr "지금 동기화"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "텍스처 가져오기에 실패했습니다. 모델에 텍스처 데이터가 포함된 것으로 보이지만 텍스처 가져오기 과정을 완료하지 못했습니다. 모델은 형상만 가져옵니다."
# AI Translated
msgid "Applying texture colors..."
msgstr "텍스처 색상 적용 중..."
# AI Translated
msgid "Updating 3D view..."
msgstr "3D 뷰 업데이트 중..."
# AI Translated
msgid "Texture colors applied."
msgstr "텍스처 색상이 적용되었습니다."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "수정된 사전 설정을 새 프로젝트에 유지하거나 삭제할 수 있습니다" msgstr "수정된 사전 설정을 새 프로젝트에 유지하거나 삭제할 수 있습니다"
@@ -9766,6 +9834,10 @@ msgstr "나선형 꽃병 모드"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "첫 번째 레이어 필라멘트 순서" msgstr "첫 번째 레이어 필라멘트 순서"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "필라멘트 목록에 혼합 필라멘트가 있습니다. 사용자 지정 필라멘트 순서는 적용되지 않습니다."
msgid "By Layer" msgid "By Layer"
msgstr "레이어별" msgstr "레이어별"
@@ -11188,12 +11260,12 @@ msgid "No modifications need to be copied."
msgstr "복사할 변경 사항이 없습니다." msgstr "복사할 변경 사항이 없습니다."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "매개변수 복사" msgstr "매개변수 복사"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "%s의 매개변수 수정" msgstr "%s의 매개변수 수정"
# AI Translated # AI Translated
@@ -11723,30 +11795,6 @@ msgstr "필라멘트 교체를 위한 버리기 볼륨"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "필라멘트 색상을 선택하세요" msgstr "필라멘트 색상을 선택하세요"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "네이티브 Wayland 실시간 보기에는 GStreamer GTK 비디오 싱크가 필요합니다. GStreamer용 gtksink 플러그인을 설치한 후 OrcaSlicer를 다시 시작하십시오."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "네이티브 Wayland GStreamer 비디오 싱크를 초기화하지 못했습니다. GStreamer GTK 플러그인 설치 상태를 확인하십시오."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "이 작업에는 Windows Media Player가 필요합니다! 운영 체제에서 Windows Media Player를 활성화하시겠습니까?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "뱀부소스가 미디어 재생에 올바르게 등록되지 않았습니다! 다시 등록하려면 예를 누르세요. 두 번 승격됩니다"
# AI Translated
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "미디어 재생용으로 등록된 BambuSource 구성 요소가 없습니다! OrcaSlicer를 다시 설치하거나 커뮤니티에 도움을 요청하십시오."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "다른 설치 버전의 뱀부소스를 사용하면 동영상 재생이 제대로 작동하지 않을 수 있습니다! 예를 눌러 문제를 해결하세요."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "시스템에 동영상 재생을 위해 필요한 GStreamer용 H.264 코덱이 존재하지 않습니다. (gstreamer1.0-plugins-bad 또는 gstreamer1.0-libav 패키지를 설치한 다음 Orca Slicer를 다시 실행하십시오.)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "클라우드 에이전트를 사용할 수 없습니다. OrcaSlicer를 다시 시작한 후 다시 시도하십시오." msgstr "클라우드 에이전트를 사용할 수 없습니다. OrcaSlicer를 다시 시작한 후 다시 시도하십시오."
@@ -12475,6 +12523,10 @@ msgstr "그래도 출력하려면 기본 설정 / 제어 / 슬라이싱 / 혼합
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "현재 설정에 압출기가 없습니다." msgstr "현재 설정에 압출기가 없습니다."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "그라데이션 혼합 필라멘트가 사용 중이지만 '혼색 서브레이어'가 비활성화되어 있습니다. 그라데이션은 출력되지 않습니다."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "타임랩스의 유연 모드는 \"객체별\" 출력순서가 활성화된 경우 지원되지 않습니다." msgstr "타임랩스의 유연 모드는 \"객체별\" 출력순서가 활성화된 경우 지원되지 않습니다."
@@ -12513,6 +12565,10 @@ msgstr "모델 크기를 줄이거나 현재 출력 설정을 변경하고 다
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "유기체 서포트에서는 가변 레이어 높이가 지원되지 않습니다." msgstr "유기체 서포트에서는 가변 레이어 높이가 지원되지 않습니다."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "프라임 타워 필라멘트는 혼합 필라멘트일 수 없습니다."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "프라임 타워를 활성화하면 노즐 직경과 필라멘트 직경이 다르면 제대로 작동하지 않을 수 있습니다. 매우 실험적인 기능이므로 주의해서 사용하시기 바랍니다." msgstr "프라임 타워를 활성화하면 노즐 직경과 필라멘트 직경이 다르면 제대로 작동하지 않을 수 있습니다. 매우 실험적인 기능이므로 주의해서 사용하시기 바랍니다."
@@ -12889,8 +12945,7 @@ msgstr "mm 또는 %"
msgid "Other layers" msgid "Other layers"
msgstr "다른 레이어" msgstr "다른 레이어"
# AI Translated msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "초기 레이어를 제외한 레이어의 베드 온도입니다. 값이 0이면 해당 필라멘트가 쿨 플레이트 슈퍼택에서의 출력을 지원하지 않음을 의미합니다." msgstr "초기 레이어를 제외한 레이어의 베드 온도입니다. 값이 0이면 해당 필라멘트가 쿨 플레이트 슈퍼택에서의 출력을 지원하지 않음을 의미합니다."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -14307,6 +14362,8 @@ msgstr "레이어 시간"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "예상 시간이 이 값보다 짧은 레이어에 대해 출력물 냉각 팬이 활성화됩니다. 팬 속도는 레이어 출력 시간에 따라 최소 및 최대 팬 속도 사이에서 보간됩니다" msgstr "예상 시간이 이 값보다 짧은 레이어에 대해 출력물 냉각 팬이 활성화됩니다. 팬 속도는 레이어 출력 시간에 따라 최소 및 최대 팬 속도 사이에서 보간됩니다"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14620,6 +14677,62 @@ msgstr "서포트 재료"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "서포트 재료는 일반적으로 서포트 및 서포트 접점을 출력하는 데 사용됩니다" msgstr "서포트 재료는 일반적으로 서포트 및 서포트 접점을 출력하는 데 사용됩니다"
# AI Translated
msgid "Is mixed filament"
msgstr "혼합 필라멘트 여부"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "이 필라멘트 슬롯이 여러 물리 필라멘트로 구성된 혼합 필라멘트인지 여부"
# AI Translated
msgid "Mixed filament components"
msgstr "혼합 필라멘트 구성 요소"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "구성 필라멘트의 1부터 시작하는 인덱스를 쉼표로 구분하여 입력합니다. 예: \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "혼합 필라멘트 서브레이어 비율"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "합이 1.0이 되는 비율 값을 쉼표로 구분하여 입력합니다. 예: \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "혼합 필라멘트 그라데이션"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "혼합 필라멘트 서브레이어에 대해 Z 방향 그라데이션 모드를 활성화합니다. 활성화하면 서브레이어 비율이 레이어에 따라 선형으로 변합니다."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "혼합 필라멘트 그라데이션 범위"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "그라데이션 모드에서 첫 번째 구성 요소의 시작 및 종료 비율입니다. 쉼표로 구분된 한 쌍이며, 예를 들어 \"0.10,0.90\"은 10%에서 90%를 의미합니다."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "혼합 필라멘트 그라데이션 곡선"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Z 진행도를 첫 번째 구성 요소의 비율에 매핑하는 선택적 Photoshop 스타일 사용자 지정 곡선입니다. 제어점을 세로줄로 구분하여 \"x,y\"(레거시) 또는 접선을 재정의해야 할 때는 \"x,y,m_in,m_out\" 형식으로 인코딩합니다(빈 값 또는 \"nan\"은 PCHIP 기본값을 사용). x는 [0,1] 범위이며, y는 설정된 비율 범위로 제한됩니다. 예: \"0,0.15|0.5,0.50|1,0.85\". 비워 두면 대신 선형 gradient_range가 사용됩니다."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "혼합 필라멘트 부품별 그라데이션"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "그라데이션 모드가 활성화되면 조립 전체를 하나의 Z 범위로 처리하지 않고 조립의 각 부품에 그라데이션을 개별적으로 적용합니다."
msgid "Filament printable" msgid "Filament printable"
msgstr "필라멘트 출력 가능" msgstr "필라멘트 출력 가능"
@@ -15938,6 +16051,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Y축의 허용 최대 출력 힘" msgstr "Y축의 허용 최대 출력 힘"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15948,6 +16062,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Y축 장비 베드 질량 하중" msgstr "Y축 장비 베드 질량 하중"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -16276,7 +16391,7 @@ msgid "Reduce infill retraction"
msgstr "채우기 후퇴 감소" msgstr "채우기 후퇴 감소"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "이동 경로가 완전히 채우기 영역 안에 있으면 후퇴하지 않습니다. 흘러내림이 보이지 않기 때문입니다. 복잡한 모델에서 후퇴 횟수를 줄여 출력 시간을 절약할 수 있지만 슬라이싱과 G-code 생성 속도는 느려집니다. 후퇴를 건너뛴 영역에서는 Z 올리기도 수행되지 않습니다." msgstr "이동 경로가 완전히 채우기 영역 안에 있으면 후퇴하지 않습니다. 흘러내림이 보이지 않기 때문입니다. 복잡한 모델에서 후퇴 횟수를 줄여 출력 시간을 절약할 수 있지만 슬라이싱과 G-code 생성 속도는 느려집니다. 후퇴를 건너뛴 영역에서는 Z 올리기도 수행되지 않습니다."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -16453,7 +16568,7 @@ msgstr "노즐 청소 후 후퇴량"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"노즐 청소 후 빠른 후퇴의 길이로, 후퇴 길이를 기준으로 합니다.\n" "노즐 청소 후 빠른 후퇴의 길이로, 후퇴 길이를 기준으로 합니다.\n"
@@ -16500,7 +16615,7 @@ msgstr "툴 체인지 전에 후퇴가 실행되면 지정한 양만큼 필라
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z올리기 높이" msgstr "Z올리기 높이"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "후퇴가 완료될 때마다 노즐이 약간 올라가서 노즐과 출력물 사이에 간격이 생깁니다. 이동 시 노즐이 출력물에 닿는 것을 방지합니다. 나선형 선을 사용하여 z를 들어 올리면 스트링 현상을 방지할 수 있습니다" msgstr "후퇴가 완료될 때마다 노즐이 약간 올라가서 노즐과 출력물 사이에 간격이 생깁니다. 이동 시 노즐이 출력물에 닿는 것을 방지합니다. 나선형 선을 사용하여 z를 들어 올리면 스트링 현상을 방지할 수 있습니다"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17579,6 +17694,14 @@ msgstr ""
"\n" "\n"
"아래의 와이프 전 후퇴량 설정에서 값을 설정하면 와이프 전에 초과 후퇴가 수행되고, 그렇지 않으면 와이프 후에 수행됩니다." "아래의 와이프 전 후퇴량 설정에서 값을 설정하면 와이프 전에 초과 후퇴가 수행되고, 그렇지 않으면 와이프 후에 수행됩니다."
# AI Translated
msgid "Mixed color sublayer"
msgstr "혼색 서브레이어"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "혼색 서브레이어 분할을 활성화합니다. 활성화하면 혼색 필라멘트가 포함된 레이어가 서브레이어로 분할되어 색상 혼합 효과를 얻습니다."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "프라임 타워는 객체를 출력할 때 외관 결함을 방지하기 위해 노즐의 잔류물을 청소하고 노즐 내부의 압력을 안정화하는 데 사용할 수 있습니다." msgstr "프라임 타워는 객체를 출력할 때 외관 결함을 방지하기 위해 노즐의 잔류물을 청소하고 노즐 내부의 압력을 안정화하는 데 사용할 수 있습니다."
@@ -18682,6 +18805,10 @@ msgstr "모델 파일의 메싱이 실패했거나 유효한 형태가 없습니
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "제공된 파일이 비어 있어 읽을 수 없습니다" msgstr "제공된 파일이 비어 있어 읽을 수 없습니다"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "파일 형식이 호환되지 않아 해석할 수 없습니다."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "알 수 없는 파일 형식: 입력 파일의 확장자는 .stl, .obj 또는 .amf(.xml)여야 합니다." msgstr "알 수 없는 파일 형식: 입력 파일의 확장자는 .stl, .obj 또는 .amf(.xml)여야 합니다."
@@ -20213,19 +20340,19 @@ msgstr "프린터, 필라멘트 및 프로세스 사전 설정이 변경된 경
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "필라멘트 사전 설정이 변경된 경우에만 필라멘트 이름을 표시합니다." msgstr "필라멘트 사전 설정이 변경된 경우에만 필라멘트 이름을 표시합니다."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "사용자 프린터 사전 설정이 있는 프린터 이름만 표시되며, 선택한 각 사전 설정은 zip으로 내보내집니다." msgstr "사용자 프린터 사전 설정이 있는 프린터 이름만 표시되며, 선택한 각 사전 설정은 zip으로 내보내집니다."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"사용자 필라멘트 사전 설정이 있는 필라멘트 이름만 표시됩니다.\n" "사용자 필라멘트 사전 설정이 있는 필라멘트 이름만 표시됩니다.\n"
"선택한 각 필라멘트 이름의 모든 사용자 필라멘트 사전 설정은 zip으로 내보내집니다." "선택한 각 필라멘트 이름의 모든 사용자 필라멘트 사전 설정은 zip으로 내보내집니다."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"프로세스 사전 설정이 변경된 프린터 이름만 표시됩니다.\n" "프로세스 사전 설정이 변경된 프린터 이름만 표시됩니다.\n"
"선택한 각 프린터 이름의 모든 사용자 프로세스 사전 설정은 zip으로 내보내집니다." "선택한 각 프린터 이름의 모든 사용자 프로세스 사전 설정은 zip으로 내보내집니다."
@@ -20469,7 +20596,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "문제의 원인을 진단하려면 정보가 필요합니다. 자세한 안내는 위키 페이지를 확인하십시오." msgstr "문제의 원인을 진단하려면 정보가 필요합니다. 자세한 안내는 위키 페이지를 확인하십시오."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "패키지 버튼은 현재 세션의 프로젝트 파일과 로그를 zip 파일로 모읍니다." msgstr "패키지 버튼은 현재 세션의 프로젝트 파일과 로그를 zip 파일로 모읍니다."
# AI Translated # AI Translated
@@ -20525,7 +20652,7 @@ msgid "Stored logs"
msgstr "저장된 로그" msgstr "저장된 로그"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "저장된 모든 로그를 zip 파일로 묶습니다." msgstr "저장된 모든 로그를 zip 파일로 묶습니다."
# AI Translated # AI Translated
@@ -20613,7 +20740,7 @@ msgid "Authorizing..."
msgstr "인증 중..." msgstr "인증 중..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "오류. 인증용 API 토큰을 가져올 수 없습니다" msgstr "오류. 인증용 API 토큰을 가져올 수 없습니다"
# AI Translated # AI Translated
@@ -21075,8 +21202,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "스마트 필라멘트 할당 활성화: 하나의 필라멘트를 여러 노즐에 할당하여 절약을 극대화합니다" msgstr "스마트 필라멘트 할당 활성화: 하나의 필라멘트를 여러 노즐에 할당하여 절약을 극대화합니다"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "필라멘트 절약" msgstr "파일 저장"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "다시 알리지 마세요" msgstr "다시 알리지 마세요"
@@ -21506,6 +21633,9 @@ msgstr "지금 다시 시작"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "채워넣기 전혀 없음" msgstr "채워넣기 전혀 없음"
msgid "s"
msgstr "s"
# AI Translated # AI Translated
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "압출 속도" msgstr "압출 속도"
@@ -22159,6 +22289,42 @@ msgstr ""
"뒤틀림 방지\n" "뒤틀림 방지\n"
"ABS와 같이 뒤틀림이 발생하기 쉬운 소재를 출력할 때, 히트베드 온도를 적절하게 높이면 뒤틀림 가능성을 줄일 수 있다는 사실을 알고 계셨나요?" "ABS와 같이 뒤틀림이 발생하기 쉬운 소재를 출력할 때, 히트베드 온도를 적절하게 높이면 뒤틀림 가능성을 줄일 수 있다는 사실을 알고 계셨나요?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "네이티브 Wayland 실시간 보기에는 GStreamer GTK 비디오 싱크가 필요합니다. GStreamer용 gtksink 플러그인을 설치한 후 OrcaSlicer를 다시 시작하십시오."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "네이티브 Wayland GStreamer 비디오 싱크를 초기화하지 못했습니다. GStreamer GTK 플러그인 설치 상태를 확인하십시오."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "이 작업에는 Windows Media Player가 필요합니다! 운영 체제에서 Windows Media Player를 활성화하시겠습니까?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "뱀부소스가 미디어 재생에 올바르게 등록되지 않았습니다! 다시 등록하려면 예를 누르세요. 두 번 승격됩니다"
# AI Translated
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "미디어 재생용으로 등록된 BambuSource 구성 요소가 없습니다! OrcaSlicer를 다시 설치하거나 커뮤니티에 도움을 요청하십시오."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "다른 설치 버전의 뱀부소스를 사용하면 동영상 재생이 제대로 작동하지 않을 수 있습니다! 예를 눌러 문제를 해결하세요."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "시스템에 동영상 재생을 위해 필요한 GStreamer용 H.264 코덱이 존재하지 않습니다. (gstreamer1.0-plugins-bad 또는 gstreamer1.0-libav 패키지를 설치한 다음 Orca Slicer를 다시 실행하십시오.)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "필라멘트 절약"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+211 -68
View File
@@ -3,12 +3,11 @@
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-07-02 14:13+0300\n" "PO-Revision-Date: 2026-07-02 14:13+0300\n"
"Last-Translator: Gintaras Kučinskas <sharanchius@gmail.com>\n" "Last-Translator: Gintaras Kučinskas <sharanchius@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2937,6 +2936,10 @@ msgstr "Redaguoti"
msgid "Merge with" msgid "Merge with"
msgstr "Sujungti su" msgstr "Sujungti su"
# AI Translated
msgid "Decompose Color"
msgstr "Išskaidyti spalvą"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Ištrinti šią giją" msgstr "Ištrinti šią giją"
@@ -3238,6 +3241,10 @@ msgstr "Surinkimas"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Sujungti dalis į objektą" msgstr "Sujungti dalis į objektą"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Kintamo sluoksnio aukščio naudojimas kartu su mišrios spalvos posluoksniu gali pabloginti spalvų maišymo kokybę."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Pridėti sluoksnių" msgstr "Pridėti sluoksnių"
@@ -4792,7 +4799,7 @@ msgstr ""
"\n" "\n"
"Reikšmė bus atstatyta į 0." "Reikšmė bus atstatyta į 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Alternatyvi papildoma sienelė veikia prastai, kai vertikalaus apvalkalo storio užtikrinimas nustatytas į „Visi“." msgstr "Alternatyvi papildoma sienelė veikia prastai, kai vertikalaus apvalkalo storio užtikrinimas nustatytas į „Visi“."
msgid "" msgid ""
@@ -4838,7 +4845,7 @@ msgstr ""
"NE palikti nepriklausomą atramų sluoksnio aukštį" "NE palikti nepriklausomą atramų sluoksnio aukštį"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"„seam_slope_start_height“ turi būti mažesnis už „layer_height“\n" "„seam_slope_start_height“ turi būti mažesnis už „layer_height“\n"
@@ -4846,7 +4853,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Fiksavimo gylis turėtų būti mažesnis už išorinio sluoksnio gylį.\n" "Fiksavimo gylis turėtų būti mažesnis už išorinio sluoksnio gylį.\n"
@@ -6311,10 +6318,10 @@ msgstr "Importuoti 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Įkelti modelį" msgstr "Įkelti modelį"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importuoti Zip archyvą" msgstr "Importuoti Zip archyvą"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Įkelti modelius iš ZIP archyvo" msgstr "Įkelti modelius iš ZIP archyvo"
msgid "Import Configs" msgid "Import Configs"
@@ -7835,6 +7842,10 @@ msgstr "Individualizuoti esamą plokštę"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "%s purkštukas negali spausdinti %s." msgstr "%s purkštukas negali spausdinti %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Spausdinant mišrios spalvos giją vieno ekstruderio spausdintuvu reikia dažnai keisti giją ir pravalyti, todėl gali gerokai padidėti atliekų kiekis ir purkštuko arba atliekų latako užsikimšimo rizika."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "" msgstr ""
@@ -7968,12 +7979,44 @@ msgstr "Sinchronizuoti gijų sąrašą iš AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Nustatyti gijas naudojimui" msgstr "Nustatyti gijas naudojimui"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Pridėti mišrią giją"
# AI Translated
msgid "Mixed Filament"
msgstr "Mišri gija"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Pašalinti paskutinę mišrią giją"
# AI Translated
msgid "Add mixed filament"
msgstr "Pridėti mišrią giją"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Mišri gija turi netinkamų arba neatitinkančių komponentų. Iš naujo suredaguokite susijusius įrašus."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Plokštės, objekto ir dalies paieška." msgstr "Plokštės, objekto ir dalies paieška."
msgid "Pellets" msgid "Pellets"
msgstr "Granulės" msgstr "Granulės"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Mišri gija turi sugadintų komponentų nuorodų"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Redaguoti / Ištrinti / Sujungti"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Paskirties mišri gija naudoja šią fizinę giją kaip komponentą. Sujungus ši fizinė gija bus pašalinta ir mišri gija gali tapti netinkama. Tęsti?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Baigus šią operaciją, projektas „%s“ bus uždarytas ir bus sukurtas naujas projektas." msgstr "Baigus šią operaciją, projektas „%s“ bus uždarytas ir bus sukurtas naujas projektas."
@@ -8110,7 +8153,7 @@ msgstr "Patvirtinkite, kad šiuose profiliuose esantis G-kodas yra saugus, kad i
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Pritaikytas profilis" msgstr "Pritaikytas profilis"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Komponentų pavadinimai STEP faile nėra UTF-8 formato!" msgstr "Komponentų pavadinimai STEP faile nėra UTF-8 formato!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -8132,7 +8175,7 @@ msgstr "Objekto tūris nulinis"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Objektas iš failo „%s“ yra per mažas ir galimai nurodytas metrais arba coliais.\n" "Objektas iš failo „%s“ yra per mažas ir galimai nurodytas metrais arba coliais.\n"
"Ar norite mastelį pakeisti į milimetrus?" "Ar norite mastelį pakeisti į milimetrus?"
@@ -8152,6 +8195,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Aptiktas kelių dalių objektas" msgstr "Aptiktas kelių dalių objektas"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Tekstūros priskiriamos gijoms"
# AI Translated
msgid "Texture Import Warning"
msgstr "Tekstūros importavimo įspėjimas"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Ar įkelti šiuos failus kaip vieną objektą su keliomis detalėmis?\n" msgstr "Ar įkelti šiuos failus kaip vieną objektą su keliomis detalėmis?\n"
@@ -8366,6 +8417,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Sinchronizuoti dabar" msgstr "Sinchronizuoti dabar"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Tekstūros importuoti nepavyko. Panašu, kad modelyje yra tekstūros duomenų, tačiau importavimo proceso nepavyko užbaigti. Modelis bus importuotas tik kaip geometrija."
# AI Translated
msgid "Applying texture colors..."
msgstr "Taikomos tekstūros spalvos..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Atnaujinamas 3D vaizdas..."
# AI Translated
msgid "Texture colors applied."
msgstr "Tekstūros spalvos pritaikytos."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Pakeistus profilius galite išsaugoti naujam projektui arba juos atmesti" msgstr "Pakeistus profilius galite išsaugoti naujam projektui arba juos atmesti"
@@ -9595,6 +9662,10 @@ msgstr "Spiralinė vaza"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Pirmojo sluoksnio gijos eiga" msgstr "Pirmojo sluoksnio gijos eiga"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Gijų sąraše yra mišrių gijų. Pasirinktinė gijų seka nebus taikoma."
msgid "By Layer" msgid "By Layer"
msgstr "Pagal sluoksnį" msgstr "Pagal sluoksnį"
@@ -10981,11 +11052,11 @@ msgstr "%s: %s"
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "Nereikia kopijuoti jokių modifikacijų" msgstr "Nereikia kopijuoti jokių modifikacijų"
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Kopijuoti parametrus" msgstr "Kopijuoti parametrus"
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Modifikuoti %s parametrus" msgstr "Modifikuoti %s parametrus"
#, c-format, boost-format #, c-format, boost-format
@@ -11498,27 +11569,6 @@ msgstr "Išmetimo tūris keičiant gijas"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Pasirinkite gijos spalvą" msgstr "Pasirinkite gijos spalvą"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Tiesioginei „Native Wayland“ peržiūrai reikalingas „GStreamer GTK“ vaizdo sinchronizatorius (video sink). Įdiekite „GStreamer“ skirtą „gtksink“ papildinį, tada iš naujo paleiskite „OrcaSlicer“."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Nepavyko inicijuoti „native Wayland GStreamer“ vaizdo sinchronizatoriaus (video sink). Patikrinkite „GStreamer GTK“ papildinio įdiegimą."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Šiai užduočiai atlikti reikalingas \"Windows Media Player\"! Ar norite įjungti \"Windows Media Player\" savo operacinėje sistemoje?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "„BambuSource“ neteisingai užregistruotas medijos atkūrimui! Paspauskite „Taip“, kad jį perregistruotumėte. Jums reikės patvirtinti du kartus."
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Trūksta BambuSource komponento, užregistruoto medijos atkūrimui! Iš naujo įdiekite OrcaSlicer arba kreipkitės pagalbos į bendruomenę."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Naudojant \"BambuSource\" iš kito diegimo šaltinio, vaizdo įrašų atkūrimas gali būti neteisingas! Paspauskite Taip, kad tai ištaisytumėte."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Jūsų sistemoje nėra \"GStreamer\" H.264 kodekų, reikalingų vaizdo įrašams atkurti. (Pabandykite įdiegti gstreamer1.0-plugins-bad arba gstreamer1.0-libav paketus, tada iš naujo paleiskite \"Orca Slicer\")"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Debesies agentas nepasiekiamas. Iš naujo paleiskite „OrcaSlicer“ ir bandykite vėl." msgstr "Debesies agentas nepasiekiamas. Iš naujo paleiskite „OrcaSlicer“ ir bandykite vėl."
@@ -12226,6 +12276,10 @@ msgstr "Jei vis tiek norite spausdinti, galite įjungti šią parinktį skiltyje
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Pagal dabartinius nustatymus nėra išspaudimų." msgstr "Pagal dabartinius nustatymus nėra išspaudimų."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Naudojama mišri gija su gradientu, tačiau 'Mišrios spalvos posluoksnis' yra išjungtas. Gradientas nebus atspausdintas."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Sklandus pakadrinio filmavimo (timelapse) režimas nepalaikomas, kai įjungta spausdinimo seka „pagal objektą“." msgstr "Sklandus pakadrinio filmavimo (timelapse) režimas nepalaikomas, kai įjungta spausdinimo seka „pagal objektą“."
@@ -12262,6 +12316,10 @@ msgstr "Galbūt norėsite sumažinti modelio dydį arba pakeisti esamus spausdin
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Kintamas sluoksnio aukštis nepalaikomas su \" Organinėmis atramomis\"." msgstr "Kintamas sluoksnio aukštis nepalaikomas su \" Organinėmis atramomis\"."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Valymo bokšto gija negali būti mišri gija."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Skirtingo skersmens purkštukai ir skirtingo skersmens gijos gali neveikti gerai, kai įjungtas valymo bokštas. Tai labai eksperimentinė priemonė, todėl elkitės atsargiai." msgstr "Skirtingo skersmens purkštukai ir skirtingo skersmens gijos gali neveikti gerai, kai įjungtas valymo bokštas. Tai labai eksperimentinė priemonė, todėl elkitės atsargiai."
@@ -12609,7 +12667,7 @@ msgstr "mm arba %"
msgid "Other layers" msgid "Other layers"
msgstr "Kiti sluoksniai" msgstr "Kiti sluoksniai"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Pagrindo temperatūra visiems sluoksniams, išskyrus pirmąjį. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant „Cool Plate SuperTack“ pagrindo." msgstr "Pagrindo temperatūra visiems sluoksniams, išskyrus pirmąjį. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant „Cool Plate SuperTack“ pagrindo."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -13962,6 +14020,8 @@ msgstr "Sluoksnio laikas"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Detalės aušinimo ventiliatorius bus suaktyvintas tiems sluoksniams, kurių preliminarus spausdinimo laikas yra trumpesnis už šią reikšmę. Ventiliatoriaus sūkiai bus interpoliuojami tarp minimalaus ir maksimalaus greičio, priklausomai nuo sluoksnio spausdinimo trukmės." msgstr "Detalės aušinimo ventiliatorius bus suaktyvintas tiems sluoksniams, kurių preliminarus spausdinimo laikas yra trumpesnis už šią reikšmę. Ventiliatoriaus sūkiai bus interpoliuojami tarp minimalaus ir maksimalaus greičio, priklausomai nuo sluoksnio spausdinimo trukmės."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14269,6 +14329,62 @@ msgstr "Atramų gija"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Atramų gija paprastai naudojama atramoms ir atramų skiriamiesiems sluoksniams spausdinti." msgstr "Atramų gija paprastai naudojama atramoms ir atramų skiriamiesiems sluoksniams spausdinti."
# AI Translated
msgid "Is mixed filament"
msgstr "Yra mišri gija"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Nurodo, ar ši gijos vieta yra mišri gija, sudaryta iš kelių fizinių gijų"
# AI Translated
msgid "Mixed filament components"
msgstr "Mišrios gijos komponentai"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Kableliais atskirti komponentinių gijų indeksai, skaičiuojami nuo 1, pvz. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Mišrios gijos posluoksnių santykiai"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Kableliais atskirtos santykio reikšmės, kurių suma lygi 1.0, pvz. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Mišrios gijos gradientas"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Įjungia gradiento režimą Z kryptimi mišrios gijos posluoksniams. Įjungus posluoksnių santykiai tarp sluoksnių kinta tiesiškai."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Mišrios gijos gradiento intervalas"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Pirmojo komponento pradinis ir galutinis santykis gradiento režimu. Kableliu atskirta pora, pvz. \"0.10,0.90\" reiškia nuo 10% iki 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Mišrios gijos gradiento kreivė"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Neprivaloma pasirinktinė Photoshop stiliaus kreivė, susiejanti Z eigą su pirmojo komponento santykiu. Užrašoma kaip vertikaliais brūkšniais atskirti valdymo taškai, formatu \"x,y\" (senasis) arba \"x,y,m_in,m_out\", kai reikia nustatyti liestinę (tuščia reikšmė arba \"nan\" reiškia numatytąjį PCHIP). x priklauso [0,1]; y apribojamas iki nustatyto santykių intervalo, pvz. \"0,0.15|0.5,0.50|1,0.85\". Jei palikta tuščia, naudojamas tiesinis gradient_range."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Mišrios gijos gradientas kiekvienai daliai"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Kai gradiento režimas įjungtas, gradientas taikomas kiekvienai surinkimo daliai atskirai, o ne visam surinkimui kaip vienam Z intervalui."
msgid "Filament printable" msgid "Filament printable"
msgstr "Gija tinkama spausdinti" msgstr "Gija tinkama spausdinti"
@@ -15519,6 +15635,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Leidžiama didžiausia Y ašies išvesties jėga" msgstr "Leidžiama didžiausia Y ašies išvesties jėga"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15531,6 +15648,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Įrenginio pagrindo masės apkrova Y ašiai" msgstr "Įrenginio pagrindo masės apkrova Y ašiai"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15839,7 +15957,7 @@ msgstr "Pradžios ir pabaigos taškai, esantys tarp gijos kirpimo zonos ir atlie
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Sumažinti užpildo įtraukimą (Retraction)" msgstr "Sumažinti užpildo įtraukimą (Retraction)"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Neatlikti gijos įtraukimo, kai tuščioji eiga vyksta tik užpildo zonoje. Tokiu atveju gijos varvėjimas (oozing) išorėje bus nematomas. Tai leidžia sumažinti įtraukimų skaičių sudėtingiems modeliams ir sutaupyti spausdinimo laiko, tačiau sulėtina sluoksniavimą bei G-kodo (G-code) generavimą. Pastaba: zonose, kuriose įtraukimas praleidžiamas, „Z-hop“ judesys taip pat neatliekamas." msgstr "Neatlikti gijos įtraukimo, kai tuščioji eiga vyksta tik užpildo zonoje. Tokiu atveju gijos varvėjimas (oozing) išorėje bus nematomas. Tai leidžia sumažinti įtraukimų skaičių sudėtingiems modeliams ir sutaupyti spausdinimo laiko, tačiau sulėtina sluoksniavimą bei G-kodo (G-code) generavimą. Pastaba: zonose, kuriose įtraukimas praleidžiamas, „Z-hop“ judesys taip pat neatliekamas."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -16005,7 +16123,7 @@ msgstr "Atitraukimo kiekis po nubraukimo"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Greito atitraukimo ilgis po nubraukimo, atsižvelgiant į atitraukimo ilgį.\n" "Greito atitraukimo ilgis po nubraukimo, atsižvelgiant į atitraukimo ilgį.\n"
@@ -16052,7 +16170,7 @@ msgstr "Kai atitraukimas suaktyvinamas prieš įrankio keitimą, gija atitraukia
msgid "Z-hop height" msgid "Z-hop height"
msgstr "„Z-hop“ (pakėlimo) aukštis" msgstr "„Z-hop“ (pakėlimo) aukštis"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Kaskart atliekant atitraukimą, purkštukas šiek tiek pakeliamas, kad tarp jo ir spaudinio atsirastų tarpas. Tai apsaugo nuo purkštuko užkliudymo už spaudinio judėjimo metu. „Spiralinių“ linijų naudojimas Z ašies kėlimui gali padėti išvengti „tįstančių siūlų“ (angl. \"stringing\")." msgstr "Kaskart atliekant atitraukimą, purkštukas šiek tiek pakeliamas, kad tarp jo ir spaudinio atsirastų tarpas. Tai apsaugo nuo purkštuko užkliudymo už spaudinio judėjimo metu. „Spiralinių“ linijų naudojimas Z ašies kėlimui gali padėti išvengti „tįstančių siūlų“ (angl. \"stringing\")."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17099,6 +17217,14 @@ msgstr ""
"\n" "\n"
"Jei žemiau esančiame nustatyme „Įtraukimo kiekis prieš nuvalymą“ nurodysite reikšmę, perteklinis gijos įtraukimas bus atliktas prieš nuvalymą, kitu atveju po jo." "Jei žemiau esančiame nustatyme „Įtraukimo kiekis prieš nuvalymą“ nurodysite reikšmę, perteklinis gijos įtraukimas bus atliktas prieš nuvalymą, kitu atveju po jo."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Mišrios spalvos posluoksnis"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Įjungia skaidymą į mišrios spalvos posluoksnius. Įjungus sluoksniai, kuriuose yra mišrios spalvos gijų, skaidomi į posluoksnius, kad būtų pasiektas spalvų maišymo efektas."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Valymo bokštelis (angl. \"wiping tower\") gali būti naudojamas likučiams nuo purkštuko nuvalyti ir purkštuko viduje esančiam slėgiui stabilizuoti, siekiant išvengti išvaizdos defektų spausdinant objektus." msgstr "Valymo bokštelis (angl. \"wiping tower\") gali būti naudojamas likučiams nuo purkštuko nuvalyti ir purkštuko viduje esančiam slėgiui stabilizuoti, siekiant išvengti išvaizdos defektų spausdinant objektus."
@@ -18182,6 +18308,10 @@ msgstr "Nepavyko suformuoti modelio failo poligonažo arba jame nėra tinkamos g
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Pateikto failo nepavyko nuskaityti, nes jis yra tuščias." msgstr "Pateikto failo nepavyko nuskaityti, nes jis yra tuščias."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Failo formatas nesuderinamas ir jo nepavyksta perskaityti."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Nežinomas failo formatas: įvesties failas privalo turėti .stl, .obj arba .amf(.xml) plėtinį." msgstr "Nežinomas failo formatas: įvesties failas privalo turėti .stl, .obj arba .amf(.xml) plėtinį."
@@ -19649,19 +19779,19 @@ msgstr "Rodomi tik tie spausdintuvai, kurių spausdintuvo, kaitinamojo siūlo ir
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Rodyti tik tuos gijų pavadinimus, kurių gijos profiliai buvo pakeisti." msgstr "Rodyti tik tuos gijų pavadinimus, kurių gijos profiliai buvo pakeisti."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Bus rodomi tik tie spausdintuvų pavadinimai, kurie turi naudotojo sukurtų profilių, o kiekvienas pasirinktas profilis bus eksportuotas kaip ZIP failas." msgstr "Bus rodomi tik tie spausdintuvų pavadinimai, kurie turi naudotojo sukurtų profilių, o kiekvienas pasirinktas profilis bus eksportuotas kaip ZIP failas."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Bus rodomi tik tie gijų pavadinimai, kurie turi naudotojo sukurtų profilių, \n" "Bus rodomi tik tie gijų pavadinimai, kurie turi naudotojo sukurtų profilių, \n"
"o visi pasirinkto pavadinimo naudotojo gijos profiliai bus eksportuoti kaip ZIP failas." "o visi pasirinkto pavadinimo naudotojo gijos profiliai bus eksportuoti kaip ZIP failas."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Bus rodomi tik tie spausdintuvų pavadinimai, kurie turi pakeistų proceso profilių, \n" "Bus rodomi tik tie spausdintuvų pavadinimai, kurie turi pakeistų proceso profilių, \n"
"o visi pasirinkto spausdintuvo naudotojo proceso profiliai bus eksportuoti kaip ZIP failas." "o visi pasirinkto spausdintuvo naudotojo proceso profiliai bus eksportuoti kaip ZIP failas."
@@ -19891,7 +20021,7 @@ msgstr "Kopijuoti sistemos informaciją į iškarpinę"
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "Mums reikia informacijos problemos šaltiniui diagnozuoti. Išsamų vadovą rasite „Wiki“ puslapyje." msgstr "Mums reikia informacijos problemos šaltiniui diagnozuoti. Išsamų vadovą rasite „Wiki“ puslapyje."
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Mygtukas „Supakuoti“ (Pack) surenka projekto failą ir dabartinės sesijos žurnalus į ZIP failą." msgstr "Mygtukas „Supakuoti“ (Pack) surenka projekto failą ir dabartinės sesijos žurnalus į ZIP failą."
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -19933,7 +20063,7 @@ msgstr "Žurnalo lygis"
msgid "Stored logs" msgid "Stored logs"
msgstr "Saugomi žurnalai" msgstr "Saugomi žurnalai"
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Supakuoja visus saugomus žurnalus į ZIP failą." msgstr "Supakuoja visus saugomus žurnalus į ZIP failą."
msgid "Profiles" msgid "Profiles"
@@ -20000,7 +20130,7 @@ msgstr "Spausdintuvo tipas nerastas, pasirinkite rankiniu būdu."
msgid "Authorizing..." msgid "Authorizing..."
msgstr "Autorizuojama..." msgstr "Autorizuojama..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Klaida. Nepavyko gauti API žetono (token) autorizacijai" msgstr "Klaida. Nepavyko gauti API žetono (token) autorizacijai"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20448,8 +20578,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Įjungti išmanųjį gijos priskyrimą: priskirkite vieną giją keliems purkštukams, kad sutaupytumėte kuo daugiau" msgstr "Įjungti išmanųjį gijos priskyrimą: priskirkite vieną giją keliems purkštukams, kad sutaupytumėte kuo daugiau"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Gijos taupymas" msgstr "Failo įrašymas"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Daugiau neberodyti šio priminimo" msgstr "Daugiau neberodyti šio priminimo"
@@ -20814,6 +20944,9 @@ msgstr "Paleisti iš naujo dabar"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "VISIŠKAI NENAUDOTI SUTANKINIMO" msgstr "VISIŠKAI NENAUDOTI SUTANKINIMO"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Tūrinis greitis" msgstr "Tūrinis greitis"
@@ -21436,6 +21569,39 @@ msgstr ""
"Venkite deformacijų (warping)\n" "Venkite deformacijų (warping)\n"
"Ar žinojote, kad spausdinant medžiagas, kurios yra linkusios trauktis ir riestis (pvz., ABS), tinkamas kaitinamojo pagrindo temperatūros padidinimas gali sumažinti deformacijų (warping) tikimybę?" "Ar žinojote, kad spausdinant medžiagas, kurios yra linkusios trauktis ir riestis (pvz., ABS), tinkamas kaitinamojo pagrindo temperatūros padidinimas gali sumažinti deformacijų (warping) tikimybę?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Tiesioginei „Native Wayland“ peržiūrai reikalingas „GStreamer GTK“ vaizdo sinchronizatorius (video sink). Įdiekite „GStreamer“ skirtą „gtksink“ papildinį, tada iš naujo paleiskite „OrcaSlicer“."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Nepavyko inicijuoti „native Wayland GStreamer“ vaizdo sinchronizatoriaus (video sink). Patikrinkite „GStreamer GTK“ papildinio įdiegimą."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Šiai užduočiai atlikti reikalingas \"Windows Media Player\"! Ar norite įjungti \"Windows Media Player\" savo operacinėje sistemoje?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "„BambuSource“ neteisingai užregistruotas medijos atkūrimui! Paspauskite „Taip“, kad jį perregistruotumėte. Jums reikės patvirtinti du kartus."
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Trūksta BambuSource komponento, užregistruoto medijos atkūrimui! Iš naujo įdiekite OrcaSlicer arba kreipkitės pagalbos į bendruomenę."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Naudojant \"BambuSource\" iš kito diegimo šaltinio, vaizdo įrašų atkūrimas gali būti neteisingas! Paspauskite Taip, kad tai ištaisytumėte."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Jūsų sistemoje nėra \"GStreamer\" H.264 kodekų, reikalingų vaizdo įrašams atkurti. (Pabandykite įdiegti gstreamer1.0-plugins-bad arba gstreamer1.0-libav paketus, tada iš naujo paleiskite \"Orca Slicer\")"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Gijos taupymas"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
@@ -22206,20 +22372,12 @@ msgstr ""
#~ msgid "Please correct them in the param tabs" #~ msgid "Please correct them in the param tabs"
#~ msgstr "Prašome juos ištaisyti parametrų skirtukuose" #~ msgstr "Prašome juos ištaisyti parametrų skirtukuose"
#~ msgid "Name of components inside STEP file is not UTF8 format!" #~ msgid "Name of components inside STEP file is not UTF-8 format!"
#~ msgstr "Komponentų pavadinimai STEP faile nėra UTF-8 formato!" #~ msgstr "Komponentų pavadinimai STEP faile nėra UTF-8 formato!"
#~ msgid "The name may show garbage characters!" #~ msgid "The name may show garbage characters!"
#~ msgstr "Pavadinimas gali rodyti neskaitomus simbolius!" #~ msgstr "Pavadinimas gali rodyti neskaitomus simbolius!"
#, c-format, boost-format
#~ msgid ""
#~ "The object from file %s is too small, and maybe in meters or inches.\n"
#~ " Do you want to scale to millimeters?"
#~ msgstr ""
#~ "Objektas iš failo „%s“ yra per mažas ir galimai nurodytas metrais arba coliais.\n"
#~ "Ar norite mastelį pakeisti į milimetrus?"
#~ msgid "" #~ msgid ""
#~ "This file contains several objects positioned at multiple heights.\n" #~ "This file contains several objects positioned at multiple heights.\n"
#~ "Instead of considering them as multiple objects, should \n" #~ "Instead of considering them as multiple objects, should \n"
@@ -22609,21 +22767,6 @@ msgstr ""
#~ msgid "Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is larger than this value. Detour length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path. Zero to disable." #~ msgid "Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is larger than this value. Detour length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path. Zero to disable."
#~ msgstr "Maksimalus apylankos atstumas sienelių kirtimui išvengti. Apylanka nedaroma, jei jos atstumas viršija šią reikšmę. Apylankos ilgis gali būti nurodomas absoliučia verte arba procentais (pavyzdžiui, 50 %) nuo tiesioginio judėjimo trajektorijos. Įrašius 0 funkcija išjungiama." #~ msgstr "Maksimalus apylankos atstumas sienelių kirtimui išvengti. Apylanka nedaroma, jei jos atstumas viršija šią reikšmę. Apylankos ilgis gali būti nurodomas absoliučia verte arba procentais (pavyzdžiui, 50 %) nuo tiesioginio judėjimo trajektorijos. Įrašius 0 funkcija išjungiama."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate."
#~ msgstr "Pagrindo temperatūra visiems sluoksniams, išskyrus pirmąjį. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant šalto pagrindo (Cool Plate)."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Textured Cool Plate."
#~ msgstr "Pagrindo temperatūra visiems sluoksniams, išskyrus pirmąjį. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant tekstūruoto šalto pagrindo (Textured Cool Plate)."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Engineering Plate."
#~ msgstr "Pagrindo temperatūra visiems sluoksniams, išskyrus pirmąjį. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant inžinerinio pagrindo (Engineering Plate)."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the High Temp Plate."
#~ msgstr "Pagrindo temperatūra visiems sluoksniams, išskyrus pirmąjį. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant aukštos temperatūros pagrindo (High Temp Plate)."
#~ msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Textured PEI Plate."
#~ msgstr "Pagrindo temperatūra visiems sluoksniams, išskyrus pirmąjį. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant tekstūruoto PEI pagrindo (Textured PEI Plate)."
#~ msgid "Bed temperature of the first layer. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." #~ msgid "Bed temperature of the first layer. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
#~ msgstr "Pirmojo sluoksnio pagrindo temperatūra. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant „Cool Plate SuperTack“ pagrindo." #~ msgstr "Pirmojo sluoksnio pagrindo temperatūra. Reikšmė 0 reiškia, kad ši gija nepritaikyta spausdinti ant „Cool Plate SuperTack“ pagrindo."
+220 -55
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@@ -3197,6 +3197,10 @@ msgstr "Bewerken"
msgid "Merge with" msgid "Merge with"
msgstr "Samenvoegen met" msgstr "Samenvoegen met"
# AI Translated
msgid "Decompose Color"
msgstr "Kleur ontleden"
# AI Translated # AI Translated
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Dit filament verwijderen" msgstr "Dit filament verwijderen"
@@ -3519,6 +3523,10 @@ msgstr "Montage"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Onderdelen samenvoegen tot een object" msgstr "Onderdelen samenvoegen tot een object"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Het gebruik van variabele laaghoogte in combinatie met de sublaag met gemengde kleur kan de kwaliteit van de kleurmenging verslechteren."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Lagen toevoegen" msgstr "Lagen toevoegen"
@@ -5217,7 +5225,7 @@ msgstr ""
"De waarde wordt teruggezet naar 0." "De waarde wordt teruggezet naar 0."
# AI Translated # AI Translated
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Afwisselende extra wand werkt niet goed wanneer 'verticale wanddikte waarborgen' op Alles is ingesteld." msgstr "Afwisselende extra wand werkt niet goed wanneer 'verticale wanddikte waarborgen' op Alles is ingesteld."
# AI Translated # AI Translated
@@ -5265,7 +5273,7 @@ msgstr ""
# AI Translated # AI Translated
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height moet kleiner zijn dan layer_height.\n" "seam_slope_start_height moet kleiner zijn dan layer_height.\n"
@@ -5274,7 +5282,7 @@ msgstr ""
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"De vergrendeldiepte moet kleiner zijn dan de huiddiepte.\n" "De vergrendeldiepte moet kleiner zijn dan de huiddiepte.\n"
@@ -6887,11 +6895,11 @@ msgid "Load a model"
msgstr "Laad een model" msgstr "Laad een model"
# AI Translated # AI Translated
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "ZIP-archief importeren" msgstr "ZIP-archief importeren"
# AI Translated # AI Translated
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Laad modellen uit een ZIP-archief" msgstr "Laad modellen uit een ZIP-archief"
msgid "Import Configs" msgid "Import Configs"
@@ -8552,6 +8560,10 @@ msgstr "Huidig printbed aanpassen"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "Het %s-mondstuk kan %s niet printen." msgstr "Het %s-mondstuk kan %s niet printen."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Het printen van filament met gemengde kleur op een printer met één extruder vereist frequente filamentwissels en spoelbeurten, wat het afval en het risico op verstopping van het mondstuk of de afvalgoot aanzienlijk kan vergroten."
# AI Translated # AI Translated
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
@@ -8695,6 +8707,26 @@ msgstr "Synchroniseer filamentlijst vanuit AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Stel filamenten in om te gebruiken" msgstr "Stel filamenten in om te gebruiken"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Gemengd filament toevoegen"
# AI Translated
msgid "Mixed Filament"
msgstr "Gemengd filament"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Laatste gemengde filament verwijderen"
# AI Translated
msgid "Add mixed filament"
msgstr "Gemengd filament toevoegen"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Het gemengde filament bevat ongeldige of niet-overeenkomende componenten. Bewerk de betrokken items opnieuw."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Zoek plaat, object en onderdeel." msgstr "Zoek plaat, object en onderdeel."
@@ -8702,6 +8734,18 @@ msgstr "Zoek plaat, object en onderdeel."
msgid "Pellets" msgid "Pellets"
msgstr "Pellets" msgstr "Pellets"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Het gemengde filament bevat ongeldige componentverwijzingen"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Bewerken / Verwijderen / Samenvoegen"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Het gemengde doelfilament gebruikt dit fysieke filament als component. Bij het samenvoegen wordt dit fysieke filament verwijderd en kan het gemengde filament ongeldig worden. Doorgaan?"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
@@ -8860,8 +8904,8 @@ msgstr "Controleer of de G-codes in deze presets veilig zijn om schade aan de ma
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Aangepaste voorinstelling" msgstr "Aangepaste voorinstelling"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Naam van componenten in step-bestand is niet UTF8-formaat!" msgstr "Naam van componenten in step-bestand is niet UTF-8-formaat!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "Vanwege niet-ondersteunde tekstcodering kunnen er onjuiste tekens verschijnen!" msgstr "Vanwege niet-ondersteunde tekstcodering kunnen er onjuiste tekens verschijnen!"
@@ -8883,10 +8927,10 @@ msgstr "Het volume van het object is 0"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Het object uit bestand %s is erg klein, en misschien in meters of inches.\n" "Het object uit bestand %s is erg klein, en misschien in meters of inches.\n"
" Wil je schalen naar millimeters?" "Wil je schalen naar millimeters?"
msgid "Object too small" msgid "Object too small"
msgstr "He tobject is te klein" msgstr "He tobject is te klein"
@@ -8903,6 +8947,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Object met meerdere onderdelen gedetecteerd" msgstr "Object met meerdere onderdelen gedetecteerd"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Texturen aan filamenten koppelen"
# AI Translated
msgid "Texture Import Warning"
msgstr "Waarschuwing bij importeren van textuur"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Wilt u deze bestanden laden als een enkel object bestaande uit meerdere onderdelen?\n" msgstr "Wilt u deze bestanden laden als een enkel object bestaande uit meerdere onderdelen?\n"
@@ -9134,6 +9186,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Nu synchroniseren" msgstr "Nu synchroniseren"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Het importeren van de textuur is mislukt. Het model lijkt textuurgegevens te bevatten, maar het importproces kon niet worden voltooid. Het model wordt alleen als geometrie geïmporteerd."
# AI Translated
msgid "Applying texture colors..."
msgstr "Textuurkleuren toepassen..."
# AI Translated
msgid "Updating 3D view..."
msgstr "3D-weergave bijwerken..."
# AI Translated
msgid "Texture colors applied."
msgstr "Textuurkleuren toegepast."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Je kunt de aangepaste voorinstellingen bewaren voor het nieuwe project of ze laten vervallen" msgstr "Je kunt de aangepaste voorinstellingen bewaren voor het nieuwe project of ze laten vervallen"
@@ -10527,6 +10595,10 @@ msgstr "Spiraalvaas"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Eerste laag filamentvolgorde" msgstr "Eerste laag filamentvolgorde"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "De filamentlijst bevat gemengde filamenten. De aangepaste filamentvolgorde wordt niet toegepast."
msgid "By Layer" msgid "By Layer"
msgstr "Op laag" msgstr "Op laag"
@@ -12027,12 +12099,12 @@ msgid "No modifications need to be copied."
msgstr "Er hoeven geen wijzigingen te worden gekopieerd." msgstr "Er hoeven geen wijzigingen te worden gekopieerd."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Parameters kopiëren" msgstr "Parameters kopiëren"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Parameters van %s wijzigen" msgstr "Parameters van %s wijzigen"
# AI Translated # AI Translated
@@ -12618,33 +12690,6 @@ msgstr "Volumes reinigen voor filament wijziging"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Kies de filamentkleur" msgstr "Kies de filamentkleur"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Voor de native Wayland-liveview is de GStreamer GTK-videosink nodig. Installeer de gtksink-plug-in voor GStreamer en start OrcaSlicer opnieuw."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Initialiseren van de native Wayland GStreamer-videosink is mislukt. Controleer de installatie van uw GStreamer GTK-plug-in."
# AI Translated
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Voor deze taak is Windows Media Player vereist! Wilt u 'Windows Media Player' inschakelen voor uw besturingssysteem?"
# AI Translated
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource is niet correct geregistreerd voor het afspelen van media! Klik op Ja om het opnieuw te registreren. U krijgt twee keer een melding"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Ontbrekend BambuSource-component geregistreerd voor media afspelen! Installeer OrcaSlicer opnieuw of zoek hulp in de community."
# AI Translated
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Er wordt een BambuSource van een andere installatie gebruikt; het afspelen van video werkt mogelijk niet correct! Klik op Ja om dit te herstellen."
# AI Translated
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Op uw systeem ontbreken H.264-codecs voor GStreamer, die nodig zijn om video af te spelen. (Probeer de pakketten gstreamer1.0-plugins-bad of gstreamer1.0-libav te installeren en Orca Slicer opnieuw te starten.)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "De cloudagent is niet beschikbaar. Start OrcaSlicer opnieuw en probeer het nogmaals." msgstr "De cloudagent is niet beschikbaar. Start OrcaSlicer opnieuw en probeer het nogmaals."
@@ -13410,6 +13455,10 @@ msgstr "Als u toch wilt printen, kunt u de optie inschakelen via Voorkeuren / Be
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Geen extrusion onder de huidige instellingen" msgstr "Geen extrusion onder de huidige instellingen"
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Er wordt een gemengd filament met verloop gebruikt, maar 'Sublaag met gemengde kleur' is uitgeschakeld. Het verloop wordt niet geprint."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Vloeiende modus van timelapse wordt niet ondersteund wanneer \"per object\" sequentie is ingeschakeld." msgstr "Vloeiende modus van timelapse wordt niet ondersteund wanneer \"per object\" sequentie is ingeschakeld."
@@ -13452,6 +13501,10 @@ msgstr "Verklein eventueel uw model of wijzig de huidige printinstellingen en pr
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Variabele laaghoogte wordt niet ondersteund met organische steunen." msgstr "Variabele laaghoogte wordt niet ondersteund met organische steunen."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Het filament van het afveegblok mag geen gemengd filament zijn."
# AI Translated # AI Translated
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Verschillende mondstukdiameters en verschillende filamentdiameters werken mogelijk niet goed wanneer de prime toren is ingeschakeld. Dit is zeer experimenteel; ga daarom voorzichtig te werk." msgstr "Verschillende mondstukdiameters en verschillende filamentdiameters werken mogelijk niet goed wanneer de prime toren is ingeschakeld. Dit is zeer experimenteel; ga daarom voorzichtig te werk."
@@ -13843,14 +13896,12 @@ msgstr "mm of %"
msgid "Other layers" msgid "Other layers"
msgstr "Andere lagen" msgstr "Andere lagen"
# AI Translated msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Bedtemperatuur voor alle lagen behalve de eerste. Een waarde van 0 betekent dat het filament printen op de Cool Plate SuperTack niet ondersteunt." msgstr "Bedtemperatuur voor alle lagen behalve de eerste. Een waarde van 0 betekent dat het filament printen op de Cool Plate SuperTack niet ondersteunt."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
msgstr "Dit is de bedtemperatuur voor alle lagen behalve de eerste. Een waarde van 0 betekent dat het filament het afdrukken op de Cool Plate niet ondersteunt." msgstr "Dit is de bedtemperatuur voor alle lagen behalve de eerste. Een waarde van 0 betekent dat het filament het afdrukken op de Cool Plate niet ondersteunt."
# AI Translated
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Textured Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Textured Cool Plate."
msgstr "Dit is de bedtemperatuur voor alle lagen behalve de eerste. Een waarde van 0 betekent dat het filament printen op de Textured Cool Plate niet ondersteunt." msgstr "Dit is de bedtemperatuur voor alle lagen behalve de eerste. Een waarde van 0 betekent dat het filament printen op de Textured Cool Plate niet ondersteunt."
@@ -15365,6 +15416,8 @@ msgstr "Laag tijd"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "De printkop ventilator wordt ingeschakeld voor lagen waarvan de geschatte printtijd korter is dan deze waarde. Ventilatorsnelheid wordt geïnterpoleerd tussen de minimale en maximale ventilatorsnelheden volgens de printtijd van de laag" msgstr "De printkop ventilator wordt ingeschakeld voor lagen waarvan de geschatte printtijd korter is dan deze waarde. Ventilatorsnelheid wordt geïnterpoleerd tussen de minimale en maximale ventilatorsnelheden volgens de printtijd van de laag"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -15724,6 +15777,62 @@ msgstr "Support materiaal"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Support materiaal wordt vaak gebruikt om support en support interfaces af te drukken." msgstr "Support materiaal wordt vaak gebruikt om support en support interfaces af te drukken."
# AI Translated
msgid "Is mixed filament"
msgstr "Is gemengd filament"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Geeft aan of dit filamentslot een gemengd filament is dat uit meerdere fysieke filamenten bestaat"
# AI Translated
msgid "Mixed filament components"
msgstr "Componenten van gemengd filament"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Door komma's gescheiden indexen van de componentfilamenten, beginnend bij 1, bijv. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Sublaagverhoudingen van gemengd filament"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Door komma's gescheiden verhoudingswaarden die samen 1.0 zijn, bijv. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Verloop van gemengd filament"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Schakelt de verloopmodus in Z-richting in voor de sublagen van gemengd filament. Wanneer ingeschakeld variëren de sublaagverhoudingen lineair over de lagen."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Verloopbereik van gemengd filament"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Begin- en eindverhouding van de eerste component in de verloopmodus. Door een komma gescheiden paar, bijv. \"0.10,0.90\" betekent 10% tot 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Verloopcurve van gemengd filament"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Optionele aangepaste curve in Photoshop-stijl die de Z-voortgang koppelt aan de verhouding van de eerste component. Gecodeerd als door verticale strepen gescheiden controlepunten, in de vorm \"x,y\" (verouderd) of \"x,y,m_in,m_out\" wanneer de raaklijn moet worden overschreven (een lege waarde of \"nan\" gebruikt de PCHIP-standaard). x ligt in [0,1]; y wordt begrensd tot het ingestelde verhoudingsbereik, bijv. \"0,0.15|0.5,0.50|1,0.85\". Wanneer het veld leeg is, wordt het lineaire gradient_range gebruikt."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Verloop per onderdeel van gemengd filament"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Wanneer de verloopmodus is ingeschakeld, wordt het verloop op elk onderdeel van een montage afzonderlijk toegepast in plaats van de hele montage als één Z-bereik te behandelen."
# AI Translated # AI Translated
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament printbaar" msgstr "Filament printbaar"
@@ -17162,6 +17271,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "De maximaal toegestane uitgangskracht van de Y-as" msgstr "De maximaal toegestane uitgangskracht van de Y-as"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -17172,6 +17282,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "De massabelasting van het machinebed op de Y-as" msgstr "De massabelasting van het machinebed op de Y-as"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -17510,8 +17621,8 @@ msgid "Reduce infill retraction"
msgstr "Reduceer terugtrekken (retraction) bij vulling (infill)" msgstr "Reduceer terugtrekken (retraction) bij vulling (infill)"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Trek niet terug als de beweging zich volledig in een opvulgebied bevindt. Dat betekent dat het sijpelen niet zichtbaar is. Dit kan de retraction times voor complexe modellen verkorten en printtijd besparen, maar het segmenteren en het genereren van G-codes langzamer maken. Let op: z-hop wordt ook niet uitgevoerd in gebieden waar het terugtrekken wordt overgeslagen." msgstr "Trek niet terug als de beweging zich volledig in een opvulgebied bevindt. Dat betekent dat het sijpelen niet zichtbaar is. Dit kan de retraction times voor complexe modellen verkorten en printtijd besparen, maar het segmenteren en het genereren van G-codes langzamer maken. Let op: Z-hop wordt ook niet uitgevoerd in gebieden waar het terugtrekken wordt overgeslagen."
# AI Translated # AI Translated
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -17700,7 +17811,7 @@ msgstr "Terugtrekhoeveelheid na vegen"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"De lengte van de snelle terugtrekking na het vegen, relatief ten opzichte van de terugtreklengte.\n" "De lengte van de snelle terugtrekking na het vegen, relatief ten opzichte van de terugtreklengte.\n"
@@ -17754,7 +17865,7 @@ msgstr "Wanneer het terugtrekken vóór een gereedschapswissel wordt geactiveerd
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z-hop-hoogte" msgstr "Z-hop-hoogte"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Wanneer er een terugtrekking (retraction) is, wordt het mondstuk een beetje opgetild om ruimte te creëren tussen het mondstuk en de print. Dit voorkomt dat het mondstuk de print raakt bij verplaatsen. Het gebruik van spiraallijnen om Z op te tillen kan stringing voorkomen." msgstr "Wanneer er een terugtrekking (retraction) is, wordt het mondstuk een beetje opgetild om ruimte te creëren tussen het mondstuk en de print. Dit voorkomt dat het mondstuk de print raakt bij verplaatsen. Het gebruik van spiraallijnen om Z op te tillen kan stringing voorkomen."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -18947,6 +19058,14 @@ msgstr ""
"\n" "\n"
"Als u hieronder een waarde instelt bij de terugtrekhoeveelheid vóór het vegen, wordt de overtollige terugtrekking vóór het vegen uitgevoerd; anders gebeurt dat erna." "Als u hieronder een waarde instelt bij de terugtrekhoeveelheid vóór het vegen, wordt de overtollige terugtrekking vóór het vegen uitgevoerd; anders gebeurt dat erna."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Sublaag met gemengde kleur"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Schakelt het opsplitsen in sublagen met gemengde kleur in. Wanneer ingeschakeld worden lagen die filamenten met gemengde kleur bevatten opgesplitst in sublagen om kleurmengeffecten te bereiken."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "De veegtoren kan worden gebruikt om resten op het mondstuk te verwijderen en de druk in het mondstuk te stabiliseren om uiterlijke gebreken bij het printen van objecten te voorkomen." msgstr "De veegtoren kan worden gebruikt om resten op het mondstuk te verwijderen en de druk in het mondstuk te stabiliseren om uiterlijke gebreken bij het printen van objecten te voorkomen."
@@ -19764,7 +19883,7 @@ msgid "Allow 3MF with newer version to be sliced."
msgstr "Sta toe dat een 3MF met een nieuwere versie wordt geslicet." msgstr "Sta toe dat een 3MF met een nieuwere versie wordt geslicet."
msgid "Current Z-hop" msgid "Current Z-hop"
msgstr "Huidige z-hop" msgstr "Huidige Z-hop"
# AI Translated # AI Translated
msgid "Contains Z-hop present at the beginning of the custom G-code block." msgid "Contains Z-hop present at the beginning of the custom G-code block."
@@ -20213,6 +20332,10 @@ msgstr "Het meshen van een modelbestand is mislukt of er is geen geldige vorm."
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Het opgegeven bestand kon niet worden gelezen omdat het leeg is." msgstr "Het opgegeven bestand kon niet worden gelezen omdat het leeg is."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "De bestandsindeling is niet compatibel en kan niet worden gelezen."
# AI Translated # AI Translated
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Onbekende bestandsindeling: het invoerbestand moet de extensie .stl, .obj of .amf(.xml) hebben." msgstr "Onbekende bestandsindeling: het invoerbestand moet de extensie .stl, .obj of .amf(.xml) hebben."
@@ -21801,19 +21924,19 @@ msgstr "Alleen printers met wijzigingen in printer-, filament- en proces presets
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Geef alleen de filamentnamen weer met wijzigingen in filament presets." msgstr "Geef alleen de filamentnamen weer met wijzigingen in filament presets."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Alleen printernamen met gebruikersprinter presets worden weergegeven en elke preset die je kiest, wordt als zip geëxporteerd." msgstr "Alleen printernamen met gebruikersprinter presets worden weergegeven en elke preset die je kiest, wordt als zip geëxporteerd."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Alleen de filamentnamen met gebruikers presets worden weergegeven, \n" "Alleen de filamentnamen met gebruikers presets worden weergegeven, \n"
"en alle gebruikers presets in elke filamentnaam die u selecteert, worden geëxporteerd als zip-bestand." "en alle gebruikers presets in elke filamentnaam die u selecteert, worden geëxporteerd als zip-bestand."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Alleen printernamen met gewijzigde proces presets worden weergegeven, \n" "Alleen printernamen met gewijzigde proces presets worden weergegeven, \n"
"en alle gebruikersproces presets in elke printernaam die u selecteert, worden als zip geëxporteerd." "en alle gebruikersproces presets in elke printernaam die u selecteert, worden als zip geëxporteerd."
@@ -22068,7 +22191,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "We hebben informatie nodig om de oorzaak van het probleem te achterhalen. Raadpleeg de wikipagina voor een uitgebreide handleiding." msgstr "We hebben informatie nodig om de oorzaak van het probleem te achterhalen. Raadpleeg de wikipagina voor een uitgebreide handleiding."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "De knop Inpakken verzamelt het projectbestand en de logboeken van de huidige sessie in een zipbestand." msgstr "De knop Inpakken verzamelt het projectbestand en de logboeken van de huidige sessie in een zipbestand."
# AI Translated # AI Translated
@@ -22124,7 +22247,7 @@ msgid "Stored logs"
msgstr "Opgeslagen logboeken" msgstr "Opgeslagen logboeken"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Pakt alle opgeslagen logboeken in een zipbestand." msgstr "Pakt alle opgeslagen logboeken in een zipbestand."
# AI Translated # AI Translated
@@ -22212,7 +22335,7 @@ msgid "Authorizing..."
msgstr "Autoriseren..." msgstr "Autoriseren..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Fout. Kan geen API-token voor autorisatie ophalen" msgstr "Fout. Kan geen API-token voor autorisatie ophalen"
# AI Translated # AI Translated
@@ -22761,8 +22884,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Slimme filamenttoewijzing inschakelen: wijs één filament aan meerdere mondstukken toe om de besparing te maximaliseren" msgstr "Slimme filamenttoewijzing inschakelen: wijs één filament aan meerdere mondstukken toe om de besparing te maximaliseren"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Filamentbesparing" msgstr "Bestand opslaan"
# AI Translated # AI Translated
msgid "Don't remind me again" msgid "Don't remind me again"
@@ -23217,6 +23340,9 @@ msgstr "Nu opnieuw starten"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "HELEMAAL GEEN RAMMING" msgstr "HELEMAAL GEEN RAMMING"
msgid "s"
msgstr "s"
# AI Translated # AI Translated
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Volumetrische snelheid" msgstr "Volumetrische snelheid"
@@ -23883,6 +24009,45 @@ msgstr ""
"Kromtrekken voorkomen\n" "Kromtrekken voorkomen\n"
"Wist je dat bij het printen van materialen die gevoelig zijn voor kromtrekken, zoals ABS, een juiste verhoging van de temperatuur van het warmtebed de kans op kromtrekken kan verkleinen?" "Wist je dat bij het printen van materialen die gevoelig zijn voor kromtrekken, zoals ABS, een juiste verhoging van de temperatuur van het warmtebed de kans op kromtrekken kan verkleinen?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Voor de native Wayland-liveview is de GStreamer GTK-videosink nodig. Installeer de gtksink-plug-in voor GStreamer en start OrcaSlicer opnieuw."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Initialiseren van de native Wayland GStreamer-videosink is mislukt. Controleer de installatie van uw GStreamer GTK-plug-in."
# AI Translated
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Voor deze taak is Windows Media Player vereist! Wilt u 'Windows Media Player' inschakelen voor uw besturingssysteem?"
# AI Translated
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource is niet correct geregistreerd voor het afspelen van media! Klik op Ja om het opnieuw te registreren. U krijgt twee keer een melding"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Ontbrekend BambuSource-component geregistreerd voor media afspelen! Installeer OrcaSlicer opnieuw of zoek hulp in de community."
# AI Translated
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Er wordt een BambuSource van een andere installatie gebruikt; het afspelen van video werkt mogelijk niet correct! Klik op Ja om dit te herstellen."
# AI Translated
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Op uw systeem ontbreken H.264-codecs voor GStreamer, die nodig zijn om video af te spelen. (Probeer de pakketten gstreamer1.0-plugins-bad of gstreamer1.0-libav te installeren en Orca Slicer opnieuw te starten.)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Filamentbesparing"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+216 -50
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: OrcaSlicer 2.3.0-rc\n" "Project-Id-Version: OrcaSlicer 2.3.0-rc\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: Krzysztof Morga <<tlumaczeniebs@gmail.com>>\n" "Last-Translator: Krzysztof Morga <<tlumaczeniebs@gmail.com>>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -3012,6 +3012,10 @@ msgstr "Edytuj"
msgid "Merge with" msgid "Merge with"
msgstr "Scal z" msgstr "Scal z"
# AI Translated
msgid "Decompose Color"
msgstr "Rozłóż kolor"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Usuń ten filament" msgstr "Usuń ten filament"
@@ -3319,6 +3323,10 @@ msgstr "Złożenie"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Scal części w obiekt" msgstr "Scal części w obiekt"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Użycie zmiennej wysokości warstwy razem z podwarstwą mieszanego koloru może pogorszyć jakość mieszania kolorów."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Dodaj warstwy" msgstr "Dodaj warstwy"
@@ -4907,7 +4915,7 @@ msgstr ""
"\n" "\n"
"Wartość zostanie zresetowana do 0." "Wartość zostanie zresetowana do 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Alternatywna dodatkowa ściana działa tylko wtedy, gdy jest wyłączona opcja „zapewnij stałą grubość pionowej powłoki”." msgstr "Alternatywna dodatkowa ściana działa tylko wtedy, gdy jest wyłączona opcja „zapewnij stałą grubość pionowej powłoki”."
msgid "" msgid ""
@@ -4953,7 +4961,7 @@ msgstr ""
"NIE - Zachowaj Niezależną wysokość warstwy podpory" "NIE - Zachowaj Niezależną wysokość warstwy podpory"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height musi być mniejsza niż wysokość warstwy.\n" "seam_slope_start_height musi być mniejsza niż wysokość warstwy.\n"
@@ -4962,7 +4970,7 @@ msgstr ""
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Głębokość blokady powinna być mniejsza niż głębokość skóry.\n" "Głębokość blokady powinna być mniejsza niż głębokość skóry.\n"
@@ -6467,10 +6475,10 @@ msgstr "Importuj 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Wczytaj model" msgstr "Wczytaj model"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importuj archiwum ZIP" msgstr "Importuj archiwum ZIP"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Wczytaj modele zawarte w archiwum ZIP" msgstr "Wczytaj modele zawarte w archiwum ZIP"
msgid "Import Configs" msgid "Import Configs"
@@ -8030,6 +8038,10 @@ msgstr "Dostosuj bieżący stół"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "Dysza %s nie może drukować %s." msgstr "Dysza %s nie może drukować %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Drukowanie filamentu o mieszanym kolorze na drukarce z jednym ekstruderem wymaga częstych zmian filamentu i płukania, co może znacznie zwiększyć ilość odpadów oraz ryzyko zatkania dyszy lub rynny na odpady."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Mieszanie %1% z %2% podczas druku nie jest zalecane.\n" msgstr "Mieszanie %1% z %2% podczas druku nie jest zalecane.\n"
@@ -8156,12 +8168,44 @@ msgstr "Synchronizuj listę filamentów z AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Wybierz filamenty do użycia" msgstr "Wybierz filamenty do użycia"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Dodaj filament mieszany"
# AI Translated
msgid "Mixed Filament"
msgstr "Filament mieszany"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Usuń ostatni filament mieszany"
# AI Translated
msgid "Add mixed filament"
msgstr "Dodaj filament mieszany"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Filament mieszany ma nieprawidłowe lub niezgodne składniki. Proszę ponownie edytować odpowiednie pozycje."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Szukaj stołu, obiektu i części." msgstr "Szukaj stołu, obiektu i części."
msgid "Pellets" msgid "Pellets"
msgstr "Granulat" msgstr "Granulat"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Filament mieszany ma uszkodzone odwołania do składników"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Edytuj / Usuń / Scal"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Docelowy filament mieszany używa tego fizycznego filamentu jako składnika. Scalenie usunie ten fizyczny filament i może unieważnić filament mieszany. Kontynuować?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Po zakończeniu operacji projekt %s zostanie zamknięty i zostanie utworzony nowy projekt." msgstr "Po zakończeniu operacji projekt %s zostanie zamknięty i zostanie utworzony nowy projekt."
@@ -8309,8 +8353,8 @@ msgstr "Proszę potwierdź, że G-code w tych profilach jest bezpieczny, aby zap
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Dostosowany profil" msgstr "Dostosowany profil"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Nazwa komponentów w pliku step nie jest w formacie UTF8!" msgstr "Nazwa komponentów w pliku step nie jest w formacie UTF-8!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "Nazwa może zawierać nieczytelne znaki!" msgstr "Nazwa może zawierać nieczytelne znaki!"
@@ -8331,10 +8375,10 @@ msgstr "Objętość tego obiektu wynosi zero"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Obiekt z pliku %s jest zbyt mały i możliwe, że jest określony w metrach lub calach.\n" "Obiekt z pliku %s jest zbyt mały i możliwe, że jest określony w metrach lub calach.\n"
" Czy przeskalować na milimetry?" "Czy przeskalować na milimetry?"
msgid "Object too small" msgid "Object too small"
msgstr "Zbyt mały obiekt" msgstr "Zbyt mały obiekt"
@@ -8351,6 +8395,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Wykryto obiekt składający się z wielu części" msgstr "Wykryto obiekt składający się z wielu części"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Dopasowywanie tekstur do filamentów"
# AI Translated
msgid "Texture Import Warning"
msgstr "Ostrzeżenie importu tekstury"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Czy wczytać te pliki jako pojedynczy obiekt składający się z wielu części?\n" msgstr "Czy wczytać te pliki jako pojedynczy obiekt składający się z wielu części?\n"
@@ -8579,6 +8631,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Synchronizuj teraz" msgstr "Synchronizuj teraz"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Import tekstury nie powiódł się. Model zdaje się zawierać dane tekstury, ale nie udało się ukończyć procesu importu. Model zostanie zaimportowany wyłącznie jako geometria."
# AI Translated
msgid "Applying texture colors..."
msgstr "Stosowanie kolorów tekstury..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Aktualizowanie widoku 3D..."
# AI Translated
msgid "Texture colors applied."
msgstr "Zastosowano kolory tekstury."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Można zachować zmodyfikowane profile w nowym projekcie lub je odrzucić." msgstr "Można zachować zmodyfikowane profile w nowym projekcie lub je odrzucić."
@@ -9922,6 +9990,10 @@ msgstr "Tryb wazy"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Sekwencja koloru pierwszej warstwy" msgstr "Sekwencja koloru pierwszej warstwy"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Lista filamentów zawiera filamenty mieszane. Niestandardowa kolejność filamentów nie zostanie zastosowana."
msgid "By Layer" msgid "By Layer"
msgstr "Wg warstwy" msgstr "Wg warstwy"
@@ -11363,12 +11435,12 @@ msgid "No modifications need to be copied."
msgstr "Nie ma modyfikacji do skopiowania." msgstr "Nie ma modyfikacji do skopiowania."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Kopiuj parametry" msgstr "Kopiuj parametry"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Zmodyfikuj parametry %s" msgstr "Zmodyfikuj parametry %s"
# AI Translated # AI Translated
@@ -11896,30 +11968,6 @@ msgstr "Objętości płukania przy zmianie filamentu"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Proszę wybrać kolor filamentu" msgstr "Proszę wybrać kolor filamentu"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Natywny podgląd na żywo w Wayland wymaga ujścia wideo GStreamer GTK. Zainstaluj wtyczkę gtksink dla GStreamer, a następnie uruchom ponownie OrcaSlicer."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Nie udało się zainicjować natywnego ujścia wideo GStreamer dla Wayland. Sprawdź instalację wtyczki GStreamer GTK."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Do wykonania tego zadania wymagany jest Windows Media Player! Czy włączyć „Windows Media Player” dla systemu operacyjnego?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource nie został poprawnie zarejestrowany do odtwarzania mediów! Naciśnij Tak, aby ponownie go zarejestrować. Będziesz poproszony dwa razy."
# AI Translated
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Brak zarejestrowanego komponentu BambuSource do odtwarzania multimediów! Zainstaluj ponownie OrcaSlicer lub poszukaj pomocy w społeczności."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Jeśli używasz BambuSource z innej instalacji programu, odtwarzanie wideo może nie działać poprawnie! Naciśnij Tak, aby to naprawić."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Twój system nie posiada kodeków H.264 dla GStreamer, które są wymagane do odtwarzania wideo. (Spróbuj zainstalować pakiety gstreamer1.0-plugins-bad lub gstreamer1.0-libav, a następnie zrestartuj Orca Slicer?)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Agent chmury jest niedostępny. Uruchom ponownie OrcaSlicer i spróbuj jeszcze raz." msgstr "Agent chmury jest niedostępny. Uruchom ponownie OrcaSlicer i spróbuj jeszcze raz."
@@ -12646,6 +12694,10 @@ msgstr "Jeśli mimo to chcesz drukować, możesz włączyć opcję w Preferencje
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Brak ekstruzji przy obecnych ustawieniach." msgstr "Brak ekstruzji przy obecnych ustawieniach."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Używany jest filament mieszany z gradientem, ale opcja 'Podwarstwa mieszanego koloru' jest wyłączona. Gradient nie zostanie wydrukowany."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Tryb „Wygładzony” timelapse nie jest obsługiwany, gdy włączona jest sekwencja druku „według obiektu”." msgstr "Tryb „Wygładzony” timelapse nie jest obsługiwany, gdy włączona jest sekwencja druku „według obiektu”."
@@ -12684,6 +12736,10 @@ msgstr "Może być konieczne zmniejszenie rozmiaru modelu lub zmiana bieżących
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Zmienna wysokość warstwy nie jest dostępna w przypadku podpór organicznych." msgstr "Zmienna wysokość warstwy nie jest dostępna w przypadku podpór organicznych."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Filament wieży czyszczącej nie może być filamentem mieszanym."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Różne średnice dysz i filamentu mogą nie działać poprawnie, gdy włączona jest wieża czyszcząca. Jest to mocno eksperymentalna funkcja, więc zaleca się ostrożność." msgstr "Różne średnice dysz i filamentu mogą nie działać poprawnie, gdy włączona jest wieża czyszcząca. Jest to mocno eksperymentalna funkcja, więc zaleca się ostrożność."
@@ -13060,8 +13116,7 @@ msgstr "mm lub %"
msgid "Other layers" msgid "Other layers"
msgstr "Pozostałe warstwy" msgstr "Pozostałe warstwy"
# AI Translated msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje druku na Cool Plate SuperTack." msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje druku na Cool Plate SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -14477,6 +14532,8 @@ msgstr "Czas warstwy"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Wentylator chłodzący części zostanie włączony dla warstw, których szacowany czas jest krótszy niż ta wartość. Prędkość wentylatora jest interpolowana między minimalną a maksymalną prędkością wentylatora zgodnie z czasem druku warstwy" msgstr "Wentylator chłodzący części zostanie włączony dla warstw, których szacowany czas jest krótszy niż ta wartość. Prędkość wentylatora jest interpolowana między minimalną a maksymalną prędkością wentylatora zgodnie z czasem druku warstwy"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14787,6 +14844,62 @@ msgstr "Materiał podporowy"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Materiał podporowy jest powszechnie używany do drukowania podpór i warstw łączących podpory z modelem" msgstr "Materiał podporowy jest powszechnie używany do drukowania podpór i warstw łączących podpory z modelem"
# AI Translated
msgid "Is mixed filament"
msgstr "Jest filamentem mieszanym"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Określa, czy to gniazdo filamentu jest filamentem mieszanym złożonym z kilku fizycznych filamentów"
# AI Translated
msgid "Mixed filament components"
msgstr "Składniki filamentu mieszanego"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Rozdzielone przecinkami indeksy filamentów składowych liczone od 1, np. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Proporcje podwarstw filamentu mieszanego"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Rozdzielone przecinkami wartości proporcji sumujące się do 1.0, np. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Gradient filamentu mieszanego"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Włącza tryb gradientu w kierunku Z dla podwarstw filamentu mieszanego. Po włączeniu proporcje podwarstw zmieniają się liniowo między warstwami."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Zakres gradientu filamentu mieszanego"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Początkowa i końcowa proporcja pierwszego składnika w trybie gradientu. Para rozdzielona przecinkiem, np. \"0.10,0.90\" oznacza od 10% do 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Krzywa gradientu filamentu mieszanego"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Opcjonalna własna krzywa w stylu Photoshopa odwzorowująca postęp w osi Z na proporcję pierwszego składnika. Zapisywana jako punkty kontrolne rozdzielone pionowymi kreskami, w postaci \"x,y\" (starszy format) lub \"x,y,m_in,m_out\", gdy potrzebne jest nadpisanie stycznej (pusta wartość lub \"nan\" oznacza domyślną wartość PCHIP). x należy do [0,1]; y jest ograniczane do skonfigurowanego zakresu proporcji, np. \"0,0.15|0.5,0.50|1,0.85\". Gdy pole jest puste, używany jest liniowy gradient_range."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Gradient filamentu mieszanego dla każdej części"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Gdy tryb gradientu jest włączony, gradient jest stosowany do każdej części złożenia niezależnie, zamiast traktować całe złożenie jako jeden zakres Z."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament do druku" msgstr "Filament do druku"
@@ -16107,6 +16220,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Dopuszczalna maksymalna siła wyjściowa na osi Y" msgstr "Dopuszczalna maksymalna siła wyjściowa na osi Y"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -16117,6 +16231,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Obciążenie masowe stołu maszyny na osi Y" msgstr "Obciążenie masowe stołu maszyny na osi Y"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -16448,7 +16563,7 @@ msgstr "Punkty początkowe i końcowe, od obszaru cięcia do kanału wyrzutowego
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Zmniejszanie retrakcji wypełnienia" msgstr "Zmniejszanie retrakcji wypełnienia"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Nie wykonuj retrakcji, gdy ruch odbywa się całkowicie w obszarze wypełnienia. Oznacza to, że wyciek nie będzie widoczny. Może to zmniejszyć liczbę retrakcji dla skomplikowanego modelu i zaoszczędzić czas druku, ale spowolnić krojenie i generowanie G-code" msgstr "Nie wykonuj retrakcji, gdy ruch odbywa się całkowicie w obszarze wypełnienia. Oznacza to, że wyciek nie będzie widoczny. Może to zmniejszyć liczbę retrakcji dla skomplikowanego modelu i zaoszczędzić czas druku, ale spowolnić krojenie i generowanie G-code"
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -16624,7 +16739,7 @@ msgstr "Wartość retrakcji po czyszczeniu"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Długość szybkiej retrakcji po czyszczeniu, względem długości retrakcji.\n" "Długość szybkiej retrakcji po czyszczeniu, względem długości retrakcji.\n"
@@ -16671,7 +16786,7 @@ msgstr "Gdy retrakcja jest wyzwalana przed zmianą narzędzia, filament zostaje
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Wysokość Z-hop" msgstr "Wysokość Z-hop"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Zawsze gdy wykonana jest retrakcja, dysza jest nieco podnoszona, aby stworzyć odstęp między dyszą a wydrukiem. Zapobiega to uderzeniu dyszy w wydruk podczas przemieszczania. Użycie linii spiralnej do podniesienia Z może zapobiec powstawaniu strun" msgstr "Zawsze gdy wykonana jest retrakcja, dysza jest nieco podnoszona, aby stworzyć odstęp między dyszą a wydrukiem. Zapobiega to uderzeniu dyszy w wydruk podczas przemieszczania. Użycie linii spiralnej do podniesienia Z może zapobiec powstawaniu strun"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17757,6 +17872,14 @@ msgstr ""
"\n" "\n"
"Ustawienie wartości w ilości cofania przed ustawieniem czyszczenia poniżej spowoduje wykonanie nadmiernego cofania przed czyszczeniem, w przeciwnym razie zostanie wykonane po nim." "Ustawienie wartości w ilości cofania przed ustawieniem czyszczenia poniżej spowoduje wykonanie nadmiernego cofania przed czyszczeniem, w przeciwnym razie zostanie wykonane po nim."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Podwarstwa mieszanego koloru"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Włącza podział na podwarstwy mieszanego koloru. Po włączeniu warstwy zawierające filamenty o mieszanym kolorze są dzielone na podwarstwy w celu uzyskania efektu mieszania kolorów."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Wieża czyszcząca może być używana do czyszczenia resztek na dyszy i stabilizacji ciśnienia w komorze wewnątrz dyszy, aby uniknąć defektów wyglądu podczas drukowania obiektów." msgstr "Wieża czyszcząca może być używana do czyszczenia resztek na dyszy i stabilizacji ciśnienia w komorze wewnątrz dyszy, aby uniknąć defektów wyglądu podczas drukowania obiektów."
@@ -18504,7 +18627,7 @@ msgid "Current Z-hop"
msgstr "Bieżący Z-hop" msgstr "Bieżący Z-hop"
msgid "Contains Z-hop present at the beginning of the custom G-code block." msgid "Contains Z-hop present at the beginning of the custom G-code block."
msgstr "Zawiera z-hop obecny na początku bloku niestandardowego G-code" msgstr "Zawiera Z-hop obecny na początku bloku niestandardowego G-code"
msgid "Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, it should write to this variable so OrcaSlicer knows where it travels from when it gets control back." msgid "Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, it should write to this variable so OrcaSlicer knows where it travels from when it gets control back."
msgstr "Pozycja ekstrudera na początku bloku niestandardowego G-kodu. Jeśli niestandardowy G-code przemieszcza się gdzieś indziej, powinien zostać zapisany do tej zmiennej, aby OrcaSlicer wiedział, skąd się przemieszcza, gdy odzyska kontrolę." msgstr "Pozycja ekstrudera na początku bloku niestandardowego G-kodu. Jeśli niestandardowy G-code przemieszcza się gdzieś indziej, powinien zostać zapisany do tej zmiennej, aby OrcaSlicer wiedział, skąd się przemieszcza, gdy odzyska kontrolę."
@@ -18858,6 +18981,10 @@ msgstr "Siatkowanie pliku modelu nie powiodło się lub nie ma prawidłowego ksz
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Dostarczony plik nie mógł być odczytany, ponieważ jest pusty" msgstr "Dostarczony plik nie mógł być odczytany, ponieważ jest pusty"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Format pliku jest niezgodny i nie można go odczytać."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .stl, .obj, .amf(.xml)." msgstr "Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .stl, .obj, .amf(.xml)."
@@ -20394,19 +20521,19 @@ msgstr "Wyświetlane są jedynie drukarki ze zmienionymi profilami drukarki, fil
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Wyświetlone są jedynie nazwy filamentów, które zostały zmodyfikowane w ustawieniach." msgstr "Wyświetlone są jedynie nazwy filamentów, które zostały zmodyfikowane w ustawieniach."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Wyświetlane są tylko nazwy drukarek z ustawieniami użytkownika, wybrany zestaw zostanie wyeksportowany jako plik zip." msgstr "Wyświetlane są tylko nazwy drukarek z ustawieniami użytkownika, wybrany zestaw zostanie wyeksportowany jako plik zip."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Na liście widoczne są tylko nazwy filamentów ze zmodyfikowanymi ustawieniami, \n" "Na liście widoczne są tylko nazwy filamentów ze zmodyfikowanymi ustawieniami, \n"
"a dla każdej wybranej nazwy filamentu zostaną wyeksportowane wszystkie ustawienia jako archiwum zip." "a dla każdej wybranej nazwy filamentu zostaną wyeksportowane wszystkie ustawienia jako archiwum zip."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Na liście widoczne są tylko nazwy drukarek ze zmodyfikowanymi ustawieniami procesu, \n" "Na liście widoczne są tylko nazwy drukarek ze zmodyfikowanymi ustawieniami procesu, \n"
"a dla każdej wybranej nazwy drukarki zostaną wyeksportowane wszystkie \n" "a dla każdej wybranej nazwy drukarki zostaną wyeksportowane wszystkie \n"
@@ -20653,7 +20780,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Potrzebujemy informacji do zdiagnozowania źródła problemu. Szczegółowy przewodnik znajdziesz na stronie wiki." msgstr "Potrzebujemy informacji do zdiagnozowania źródła problemu. Szczegółowy przewodnik znajdziesz na stronie wiki."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Przycisk Spakuj zbiera plik projektu i dzienniki bieżącej sesji do pliku zip." msgstr "Przycisk Spakuj zbiera plik projektu i dzienniki bieżącej sesji do pliku zip."
# AI Translated # AI Translated
@@ -20709,7 +20836,7 @@ msgid "Stored logs"
msgstr "Zapisane dzienniki" msgstr "Zapisane dzienniki"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Pakuje wszystkie zapisane dzienniki do pliku zip." msgstr "Pakuje wszystkie zapisane dzienniki do pliku zip."
# AI Translated # AI Translated
@@ -20797,7 +20924,7 @@ msgid "Authorizing..."
msgstr "Autoryzowanie..." msgstr "Autoryzowanie..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Błąd. Nie można uzyskać tokenu API do autoryzacji" msgstr "Błąd. Nie można uzyskać tokenu API do autoryzacji"
# AI Translated # AI Translated
@@ -21259,8 +21386,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Włącz inteligentne przypisywanie filamentu: przypisz jeden filament do wielu dysz, aby zmaksymalizować oszczędności" msgstr "Włącz inteligentne przypisywanie filamentu: przypisz jeden filament do wielu dysz, aby zmaksymalizować oszczędności"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Oszczędność fil." msgstr "Zapisywanie pliku"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Nie przypominaj mi ponownie" msgstr "Nie przypominaj mi ponownie"
@@ -21691,6 +21818,9 @@ msgstr "Uruchom ponownie teraz"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "BRAK WYCISKANIA" msgstr "BRAK WYCISKANIA"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Prędkości Przepływu" msgstr "Prędkości Przepływu"
@@ -22336,6 +22466,42 @@ msgstr ""
"Unikaj odkształceń\n" "Unikaj odkształceń\n"
"Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może zmniejszyć prawdopodobieństwo odkształceń?" "Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może zmniejszyć prawdopodobieństwo odkształceń?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Natywny podgląd na żywo w Wayland wymaga ujścia wideo GStreamer GTK. Zainstaluj wtyczkę gtksink dla GStreamer, a następnie uruchom ponownie OrcaSlicer."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Nie udało się zainicjować natywnego ujścia wideo GStreamer dla Wayland. Sprawdź instalację wtyczki GStreamer GTK."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Do wykonania tego zadania wymagany jest Windows Media Player! Czy włączyć „Windows Media Player” dla systemu operacyjnego?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource nie został poprawnie zarejestrowany do odtwarzania mediów! Naciśnij Tak, aby ponownie go zarejestrować. Będziesz poproszony dwa razy."
# AI Translated
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Brak zarejestrowanego komponentu BambuSource do odtwarzania multimediów! Zainstaluj ponownie OrcaSlicer lub poszukaj pomocy w społeczności."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Jeśli używasz BambuSource z innej instalacji programu, odtwarzanie wideo może nie działać poprawnie! Naciśnij Tak, aby to naprawić."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Twój system nie posiada kodeków H.264 dla GStreamer, które są wymagane do odtwarzania wideo. (Spróbuj zainstalować pakiety gstreamer1.0-plugins-bad lub gstreamer1.0-libav, a następnie zrestartuj Orca Slicer?)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Oszczędność fil."
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+214 -53
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-07-26 11:14-0300\n" "PO-Revision-Date: 2026-07-26 11:14-0300\n"
"Last-Translator: Alexandre Folle de Menezes\n" "Last-Translator: Alexandre Folle de Menezes\n"
"Language-Team: Portuguese, Brazilian\n" "Language-Team: Portuguese, Brazilian\n"
@@ -2836,6 +2836,10 @@ msgstr "Editar"
msgid "Merge with" msgid "Merge with"
msgstr "Mesclar com" msgstr "Mesclar com"
# AI Translated
msgid "Decompose Color"
msgstr "Decompor Cor"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Apagar este filamento" msgstr "Apagar este filamento"
@@ -3118,6 +3122,10 @@ msgstr "Montagem"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Mesclar peças com um objeto" msgstr "Mesclar peças com um objeto"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Usar altura de camada variável junto com a subcamada de cor mista pode resultar em uma mistura de cores de baixa qualidade."
msgid "Add layers" msgid "Add layers"
msgstr "Adicionar camadas" msgstr "Adicionar camadas"
@@ -4641,7 +4649,7 @@ msgstr ""
"\n" "\n"
"O valor será redefinido para 0." "O valor será redefinido para 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "A parede extra alternada não funciona bem quando a espessura vertical da casca está definida para Todos." msgstr "A parede extra alternada não funciona bem quando a espessura vertical da casca está definida para Todos."
msgid "" msgid ""
@@ -4687,7 +4695,7 @@ msgstr ""
"NÃO — Manter a Altura da Camada de Suporte Independente" "NÃO — Manter a Altura da Camada de Suporte Independente"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height precisa ser menor que layer_height.\n" "seam_slope_start_height precisa ser menor que layer_height.\n"
@@ -4695,7 +4703,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"A profundidade do travamento deve ser menor que a profundidade da textura.\n" "A profundidade do travamento deve ser menor que a profundidade da textura.\n"
@@ -6143,11 +6151,11 @@ msgstr "Importar 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Carregar um modelo" msgstr "Carregar um modelo"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importar Arquivo Zip" msgstr "Importar Arquivo ZIP"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Carregar modelos contidos em um arquivo zip" msgstr "Carregar modelos contidos em um arquivo ZIP"
msgid "Import Configs" msgid "Import Configs"
msgstr "Importar Configurações" msgstr "Importar Configurações"
@@ -7631,6 +7639,10 @@ msgstr "Personalizar a placa atual"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "O bico %s não pode imprimir %s." msgstr "O bico %s não pode imprimir %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Imprimir filamento de cor mista em uma impressora de extrusora única exige trocas de filamento e purgas frequentes, o que pode aumentar significativamente o desperdício e o risco de entupimento do bico ou da calha de resíduos."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Misturar %1% com %2% na impressão não é recomendado.\n" msgstr "Misturar %1% com %2% na impressão não é recomendado.\n"
@@ -7755,12 +7767,44 @@ msgstr "Sincronizar lista de filamentos do AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Definir filamentos para usar" msgstr "Definir filamentos para usar"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Adicionar Filamento Misto"
# AI Translated
msgid "Mixed Filament"
msgstr "Filamento Misto"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Remover o último filamento misto"
# AI Translated
msgid "Add mixed filament"
msgstr "Adicionar filamento misto"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "O filamento misto tem componentes inválidos ou incompatíveis. Edite novamente as entradas afetadas."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Pesquisar placa, objeto e peça." msgstr "Pesquisar placa, objeto e peça."
msgid "Pellets" msgid "Pellets"
msgstr "Pellets" msgstr "Pellets"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "O filamento misto tem referências de componentes quebradas"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Editar / Excluir / Mesclar"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "O filamento misto de destino usa este filamento físico como componente. Mesclar removerá este filamento físico e poderá invalidar o filamento misto. Continuar?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "Após a conclusão da sua operação, o projeto %s será encerrado e um novo projeto será criado." msgstr "Após a conclusão da sua operação, o projeto %s será encerrado e um novo projeto será criado."
@@ -7897,7 +7941,7 @@ msgstr "Por favor, confirme se o G-code dentro dessas predefinições é seguro
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Predefinição Personalizada" msgstr "Predefinição Personalizada"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Os nomes dos componentes dentro do arquivo STEP não estão no formato UTF-8!" msgstr "Os nomes dos componentes dentro do arquivo STEP não estão no formato UTF-8!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -7919,7 +7963,7 @@ msgstr "O volume do objeto é zero"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"O objeto do arquivo %s é muito pequeno, e pode estar em metros ou polegadas.\n" "O objeto do arquivo %s é muito pequeno, e pode estar em metros ou polegadas.\n"
"Deseja redimensioná-lo para milímetros?" "Deseja redimensioná-lo para milímetros?"
@@ -7939,6 +7983,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Objeto multi-peça detectado" msgstr "Objeto multi-peça detectado"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Associando texturas aos filamentos"
# AI Translated
msgid "Texture Import Warning"
msgstr "Aviso de Importação de Textura"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Carregar esses arquivos como um único objeto com múltiplas peças?\n" msgstr "Carregar esses arquivos como um único objeto com múltiplas peças?\n"
@@ -8146,6 +8198,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Sincronizar agora" msgstr "Sincronizar agora"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Falha ao importar a textura. O modelo parece conter dados de textura, mas o processo de importação não pôde ser concluído. O modelo será importado apenas como geometria."
# AI Translated
msgid "Applying texture colors..."
msgstr "Aplicando cores de textura..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Atualizando a visualização 3D..."
# AI Translated
msgid "Texture colors applied."
msgstr "Cores de textura aplicadas."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Você pode manter as predefinições modificadas no novo projeto ou descartá-las" msgstr "Você pode manter as predefinições modificadas no novo projeto ou descartá-las"
@@ -9379,6 +9447,10 @@ msgstr "Vaso espiral"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Sequência de filamento da primeira camada" msgstr "Sequência de filamento da primeira camada"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "A lista de filamentos contém filamentos mistos. A sequência de filamentos personalizada não terá efeito."
msgid "By Layer" msgid "By Layer"
msgstr "Por Camada" msgstr "Por Camada"
@@ -10740,11 +10812,11 @@ msgstr "%s: %s"
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "Nenhuma modificação precisa ser copiada." msgstr "Nenhuma modificação precisa ser copiada."
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Copiar parâmetros" msgstr "Copiar parâmetros"
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Modificar parâmetros de %s" msgstr "Modificar parâmetros de %s"
#, c-format, boost-format #, c-format, boost-format
@@ -11255,27 +11327,6 @@ msgstr "Volumes de purga para troca de filamento"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Escolha a cor do filamento" msgstr "Escolha a cor do filamento"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "A visualização ao vivo nativa do Wayland requer o receptor de vídeo GTK do GStreamer. Instale o plugin gtksink para GStreamer e reinicie o OrcaSlicer."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Falha ao inicializar o receptor de vídeo nativo do Wayland GStreamer. Verifique a instalação do plugin GStreamer GTK."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "O Windows Media Player é necessário para esta tarefa! Você quer habilitar o 'Windows Media Player' para seu sistema operacional?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource não foi registrado corretamente para reprodução de mídia! Pressione Sim para registrá-lo novamente. Você será promovido duas vezes"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Componente BambuSource registrado para reprodução de mídia não encontrado! Por favor, reinstale o OrcaSlicer ou procure ajuda da comunidade."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Usando um BambuSource de uma instalação diferente, a reprodução de vídeo pode não funcionar corretamente! Pressione Sim para consertar."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Seu sistema não possui codecs H.264 para o GStreamer, que são necessários para reproduzir vídeos. (Tente instalar os pacotes gstreamer1.0-plugins-bad ou gstreamer1.0-libav e depois reinicie o OrcaSlicer?)"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "O agente na nuvem não está disponível. Reinicie o OrcaSlicer e tente novamente." msgstr "O agente na nuvem não está disponível. Reinicie o OrcaSlicer e tente novamente."
@@ -11973,6 +12024,10 @@ msgstr "Se ainda assim desejar imprimir, você pode ativar a opção em Preferê
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Nenhuma extrusão com as configurações atuais." msgstr "Nenhuma extrusão com as configurações atuais."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Um filamento misto com gradiente está em uso, mas 'Subcamada de cor mista' está desativado. O gradiente não será impresso."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "O modo suave do timelapse não é suportado quando a sequência \"por objeto\" está ativada." msgstr "O modo suave do timelapse não é suportado quando a sequência \"por objeto\" está ativada."
@@ -12009,6 +12064,10 @@ msgstr "Você pode querer reduzir o tamanho do seu modelo ou alterar as configur
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "A altura de camada variável não é suportada com suportes Orgânicos." msgstr "A altura de camada variável não é suportada com suportes Orgânicos."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "O filamento da torre de purga não pode ser um filamento misto."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Diferentes diâmetros de bico e diferentes diâmetros de filamento podem não funcionar bem quando a torre de purga estiver habilitada. É muito experimental, então prossiga com cautela." msgstr "Diferentes diâmetros de bico e diferentes diâmetros de filamento podem não funcionar bem quando a torre de purga estiver habilitada. É muito experimental, então prossiga com cautela."
@@ -12355,7 +12414,7 @@ msgstr "mm ou %"
msgid "Other layers" msgid "Other layers"
msgstr "Outras camadas" msgstr "Outras camadas"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Essa é a temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o filamento não suporta a impressão na Placa Fria SuperTack." msgstr "Essa é a temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o filamento não suporta a impressão na Placa Fria SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -13702,6 +13761,8 @@ msgstr "Tempo da camada"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "A ventoinha de resfriamento de peças será ativado para camadas cujo tempo estimado seja mais curto que esse valor. A velocidade da ventoinha é interpolada entre as velocidades mínima e máxima da ventoinha de acordo com o tempo de impressão da camada." msgstr "A ventoinha de resfriamento de peças será ativado para camadas cujo tempo estimado seja mais curto que esse valor. A velocidade da ventoinha é interpolada entre as velocidades mínima e máxima da ventoinha de acordo com o tempo de impressão da camada."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14007,6 +14068,62 @@ msgstr "Material de suporte"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "O material de suporte é comumente usado para imprimir suportes e interfaces de suporte." msgstr "O material de suporte é comumente usado para imprimir suportes e interfaces de suporte."
# AI Translated
msgid "Is mixed filament"
msgstr "É filamento misto"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Define se este slot de filamento é um filamento misto composto por vários filamentos físicos"
# AI Translated
msgid "Mixed filament components"
msgstr "Componentes do filamento misto"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Índices (começando em 1) dos filamentos componentes, separados por vírgulas; ex.: \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Proporções de subcamada do filamento misto"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Valores de proporção separados por vírgulas cuja soma seja 1.0; ex.: \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Gradiente do filamento misto"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Ativa o modo de gradiente na direção Z para as subcamadas do filamento misto. Quando ativado, as proporções das subcamadas variam linearmente ao longo das camadas."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Faixa do gradiente do filamento misto"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Proporções inicial e final do primeiro componente no modo de gradiente. Par separado por vírgula; ex.: \"0.10,0.90\" significa de 10% a 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Curva do gradiente do filamento misto"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Curva personalizada opcional, no estilo do Photoshop, que mapeia o progresso em Z para a proporção do primeiro componente. Codificada como pontos de controle separados por barras verticais, no formato \"x,y\" (legado) ou \"x,y,m_in,m_out\" quando é necessário substituir a tangente (um valor vazio ou \"nan\" usa o padrão PCHIP). x está em [0,1]; y é limitado à faixa de proporção configurada; ex.: \"0,0.15|0.5,0.50|1,0.85\". Quando vazio, o gradient_range linear é usado."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Gradiente por peça do filamento misto"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Quando o modo de gradiente está ativado, aplica o gradiente a cada peça de uma montagem de forma independente, em vez de tratar toda a montagem como uma única faixa Z."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filamento imprimível" msgstr "Filamento imprimível"
@@ -15243,6 +15360,8 @@ msgstr "Força máxima do eixo Y"
msgid "The allowed maximum output force of Y axis" msgid "The allowed maximum output force of Y axis"
msgstr "A força máxima de saída permitida do eixo Y" msgstr "A força máxima de saída permitida do eixo Y"
# AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15253,6 +15372,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "A carga de massa da mesa do equipamento no eixo Y" msgstr "A carga de massa da mesa do equipamento no eixo Y"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15565,7 +15685,7 @@ msgstr "Os pontos de início e fim que vão da área do cortador até a calha de
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Reduzir retração durante o preenchimento" msgstr "Reduzir retração durante o preenchimento"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Não retrair quando o movimento está completamente na área de preenchimento. Isso significa que o vazamento não pode ser visto. Isso pode reduzir o número de retratações para modelos complexos e economizar tempo de impressão, mas torna a geração de fatiamento e G-code mais lenta. Note que o Z-Hop também não é realizado em áreas onde a retração é omitida." msgstr "Não retrair quando o movimento está completamente na área de preenchimento. Isso significa que o vazamento não pode ser visto. Isso pode reduzir o número de retratações para modelos complexos e economizar tempo de impressão, mas torna a geração de fatiamento e G-code mais lenta. Note que o Z-Hop também não é realizado em áreas onde a retração é omitida."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -15730,7 +15850,7 @@ msgstr "Quantidade de retração depois da limpeza"
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Este é o comprimento da retração rápida antes de uma limpeza, em relação ao comprimento da retração.\n" "Este é o comprimento da retração rápida antes de uma limpeza, em relação ao comprimento da retração.\n"
@@ -15766,18 +15886,16 @@ msgstr "Retração longa na troca de extrusora"
msgid "Retraction distance when extruder change" msgid "Retraction distance when extruder change"
msgstr "Distância de retração na troca de extrusora" msgstr "Distância de retração na troca de extrusora"
# AI Translated
msgid "Retraction Length (Toolchange)" msgid "Retraction Length (Toolchange)"
msgstr "Comprimento da retração (Troca de ferramenta)" msgstr "Comprimento da Retração (Troca de ferramenta)"
# AI Translated
msgid "When retraction is triggered before changing tool, filament is pulled back by the specified amount (the length is measured on raw filament, before it enters the extruder)." msgid "When retraction is triggered before changing tool, filament is pulled back by the specified amount (the length is measured on raw filament, before it enters the extruder)."
msgstr "Quando a retração é acionada antes da troca de ferramenta, o filamento é puxado de volta na quantidade especificada (o comprimento é medido no filamento bruto, antes de entrar na extrusora)." msgstr "Quando a retração é acionada antes da troca de ferramenta, o filamento é puxado de volta na quantidade especificada (o comprimento é medido no filamento bruto, antes de entrar na extrusora)."
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Altura de Z-hop" msgstr "Altura de Z-hop"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Sempre que há uma retração, o bico é levantado um pouco para criar folga entre o bico e a impressão. Isso evita que o bico atinja a impressão ao se mover. Usar linhas em espiral para levantar Z pode evitar stringing." msgstr "Sempre que há uma retração, o bico é levantado um pouco para criar folga entre o bico e a impressão. Isso evita que o bico atinja a impressão ao se mover. Usar linhas em espiral para levantar Z pode evitar stringing."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -15867,9 +15985,8 @@ msgstr "Comprimento extra na retração"
msgid "When the retraction is compensated after the travel move, the extruder will push this additional amount of filament. This setting is rarely needed." msgid "When the retraction is compensated after the travel move, the extruder will push this additional amount of filament. This setting is rarely needed."
msgstr "Quando a retração é compensada após o movimento de deslocamento, a extrusora empurrará essa quantidade adicional de filamento. Esta configuração é raramente necessária." msgstr "Quando a retração é compensada após o movimento de deslocamento, a extrusora empurrará essa quantidade adicional de filamento. Esta configuração é raramente necessária."
# AI Translated
msgid "Extra length on restart (Toolchange)" msgid "Extra length on restart (Toolchange)"
msgstr "Comprimento extra na retração (Troca de ferramenta)" msgstr "Comprimento extra no reinício (Troca de ferramenta)"
msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament."
msgstr "Quando a retração é compensada após a troca de ferramenta, a extrusora empurrará essa quantidade adicional de filamento." msgstr "Quando a retração é compensada após a troca de ferramenta, a extrusora empurrará essa quantidade adicional de filamento."
@@ -16279,13 +16396,11 @@ msgstr "Troca de ferramenta na torre de purga"
msgid "Force the toolhead to travel to the wipe tower before issuing the tool change command (Tx). Only relevant for multi-extruder (multi-toolhead) printers using a Type 2 wipe tower. By default Orca skips the travel on multi-toolhead machines because the firmware handles the head swap, which can result in the Tx command being issued above the printed part. Enable this option if you want the tool change to always be issued above the wipe tower instead." msgid "Force the toolhead to travel to the wipe tower before issuing the tool change command (Tx). Only relevant for multi-extruder (multi-toolhead) printers using a Type 2 wipe tower. By default Orca skips the travel on multi-toolhead machines because the firmware handles the head swap, which can result in the Tx command being issued above the printed part. Enable this option if you want the tool change to always be issued above the wipe tower instead."
msgstr "Força o cabeçote de impressão a se deslocar até a torre de purga antes de emitir o comando de troca de ferramenta (Tx). Relevante apenas para impressoras com múltiplas extrusoras (múltiplos cabeçotes de impressão) que utilizam uma torre de purga Tipo 2. Por padrão, o Orca ignora o deslocamento em máquinas com múltiplos cabeçotes de impressão, pois o firmware gerencia a troca do cabeçote, o que pode resultar na emissão do comando Tx acima da peça impressa. Habilite esta opção se desejar que a troca de ferramenta seja sempre emitida acima da torre de purga." msgstr "Força o cabeçote de impressão a se deslocar até a torre de purga antes de emitir o comando de troca de ferramenta (Tx). Relevante apenas para impressoras com múltiplas extrusoras (múltiplos cabeçotes de impressão) que utilizam uma torre de purga Tipo 2. Por padrão, o Orca ignora o deslocamento em máquinas com múltiplos cabeçotes de impressão, pois o firmware gerencia a troca do cabeçote, o que pode resultar na emissão do comando Tx acima da peça impressa. Habilite esta opção se desejar que a troca de ferramenta seja sempre emitida acima da torre de purga."
# AI Translated
msgid "Wait for temperature on wipe tower" msgid "Wait for temperature on wipe tower"
msgstr "Aguardar a temperatura na torre de purga" msgstr "Aguardar a temperatura na torre de purga"
# AI Translated
msgid "Pick up the new tool without waiting for it to reach printing temperature, travel to the wipe tower, and wait for the temperature there, right before purging. Ooze from the heat-up lands on the tower instead of the model, and the travel overlaps with the heating. Only relevant for multi-extruder (multi-toolhead) printers using a Type 2 wipe tower. The firmware or tool change macro must not wait for the temperature itself. When disabled, the temperature wait is issued right after the tool change command." msgid "Pick up the new tool without waiting for it to reach printing temperature, travel to the wipe tower, and wait for the temperature there, right before purging. Ooze from the heat-up lands on the tower instead of the model, and the travel overlaps with the heating. Only relevant for multi-extruder (multi-toolhead) printers using a Type 2 wipe tower. The firmware or tool change macro must not wait for the temperature itself. When disabled, the temperature wait is issued right after the tool change command."
msgstr "Pega a nova ferramenta sem esperar que ela atinja a temperatura de impressão, desloca-se até a torre de purga e aguarda a temperatura ali, logo antes de purgar. O vazamento causado pelo aquecimento cai na torre em vez do modelo, e o deslocamento acontece durante o aquecimento. Relevante apenas para impressoras multiextrusora (multicabeça) que usam uma torre de purga do tipo 2. O firmware ou a macro de troca de ferramenta não devem aguardar a temperatura por conta própria. Quando desativado, a espera de temperatura é emitida logo após o comando de troca de ferramenta." msgstr "Pega a nova ferramenta sem esperar que ela atinja a temperatura de impressão, desloca-se até a torre de purga e aguarda a temperatura ali, logo antes de purgar. O vazamento causado pelo aquecimento cai na torre em vez do modelo, e o deslocamento acontece junto com o aquecimento. Relevante apenas para impressoras multiextrusora (multicabeça) que usam uma torre de purga do Tipo 2. O firmware ou a macro de troca de ferramenta não devem aguardar a temperatura por conta própria. Quando desativado, a espera de temperatura é emitida logo após o comando de troca de ferramenta."
msgid "No sparse layers (beta)" msgid "No sparse layers (beta)"
msgstr "Sem camadas esparsas (beta)" msgstr "Sem camadas esparsas (beta)"
@@ -16808,6 +16923,14 @@ msgstr ""
"\n" "\n"
"Definir um valor na configuração de quantidade de retração antes da limpeza abaixo executará qualquer retração em excesso antes da limpeza, caso contrário, será realizada após." "Definir um valor na configuração de quantidade de retração antes da limpeza abaixo executará qualquer retração em excesso antes da limpeza, caso contrário, será realizada após."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Subcamada de cor mista"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Ativa a divisão em subcamadas de cor mista. Quando ativado, as camadas que contêm filamentos de cor mista são divididas em subcamadas para obter efeitos de mistura de cores."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "A torre de purga pode ser usada para limpar o resíduo no bico e estabilizar a pressão na câmara dentro do bico, a fim de evitar defeitos de aparência ao imprimir objetos." msgstr "A torre de purga pode ser usada para limpar o resíduo no bico e estabilizar a pressão na câmara dentro do bico, a fim de evitar defeitos de aparência ao imprimir objetos."
@@ -17864,6 +17987,10 @@ msgstr "A geração da malha do arquivo do modelo falhou ou não há forma váli
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "O arquivo fornecido não pôde ser lido porque está vazio." msgstr "O arquivo fornecido não pôde ser lido porque está vazio."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "O formato do arquivo é incompatível e não pode ser lido."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Formato de arquivo desconhecido: o arquivo de entrada deve ter extensão .stl, .obj, .amf(.xml)." msgstr "Formato de arquivo desconhecido: o arquivo de entrada deve ter extensão .stl, .obj, .amf(.xml)."
@@ -19315,19 +19442,19 @@ msgstr "Apenas impressoras com alterações nas predefinições de impressora, f
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Exibir apenas os nomes dos filamentos com alterações nas predefinições de filamento." msgstr "Exibir apenas os nomes dos filamentos com alterações nas predefinições de filamento."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Apenas os nomes das impressoras com predefinições de impressora do usuário serão exibidos, e cada predefinição escolhida será exportada como um arquivo zip." msgstr "Apenas os nomes das impressoras com predefinições de impressora do usuário serão exibidos, e cada predefinição escolhida será exportada como um arquivo zip."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Apenas os nomes dos filamentos com predefinições de filamento do usuário serão exibidos, \n" "Apenas os nomes dos filamentos com predefinições de filamento do usuário serão exibidos, \n"
"e todas as predefinições de filamento do usuário em cada nome de filamento selecionadas serão exportadas como um arquivo zip." "e todas as predefinições de filamento do usuário em cada nome de filamento selecionadas serão exportadas como um arquivo zip."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Apenas os nomes das impressoras com predefinições de processo alterados serão exibidos, \n" "Apenas os nomes das impressoras com predefinições de processo alterados serão exibidos, \n"
"e todas os predefinições de processo do usuário em cada nome de impressora selecionadas serão exportados como um arquivo zip." "e todas os predefinições de processo do usuário em cada nome de impressora selecionadas serão exportados como um arquivo zip."
@@ -19556,7 +19683,7 @@ msgstr "Copiar informações do sistema para a área de transferência"
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "Precisamos de informações para diagnosticar a origem do problema. Consulte a página da wiki para obter um guia detalhado." msgstr "Precisamos de informações para diagnosticar a origem do problema. Consulte a página da wiki para obter um guia detalhado."
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "O botão \"Empacotar\" reúne o arquivo do projeto e os logs da sessão atual em um arquivo ZIP." msgstr "O botão \"Empacotar\" reúne o arquivo do projeto e os logs da sessão atual em um arquivo ZIP."
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -19598,7 +19725,7 @@ msgstr "Nível de log"
msgid "Stored logs" msgid "Stored logs"
msgstr "Logs armazenados" msgstr "Logs armazenados"
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Compacta todos os logs armazenados em um arquivo ZIP." msgstr "Compacta todos os logs armazenados em um arquivo ZIP."
msgid "Profiles" msgid "Profiles"
@@ -19665,7 +19792,7 @@ msgstr "Tipo de impressora não encontrado, selecione manualmente."
msgid "Authorizing..." msgid "Authorizing..."
msgstr "Autorizando…" msgstr "Autorizando…"
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Erro. Não foi possível obter o token de API para autorização" msgstr "Erro. Não foi possível obter o token de API para autorização"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20111,8 +20238,9 @@ msgstr "Removido"
msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings" msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings"
msgstr "Ativar atribuição inteligente de filamento: Atribui um filamento a vários bicos para maximizar a economia" msgstr "Ativar atribuição inteligente de filamento: Atribui um filamento a vários bicos para maximizar a economia"
msgid "Fila Saving" # AI Translated
msgstr "Econo Filamento" msgid "File Saving"
msgstr "Salvamento de Arquivo"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Não me avise novamente" msgstr "Não me avise novamente"
@@ -20471,6 +20599,9 @@ msgstr "Reiniciar Agora"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "SEM NENHUM MOLDEAMENTO" msgstr "SEM NENHUM MOLDEAMENTO"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Velocidade volumétrica" msgstr "Velocidade volumétrica"
@@ -21047,6 +21178,36 @@ msgstr ""
"Evitar empenamento\n" "Evitar empenamento\n"
"Você sabia que ao imprimir materiais propensos ao empenamento como ABS, aumentar adequadamente a temperatura da mesa aquecida pode reduzir a probabilidade de empenamento?" "Você sabia que ao imprimir materiais propensos ao empenamento como ABS, aumentar adequadamente a temperatura da mesa aquecida pode reduzir a probabilidade de empenamento?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "A visualização ao vivo nativa do Wayland requer o receptor de vídeo GTK do GStreamer. Instale o plugin gtksink para GStreamer e reinicie o OrcaSlicer."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Falha ao inicializar o receptor de vídeo nativo do Wayland GStreamer. Verifique a instalação do plugin GStreamer GTK."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "O Windows Media Player é necessário para esta tarefa! Você quer habilitar o 'Windows Media Player' para seu sistema operacional?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource não foi registrado corretamente para reprodução de mídia! Pressione Sim para registrá-lo novamente. Você será promovido duas vezes"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Componente BambuSource registrado para reprodução de mídia não encontrado! Por favor, reinstale o OrcaSlicer ou procure ajuda da comunidade."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Usando um BambuSource de uma instalação diferente, a reprodução de vídeo pode não funcionar corretamente! Pressione Sim para consertar."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Seu sistema não possui codecs H.264 para o GStreamer, que são necessários para reproduzir vídeos. (Tente instalar os pacotes gstreamer1.0-plugins-bad ou gstreamer1.0-libav e depois reinicie o OrcaSlicer?)"
#~ msgid "N"
#~ msgstr "N"
#~ msgid "g"
#~ msgstr "g"
#~ msgid "Fila Saving"
#~ msgstr "Econo Filamento"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+211 -44
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: OrcaSlicer V2.5.0\n" "Project-Id-Version: OrcaSlicer V2.5.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-02-25 13:38+0300\n" "PO-Revision-Date: 2026-02-25 13:38+0300\n"
"Last-Translator: Felix14_v2\n" "Last-Translator: Felix14_v2\n"
"Language-Team: Felix14_v2 (ДС/ТГ: @felix14_v2, почта: aleks111001@list.ru), Andylg <andylg@yandex.ru>\n" "Language-Team: Felix14_v2 (ДС/ТГ: @felix14_v2, почта: aleks111001@list.ru), Andylg <andylg@yandex.ru>\n"
@@ -2911,6 +2911,10 @@ msgstr "Правка"
msgid "Merge with" msgid "Merge with"
msgstr "Объединить с" msgstr "Объединить с"
# AI Translated
msgid "Decompose Color"
msgstr "Разложить цвет"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Удалить материал" msgstr "Удалить материал"
@@ -3222,6 +3226,10 @@ msgstr "Сборка"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Сборка моделей" msgstr "Сборка моделей"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Использование переменной высоты слоя вместе с подслоем смешанного цвета может ухудшить качество смешивания цветов."
# Запись в истории действий # Запись в истории действий
msgid "Add layers" msgid "Add layers"
msgstr "Добавление слоёв" msgstr "Добавление слоёв"
@@ -4780,7 +4788,7 @@ msgstr ""
"\n" "\n"
"Значение будет сброшено до 0." "Значение будет сброшено до 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Чередующаяся дополнительная стенка не работает, если для «Сохранение толщины вертикальной оболочки» установлено значение «Все»." msgstr "Чередующаяся дополнительная стенка не работает, если для «Сохранение толщины вертикальной оболочки» установлено значение «Все»."
msgid "" msgid ""
@@ -4833,7 +4841,7 @@ msgstr ""
"Нет – отключить черновую башню" "Нет – отключить черновую башню"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"Начальная высота не должна превышать высоту слоя.\n" "Начальная высота не должна превышать высоту слоя.\n"
@@ -4841,7 +4849,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Перекрытие должно быть меньше внутренней оболочки.\n" "Перекрытие должно быть меньше внутренней оболочки.\n"
@@ -6376,10 +6384,10 @@ msgstr "Импорт 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Загрузка модели" msgstr "Загрузка модели"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Импорт ZIP-архива" msgstr "Импорт ZIP-архива"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Загрузка моделей, содержащихся в ZIP-архиве" msgstr "Загрузка моделей, содержащихся в ZIP-архиве"
msgid "Import Configs" msgid "Import Configs"
@@ -7891,6 +7899,10 @@ msgstr "Настроить стол"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "Внимание: «%s» экструдер не может печатать %s." msgstr "Внимание: «%s» экструдер не может печатать %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Печать материала смешанного цвета на принтере с одним экструдером требует частой смены материала и прочистки, что может значительно увеличить количество отходов и риск засорения сопла или жёлоба для отходов."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Совмещение %1% с %2% при печати не рекомендуется.\n" msgstr "Совмещение %1% с %2% при печати не рекомендуется.\n"
@@ -8021,12 +8033,44 @@ msgstr "Синхронизировать материалы"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Выбрать материал" msgstr "Выбрать материал"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Добавить смешанный материал"
# AI Translated
msgid "Mixed Filament"
msgstr "Смешанный материал"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Удалить последний смешанный материал"
# AI Translated
msgid "Add mixed filament"
msgstr "Добавить смешанный материал"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "У смешанного материала недопустимые или несовпадающие компоненты. Пожалуйста, отредактируйте затронутые записи заново."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Поиск стола, модели или части..." msgstr "Поиск стола, модели или части..."
msgid "Pellets" msgid "Pellets"
msgstr "Гранулы" msgstr "Гранулы"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "У смешанного материала нарушены ссылки на компоненты"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Изменить / Удалить / Объединить"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Целевой смешанный материал использует этот физический материал в качестве компонента. Объединение удалит этот физический материал и может сделать смешанный материал недействительным. Продолжить?"
# Порядок слов сильно зависит от контекста; не могу воспроизвести в интерфейсе. По идее, выводится при bool Sidebar::is_new_project_in_gcode3mf(), но что-либо менять в нарезанном .gcode.3mf вообще нельзя # Порядок слов сильно зависит от контекста; не могу воспроизвести в интерфейсе. По идее, выводится при bool Sidebar::is_new_project_in_gcode3mf(), но что-либо менять в нарезанном .gcode.3mf вообще нельзя
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
@@ -8168,8 +8212,8 @@ msgstr "Во избежание повреждения принтера убед
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Пользовательский профиль" msgstr "Пользовательский профиль"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Имена компонентов внутри файла STEP не в формате UTF8." msgstr "Имена компонентов внутри файла STEP не в формате UTF-8."
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "Из-за неподдерживаемой кодировки в названии могут присутствовать ошибочные символы." msgstr "Из-за неподдерживаемой кодировки в названии могут присутствовать ошибочные символы."
@@ -8190,7 +8234,7 @@ msgstr "Объём модели равен нулю"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Модель из файла %s слишком мала. Возможно, её размеры \n" "Модель из файла %s слишком мала. Возможно, её размеры \n"
"в метрах или дюймах. Внутренней единицей программы \n" "в метрах или дюймах. Внутренней единицей программы \n"
@@ -8211,6 +8255,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Обнаружена модель, состоящая из нескольких частей" msgstr "Обнаружена модель, состоящая из нескольких частей"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Сопоставление текстур с материалами"
# AI Translated
msgid "Texture Import Warning"
msgstr "Предупреждение при импорте текстуры"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Загрузить эти файлы как единую модель, состоящую из нескольких частей?\n" msgstr "Загрузить эти файлы как единую модель, состоящую из нескольких частей?\n"
@@ -8425,6 +8477,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Синхронизировать" msgstr "Синхронизировать"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Не удалось импортировать текстуру. Похоже, модель содержит данные текстуры, но завершить импорт не удалось. Модель будет импортирована только как геометрия."
# AI Translated
msgid "Applying texture colors..."
msgstr "Применение цветов текстуры..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Обновление 3D-вида..."
# AI Translated
msgid "Texture colors applied."
msgstr "Цвета текстуры применены."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Вы можете перенести сделанные изменения в новый проект или отказаться от их сохранения" msgstr "Вы можете перенести сделанные изменения в новый проект или отказаться от их сохранения"
@@ -9671,6 +9739,10 @@ msgstr "Режим вазы"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Очерёдность материалов на первом слое" msgstr "Очерёдность материалов на первом слое"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Список материалов содержит смешанные материалы. Пользовательская последовательность материалов не будет применена."
msgid "By Layer" msgid "By Layer"
msgstr "Послойно" msgstr "Послойно"
@@ -11072,11 +11144,11 @@ msgstr "%s: %s"
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "Перенос изменений не требуется." msgstr "Перенос изменений не требуется."
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Копировать настройки" msgstr "Копировать настройки"
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Изменить настройки %s" msgstr "Изменить настройки %s"
#, c-format, boost-format #, c-format, boost-format
@@ -11586,27 +11658,6 @@ msgstr "Объёмы прочистки при смене материала"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Изменение цвета" msgstr "Изменение цвета"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Для нативного отображения трансляции в Wayland требуется gtksink (плагин для GStreamer). Установите необходимый пакет плагинов и перезапустите OrcaSlicer."
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Не удалось запустить нативную трансляцию GSteramer через Wayland. Проверьте наличие установленного пакета плагинов GStreamer."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Для этой задачи требуется Windows Media Player! Хотите включить его в своей ОС?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "Компонент BambuSource неправильно зарегистрирован для воспроизведения медиафайлов! Нажмите «Да», чтобы повторно зарегистрировать его"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Отсутствует компонент BambuSource для воспроизведения медиа. Переустановите OrcaSlicer или обратитесь за помощью к сообществу."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "При использовании компонентов BambuSource из другого инсталлятора, воспроизведение видео может работать некорректно! Нажмите «Да», чтобы исправить это."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "В вашей системе отсутствуют кодеки H.264 для GStreamer, которые необходимы для воспроизведения видео (попробуйте установить пакеты gstreamer1.0-plugins-bad или gstreamer1.0-libav, а затем перезапустить Orca Slicer)."
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Облачный агент недоступен. Перезапустите OrcaSlicer и повторите попытку." msgstr "Облачный агент недоступен. Перезапустите OrcaSlicer и повторите попытку."
@@ -12303,6 +12354,10 @@ msgstr "Если вас это не пугает, эту проверку мож
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "При текущих настройках экструзия отсутствует." msgstr "При текущих настройках экструзия отсутствует."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Используется смешанный материал с градиентом, но параметр «Подслой смешанного цвета» отключён. Градиент не будет напечатан."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Плавный режим таймлапса не поддерживается, когда включена последовательность печати моделей по очереди." msgstr "Плавный режим таймлапса не поддерживается, когда включена последовательность печати моделей по очереди."
@@ -12341,6 +12396,10 @@ msgstr "Попробуйте уменьшить размер модели или
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Функция переменной высоты слоя несовместима с органическим стилем древовидных поддержек." msgstr "Функция переменной высоты слоя несовместима с органическим стилем древовидных поддержек."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Материал черновой башни не может быть смешанным материалом."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Совместное использование черновой башни с разными диаметрами сопел и прутков может привести к некорректной нарезке при включённой черновой башне. Этот метод работы экспериментальный, поэтому будьте осторожны при использовании." msgstr "Совместное использование черновой башни с разными диаметрами сопел и прутков может привести к некорректной нарезке при включённой черновой башне. Этот метод работы экспериментальный, поэтому будьте осторожны при использовании."
@@ -12694,7 +12753,7 @@ msgstr "мм или %"
msgid "Other layers" msgid "Other layers"
msgstr "Основная" msgstr "Основная"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Температура стола для всех остальных слоёв. 0 – материал не поддерживает это покрытие." msgstr "Температура стола для всех остальных слоёв. 0 – материал не поддерживает это покрытие."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -14159,6 +14218,8 @@ msgstr "Время слоя"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Вентилятор охлаждения моделей будет включён для слоёв, расчётное время которых меньше этого значения. Скорость вентилятора интерполируется между минимальной и максимальной скоростями зависимости от времени печати слоя." msgstr "Вентилятор охлаждения моделей будет включён для слоёв, расчётное время которых меньше этого значения. Скорость вентилятора интерполируется между минимальной и максимальной скоростями зависимости от времени печати слоя."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "с" msgstr "с"
@@ -14488,6 +14549,62 @@ msgstr "Материал поддержки"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Обычно используется для печати поддержки и связующего слоя (интерфейса)." msgstr "Обычно используется для печати поддержки и связующего слоя (интерфейса)."
# AI Translated
msgid "Is mixed filament"
msgstr "Является смешанным материалом"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Определяет, является ли этот слот материала смешанным материалом, состоящим из нескольких физических материалов"
# AI Translated
msgid "Mixed filament components"
msgstr "Компоненты смешанного материала"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Разделённые запятыми индексы материалов-компонентов, начиная с 1, например \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Доли подслоёв смешанного материала"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Разделённые запятыми значения долей, дающие в сумме 1.0, например \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Градиент смешанного материала"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Включает режим градиента по оси Z для подслоёв смешанного материала. При включении доли подслоёв линейно меняются от слоя к слою."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Диапазон градиента смешанного материала"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Начальная и конечная доли первого компонента в режиме градиента. Пара значений через запятую, например \"0.10,0.90\" означает от 10% до 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Кривая градиента смешанного материала"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Необязательная пользовательская кривая в стиле Photoshop, сопоставляющая прогресс по оси Z с долей первого компонента. Задаётся как контрольные точки, разделённые вертикальной чертой, в виде \"x,y\" (устаревший формат) или \"x,y,m_in,m_out\", если требуется переопределить касательную (пустое значение или \"nan\" означает использование значения PCHIP по умолчанию). x лежит в [0,1]; y ограничивается заданным диапазоном долей, например \"0,0.15|0.5,0.50|1,0.85\". Если поле пустое, вместо этого используется линейный gradient_range."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Градиент смешанного материала по частям"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Если включён режим градиента, градиент применяется к каждой части сборки отдельно, а не ко всей сборке как к единому диапазону Z."
# ??? Настройка в режиме разработчика. Должна отображаться где-то в настройках # ??? Настройка в режиме разработчика. Должна отображаться где-то в настройках
# профиля, но поиском не ищется. # профиля, но поиском не ищется.
msgid "Filament printable" msgid "Filament printable"
@@ -15878,6 +15995,8 @@ msgstr "Максимальное усилие оси Y"
msgid "The allowed maximum output force of Y axis" msgid "The allowed maximum output force of Y axis"
msgstr "Максимально допустимое усилие по оси Y." msgstr "Максимально допустимое усилие по оси Y."
# AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "Н" msgstr "Н"
@@ -15887,6 +16006,8 @@ msgstr "Масса стола (оси Y)"
msgid "The machine bed mass load of Y axis" msgid "The machine bed mass load of Y axis"
msgstr "Пассивная нагрузка механики оси Y массой стола." msgstr "Пассивная нагрузка механики оси Y массой стола."
# AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "г" msgstr "г"
@@ -16223,7 +16344,7 @@ msgstr "Начальная и конечная точки траектории
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "Откат только при пересечении периметров" msgstr "Откат только при пересечении периметров"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "" msgstr ""
"Отключает откат (и подъём по Z), когда перемещения совершаются полностью над заполнением (где любые подтёки, вероятно, будут скрыты). Это поможет снизить количество откатов при печати сложных моделей и немного сэкономить время, но увеличит время нарезки и генерации G-кода.\n" "Отключает откат (и подъём по Z), когда перемещения совершаются полностью над заполнением (где любые подтёки, вероятно, будут скрыты). Это поможет снизить количество откатов при печати сложных моделей и немного сэкономить время, но увеличит время нарезки и генерации G-кода.\n"
"\n" "\n"
@@ -16401,7 +16522,7 @@ msgstr "Вторичный откат"
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Быстрый откат после очистки, выраженный в процентах от общей длины отката. В некоторых случаях позволяет значительно снизить количество «паутины».\n" "Быстрый откат после очистки, выраженный в процентах от общей длины отката. В некоторых случаях позволяет значительно снизить количество «паутины».\n"
@@ -16449,7 +16570,7 @@ msgstr "При срабатывании отката перед сменой и
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Высота подъёма" msgstr "Высота подъёма"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "При каждом откате печатная голова немного приподнимается, создавая зазор между соплом и моделью. Это предотвращает столкновение сопла с моделью при перемещении. Использование спирального подъёма может помочь сократить образование \"паутины\"." msgstr "При каждом откате печатная голова немного приподнимается, создавая зазор между соплом и моделью. Это предотвращает столкновение сопла с моделью при перемещении. Использование спирального подъёма может помочь сократить образование \"паутины\"."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17660,6 +17781,14 @@ msgstr ""
"\n" "\n"
"Внимание: процент первичного отката будет увеличен, если длины очистки окажется недостаточно при текущей скорости отката (или из-за иных ограничений)." "Внимание: процент первичного отката будет увеличен, если длины очистки окажется недостаточно при текущей скорости отката (или из-за иных ограничений)."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Подслой смешанного цвета"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Включает разбиение на подслои смешанного цвета. При включении слои, содержащие материалы смешанного цвета, разбиваются на подслои для получения эффекта смешивания цветов."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Черновая башня – специальная структура, которая используется для прочистки сопла от остатков материала и стабилизации давления внутри сопла при смене экструдера, чтобы избежать дефектов на поверхности печатаемой модели." msgstr "Черновая башня – специальная структура, которая используется для прочистки сопла от остатков материала и стабилизации давления внутри сопла при смене экструдера, чтобы избежать дефектов на поверхности печатаемой модели."
@@ -18818,6 +18947,10 @@ msgstr "Не удалось обнаружить форму или создат
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Невозможно прочитать файл, так как он пуст." msgstr "Невозможно прочитать файл, так как он пуст."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Формат файла несовместим и не может быть прочитан."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Неизвестный формат файла: входной файл должен иметь расширение *.stl, *.obj или *.amf(.xml)." msgstr "Неизвестный формат файла: входной файл должен иметь расширение *.stl, *.obj или *.amf(.xml)."
@@ -20306,21 +20439,21 @@ msgstr "Будут отображаться только изменённые п
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Будут отображаться только изменённые профили материалов." msgstr "Будут отображаться только изменённые профили материалов."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "" msgstr ""
"Будут отображаться только изменённые профили принтеров.\n" "Будут отображаться только изменённые профили принтеров.\n"
"Все они будут экспортированы в единый zip-файл." "Все они будут экспортированы в единый zip-файл."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Будут отображаться только изменённые профили материалов.\n" "Будут отображаться только изменённые профили материалов.\n"
"Все они будут экспортированы в единый zip-файл." "Все они будут экспортированы в единый zip-файл."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Будут отображаться только профили принтеров с изменёнными настройками печати.\n" "Будут отображаться только профили принтеров с изменёнными настройками печати.\n"
"Все изменённые профили настроек будут экспортированы в единый zip-файл." "Все изменённые профили настроек будут экспортированы в единый zip-файл."
@@ -20560,7 +20693,7 @@ msgstr "Копировать в буфер обмена"
msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide." msgid "We need information for diagnosing source of the issue. Check wiki page for detailed guide."
msgstr "Эта информация требуется для диагностики проблем. Ознакомьтесь с руководством для получения подробностей." msgstr "Эта информация требуется для диагностики проблем. Ознакомьтесь с руководством для получения подробностей."
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Нажмите «Экспорт», чтобы сохранить текущий проект и журнал сессии в ZIP-архив." msgstr "Нажмите «Экспорт», чтобы сохранить текущий проект и журнал сессии в ZIP-архив."
msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue." msgid "Any additional visual examples like images or screen recordings might be helpful while reporting the issue."
@@ -20602,7 +20735,7 @@ msgstr "Уровень ведения журнала"
msgid "Stored logs" msgid "Stored logs"
msgstr "Сохранённые журналы" msgstr "Сохранённые журналы"
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Нажмите «Экспорт», чтобы упаковать все сохранённые журналы в единый ZIP-архив" msgstr "Нажмите «Экспорт», чтобы упаковать все сохранённые журналы в единый ZIP-архив"
msgid "Profiles" msgid "Profiles"
@@ -20669,7 +20802,7 @@ msgstr "Требуется указать принтер вручную"
msgid "Authorizing..." msgid "Authorizing..."
msgstr "Авторизация..." msgstr "Авторизация..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Ошибка получения токена авторизации" msgstr "Ошибка получения токена авторизации"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -21120,8 +21253,9 @@ msgstr "Удалено"
msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings" msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings"
msgstr "Включить умное назначение материалов: назначить один материал нескольким соплам для максимальной экономии" msgstr "Включить умное назначение материалов: назначить один материал нескольким соплам для максимальной экономии"
msgid "Fila Saving" # AI Translated
msgstr "Экономия материала" msgid "File Saving"
msgstr "Сохранение файла"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Больше не показывать" msgstr "Больше не показывать"
@@ -21486,6 +21620,9 @@ msgstr "Перезапустить сейчас"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "Рэмминг отключён" msgstr "Рэмминг отключён"
msgid "s"
msgstr "с"
# Тянется только в окно настроек рэмминга # Тянется только в окно настроек рэмминга
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Объёмный расход" msgstr "Объёмный расход"
@@ -22081,6 +22218,36 @@ msgstr ""
"Предотвращение коробления материала\n" "Предотвращение коробления материала\n"
"Знаете ли вы, что при печати материалами, склонными к короблению, таких как ABS, повышение температуры подогреваемого стола может снизить эту вероятность?" "Знаете ли вы, что при печати материалами, склонными к короблению, таких как ABS, повышение температуры подогреваемого стола может снизить эту вероятность?"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Для нативного отображения трансляции в Wayland требуется gtksink (плагин для GStreamer). Установите необходимый пакет плагинов и перезапустите OrcaSlicer."
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Не удалось запустить нативную трансляцию GSteramer через Wayland. Проверьте наличие установленного пакета плагинов GStreamer."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Для этой задачи требуется Windows Media Player! Хотите включить его в своей ОС?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "Компонент BambuSource неправильно зарегистрирован для воспроизведения медиафайлов! Нажмите «Да», чтобы повторно зарегистрировать его"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Отсутствует компонент BambuSource для воспроизведения медиа. Переустановите OrcaSlicer или обратитесь за помощью к сообществу."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "При использовании компонентов BambuSource из другого инсталлятора, воспроизведение видео может работать некорректно! Нажмите «Да», чтобы исправить это."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "В вашей системе отсутствуют кодеки H.264 для GStreamer, которые необходимы для воспроизведения видео (попробуйте установить пакеты gstreamer1.0-plugins-bad или gstreamer1.0-libav, а затем перезапустить Orca Slicer)."
#~ msgid "N"
#~ msgstr "Н"
#~ msgid "g"
#~ msgstr "г"
#~ msgid "Fila Saving"
#~ msgstr "Экономия материала"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+218 -53
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"Language: sv\n" "Language: sv\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -3289,6 +3289,10 @@ msgstr "Redigera"
msgid "Merge with" msgid "Merge with"
msgstr "Slå ihop med" msgstr "Slå ihop med"
# AI Translated
msgid "Decompose Color"
msgstr "Dela upp färg"
# AI Translated # AI Translated
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Radera detta filament" msgstr "Radera detta filament"
@@ -3610,6 +3614,10 @@ msgstr "Montering"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Slå ihop delar till ett objekt" msgstr "Slå ihop delar till ett objekt"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Att använda variabel lagerhöjd tillsammans med underlager med blandad färg kan ge sämre färgblandningskvalitet."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Lägg till lager" msgstr "Lägg till lager"
@@ -5279,7 +5287,7 @@ msgstr ""
"Värdet kommer att återställas till 0." "Värdet kommer att återställas till 0."
# AI Translated # AI Translated
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Alternerande extra vägg fungerar inte bra när säkerställ vertikal skaltjocklek är inställt på Alla." msgstr "Alternerande extra vägg fungerar inte bra när säkerställ vertikal skaltjocklek är inställt på Alla."
# AI Translated # AI Translated
@@ -5327,7 +5335,7 @@ msgstr ""
# AI Translated # AI Translated
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height måste vara mindre än layer_height.\n" "seam_slope_start_height måste vara mindre än layer_height.\n"
@@ -5336,7 +5344,7 @@ msgstr ""
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Låsdjupet bör vara mindre än ytskiktets djup.\n" "Låsdjupet bör vara mindre än ytskiktets djup.\n"
@@ -6971,11 +6979,11 @@ msgid "Load a model"
msgstr "Ladda modell" msgstr "Ladda modell"
# AI Translated # AI Translated
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Importera ZIP-arkiv" msgstr "Importera ZIP-arkiv"
# AI Translated # AI Translated
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Läs in modeller som finns i ett ZIP-arkiv" msgstr "Läs in modeller som finns i ett ZIP-arkiv"
msgid "Import Configs" msgid "Import Configs"
@@ -8644,6 +8652,10 @@ msgstr "Anpassa aktuell platta"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "Nozzeln %s kan inte skriva ut %s." msgstr "Nozzeln %s kan inte skriva ut %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Att skriva ut filament med blandad färg på en skrivare med en enda extruder kräver täta filamentbyten och rensningar, vilket kan öka spillet och risken för stopp i nozzeln eller avfallsrännan avsevärt."
# AI Translated # AI Translated
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
@@ -8787,6 +8799,26 @@ msgstr "Synkronisera filament listan från AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Ställ in filament som ska användas" msgstr "Ställ in filament som ska användas"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Lägg till blandat filament"
# AI Translated
msgid "Mixed Filament"
msgstr "Blandat filament"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Ta bort det senaste blandade filamentet"
# AI Translated
msgid "Add mixed filament"
msgstr "Lägg till blandat filament"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Det blandade filamentet har ogiltiga eller inkompatibla komponenter. Redigera de berörda posterna igen."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Sök platta, objekt och del." msgstr "Sök platta, objekt och del."
@@ -8794,6 +8826,18 @@ msgstr "Sök platta, objekt och del."
msgid "Pellets" msgid "Pellets"
msgstr "Pellets" msgstr "Pellets"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Det blandade filamentet har trasiga komponentreferenser"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Redigera / Radera / Slå ihop"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Det blandade målfilamentet använder detta fysiska filament som komponent. Sammanslagningen tar bort det fysiska filamentet och kan göra det blandade filamentet ogiltigt. Fortsätt?"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
@@ -8952,8 +8996,8 @@ msgstr "Bekräfta att G-koderna i dessa inställningar är säkra för att förh
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Anpassad inställning" msgstr "Anpassad inställning"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Komponent namnet i STEP filen är inte UTF8 format!" msgstr "Komponent namnet i STEP filen är inte UTF-8 format!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "På grund av textkodning som inte stöds så kan skräptecken visas!" msgstr "På grund av textkodning som inte stöds så kan skräptecken visas!"
@@ -8974,7 +9018,7 @@ msgstr "Objektet är utan volym"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Objektets fil %s är för litet, det är kanske i meter eller inches.\n" "Objektets fil %s är för litet, det är kanske i meter eller inches.\n"
"Skala om till millimeter?" "Skala om till millimeter?"
@@ -8994,6 +9038,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Objekt i flera delar har upptäckts" msgstr "Objekt i flera delar har upptäckts"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Matchar texturer mot filament"
# AI Translated
msgid "Texture Import Warning"
msgstr "Varning vid texturimport"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Ladda dessa filer som ett enkelt objekt med multipla delar?\n" msgstr "Ladda dessa filer som ett enkelt objekt med multipla delar?\n"
@@ -9223,6 +9275,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Synkronisera nu" msgstr "Synkronisera nu"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Texturimporten misslyckades. Modellen verkar innehålla texturdata, men importprocessen kunde inte slutföras. Modellen importeras endast som geometri."
# AI Translated
msgid "Applying texture colors..."
msgstr "Tillämpar texturfärger..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Uppdaterar 3D-vyn..."
# AI Translated
msgid "Texture colors applied."
msgstr "Texturfärger tillämpade."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Fortsätt med redigerings inställningarna till nytt projekt eller avfärda dem" msgstr "Fortsätt med redigerings inställningarna till nytt projekt eller avfärda dem"
@@ -10641,6 +10709,10 @@ msgstr "Spiral vas"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Första lagrets filament sekvens" msgstr "Första lagrets filament sekvens"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Filamentlistan innehåller blandade filament. Den anpassade filamentordningen får ingen effekt."
msgid "By Layer" msgid "By Layer"
msgstr "Per lager" msgstr "Per lager"
@@ -12190,12 +12262,12 @@ msgid "No modifications need to be copied."
msgstr "Inga ändringar behöver kopieras." msgstr "Inga ändringar behöver kopieras."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Kopiera parametrar" msgstr "Kopiera parametrar"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Ändra parametrar för %s" msgstr "Ändra parametrar för %s"
# AI Translated # AI Translated
@@ -12783,33 +12855,6 @@ msgstr "Rensnings volym för filament byte"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Välj filamentfärg" msgstr "Välj filamentfärg"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Liveview i Wayland kräver GStreamers GTK-videosink. Installera insticksmodulen gtksink för GStreamer och starta sedan om OrcaSlicer."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Det gick inte att initiera Waylands GStreamer-videosink. Kontrollera installationen av din GStreamer GTK-insticksmodul."
# AI Translated
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Windows Media Player krävs för den här uppgiften! Vill du aktivera 'Windows Media Player' i ditt operativsystem?"
# AI Translated
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource har inte registrerats korrekt för mediauppspelning! Tryck på Ja för att registrera om den. Du får två frågor"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Saknad BambuSource-komponent registrerad för mediauppspelning! Installera om OrcaSlicer eller sök hjälp i gemenskapen."
# AI Translated
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Du använder en BambuSource från en annan installation, videouppspelningen kanske inte fungerar korrekt! Tryck på Ja för att åtgärda det."
# AI Translated
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Ditt system saknar H.264-kodekar för GStreamer, som krävs för att spela upp video. (Prova att installera paketen gstreamer1.0-plugins-bad eller gstreamer1.0-libav och starta sedan om Orca Slicer.)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Molnagenten är inte tillgänglig. Starta om OrcaSlicer och försök igen." msgstr "Molnagenten är inte tillgänglig. Starta om OrcaSlicer och försök igen."
@@ -13572,6 +13617,10 @@ msgstr "Om du ändå vill skriva ut kan du aktivera alternativet i Inställninga
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Nuvarande inställning har ingen extrudering." msgstr "Nuvarande inställning har ingen extrudering."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Ett blandat filament med gradient används, men 'Underlager med blandad färg' är inaktiverat. Gradienten kommer inte att skrivas ut."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Smooth läge för timelapse stöds inte när ”per objekt” -sekvens är aktiverad." msgstr "Smooth läge för timelapse stöds inte när ”per objekt” -sekvens är aktiverad."
@@ -13614,6 +13663,10 @@ msgstr "Du kan behöva minska modellens storlek eller ändra de aktuella utskrif
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Variabel lagerhöjd stöds inte med organiska support." msgstr "Variabel lagerhöjd stöds inte med organiska support."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Filamentet för prime tornet kan inte vara ett blandat filament."
# AI Translated # AI Translated
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Olika nozzeldiametrar och olika filamentdiametrar kanske inte fungerar bra när prime tornet är aktiverat. Det är mycket experimentellt, så var försiktig." msgstr "Olika nozzeldiametrar och olika filamentdiametrar kanske inte fungerar bra när prime tornet är aktiverat. Det är mycket experimentellt, så var försiktig."
@@ -14012,14 +14065,12 @@ msgstr "mm eller %"
msgid "Other layers" msgid "Other layers"
msgstr "Andra lager" msgstr "Andra lager"
# AI Translated msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Byggplattans temperatur för alla lager utom det första. Värdet 0 innebär att filamentet inte stöder utskrift på Cool Plate SuperTack." msgstr "Byggplattans temperatur för alla lager utom det första. Värdet 0 innebär att filamentet inte stöder utskrift på Cool Plate SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
msgstr "Detta är byggplattans temperatur för lager förutom det första. Värdet 0 betyder att filamentet inte stöder utskrift på Cool Plate." msgstr "Detta är byggplattans temperatur för lager förutom det första. Värdet 0 betyder att filamentet inte stöder utskrift på Cool Plate."
# AI Translated
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Textured Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Textured Cool Plate."
msgstr "Detta är byggplattans temperatur för lager förutom det första. Värdet 0 betyder att filamentet inte stöder utskrift på Textured Cool Plate." msgstr "Detta är byggplattans temperatur för lager förutom det första. Värdet 0 betyder att filamentet inte stöder utskrift på Textured Cool Plate."
@@ -15534,6 +15585,8 @@ msgstr "Lager tid"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Del kylfläkten kommer att aktiveras för lager vars beräknade tid är kortare än detta värde. Fläkthastigheten interpoleras mellan den lägsta och högsta fläkthastigheten enligt utskriftstiden för lager" msgstr "Del kylfläkten kommer att aktiveras för lager vars beräknade tid är kortare än detta värde. Fläkthastigheten interpoleras mellan den lägsta och högsta fläkthastigheten enligt utskriftstiden för lager"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -15912,6 +15965,62 @@ msgstr "Supportmaterial"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Support material används ofta för att skriva ut support och stödja gränssnittet" msgstr "Support material används ofta för att skriva ut support och stödja gränssnittet"
# AI Translated
msgid "Is mixed filament"
msgstr "Är blandat filament"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Anger om denna filamentplats är ett blandat filament som består av flera fysiska filament"
# AI Translated
msgid "Mixed filament components"
msgstr "Komponenter i blandat filament"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Kommaseparerade index för komponentfilamenten, med start på 1, t.ex. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Underlagerandelar för blandat filament"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Kommaseparerade andelsvärden vars summa är 1.0, t.ex. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Gradient för blandat filament"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Aktiverar gradientläge i Z-riktningen för det blandade filamentets underlager. När det är aktiverat varierar underlagrens andelar linjärt över lagren."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Gradientintervall för blandat filament"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Start- och slutandel för den första komponenten i gradientläge. Kommaseparerat par, t.ex. \"0.10,0.90\" betyder 10% till 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Gradientkurva för blandat filament"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Valfri anpassad kurva i Photoshop-stil som mappar Z-förloppet till den första komponentens andel. Kodas som kontrollpunkter separerade med lodstreck, antingen \"x,y\" (äldre format) eller \"x,y,m_in,m_out\" när tangenten behöver åsidosättas (ett tomt värde eller \"nan\" använder PCHIP-standarden). x ligger i [0,1]; y begränsas till det konfigurerade andelsintervallet, t.ex. \"0,0.15|0.5,0.50|1,0.85\". Om fältet är tomt används det linjära gradient_range i stället."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Gradient per del för blandat filament"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "När gradientläget är aktiverat tillämpas gradienten på varje del i en montering separat i stället för att behandla hela monteringen som ett enda Z-intervall."
# AI Translated # AI Translated
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament utskrivbart" msgstr "Filament utskrivbart"
@@ -17359,6 +17468,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Den maximalt tillåtna utgående kraften för Y-axeln" msgstr "Den maximalt tillåtna utgående kraften för Y-axeln"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -17369,6 +17479,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Maskinbäddens massbelastning på Y-axeln" msgstr "Maskinbäddens massbelastning på Y-axeln"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -17720,8 +17831,8 @@ msgid "Reduce infill retraction"
msgstr "Minska ifyllnads retraktionen" msgstr "Minska ifyllnads retraktionen"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Dra inte tillbaka när förflyttningen är helt i ett utfyllnadsområde. Det betyder att läckage av filament inte kan ses. Detta kan minska tiderna för indragning för komplexa modeller och spara utskriftstid, men gör beredning och generering av G-kod långsammare. Observera att z-hop inte heller utförs i områden där retraktionen hoppas över." msgstr "Dra inte tillbaka när förflyttningen är helt i ett utfyllnadsområde. Det betyder att läckage av filament inte kan ses. Detta kan minska tiderna för indragning för komplexa modeller och spara utskriftstid, men gör beredning och generering av G-kod långsammare. Observera att Z-hop inte heller utförs i områden där retraktionen hoppas över."
# AI Translated # AI Translated
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -17913,7 +18024,7 @@ msgstr "Reduktionsmängd efter avtorkning"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Längden på den snabba reduktionen efter avtorkning, i förhållande till reduktionslängden.\n" "Längden på den snabba reduktionen efter avtorkning, i förhållande till reduktionslängden.\n"
@@ -17968,7 +18079,7 @@ msgstr "När reduktionen utlöses före ett verktygsbyte dras filamentet tillbak
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z-hop-höjd" msgstr "Z-hop-höjd"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "När det är en retraktion lyfts nozzel en aning för att skapa ett spel mellan nozzel och utskriften. Detta förhindrar att nozzel träffar utskriften när den förflyttas. Att använda spirallinjer för att lyfta z kan förhindra strängning" msgstr "När det är en retraktion lyfts nozzel en aning för att skapa ett spel mellan nozzel och utskriften. Detta förhindrar att nozzel träffar utskriften när den förflyttas. Att använda spirallinjer för att lyfta z kan förhindra strängning"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -19168,6 +19279,14 @@ msgstr ""
"\n" "\n"
"Om du anger ett värde i inställningen reduktionsmängd före avtorkning nedan utförs eventuell överskjutande reduktion före avtorkningen, annars utförs den efteråt." "Om du anger ett värde i inställningen reduktionsmängd före avtorkning nedan utförs eventuell överskjutande reduktion före avtorkningen, annars utförs den efteråt."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Underlager med blandad färg"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Aktiverar uppdelning i underlager med blandad färg. När det är aktiverat delas lager som innehåller filament med blandad färg upp i underlager för att skapa färgblandningseffekter."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Avstryknings tornet kan användas för att avlägsna rester på munstycket och stabilisera kammartrycket inuti munstycket för att undvika utseendefel vid utskrift av objekt." msgstr "Avstryknings tornet kan användas för att avlägsna rester på munstycket och stabilisera kammartrycket inuti munstycket för att undvika utseendefel vid utskrift av objekt."
@@ -20441,6 +20560,10 @@ msgstr "Det gick inte att skapa mesh från modellfilen, eller så saknas en gilt
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Den medföljande filen kunde inte läsas eftersom den är tom." msgstr "Den medföljande filen kunde inte läsas eftersom den är tom."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Filformatet är inkompatibelt och kan inte tolkas."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Okänt filformat: indata filen måste ha tillägget .stl, .obj eller .amf(.xml)." msgstr "Okänt filformat: indata filen måste ha tillägget .stl, .obj eller .amf(.xml)."
@@ -22041,19 +22164,19 @@ msgstr "Endast printer med ändringar av inställningar för printer, filament o
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Visa endast filament namnen vid ändringar av filament inställningar." msgstr "Visa endast filament namnen vid ändringar av filament inställningar."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Endast printer namn med inställningar för printer visas, och varje inställning du väljer exporteras som zip-fil." msgstr "Endast printer namn med inställningar för printer visas, och varje inställning du väljer exporteras som zip-fil."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Endast filament namn med inställningar för användar filament visas, \n" "Endast filament namn med inställningar för användar filament visas, \n"
"och alla inställningar för användar filament i varje filament namn du väljer exporteras som en zip-fil." "och alla inställningar för användar filament i varje filament namn du väljer exporteras som en zip-fil."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Endast printer namn med ändrade process inställningar visas, \n" "Endast printer namn med ändrade process inställningar visas, \n"
"och alla användarprocess inställningar i varje printer namn som du väljer exporteras som zip-fil." "och alla användarprocess inställningar i varje printer namn som du väljer exporteras som zip-fil."
@@ -22312,7 +22435,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Vi behöver information för att diagnostisera orsaken till problemet. Se wiki-sidan för en detaljerad guide." msgstr "Vi behöver information för att diagnostisera orsaken till problemet. Se wiki-sidan för en detaljerad guide."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Paketera-knappen samlar projektfilen och loggarna från den aktuella sessionen i en zip-fil." msgstr "Paketera-knappen samlar projektfilen och loggarna från den aktuella sessionen i en zip-fil."
# AI Translated # AI Translated
@@ -22368,7 +22491,7 @@ msgid "Stored logs"
msgstr "Sparade loggar" msgstr "Sparade loggar"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Paketerar alla sparade loggar i en zip-fil." msgstr "Paketerar alla sparade loggar i en zip-fil."
# AI Translated # AI Translated
@@ -22456,7 +22579,7 @@ msgid "Authorizing..."
msgstr "Auktoriserar..." msgstr "Auktoriserar..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Fel. Det går inte att hämta api-token för auktorisering" msgstr "Fel. Det går inte att hämta api-token för auktorisering"
# AI Translated # AI Translated
@@ -23017,8 +23140,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Aktivera smart filamenttilldelning: Tilldela ett filament till flera nozzlar för att maximera besparingen" msgstr "Aktivera smart filamenttilldelning: Tilldela ett filament till flera nozzlar för att maximera besparingen"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Filamentbesparing" msgstr "Filsparande"
# AI Translated # AI Translated
msgid "Don't remind me again" msgid "Don't remind me again"
@@ -23491,6 +23614,9 @@ msgstr "Starta om nu"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "INGEN RAMMING ALLS" msgstr "INGEN RAMMING ALLS"
msgid "s"
msgstr "s"
# AI Translated # AI Translated
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Volymetrisk hastighet" msgstr "Volymetrisk hastighet"
@@ -24171,6 +24297,45 @@ msgstr ""
"Undvik vridning\n" "Undvik vridning\n"
"Visste du att när du skriver ut material som är benägna att vrida, såsom ABS, kan en lämplig ökning av värmebäddens temperatur minska sannolikheten för vridning?" "Visste du att när du skriver ut material som är benägna att vrida, såsom ABS, kan en lämplig ökning av värmebäddens temperatur minska sannolikheten för vridning?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Liveview i Wayland kräver GStreamers GTK-videosink. Installera insticksmodulen gtksink för GStreamer och starta sedan om OrcaSlicer."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Det gick inte att initiera Waylands GStreamer-videosink. Kontrollera installationen av din GStreamer GTK-insticksmodul."
# AI Translated
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Windows Media Player krävs för den här uppgiften! Vill du aktivera 'Windows Media Player' i ditt operativsystem?"
# AI Translated
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource har inte registrerats korrekt för mediauppspelning! Tryck på Ja för att registrera om den. Du får två frågor"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Saknad BambuSource-komponent registrerad för mediauppspelning! Installera om OrcaSlicer eller sök hjälp i gemenskapen."
# AI Translated
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Du använder en BambuSource från en annan installation, videouppspelningen kanske inte fungerar korrekt! Tryck på Ja för att åtgärda det."
# AI Translated
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Ditt system saknar H.264-kodekar för GStreamer, som krävs för att spela upp video. (Prova att installera paketen gstreamer1.0-plugins-bad eller gstreamer1.0-libav och starta sedan om Orca Slicer.)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Filamentbesparing"
# AI Translated # AI Translated
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
+214 -47
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-06-19 13:40+0700\n" "PO-Revision-Date: 2026-06-19 13:40+0700\n"
"Last-Translator: Icezaza\n" "Last-Translator: Icezaza\n"
"Language-Team: Thai\n" "Language-Team: Thai\n"
@@ -2942,6 +2942,10 @@ msgstr "แก้ไข"
msgid "Merge with" msgid "Merge with"
msgstr "รวมกับ" msgstr "รวมกับ"
# AI Translated
msgid "Decompose Color"
msgstr "แยกสี"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "ลบเส้นพลาสติกนี้" msgstr "ลบเส้นพลาสติกนี้"
@@ -3237,6 +3241,10 @@ msgstr "การประกอบ"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "รวมชิ้นส่วนเป็นวัตถุเดียว" msgstr "รวมชิ้นส่วนเป็นวัตถุเดียว"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "การใช้ความสูงเลเยอร์แบบแปรผันร่วมกับซับเลเยอร์สีผสมอาจทำให้คุณภาพการผสมสีไม่ดี"
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "เพิ่มเลเยอร์" msgstr "เพิ่มเลเยอร์"
@@ -4785,7 +4793,7 @@ msgstr ""
"\n" "\n"
"ค่าจะถูกรีเซ็ตเป็น 0" "ค่าจะถูกรีเซ็ตเป็น 0"
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "ผนังเสริมสำรองทำงานได้ไม่ดีเมื่อตั้งค่าความหนาของเปลือกแนวตั้งเป็นทั้งหมด" msgstr "ผนังเสริมสำรองทำงานได้ไม่ดีเมื่อตั้งค่าความหนาของเปลือกแนวตั้งเป็นทั้งหมด"
msgid "" msgid ""
@@ -4831,7 +4839,7 @@ msgstr ""
"ไม่ - รักษาความสูงของชั้นรองรับที่เป็นอิสระ" "ไม่ - รักษาความสูงของชั้นรองรับที่เป็นอิสระ"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height ต้องเล็กกว่า layer_height\n" "seam_slope_start_height ต้องเล็กกว่า layer_height\n"
@@ -4839,7 +4847,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"ความลึกของล็อคควรน้อยกว่าความลึกของผิวหนัง\n" "ความลึกของล็อคควรน้อยกว่าความลึกของผิวหนัง\n"
@@ -6302,10 +6310,10 @@ msgstr "นำเข้า 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "โหลดโมเดล" msgstr "โหลดโมเดล"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "นำเข้าไฟล์ Zip" msgstr "นำเข้าไฟล์ Zip"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "โหลดโมเดลที่มีอยู่ในไฟล์ zip" msgstr "โหลดโมเดลที่มีอยู่ในไฟล์ zip"
msgid "Import Configs" msgid "Import Configs"
@@ -7807,6 +7815,10 @@ msgstr "ปรับแต่งแผ่นปัจจุบัน"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "หัวฉีด %s ไม่สามารถพิมพ์ %s ได้" msgstr "หัวฉีด %s ไม่สามารถพิมพ์ %s ได้"
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "การพิมพ์เส้นพลาสติกสีผสมบนเครื่องพิมพ์ที่มีชุดดันเส้นเดียวต้องเปลี่ยนเส้นพลาสติกและไล่เส้นบ่อยครั้ง ซึ่งอาจเพิ่มเศษวัสดุและความเสี่ยงที่หัวฉีดหรือช่องทิ้งเศษวัสดุจะอุดตันอย่างมาก"
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "ไม่แนะนำให้ผสม %1% กับ %2% ในการพิมพ์\n" msgstr "ไม่แนะนำให้ผสม %1% กับ %2% ในการพิมพ์\n"
@@ -7932,12 +7944,44 @@ msgstr "ประสานรายการเส้นพลาสติกจ
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "ตั้งค่าเส้นพลาสติกที่จะใช้" msgstr "ตั้งค่าเส้นพลาสติกที่จะใช้"
# AI Translated
msgid "Add Mixed Filament"
msgstr "เพิ่มเส้นพลาสติกผสม"
# AI Translated
msgid "Mixed Filament"
msgstr "เส้นพลาสติกผสม"
# AI Translated
msgid "Remove last mixed filament"
msgstr "ลบเส้นพลาสติกผสมล่าสุด"
# AI Translated
msgid "Add mixed filament"
msgstr "เพิ่มเส้นพลาสติกผสม"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "เส้นพลาสติกผสมมีส่วนประกอบที่ไม่ถูกต้องหรือไม่ตรงกัน กรุณาแก้ไขรายการที่ได้รับผลกระทบอีกครั้ง"
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "ค้นหาจาน วัตถุ และชิ้นส่วน" msgstr "ค้นหาจาน วัตถุ และชิ้นส่วน"
msgid "Pellets" msgid "Pellets"
msgstr "เม็ด" msgstr "เม็ด"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "เส้นพลาสติกผสมมีการอ้างอิงส่วนประกอบที่เสียหาย"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "แก้ไข / ลบ / รวม"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "เส้นพลาสติกผสมปลายทางใช้เส้นพลาสติกจริงนี้เป็นส่วนประกอบ การรวมจะลบเส้นพลาสติกจริงนี้และอาจทำให้เส้นพลาสติกผสมใช้ไม่ได้ ดำเนินการต่อหรือไม่?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "หลังจากเสร็จสิ้นการดำเนินการของคุณ โครงการ %s จะถูกปิดและสร้างโครงการใหม่" msgstr "หลังจากเสร็จสิ้นการดำเนินการของคุณ โครงการ %s จะถูกปิดและสร้างโครงการใหม่"
@@ -8074,8 +8118,8 @@ msgstr "โปรดยืนยันว่ารหัส G ภายในค
msgid "Customized Preset" msgid "Customized Preset"
msgstr "ค่าที่ตั้งไว้ล่วงหน้าที่กำหนดเอง" msgstr "ค่าที่ตั้งไว้ล่วงหน้าที่กำหนดเอง"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "ชื่อของส่วนประกอบภายในไฟล์ STEP ไม่ใช่รูปแบบ UTF8!" msgstr "ชื่อของส่วนประกอบภายในไฟล์ STEP ไม่ใช่รูปแบบ UTF-8!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "ชื่ออาจแสดงตัวอักษรขยะ!" msgstr "ชื่ออาจแสดงตัวอักษรขยะ!"
@@ -8096,7 +8140,7 @@ msgstr "ปริมาตรของวัตถุเป็นศูนย์
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"วัตถุจากไฟล์ %s มีขนาดเล็กเกินไป และอาจมีหน่วยเป็นเมตรหรือนิ้ว\n" "วัตถุจากไฟล์ %s มีขนาดเล็กเกินไป และอาจมีหน่วยเป็นเมตรหรือนิ้ว\n"
" คุณต้องการขยายขนาดเป็นมิลลิเมตรหรือไม่?" " คุณต้องการขยายขนาดเป็นมิลลิเมตรหรือไม่?"
@@ -8116,6 +8160,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "ตรวจพบวัตถุที่มีหลายส่วน" msgstr "ตรวจพบวัตถุที่มีหลายส่วน"
# AI Translated
msgid "Matching textures to filaments"
msgstr "กำลังจับคู่พื้นผิวกับเส้นพลาสติก"
# AI Translated
msgid "Texture Import Warning"
msgstr "คำเตือนการนำเข้าพื้นผิว"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "โหลดไฟล์เหล่านี้เป็นออบเจ็กต์เดียวที่มีหลายส่วนใช่ไหม\n" msgstr "โหลดไฟล์เหล่านี้เป็นออบเจ็กต์เดียวที่มีหลายส่วนใช่ไหม\n"
@@ -8326,6 +8378,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "ซิงค์เลย" msgstr "ซิงค์เลย"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "การนำเข้าพื้นผิวล้มเหลว โมเดลดูเหมือนจะมีข้อมูลพื้นผิว แต่ไม่สามารถดำเนินการนำเข้าพื้นผิวจนเสร็จสิ้นได้ โมเดลจะถูกนำเข้าเป็นเรขาคณิตเท่านั้น"
# AI Translated
msgid "Applying texture colors..."
msgstr "กำลังใช้สีพื้นผิว..."
# AI Translated
msgid "Updating 3D view..."
msgstr "กำลังอัปเดตมุมมอง 3D..."
# AI Translated
msgid "Texture colors applied."
msgstr "ใช้สีพื้นผิวแล้ว"
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "คุณสามารถเก็บค่าที่ตั้งไว้ล่วงหน้าที่แก้ไขแล้วไว้ในโปรเจ็กต์ใหม่หรือทิ้งก็ได้" msgstr "คุณสามารถเก็บค่าที่ตั้งไว้ล่วงหน้าที่แก้ไขแล้วไว้ในโปรเจ็กต์ใหม่หรือทิ้งก็ได้"
@@ -9568,6 +9636,10 @@ msgstr "แจกันเกลียว"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "ลำดับเส้นพลาสติกชั้นแรก" msgstr "ลำดับเส้นพลาสติกชั้นแรก"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "รายการเส้นพลาสติกมีเส้นพลาสติกผสมอยู่ ลำดับเส้นพลาสติกที่กำหนดเองจะไม่มีผล"
msgid "By Layer" msgid "By Layer"
msgstr "โดยเลเยอร์" msgstr "โดยเลเยอร์"
@@ -10948,12 +11020,12 @@ msgid "No modifications need to be copied."
msgstr "ไม่มีการแก้ไขที่ต้องคัดลอก" msgstr "ไม่มีการแก้ไขที่ต้องคัดลอก"
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "คัดลอกพารามิเตอร์" msgstr "คัดลอกพารามิเตอร์"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "แก้ไขพารามิเตอร์ของ %s" msgstr "แก้ไขพารามิเตอร์ของ %s"
# AI Translated # AI Translated
@@ -11469,27 +11541,6 @@ msgstr "ปริมาณการไล่เส้นชิ่งสำหร
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "กรุณาเลือกสีเส้นพลาสติก" msgstr "กรุณาเลือกสีเส้นพลาสติก"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Native Wayland liveview ต้องใช้ GStreamer GTK video sink โปรดติดตั้งปลั๊กอิน gtksink สำหรับ GStreamer จากนั้นรีสตาร์ท OrcaSlicer"
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "ไม่สามารถเริ่มต้น sink วิดีโอ Wayland GStreamer ดั้งเดิมได้ โปรดตรวจสอบการติดตั้งปลั๊กอิน GStreamer GTK ของคุณ"
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "งานนี้ต้องใช้ Windows Media Player! คุณต้องการเปิดใช้งาน 'Windows Media Player' สำหรับระบบปฏิบัติการของคุณหรือไม่?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource ยังไม่ได้รับการลงทะเบียนอย่างถูกต้องสำหรับการเล่นสื่อ! กดใช่เพื่อลงทะเบียนใหม่ คุณจะได้รับการเลื่อนตำแหน่งสองครั้ง"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "ไม่มีส่วนประกอบ BambuSource ที่ลงทะเบียนสำหรับการเล่นสื่อ! โปรดติดตั้ง OrcaSlicer ใหม่หรือขอความช่วยเหลือจากชุมชน"
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "การใช้ BambuSource จากการติดตั้งอื่น การเล่นวิดีโออาจทำงานไม่ถูกต้อง! กดใช่เพื่อแก้ไข"
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "ระบบของคุณไม่มีตัวแปลงสัญญาณ H.264 สำหรับ GStreamer ซึ่งจำเป็นในการเล่นวิดีโอ (ลองติดตั้งแพ็คเกจ gstreamer1.0-plugins-bad หรือ gstreamer1.0-libav จากนั้นรีสตาร์ท Orca Slicer หรือไม่)"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "ตัวแทนระบบคลาวด์ไม่พร้อมใช้งาน โปรดรีสตาร์ท OrcaSlicer แล้วลองอีกครั้ง" msgstr "ตัวแทนระบบคลาวด์ไม่พร้อมใช้งาน โปรดรีสตาร์ท OrcaSlicer แล้วลองอีกครั้ง"
@@ -12193,6 +12244,10 @@ msgstr "หากคุณยังต้องการพิมพ์ คุ
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "ไม่มีการอัดขึ้นรูปภายใต้การตั้งค่าปัจจุบัน" msgstr "ไม่มีการอัดขึ้นรูปภายใต้การตั้งค่าปัจจุบัน"
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "มีการใช้เส้นพลาสติกผสมแบบเกรเดียนต์ แต่ 'ซับเลเยอร์สีผสม' ถูกปิดใช้งาน เกรเดียนต์จะไม่ถูกพิมพ์"
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "ไม่รองรับโหมดไทม์แลปส์แบบราบรื่นเมื่อเปิดใช้งานลำดับ \"ตามวัตถุ\"" msgstr "ไม่รองรับโหมดไทม์แลปส์แบบราบรื่นเมื่อเปิดใช้งานลำดับ \"ตามวัตถุ\""
@@ -12229,6 +12284,10 @@ msgstr "คุณอาจต้องการลดขนาดแบบจำ
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "ไม่รองรับความสูงของเลเยอร์ที่แปรผันได้ด้วยการรองรับแบบออร์แกนิก" msgstr "ไม่รองรับความสูงของเลเยอร์ที่แปรผันได้ด้วยการรองรับแบบออร์แกนิก"
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "เส้นพลาสติกของ Wipe Tower ไม่สามารถเป็นเส้นพลาสติกผสมได้"
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "เส้นผ่านศูนย์กลางของหัวฉีดที่แตกต่างกันและเส้นผ่านศูนย์กลางของเส้นพลาสติกที่แตกต่างกันอาจทำงานได้ไม่ดีนักเมื่อเปิดใช้งาน Prime Tower ยังเป็นการทดลองอยู่มาก ดังนั้นโปรดดำเนินการด้วยความระมัดระวัง" msgstr "เส้นผ่านศูนย์กลางของหัวฉีดที่แตกต่างกันและเส้นผ่านศูนย์กลางของเส้นพลาสติกที่แตกต่างกันอาจทำงานได้ไม่ดีนักเมื่อเปิดใช้งาน Prime Tower ยังเป็นการทดลองอยู่มาก ดังนั้นโปรดดำเนินการด้วยความระมัดระวัง"
@@ -12578,7 +12637,7 @@ msgstr "มม. หรือ %"
msgid "Other layers" msgid "Other layers"
msgstr "ชั้นอื่นๆ" msgstr "ชั้นอื่นๆ"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "อุณหภูมิฐานพิมพ์สำหรับชั้นต่างๆ ยกเว้นอุณหภูมิเริ่มต้น ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Cool Plate SuperTack" msgstr "อุณหภูมิฐานพิมพ์สำหรับชั้นต่างๆ ยกเว้นอุณหภูมิเริ่มต้น ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Cool Plate SuperTack"
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -13941,6 +14000,8 @@ msgstr "เวลาเลเยอร์"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "พัดลมระบายความร้อนบางส่วนจะถูกเปิดใช้งานสำหรับเลเยอร์ที่เวลาโดยประมาณสั้นกว่าค่านี้ ความเร็วพัดลมจะถูกประมาณค่าระหว่างความเร็วพัดลมขั้นต่ำและสูงสุดตามเวลาการพิมพ์เลเยอร์" msgstr "พัดลมระบายความร้อนบางส่วนจะถูกเปิดใช้งานสำหรับเลเยอร์ที่เวลาโดยประมาณสั้นกว่าค่านี้ ความเร็วพัดลมจะถูกประมาณค่าระหว่างความเร็วพัดลมขั้นต่ำและสูงสุดตามเวลาการพิมพ์เลเยอร์"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "วินาที" msgstr "วินาที"
@@ -14248,6 +14309,62 @@ msgstr "วัสดุส่วนรองรับ"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "วัสดุรองรับมักใช้ในการพิมพ์ส่วนรองรับและอินเทอร์เฟซรองรับ" msgstr "วัสดุรองรับมักใช้ในการพิมพ์ส่วนรองรับและอินเทอร์เฟซรองรับ"
# AI Translated
msgid "Is mixed filament"
msgstr "เป็นเส้นพลาสติกผสมหรือไม่"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "กำหนดว่าช่องเส้นพลาสติกนี้เป็นเส้นพลาสติกผสมที่ประกอบด้วยเส้นพลาสติกจริงหลายเส้นหรือไม่"
# AI Translated
msgid "Mixed filament components"
msgstr "ส่วนประกอบของเส้นพลาสติกผสม"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "ลำดับของเส้นพลาสติกส่วนประกอบโดยเริ่มจาก 1 คั่นด้วยเครื่องหมายจุลภาค เช่น \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "สัดส่วนซับเลเยอร์ของเส้นพลาสติกผสม"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "ค่าสัดส่วนที่คั่นด้วยเครื่องหมายจุลภาคและรวมกันได้ 1.0 เช่น \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "เกรเดียนต์ของเส้นพลาสติกผสม"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "เปิดใช้โหมดเกรเดียนต์ในแนวแกน Z สำหรับซับเลเยอร์ของเส้นพลาสติกผสม เมื่อเปิดใช้ สัดส่วนของซับเลเยอร์จะเปลี่ยนแปลงเชิงเส้นตามเลเยอร์"
# AI Translated
msgid "Mixed filament gradient range"
msgstr "ช่วงเกรเดียนต์ของเส้นพลาสติกผสม"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "สัดส่วนเริ่มต้นและสิ้นสุดของส่วนประกอบแรกในโหมดเกรเดียนต์ เป็นคู่ค่าที่คั่นด้วยเครื่องหมายจุลภาค เช่น \"0.10,0.90\" หมายถึง 10% ถึง 90%"
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "เส้นโค้งเกรเดียนต์ของเส้นพลาสติกผสม"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "เส้นโค้งกำหนดเองสไตล์ Photoshop (ไม่บังคับ) ที่แมปความคืบหน้าในแกน Z กับสัดส่วนของส่วนประกอบแรก เข้ารหัสเป็นจุดควบคุมที่คั่นด้วยเครื่องหมายขีดตั้ง ในรูปแบบ \"x,y\" (รูปแบบเดิม) หรือ \"x,y,m_in,m_out\" เมื่อจำเป็นต้องกำหนดค่าแทนเจนต์เอง (ค่าว่างหรือ \"nan\" หมายถึงใช้ค่าเริ่มต้นของ PCHIP) x อยู่ในช่วง [0,1] ส่วน y จะถูกจำกัดให้อยู่ในช่วงสัดส่วนที่ตั้งค่าไว้ เช่น \"0,0.15|0.5,0.50|1,0.85\" หากเว้นว่างไว้ จะใช้ gradient_range แบบเชิงเส้นแทน"
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "เกรเดียนต์แยกตามชิ้นส่วนของเส้นพลาสติกผสม"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "เมื่อเปิดใช้โหมดเกรเดียนต์ จะใช้เกรเดียนต์กับแต่ละชิ้นส่วนของการประกอบแยกกัน แทนที่จะถือว่าการประกอบทั้งหมดเป็นช่วง Z เดียว"
msgid "Filament printable" msgid "Filament printable"
msgstr "พิมพ์เส้นพลาสติกได้" msgstr "พิมพ์เส้นพลาสติกได้"
@@ -15502,8 +15619,9 @@ msgid "The allowed maximum output force of Y axis"
msgstr "แรงขับออกสูงสุดที่อนุญาตของแกน Y" msgstr "แรงขับออกสูงสุดที่อนุญาตของแกน Y"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "นิวตัน"
# AI Translated # AI Translated
msgid "Bed mass of the Y axis" msgid "Bed mass of the Y axis"
@@ -15514,8 +15632,9 @@ msgid "The machine bed mass load of Y axis"
msgstr "ภาระมวลฐานของเครื่องบนแกน Y" msgstr "ภาระมวลฐานของเครื่องบนแกน Y"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "กรัม"
# AI Translated # AI Translated
msgid "The allowed max printed mass" msgid "The allowed max printed mass"
@@ -15827,8 +15946,8 @@ msgstr "จุดเริ่มต้นและจุดสิ้นสุด
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "ลดการดึงกลับในไส้ใน" msgstr "ลดการดึงกลับในไส้ใน"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "อย่าถอยกลับเมื่อการเดินทางอยู่ภายในพื้นที่ที่ไส้ในเข้าไปทั้งหมด นั่นหมายความว่าไม่สามารถมองเห็นการรั่วไหลได้ วิธีนี้จะช่วยลดเวลาในการดึงกลับสำหรับโมเดลที่ซับซ้อนและประหยัดเวลาในการพิมพ์ แต่จะทำให้การแบ่งส่วนและการสร้าง G-code ช้าลง โปรดทราบว่า z-hop จะไม่ดำเนินการในพื้นที่ที่มีการข้ามการถอนกลับ" msgstr "อย่าถอยกลับเมื่อการเดินทางอยู่ภายในพื้นที่ที่ไส้ในเข้าไปทั้งหมด นั่นหมายความว่าไม่สามารถมองเห็นการรั่วไหลได้ วิธีนี้จะช่วยลดเวลาในการดึงกลับสำหรับโมเดลที่ซับซ้อนและประหยัดเวลาในการพิมพ์ แต่จะทำให้การแบ่งส่วนและการสร้าง G-code ช้าลง โปรดทราบว่า Z-hop จะไม่ดำเนินการในพื้นที่ที่มีการข้ามการถอนกลับ"
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
msgstr "ตัวเลือกนี้จะทำให้อุณหภูมิของชุดดันเส้นที่ไม่ใช้งานลดลงเพื่อป้องกันการไหลซึม" msgstr "ตัวเลือกนี้จะทำให้อุณหภูมิของชุดดันเส้นที่ไม่ใช้งานลดลงเพื่อป้องกันการไหลซึม"
@@ -15997,7 +16116,7 @@ msgstr "ปริมาณการดึงกลับหลังเช็ด
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"ความยาวของการดึงกลับอย่างเร็วหลังเช็ดหัว สัมพันธ์กับความยาวการดึงกลับ\n" "ความยาวของการดึงกลับอย่างเร็วหลังเช็ดหัว สัมพันธ์กับความยาวการดึงกลับ\n"
@@ -16044,7 +16163,7 @@ msgstr "เมื่อการดึงกลับทำงานก่อน
msgid "Z-hop height" msgid "Z-hop height"
msgstr "ความสูงยกแกน Z" msgstr "ความสูงยกแกน Z"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "เมื่อใดก็ตามที่การดึงกลับเสร็จสิ้น หัวฉีดจะถูกยกขึ้นเล็กน้อยเพื่อสร้างระยะห่างระหว่างหัวฉีดและงานพิมพ์ ป้องกันไม่ให้หัวฉีดชนกับงานพิมพ์ขณะเคลื่อนตัว การใช้เส้นเกลียวเพื่อยก Z สามารถป้องกันการร้อยสายได้" msgstr "เมื่อใดก็ตามที่การดึงกลับเสร็จสิ้น หัวฉีดจะถูกยกขึ้นเล็กน้อยเพื่อสร้างระยะห่างระหว่างหัวฉีดและงานพิมพ์ ป้องกันไม่ให้หัวฉีดชนกับงานพิมพ์ขณะเคลื่อนตัว การใช้เส้นเกลียวเพื่อยก Z สามารถป้องกันการร้อยสายได้"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17088,6 +17207,14 @@ msgstr ""
"\n" "\n"
"การตั้งค่าในจำนวนการถอนก่อนการล้างการตั้งค่าด้านล่างจะทำการถอนส่วนที่เกินก่อนการล้าง มิฉะนั้นจะดำเนินการหลังจากนั้น" "การตั้งค่าในจำนวนการถอนก่อนการล้างการตั้งค่าด้านล่างจะทำการถอนส่วนที่เกินก่อนการล้าง มิฉะนั้นจะดำเนินการหลังจากนั้น"
# AI Translated
msgid "Mixed color sublayer"
msgstr "ซับเลเยอร์สีผสม"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "เปิดใช้การแบ่งซับเลเยอร์สีผสม เมื่อเปิดใช้ เลเยอร์ที่มีเส้นพลาสติกสีผสมจะถูกแบ่งเป็นซับเลเยอร์เพื่อให้เกิดเอฟเฟกต์การผสมสี"
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Wipe Tower สามารถใช้เพื่อทำความสะอาดสิ่งตกค้างบนหัวฉีด และทำให้แรงดันในห้องภายในหัวฉีดคงที่ เพื่อหลีกเลี่ยงข้อบกพร่องในลักษณะที่ปรากฏเมื่อพิมพ์วัตถุ" msgstr "Wipe Tower สามารถใช้เพื่อทำความสะอาดสิ่งตกค้างบนหัวฉีด และทำให้แรงดันในห้องภายในหัวฉีดคงที่ เพื่อหลีกเลี่ยงข้อบกพร่องในลักษณะที่ปรากฏเมื่อพิมพ์วัตถุ"
@@ -18171,6 +18298,10 @@ msgstr "การประสานไฟล์โมเดลล้มเหล
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "ไม่สามารถอ่านไฟล์ที่ให้มาได้เนื่องจากไฟล์ว่างเปล่า" msgstr "ไม่สามารถอ่านไฟล์ที่ให้มาได้เนื่องจากไฟล์ว่างเปล่า"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "รูปแบบไฟล์ไม่รองรับ จึงไม่สามารถอ่านข้อมูลได้"
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "รูปแบบไฟล์ที่ไม่รู้จัก ไฟล์อินพุตต้องมีนามสกุล .stl, .obj, .amf(.xml)" msgstr "รูปแบบไฟล์ที่ไม่รู้จัก ไฟล์อินพุตต้องมีนามสกุล .stl, .obj, .amf(.xml)"
@@ -19632,19 +19763,19 @@ msgstr "แสดงเฉพาะชื่อเครื่องพิมพ
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "แสดงเฉพาะชื่อเส้นพลาสติกที่มีการเปลี่ยนแปลงการตั้งค่าล่วงหน้าของเส้นพลาสติก" msgstr "แสดงเฉพาะชื่อเส้นพลาสติกที่มีการเปลี่ยนแปลงการตั้งค่าล่วงหน้าของเส้นพลาสติก"
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "เฉพาะชื่อเครื่องพิมพ์ที่มีการตั้งค่าเครื่องพิมพ์ล่วงหน้าของผู้ใช้เท่านั้นที่จะแสดง และการตั้งค่าล่วงหน้าแต่ละรายการที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP" msgstr "เฉพาะชื่อเครื่องพิมพ์ที่มีการตั้งค่าเครื่องพิมพ์ล่วงหน้าของผู้ใช้เท่านั้นที่จะแสดง และการตั้งค่าล่วงหน้าแต่ละรายการที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP"
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"เฉพาะชื่อเส้นพลาสติกที่มีการตั้งค่าล่วงหน้าของเส้นพลาสติกผู้ใช้เท่านั้นที่จะถูกแสดง \n" "เฉพาะชื่อเส้นพลาสติกที่มีการตั้งค่าล่วงหน้าของเส้นพลาสติกผู้ใช้เท่านั้นที่จะถูกแสดง \n"
"และค่าฟิลาเมนต์ของผู้ใช้ทั้งหมดที่กำหนดไว้ล่วงหน้าในแต่ละชื่อฟิลาเมนต์ที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP" "และค่าฟิลาเมนต์ของผู้ใช้ทั้งหมดที่กำหนดไว้ล่วงหน้าในแต่ละชื่อฟิลาเมนต์ที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP"
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"เฉพาะชื่อเครื่องพิมพ์ที่มีการตั้งค่าล่วงหน้าของกระบวนการที่เปลี่ยนแปลงเท่านั้นที่จะปรากฏขึ้น \n" "เฉพาะชื่อเครื่องพิมพ์ที่มีการตั้งค่าล่วงหน้าของกระบวนการที่เปลี่ยนแปลงเท่านั้นที่จะปรากฏขึ้น \n"
"และกระบวนการของผู้ใช้ที่ตั้งไว้ล่วงหน้าในชื่อเครื่องพิมพ์แต่ละเครื่องที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP" "และกระบวนการของผู้ใช้ที่ตั้งไว้ล่วงหน้าในชื่อเครื่องพิมพ์แต่ละเครื่องที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP"
@@ -19885,7 +20016,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "เราต้องการข้อมูลเพื่อวินิจฉัยแหล่งที่มาของปัญหา ตรวจสอบหน้า wiki สำหรับคำแนะนำโดยละเอียด" msgstr "เราต้องการข้อมูลเพื่อวินิจฉัยแหล่งที่มาของปัญหา ตรวจสอบหน้า wiki สำหรับคำแนะนำโดยละเอียด"
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "ปุ่ม Pack จะรวบรวมไฟล์โปรเจกต์และบันทึกของเซสชันปัจจุบันลงในไฟล์ zip" msgstr "ปุ่ม Pack จะรวบรวมไฟล์โปรเจกต์และบันทึกของเซสชันปัจจุบันลงในไฟล์ zip"
# AI Translated # AI Translated
@@ -19941,7 +20072,7 @@ msgid "Stored logs"
msgstr "บันทึกที่จัดเก็บ" msgstr "บันทึกที่จัดเก็บ"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "รวมบันทึกที่จัดเก็บทั้งหมดลงในไฟล์ zip" msgstr "รวมบันทึกที่จัดเก็บทั้งหมดลงในไฟล์ zip"
# AI Translated # AI Translated
@@ -20021,7 +20152,7 @@ msgstr "ไม่พบประเภทเครื่องพิมพ์
msgid "Authorizing..." msgid "Authorizing..."
msgstr "กำลังอนุญาต..." msgstr "กำลังอนุญาต..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "ข้อผิดพลาด ไม่สามารถรับโทเคน API สำหรับการอนุญาตได้" msgstr "ข้อผิดพลาด ไม่สามารถรับโทเคน API สำหรับการอนุญาตได้"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20473,8 +20604,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "เปิดใช้การกำหนดเส้นพลาสติกอัจฉริยะ: กำหนดเส้นพลาสติกหนึ่งชนิดให้กับหัวฉีดหลายตัวเพื่อประหยัดสูงสุด" msgstr "เปิดใช้การกำหนดเส้นพลาสติกอัจฉริยะ: กำหนดเส้นพลาสติกหนึ่งชนิดให้กับหัวฉีดหลายตัวเพื่อประหยัดสูงสุด"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "การประหยัดเส้นพลาสติก" msgstr "การบันทึกไฟล์"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "ไม่ต้องเตือนฉันอีก" msgstr "ไม่ต้องเตือนฉันอีก"
@@ -20839,6 +20970,9 @@ msgstr "เริ่มใหม่ตอนนี้"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "ไม่มีการกระแทกเลย" msgstr "ไม่มีการกระแทกเลย"
msgid "s"
msgstr "วินาที"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "ความเร็วปริมาตร" msgstr "ความเร็วปริมาตร"
@@ -21463,6 +21597,39 @@ msgstr ""
"หลีกเลี่ยงการบิดเบี้ยว\n" "หลีกเลี่ยงการบิดเบี้ยว\n"
"คุณรู้หรือไม่ว่าเมื่อพิมพ์วัสดุที่มีแนวโน้มที่จะเกิดการบิดเบี้ยว เช่น ABS การเพิ่มอุณหภูมิฐานพิมพ์อย่างเหมาะสมสามารถลดความน่าจะเป็นของการบิดเบี้ยวได้" "คุณรู้หรือไม่ว่าเมื่อพิมพ์วัสดุที่มีแนวโน้มที่จะเกิดการบิดเบี้ยว เช่น ABS การเพิ่มอุณหภูมิฐานพิมพ์อย่างเหมาะสมสามารถลดความน่าจะเป็นของการบิดเบี้ยวได้"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Native Wayland liveview ต้องใช้ GStreamer GTK video sink โปรดติดตั้งปลั๊กอิน gtksink สำหรับ GStreamer จากนั้นรีสตาร์ท OrcaSlicer"
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "ไม่สามารถเริ่มต้น sink วิดีโอ Wayland GStreamer ดั้งเดิมได้ โปรดตรวจสอบการติดตั้งปลั๊กอิน GStreamer GTK ของคุณ"
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "งานนี้ต้องใช้ Windows Media Player! คุณต้องการเปิดใช้งาน 'Windows Media Player' สำหรับระบบปฏิบัติการของคุณหรือไม่?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource ยังไม่ได้รับการลงทะเบียนอย่างถูกต้องสำหรับการเล่นสื่อ! กดใช่เพื่อลงทะเบียนใหม่ คุณจะได้รับการเลื่อนตำแหน่งสองครั้ง"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "ไม่มีส่วนประกอบ BambuSource ที่ลงทะเบียนสำหรับการเล่นสื่อ! โปรดติดตั้ง OrcaSlicer ใหม่หรือขอความช่วยเหลือจากชุมชน"
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "การใช้ BambuSource จากการติดตั้งอื่น การเล่นวิดีโออาจทำงานไม่ถูกต้อง! กดใช่เพื่อแก้ไข"
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "ระบบของคุณไม่มีตัวแปลงสัญญาณ H.264 สำหรับ GStreamer ซึ่งจำเป็นในการเล่นวิดีโอ (ลองติดตั้งแพ็คเกจ gstreamer1.0-plugins-bad หรือ gstreamer1.0-libav จากนั้นรีสตาร์ท Orca Slicer หรือไม่)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "การประหยัดเส้นพลาสติก"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+221 -52
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-08-21 23:18+0300\n" "PO-Revision-Date: 2026-08-21 23:18+0300\n"
"Last-Translator: GlauTech\n" "Last-Translator: GlauTech\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2969,6 +2969,10 @@ msgstr "Düzenle"
msgid "Merge with" msgid "Merge with"
msgstr "Şununla birleştir" msgstr "Şununla birleştir"
# AI Translated
msgid "Decompose Color"
msgstr "Rengi ayrıştır"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Bu filamenti sil" msgstr "Bu filamenti sil"
@@ -3269,6 +3273,10 @@ msgstr "Birleştir"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Parçaları bir nesnede birleştir" msgstr "Parçaları bir nesnede birleştir"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Değişken katman yüksekliğinin karışık renk alt katmanı ile birlikte kullanılması renk karışımının kalitesini düşürebilir."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Katman ekle" msgstr "Katman ekle"
@@ -4847,7 +4855,7 @@ msgstr ""
"\n" "\n"
"Değer 0'a sıfırlanacaktır." "Değer 0'a sıfırlanacaktır."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Alternatif ekstra duvar, dikey kabuk kalınlığının Tümü olarak ayarlandığından emin olunduğunda iyi çalışmaz." msgstr "Alternatif ekstra duvar, dikey kabuk kalınlığının Tümü olarak ayarlandığından emin olunduğunda iyi çalışmaz."
msgid "" msgid ""
@@ -4893,7 +4901,7 @@ msgstr ""
"HAYIR - Bağımsız Destek Katmanı Yüksekliğini Koruyun" "HAYIR - Bağımsız Destek Katmanı Yüksekliğini Koruyun"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height, layer_height değerinden küçük olmalıdır.\n" "seam_slope_start_height, layer_height değerinden küçük olmalıdır.\n"
@@ -4901,7 +4909,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Kilit derinliği cilt derinliğinden daha küçük olmalıdır.\n" "Kilit derinliği cilt derinliğinden daha küçük olmalıdır.\n"
@@ -6370,10 +6378,10 @@ msgstr "3MF/STL/STEP/SVG/OBJ/AMF'yi içe aktar"
msgid "Load a model" msgid "Load a model"
msgstr "Model yükle" msgstr "Model yükle"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Zip Arşivini İçe Aktar" msgstr "Zip Arşivini İçe Aktar"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Zip arşivindeki modelleri yükle" msgstr "Zip arşivindeki modelleri yükle"
msgid "Import Configs" msgid "Import Configs"
@@ -7897,6 +7905,10 @@ msgstr "Mevcut plakayı özelleştir"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "%s püskürtme ucu %s'yi yazdıramıyor." msgstr "%s püskürtme ucu %s'yi yazdıramıyor."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Karışık renkli filamenti tek ekstruderli bir yazıcıda basmak sık filament değişimi ve yıkama gerektirir; bu da atığı ve nozul ya da atık oluğu tıkanma riskini önemli ölçüde artırabilir."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Yazdırmada %1% ile %2%'nin karıştırılması önerilmez.\n" msgstr "Yazdırmada %1% ile %2%'nin karıştırılması önerilmez.\n"
@@ -8022,12 +8034,44 @@ msgstr "Filament listesini AMS'den senkronize edin"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Kullanılacak filamentleri ayarla" msgstr "Kullanılacak filamentleri ayarla"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Karışık Filament Ekle"
# AI Translated
msgid "Mixed Filament"
msgstr "Karışık Filament"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Son karışık filamenti kaldır"
# AI Translated
msgid "Add mixed filament"
msgstr "Karışık filament ekle"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Karışık filamentte geçersiz veya uyumsuz bileşenler var. Lütfen etkilenen girdileri yeniden düzenleyin."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Arama plakası, nesne ve parça." msgstr "Arama plakası, nesne ve parça."
msgid "Pellets" msgid "Pellets"
msgstr "Peletler" msgstr "Peletler"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Karışık filamentin bileşen referansları bozuk"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Düzenle / Sil / Birleştir"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Hedef karışık filament bu fiziksel filamenti bileşen olarak kullanıyor. Birleştirme bu fiziksel filamenti kaldıracak ve karışık filamenti geçersiz kılabilir. Devam edilsin mi?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "İşleminizi tamamladıktan sonra %s projesi kapatılacak ve yeni bir proje oluşturulacak." msgstr "İşleminizi tamamladıktan sonra %s projesi kapatılacak ve yeni bir proje oluşturulacak."
@@ -8171,8 +8215,8 @@ msgstr "Lütfen bu ön ayarlar içindeki G-code'larının makineye herhangi bir
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Özel Ayar" msgstr "Özel Ayar"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Step dosyasındaki bileşenlerin adı UTF8 formatında değil!" msgstr "Step dosyasındaki bileşenlerin adı UTF-8 formatında değil!"
# AI Translated # AI Translated
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -8194,10 +8238,10 @@ msgstr "Cismin hacmi sıfır"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"%s dosyasındaki nesne çok küçük; metre veya inç cinsinden olabilir.\n" "%s dosyasındaki nesne çok küçük; metre veya inç cinsinden olabilir.\n"
" Milimetreye ölçeklendirmek istiyor musunuz?" "Milimetreye ölçeklendirmek istiyor musunuz?"
msgid "Object too small" msgid "Object too small"
msgstr "Nesne çok küçük" msgstr "Nesne çok küçük"
@@ -8214,6 +8258,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Çok parçalı nesne algılandı" msgstr "Çok parçalı nesne algılandı"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Dokular filamentlerle eşleştiriliyor"
# AI Translated
msgid "Texture Import Warning"
msgstr "Doku İçe Aktarma Uyarısı"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Bu dosyalar birden fazla parçadan oluşan tek bir nesne olarak mı yüklensin?\n" msgstr "Bu dosyalar birden fazla parçadan oluşan tek bir nesne olarak mı yüklensin?\n"
@@ -8425,6 +8477,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Şimdi senkronize et" msgstr "Şimdi senkronize et"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Doku içe aktarılamadı. Model doku verisi içeriyor gibi görünüyor, ancak içe aktarma işlemi tamamlanamadı. Model yalnızca geometri olarak içe aktarılacak."
# AI Translated
msgid "Applying texture colors..."
msgstr "Doku renkleri uygulanıyor..."
# AI Translated
msgid "Updating 3D view..."
msgstr "3D görünüm güncelleniyor..."
# AI Translated
msgid "Texture colors applied."
msgstr "Doku renkleri uygulandı."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Değiştirilen ön ayarları yeni projede tutabilir veya silebilirsiniz" msgstr "Değiştirilen ön ayarları yeni projede tutabilir veya silebilirsiniz"
@@ -9712,6 +9780,10 @@ msgstr "Spiral vazo"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "İlk katman filament dizisi" msgstr "İlk katman filament dizisi"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Filament listesi karışık filamentler içeriyor. Özel filament sırası etkili olmayacak."
msgid "By Layer" msgid "By Layer"
msgstr "Katmana göre" msgstr "Katmana göre"
@@ -11128,12 +11200,12 @@ msgid "No modifications need to be copied."
msgstr "Kopyalanması gereken değişiklik yok." msgstr "Kopyalanması gereken değişiklik yok."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Parametreleri kopyala" msgstr "Parametreleri kopyala"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "%s parametrelerini değiştir" msgstr "%s parametrelerini değiştir"
# AI Translated # AI Translated
@@ -11653,29 +11725,6 @@ msgstr "Filament değişimi için temizleme hacmi"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Lütfen filament rengini seçin" msgstr "Lütfen filament rengini seçin"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Yerel Wayland canlı görüntüsü, GStreamer GTK video alıcısını gerektirir. Lütfen GStreamer için gtksink eklentisini yükleyin ve ardından OrcaSlicer'ı yeniden başlatın."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Yerel Wayland GStreamer video alıcısı başlatılamadı. Lütfen GStreamer GTK eklentisi kurulumunuzu denetleyin."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Bu görev için Windows Media Player gereklidir! İşletim sisteminiz için Windows Media Player’ı etkinleştirmek istiyor musunuz?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource medya oynatımı için doğru şekilde kaydedilmemiş! Yeniden kaydetmek için Evete basın"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Medya oynatma için kayıtlı BambuSource bileşeni eksik! Lütfen OrcaSlicer'ı yeniden yükleyin veya topluluk yardımı isteyin."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Farklı bir kurulumdan bir BambuSource kullanıyorsunuz, video oynatma doğru çalışmayabilir! Düzeltmek için Evete basın."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Sisteminizde video oynatmak için gerekli olan GStreamer H.264 codec bileşenleri eksik. (gstreamer1.0-plugins-bad veya gstreamer1.0-libav paketlerini kurmayı deneyin, ardından Orca Slicer’ı yeniden başlatın)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Bulut aracısı kullanılamıyor. Lütfen OrcaSlicer'ı yeniden başlatıp yeniden deneyin." msgstr "Bulut aracısı kullanılamıyor. Lütfen OrcaSlicer'ı yeniden başlatıp yeniden deneyin."
@@ -12401,6 +12450,10 @@ msgstr "Yine de yazdırmak istiyorsanız Tercihler / Denetim / Dilimleme / Karı
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Mevcut ayarlarda ekstrüzyon yok." msgstr "Mevcut ayarlarda ekstrüzyon yok."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Gradyanlı bir karışık filament kullanılıyor ancak 'Karışık renk alt katmanı' devre dışı. Gradyan basılmayacak."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "\"Nesneye göre\" dizisi etkinleştirildiğinde, hızlandırılmış çekimin yumuşak modu desteklenmez." msgstr "\"Nesneye göre\" dizisi etkinleştirildiğinde, hızlandırılmış çekimin yumuşak modu desteklenmez."
@@ -12437,6 +12490,10 @@ msgstr "Modelinizin boyutunu küçültmek veya mevcut yazdırma ayarlarını de
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Değişken katman yüksekliği Organik desteklerle desteklenmez." msgstr "Değişken katman yüksekliği Organik desteklerle desteklenmez."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Silme kulesi filamenti karışık filament olamaz."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Farklı püskürtme ucu çapları ve farklı filament çapları, ana kule etkinleştirildiğinde iyi çalışmayabilir. Oldukça deneysel olduğundan lütfen dikkatli ilerleyin." msgstr "Farklı püskürtme ucu çapları ve farklı filament çapları, ana kule etkinleştirildiğinde iyi çalışmayabilir. Oldukça deneysel olduğundan lütfen dikkatli ilerleyin."
@@ -12805,7 +12862,7 @@ msgstr "mm veya %"
msgid "Other layers" msgid "Other layers"
msgstr "Diğer katmanlar" msgstr "Diğer katmanlar"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "İlk katman hariç tüm katmanlar için yatak sıcaklığı. 0 değeri, filamentin Cool Plate SuperTack üzerine baskıyı desteklemediği anlamına gelir." msgstr "İlk katman hariç tüm katmanlar için yatak sıcaklığı. 0 değeri, filamentin Cool Plate SuperTack üzerine baskıyı desteklemediği anlamına gelir."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -14193,6 +14250,8 @@ msgstr "Katman süresi"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Tahmini süresi bu değerden kısa olan katlarda parça soğutma fanı devreye girecektir. Fan hızı, katman yazdırma süresine göre minimum ve maksimum fan hızları arasında enterpole edilir." msgstr "Tahmini süresi bu değerden kısa olan katlarda parça soğutma fanı devreye girecektir. Fan hızı, katman yazdırma süresine göre minimum ve maksimum fan hızları arasında enterpole edilir."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14502,6 +14561,62 @@ msgstr "Destek malzemesi"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Destek malzemesi yaygın olarak destek ve destek arayüzünü yazdırmak için kullanılır." msgstr "Destek malzemesi yaygın olarak destek ve destek arayüzünü yazdırmak için kullanılır."
# AI Translated
msgid "Is mixed filament"
msgstr "Karışık filament mi"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Bu filament yuvasının birden fazla fiziksel filamentten oluşan bir karışık filament olup olmadığını belirler"
# AI Translated
msgid "Mixed filament components"
msgstr "Karışık filament bileşenleri"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Bileşen filamentlerin virgülle ayrılmış, 1'den başlayan sıra numaraları; ör. \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Karışık filament alt katman oranları"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Toplamı 1.0 olan, virgülle ayrılmış oran değerleri; ör. \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Karışık filament gradyanı"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Karışık filamentin alt katmanları için Z yönünde gradyan modunu etkinleştirir. Etkinleştirildiğinde alt katman oranları katmanlar boyunca doğrusal olarak değişir."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Karışık filament gradyan aralığı"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Gradyan modunda ilk bileşenin başlangıç ve bitiş oranları. Virgülle ayrılmış çift; ör. \"0.10,0.90\" %10 ile %90 arasını ifade eder."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Karışık filament gradyan eğrisi"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Z ilerlemesini ilk bileşenin oranına eşleyen, isteğe bağlı Photoshop tarzı özel eğri. Dikey çizgiyle ayrılmış kontrol noktaları olarak kodlanır; \"x,y\" (eski) veya teğetin geçersiz kılınması gerektiğinde \"x,y,m_in,m_out\" biçiminde (boş değer ya da \"nan\" varsayılan PCHIP değerini kullanır). x [0,1] aralığındadır; y yapılandırılmış oran aralığına kırpılır; ör. \"0,0.15|0.5,0.50|1,0.85\". Boş bırakıldığında bunun yerine doğrusal gradient_range kullanılır."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Karışık filamentte parça başına gradyan"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Gradyan modu etkinleştirildiğinde, gradyan montajın tamamı tek bir Z aralığı olarak ele alınmak yerine montajdaki her parçaya bağımsız olarak uygulanır."
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament yazdırılabilir" msgstr "Filament yazdırılabilir"
@@ -15793,6 +15908,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Y ekseninin izin verilen maksimum çıkış kuvveti" msgstr "Y ekseninin izin verilen maksimum çıkış kuvveti"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15805,6 +15921,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Y ekseninin makine yatağı kütle yükü" msgstr "Y ekseninin makine yatağı kütle yükü"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -16129,8 +16246,8 @@ msgid "Reduce infill retraction"
msgstr "Dolguda geri çekmeyi azalt" msgstr "Dolguda geri çekmeyi azalt"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Hareket tamamen dolgu alanı içindeyken geri çekme yapılmaz. Bu, sızıntının görülemeyeceği anlamına gelir. Bu, karmaşık modellerde geri çekme sayısını azaltabilir ve yazdırma süresinden tasarruf sağlayabilir, ancak dilimlemeyi ve G-code oluşturmayı yavaşlatır. Geri çekmenin atlandığı alanlarda z-hop'un da uygulanmadığını unutmayın." msgstr "Hareket tamamen dolgu alanı içindeyken geri çekme yapılmaz. Bu, sızıntının görülemeyeceği anlamına gelir. Bu, karmaşık modellerde geri çekme sayısını azaltabilir ve yazdırma süresinden tasarruf sağlayabilir, ancak dilimlemeyi ve G-code oluşturmayı yavaşlatır. Geri çekmenin atlandığı alanlarda Z-hop'un da uygulanmadığını unutmayın."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
msgstr "Bu seçenek sızıntıyı önlemek için aktif olmayan ekstrüderlerin sıcaklığını düşürecektir." msgstr "Bu seçenek sızıntıyı önlemek için aktif olmayan ekstrüderlerin sıcaklığını düşürecektir."
@@ -16305,7 +16422,7 @@ msgstr "Silme sonrası geri çekme miktarı"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Silme sonrasındaki hızlı geri çekmenin uzunluğu; geri çekme uzunluğuna göredir.\n" "Silme sonrasındaki hızlı geri çekmenin uzunluğu; geri çekme uzunluğuna göredir.\n"
@@ -16352,7 +16469,7 @@ msgstr "Takım değişiminden önce geri çekme tetiklendiğinde, filament belir
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z-Sıçrama yüksekliği" msgstr "Z-Sıçrama yüksekliği"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Geri çekme işlemi her yapıldığında, nozul ile baskı arasında açıklık oluşturmak için nozul biraz kaldırılır. Hareket halindeyken nozulun baskıya çarpmasını önler. Z'yi kaldırmak için spiral çizgi kullanmak çekmeyi önleyebilir." msgstr "Geri çekme işlemi her yapıldığında, nozul ile baskı arasında açıklık oluşturmak için nozul biraz kaldırılır. Hareket halindeyken nozulun baskıya çarpmasını önler. Z'yi kaldırmak için spiral çizgi kullanmak çekmeyi önleyebilir."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17417,6 +17534,14 @@ msgstr ""
"\n" "\n"
"Aşağıdaki silme ayarından önce geri çekme miktarına bir değer ayarlamak, silme işleminden önce aşırı geri çekme işlemini gerçekleştirecektir, aksi takdirde silme işleminden sonra gerçekleştirilecektir." "Aşağıdaki silme ayarından önce geri çekme miktarına bir değer ayarlamak, silme işleminden önce aşırı geri çekme işlemini gerçekleştirecektir, aksi takdirde silme işleminden sonra gerçekleştirilecektir."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Karışık renk alt katmanı"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Karışık renk alt katmanlarına bölmeyi etkinleştirir. Etkinleştirildiğinde, karışık renkli filament içeren katmanlar renk karışımı efektleri elde etmek için alt katmanlara bölünür."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Temizleme kulesi, nesneleri yazdırırken görünüm kusurlarını önlemek amacıyla nozul üzerindeki kalıntıları temizlemek ve nozul içindeki oda basıncını dengelemek için kullanılabilir." msgstr "Temizleme kulesi, nesneleri yazdırırken görünüm kusurlarını önlemek amacıyla nozul üzerindeki kalıntıları temizlemek ve nozul içindeki oda basıncını dengelemek için kullanılabilir."
@@ -18155,10 +18280,10 @@ msgid "Allow 3MF with newer version to be sliced."
msgstr "Daha yeni sürüme sahip 3mfnin dilimlenmesine izin ver." msgstr "Daha yeni sürüme sahip 3mfnin dilimlenmesine izin ver."
msgid "Current Z-hop" msgid "Current Z-hop"
msgstr "Mevcut z-hop" msgstr "Mevcut Z-hop"
msgid "Contains Z-hop present at the beginning of the custom G-code block." msgid "Contains Z-hop present at the beginning of the custom G-code block."
msgstr "Özel G-code bloğunun başında bulunan z-hop'u içerir." msgstr "Özel G-code bloğunun başında bulunan Z-hop'u içerir."
msgid "Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, it should write to this variable so OrcaSlicer knows where it travels from when it gets control back." msgid "Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, it should write to this variable so OrcaSlicer knows where it travels from when it gets control back."
msgstr "Ekstruderin özel G-code bloğunun başlangıcındaki konumu. Özel G-code başka bir yere seyahat ederse, Slicer'ın kontrolü geri aldığında nereden seyahat ettiğini bilmesi için bu değişkene yazması gerekir." msgstr "Ekstruderin özel G-code bloğunun başlangıcındaki konumu. Özel G-code başka bir yere seyahat ederse, Slicer'ın kontrolü geri aldığında nereden seyahat ettiğini bilmesi için bu değişkene yazması gerekir."
@@ -18505,6 +18630,10 @@ msgstr "Bir model dosyasının meshlenmesi başarısız oldu veya geçerli bir
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Seçilen dosya boş olduğundan okunamıyor." msgstr "Seçilen dosya boş olduğundan okunamıyor."
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Dosya biçimi uyumsuz olduğundan ayrıştırılamıyor."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Bilinmeyen dosya formatı. Giriş dosyası .stl, .obj, .amf(.xml) uzantılı olmalıdır." msgstr "Bilinmeyen dosya formatı. Giriş dosyası .stl, .obj, .amf(.xml) uzantılı olmalıdır."
@@ -20003,19 +20132,19 @@ msgstr "Yazıcı adlarını yalnızca yazıcı, filament ve işlem ön ayarları
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Filament adlarını yalnızca filament ön ayarlarında yapılan değişikliklerle görüntüleyin." msgstr "Filament adlarını yalnızca filament ön ayarlarında yapılan değişikliklerle görüntüleyin."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Yalnızca kullanıcı yazıcı ön ayarlarına sahip yazıcı adları görüntülenecek ve seçtiğiniz her ön ayar zip olarak dışa aktarılacaktır." msgstr "Yalnızca kullanıcı yazıcı ön ayarlarına sahip yazıcı adları görüntülenecek ve seçtiğiniz her ön ayar zip olarak dışa aktarılacaktır."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Yalnızca kullanıcı filamenti ön ayarlarına sahip filament adları \n" "Yalnızca kullanıcı filamenti ön ayarlarına sahip filament adları \n"
"görüntülenecek ve seçtiğiniz her filament adındaki tüm kullanıcı filamenti ön ayarları zip olarak dışa aktarılacaktır." "görüntülenecek ve seçtiğiniz her filament adındaki tüm kullanıcı filamenti ön ayarları zip olarak dışa aktarılacaktır."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Yalnızca işlem ön ayarları değiştirilen yazıcı adları görüntülenecek \n" "Yalnızca işlem ön ayarları değiştirilen yazıcı adları görüntülenecek \n"
"ve seçtiğiniz her yazıcı adındaki tüm kullanıcı işlem ön ayarları zip olarak dışa aktarılacaktır." "ve seçtiğiniz her yazıcı adındaki tüm kullanıcı işlem ön ayarları zip olarak dışa aktarılacaktır."
@@ -20260,7 +20389,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Sorunun kaynağını teşhis etmek için bilgiye ihtiyacımız var. Ayrıntılı kılavuz için wiki sayfasına bakın." msgstr "Sorunun kaynağını teşhis etmek için bilgiye ihtiyacımız var. Ayrıntılı kılavuz için wiki sayfasına bakın."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Paketle düğmesi, geçerli oturumun proje dosyasını ve günlüklerini bir zip dosyasında toplar." msgstr "Paketle düğmesi, geçerli oturumun proje dosyasını ve günlüklerini bir zip dosyasında toplar."
# AI Translated # AI Translated
@@ -20316,7 +20445,7 @@ msgid "Stored logs"
msgstr "Saklanan günlükler" msgstr "Saklanan günlükler"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Saklanan tüm günlükleri bir zip dosyasında paketler." msgstr "Saklanan tüm günlükleri bir zip dosyasında paketler."
# AI Translated # AI Translated
@@ -20402,7 +20531,7 @@ msgid "Authorizing..."
msgstr "Yetkilendiriliyor..." msgstr "Yetkilendiriliyor..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Hata. Yetkilendirme için api belirteci alınamıyor" msgstr "Hata. Yetkilendirme için api belirteci alınamıyor"
# AI Translated # AI Translated
@@ -20859,8 +20988,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Akıllı filament atamasını etkinleştir: Tasarrufu en üst düzeye çıkarmak için bir filamenti birden çok nozula atayın" msgstr "Akıllı filament atamasını etkinleştir: Tasarrufu en üst düzeye çıkarmak için bir filamenti birden çok nozula atayın"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Filament Tasarrufu" msgstr "Dosya Kaydetme"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Bana bir daha hatırlatma" msgstr "Bana bir daha hatırlatma"
@@ -21268,6 +21397,9 @@ msgstr "Şimdi Yeniden Başlat"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "HİÇBİR ŞEKİLDE ÇARPMA YOK" msgstr "HİÇBİR ŞEKİLDE ÇARPMA YOK"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Hacimsel hız" msgstr "Hacimsel hız"
@@ -21829,7 +21961,8 @@ msgstr ""
"Baskılarınızı plakalara ayırın\n" "Baskılarınızı plakalara ayırın\n"
"Çok sayıda parçası olan bir modeli baskıya hazır ayrı kalıplara bölebileceğinizi biliyor muydunuz? Bu, tüm parçaları takip etme sürecini basitleştirecektir." "Çok sayıda parçası olan bir modeli baskıya hazır ayrı kalıplara bölebileceğinizi biliyor muydunuz? Bu, tüm parçaları takip etme sürecini basitleştirecektir."
#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] #: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer
#: Height]
msgid "" msgid ""
"Speed up your print with Adaptive Layer Height\n" "Speed up your print with Adaptive Layer Height\n"
"Did you know that you can print a model even faster by using the Adaptive Layer Height option? Check it out!" "Did you know that you can print a model even faster by using the Adaptive Layer Height option? Check it out!"
@@ -21902,7 +22035,8 @@ msgstr ""
"Gücü artırın\n" "Gücü artırın\n"
"Modelin gücünü artırmak için daha fazla duvar halkası ve daha yüksek seyrek dolgu yoğunluğu kullanabileceğinizi biliyor muydunuz?" "Modelin gücünü artırmak için daha fazla duvar halkası ve daha yüksek seyrek dolgu yoğunluğu kullanabileceğinizi biliyor muydunuz?"
#: resources/data/hints.ini: [hint:When do you need to print with the printer door opened] #: resources/data/hints.ini: [hint:When do you need to print with the printer
#: door opened]
msgid "" msgid ""
"When do you need to print with the printer door opened?\n" "When do you need to print with the printer door opened?\n"
"Did you know that opening the printer door can reduce the probability of extruder/hotend clogging when printing lower temperature filament with a higher enclosure temperature? There is more info about this in the Wiki." "Did you know that opening the printer door can reduce the probability of extruder/hotend clogging when printing lower temperature filament with a higher enclosure temperature? There is more info about this in the Wiki."
@@ -21918,6 +22052,41 @@ msgstr ""
"Eğilmeyi önleyin\n" "Eğilmeyi önleyin\n"
"ABS gibi bükülmeye yatkın malzemelere baskı yaparken, ısıtma yatağı sıcaklığının uygun şekilde arttırılmasının bükülme olasılığını azaltabileceğini biliyor muydunuz?" "ABS gibi bükülmeye yatkın malzemelere baskı yaparken, ısıtma yatağı sıcaklığının uygun şekilde arttırılmasının bükülme olasılığını azaltabileceğini biliyor muydunuz?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Yerel Wayland canlı görüntüsü, GStreamer GTK video alıcısını gerektirir. Lütfen GStreamer için gtksink eklentisini yükleyin ve ardından OrcaSlicer'ı yeniden başlatın."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Yerel Wayland GStreamer video alıcısı başlatılamadı. Lütfen GStreamer GTK eklentisi kurulumunuzu denetleyin."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Bu görev için Windows Media Player gereklidir! İşletim sisteminiz için Windows Media Player’ı etkinleştirmek istiyor musunuz?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource medya oynatımı için doğru şekilde kaydedilmemiş! Yeniden kaydetmek için Evete basın"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Medya oynatma için kayıtlı BambuSource bileşeni eksik! Lütfen OrcaSlicer'ı yeniden yükleyin veya topluluk yardımı isteyin."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Farklı bir kurulumdan bir BambuSource kullanıyorsunuz, video oynatma doğru çalışmayabilir! Düzeltmek için Evete basın."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Sisteminizde video oynatmak için gerekli olan GStreamer H.264 codec bileşenleri eksik. (gstreamer1.0-plugins-bad veya gstreamer1.0-libav paketlerini kurmayı deneyin, ardından Orca Slicer’ı yeniden başlatın)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Filament Tasarrufu"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+217 -51
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: orcaslicerua\n" "Project-Id-Version: orcaslicerua\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-07-17 16:25+0300\n" "PO-Revision-Date: 2026-07-17 16:25+0300\n"
"Last-Translator: Andrij Mizyk <andm1zyk@proton.me>\n" "Last-Translator: Andrij Mizyk <andm1zyk@proton.me>\n"
"Language-Team: Ukrainian\n" "Language-Team: Ukrainian\n"
@@ -2906,6 +2906,10 @@ msgstr "Змінити"
msgid "Merge with" msgid "Merge with"
msgstr "Обʼєднати з" msgstr "Обʼєднати з"
# AI Translated
msgid "Decompose Color"
msgstr "Розкласти колір"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Видалити цей філамент" msgstr "Видалити цей філамент"
@@ -3197,6 +3201,10 @@ msgstr "Збірка"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Обʼєднати частини в обʼєкт" msgstr "Обʼєднати частини в обʼєкт"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Використання змінної висоти шару разом із підшаром змішаного кольору може погіршити якість змішування кольорів."
msgid "Add layers" msgid "Add layers"
msgstr "Додати шари" msgstr "Додати шари"
@@ -4781,7 +4789,7 @@ msgstr ""
"\n" "\n"
"Значення буде скинуто на 0." "Значення буде скинуто на 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Чергування додаткової стінки не працює добре, якщо для параметра \"Забезпечити товщину вертикальної оболонки\" встановлено значення \"Всі\"." msgstr "Чергування додаткової стінки не працює добре, якщо для параметра \"Забезпечити товщину вертикальної оболонки\" встановлено значення \"Всі\"."
msgid "" msgid ""
@@ -4827,7 +4835,7 @@ msgstr ""
"НІ - Залишити незалежну висоту шарів підтримки" "НІ - Залишити незалежну висоту шарів підтримки"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height має бути менше висоти шару.\n" "seam_slope_start_height має бути менше висоти шару.\n"
@@ -4836,7 +4844,7 @@ msgstr ""
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Глибина зчеплення має бути меншою за глибину оболонки.\n" "Глибина зчеплення має бути меншою за глибину оболонки.\n"
@@ -6339,10 +6347,10 @@ msgstr "Імпорт 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Завантажте модель" msgstr "Завантажте модель"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Імпорт Zip-архіву" msgstr "Імпорт Zip-архіву"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Завантажити моделі, що містяться в zip-архіві" msgstr "Завантажити моделі, що містяться в zip-архіві"
msgid "Import Configs" msgid "Import Configs"
@@ -7891,6 +7899,10 @@ msgstr "Пристосувати поточну пластину"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "Сопло %s не може друкувати %s." msgstr "Сопло %s не може друкувати %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Друк філаменту змішаного кольору на принтері з одним екструдером потребує частої зміни філаменту та промивок, що може суттєво збільшити кількість відходів і ризик засмічення сопла або жолоба для відходів."
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "Змішування %1% з %2% в друці не рекомендується.\n" msgstr "Змішування %1% з %2% в друці не рекомендується.\n"
@@ -8019,12 +8031,44 @@ msgstr "Синхронізувати список ниток з AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Встановити філаменти для використання" msgstr "Встановити філаменти для використання"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Додати змішаний філамент"
# AI Translated
msgid "Mixed Filament"
msgstr "Змішаний філамент"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Вилучити останній змішаний філамент"
# AI Translated
msgid "Add mixed filament"
msgstr "Додати змішаний філамент"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "У змішаного філаменту недійсні або невідповідні компоненти. Будь ласка, відредагуйте відповідні записи ще раз."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Пошук пластини, об’єкта і деталі." msgstr "Пошук пластини, об’єкта і деталі."
msgid "Pellets" msgid "Pellets"
msgstr "Гранули" msgstr "Гранули"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "У змішаного філаменту пошкоджені посилання на компоненти"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Редагувати / Видалити / Обʼєднати"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Цільовий змішаний філамент використовує цей фізичний філамент як компонент. Обʼєднання вилучить цей фізичний філамент і може зробити змішаний філамент недійсним. Продовжити?"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
@@ -8180,8 +8224,8 @@ msgid "Customized Preset"
msgstr "Пристосований пресет" msgstr "Пристосований пресет"
# AI Translated # AI Translated
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Назви компонентів усередині файлу STEP не у форматі UTF8!" msgstr "Назви компонентів усередині файлу STEP не у форматі UTF-8!"
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
msgstr "Через непідтримуване кодування тексту можуть зʼявлятися непотрібні символи!" msgstr "Через непідтримуване кодування тексту можуть зʼявлятися непотрібні символи!"
@@ -8202,7 +8246,7 @@ msgstr "Обʼєм обʼєкта дорівнює нулю"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Обʼєкт із файлу %s занадто малий, можливо, в метрах або дюймах.\n" "Обʼєкт із файлу %s занадто малий, можливо, в метрах або дюймах.\n"
"Ви хочете масштабувати до міліметрів?" "Ви хочете масштабувати до міліметрів?"
@@ -8223,6 +8267,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Виявлено обʼєкт, що складається з кількох частин" msgstr "Виявлено обʼєкт, що складається з кількох частин"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Зіставлення текстур із філаментами"
# AI Translated
msgid "Texture Import Warning"
msgstr "Попередження під час імпорту текстури"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Завантажити ці файли як єдиний обʼєкт з кількома частинами?\n" msgstr "Завантажити ці файли як єдиний обʼєкт з кількома частинами?\n"
@@ -8433,6 +8485,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Синхронізувати зараз" msgstr "Синхронізувати зараз"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Не вдалося імпортувати текстуру. Схоже, модель містить дані текстури, але завершити процес імпорту не вдалося. Модель буде імпортовано лише як геометрію."
# AI Translated
msgid "Applying texture colors..."
msgstr "Застосування кольорів текстури..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Оновлення 3D-вигляду..."
# AI Translated
msgid "Texture colors applied."
msgstr "Кольори текстури застосовано."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Ви можете зберегти змінені пресети у новому проекті або відмовитися від них" msgstr "Ви можете зберегти змінені пресети у новому проекті або відмовитися від них"
@@ -9714,6 +9782,10 @@ msgstr "Спіральна ваза"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Послідовність філаменту першого шару" msgstr "Послідовність філаменту першого шару"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Список філаментів містить змішані філаменти. Власна послідовність філаментів не діятиме."
msgid "By Layer" msgid "By Layer"
msgstr "По шарах" msgstr "По шарах"
@@ -11173,12 +11245,12 @@ msgstr "%s: %s"
msgid "No modifications need to be copied." msgid "No modifications need to be copied."
msgstr "Немає змін для копіювання." msgstr "Немає змін для копіювання."
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Параметри копіювання" msgstr "Параметри копіювання"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Змінити параметри %s" msgstr "Змінити параметри %s"
# AI Translated # AI Translated
@@ -11717,30 +11789,6 @@ msgstr "Обʼєми промивки для зміни філаменту"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Будь ласка, виберіть колір філаменту" msgstr "Будь ласка, виберіть колір філаменту"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Нативний перегляд у Wayland потребує відеоприймача GStreamer GTK. Встановіть плагін gtksink для GStreamer, а потім перезапустіть OrcaSlicer."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Не вдалося ініціалізувати нативний відеоприймач GStreamer для Wayland. Перевірте встановлення плагіна GStreamer GTK."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Для виконання цього завдання потрібен Windows Media Player! Бажаєте увімкнути 'Windows Media Player' для вашої операційної системи?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource не було правильно зареєстровано для відтворення медіафайлів! Натисніть \"Так\", щоб зареєструвати його повторно. Вас буде сповіщено двічі"
# AI Translated
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Відсутній компонент BambuSource, зареєстрований для відтворення медіа! Перевстановіть OrcaSlicer або зверніться по допомогу до спільноти."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Використовується BambuSource з іншої інсталяції, відтворення відео може працювати неправильно! Натисніть \"Так\", щоб виправити це."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Вашій системі бракує кодеків H.264 для GStreamer, які необхідні для відтворення відео. (Спробуйте встановити пакети gstreamer1.0-plugins-bad або gstreamer1.0-libav, а потім перезапустіть Orca Slicer?)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Хмарний агент недоступний. Перезапустіть OrcaSlicer і спробуйте ще раз." msgstr "Хмарний агент недоступний. Перезапустіть OrcaSlicer і спробуйте ще раз."
@@ -12462,6 +12510,10 @@ msgstr "Якщо ви все одно хочете друкувати, може
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Немає екструзій під час поточних налаштувань." msgstr "Немає екструзій під час поточних налаштувань."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Використовується змішаний філамент із градієнтом, але параметр «Підшар змішаного кольору» вимкнено. Градієнт не буде надруковано."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Плавний режим таймлапсу не підтримується, коли послідовність \"по обʼєкт\" увімкнено." msgstr "Плавний режим таймлапсу не підтримується, коли послідовність \"по обʼєкт\" увімкнено."
@@ -12502,6 +12554,10 @@ msgstr "Можливо, ви захочете зменшити розмір мо
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Змінна висота шару не підтримується з Органічними підтримками." msgstr "Змінна висота шару не підтримується з Органічними підтримками."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Філамент вежі протирання не може бути змішаним філаментом."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Різні діаметри сопел та різні діаметри філаменту можуть працювати некоректно коли ввімкнена підготовча вежа. Це експериментальна функція, тому використовуйте її з обережністю." msgstr "Різні діаметри сопел та різні діаметри філаменту можуть працювати некоректно коли ввімкнена підготовча вежа. Це експериментальна функція, тому використовуйте її з обережністю."
@@ -12881,8 +12937,7 @@ msgstr "мм або %"
msgid "Other layers" msgid "Other layers"
msgstr "Інші шари" msgstr "Інші шари"
# AI Translated msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Температура столу для всіх шарів, крім першого. Значення 0 означає, що філамент не підтримує друк на Cool Plate SuperTack." msgstr "Температура столу для всіх шарів, крім першого. Значення 0 означає, що філамент не підтримує друк на Cool Plate SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -14296,8 +14351,10 @@ msgstr "Час шару"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Вентилятор охолодження деталей вмикається для шарів, розрахунковий час яких менший за це значення. Швидкість вентилятора інтерполюється між мінімальною та максимальною швидкістю вентилятора відповідно до часу друку шару" msgstr "Вентилятор охолодження деталей вмикається для шарів, розрахунковий час яких менший за це значення. Швидкість вентилятора інтерполюється між мінімальною та максимальною швидкістю вентилятора відповідно до часу друку шару"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "c" msgstr "с"
msgid "Default color" msgid "Default color"
msgstr "Типовий колір" msgstr "Типовий колір"
@@ -14627,6 +14684,62 @@ msgstr "Матеріал підтримки"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Допоміжний матеріал зазвичай використовується для друку підтримки" msgstr "Допоміжний матеріал зазвичай використовується для друку підтримки"
# AI Translated
msgid "Is mixed filament"
msgstr "Є змішаним філаментом"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Визначає, чи є цей слот філаменту змішаним філаментом, складеним з кількох фізичних філаментів"
# AI Translated
msgid "Mixed filament components"
msgstr "Компоненти змішаного філаменту"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Розділені комами індекси філаментів-компонентів, починаючи з 1, наприклад \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Частки підшарів змішаного філаменту"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Розділені комами значення часток, сума яких дорівнює 1.0, наприклад \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Градієнт змішаного філаменту"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Вмикає режим градієнта за віссю Z для підшарів змішаного філаменту. Коли увімкнено, частки підшарів змінюються лінійно від шару до шару."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Діапазон градієнта змішаного філаменту"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Початкова та кінцева частки першого компонента в режимі градієнта. Пара значень через кому, наприклад \"0.10,0.90\" означає від 10% до 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Крива градієнта змішаного філаменту"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Необовʼязкова власна крива у стилі Photoshop, що зіставляє поступ за віссю Z із часткою першого компонента. Записується як контрольні точки, розділені вертикальними рисками, у вигляді \"x,y\" (застарілий формат) або \"x,y,m_in,m_out\", коли потрібно перевизначити дотичну (порожнє значення або \"nan\" означає типове значення PCHIP). x належить до [0,1]; y обмежується налаштованим діапазоном часток, наприклад \"0,0.15|0.5,0.50|1,0.85\". Якщо поле порожнє, замість цього використовується лінійний gradient_range."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Градієнт змішаного філаменту для кожної частини"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Коли режим градієнта увімкнено, градієнт застосовується до кожної частини збірки окремо, а не до всієї збірки як до єдиного діапазону Z."
msgid "Filament printable" msgid "Filament printable"
msgstr "Філамент придатний для друку" msgstr "Філамент придатний для друку"
@@ -15973,8 +16086,9 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Максимальна дозволена вихідна сила осі Y" msgstr "Максимальна дозволена вихідна сила осі Y"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "Н"
msgid "Bed mass of the Y axis" msgid "Bed mass of the Y axis"
msgstr "Маса столу осі Y" msgstr "Маса столу осі Y"
@@ -15982,6 +16096,8 @@ msgstr "Маса столу осі Y"
msgid "The machine bed mass load of Y axis" msgid "The machine bed mass load of Y axis"
msgstr "Маса навантаження столу машини на вісь Y" msgstr "Маса навантаження столу машини на вісь Y"
# AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "г" msgstr "г"
@@ -16313,8 +16429,8 @@ msgid "Reduce infill retraction"
msgstr "Зменшити втягування заповнення" msgstr "Зменшити втягування заповнення"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Не втягувати, коли переміщення повністю проходить у зоні заповнення. Це означає, що витікання не буде видно. Це може зменшити кількість втягувань для складних моделей і заощадити час друку, але сповільнює нарізку та генерацію G-коду. Зверніть увагу, що z-hop також не виконується в зонах, де втягування пропускається." msgstr "Не втягувати, коли переміщення повністю проходить у зоні заповнення. Це означає, що витікання не буде видно. Це може зменшити кількість втягувань для складних моделей і заощадити час друку, але сповільнює нарізку та генерацію G-коду. Зверніть увагу, що Z-hop також не виконується в зонах, де втягування пропускається."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
msgstr "Цей параметр знижує температуру неактивних екструдерів, щоб запобігти підтіканням." msgstr "Цей параметр знижує температуру неактивних екструдерів, щоб запобігти підтіканням."
@@ -16489,7 +16605,7 @@ msgstr "Величина втягування після протирання"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Довжина швидкого втягування після протирання, відносно довжини втягування.\n" "Довжина швидкого втягування після протирання, відносно довжини втягування.\n"
@@ -16538,7 +16654,7 @@ msgstr "Коли втягування спрацьовує перед зміно
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Висота Z-підйому" msgstr "Висота Z-підйому"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Під час кожного втягування сопло трохи піднімається, щоб створити зазор між соплом та об’єктом друку. Це запобігає зіткненню сопла з об’єктом друку під час переміщення. Використання спіральної лінії підняття по осі Z може запобігти появі ниток" msgstr "Під час кожного втягування сопло трохи піднімається, щоб створити зазор між соплом та об’єктом друку. Це запобігає зіткненню сопла з об’єктом друку під час переміщення. Використання спіральної лінії підняття по осі Z може запобігти появі ниток"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17622,6 +17738,14 @@ msgstr ""
"\n" "\n"
"Якщо встановити значення у параметрі \"Кількість втягування перед витиранням\" нижче, надлишкове втягування буде виконано перед витиранням, інакше воно буде виконано після нього." "Якщо встановити значення у параметрі \"Кількість втягування перед витиранням\" нижче, надлишкове втягування буде виконано перед витиранням, інакше воно буде виконано після нього."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Підшар змішаного кольору"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Вмикає розбиття на підшари змішаного кольору. Коли увімкнено, шари, що містять філаменти змішаного кольору, розбиваються на підшари для отримання ефекту змішування кольорів."
# AI Translated # AI Translated
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Вежа протирання може використовуватися для очищення залишків на соплі та стабілізації тиску в камері всередині сопла, щоб уникнути дефектів зовнішнього вигляду під час друку обʼєктів." msgstr "Вежа протирання може використовуватися для очищення залишків на соплі та стабілізації тиску в камері всередині сопла, щоб уникнути дефектів зовнішнього вигляду під час друку обʼєктів."
@@ -18728,6 +18852,10 @@ msgstr "Не вдалося побудувати сітку файлу моде
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "Наданий файл не вдалося прочитати, оскільки він порожній" msgstr "Наданий файл не вдалося прочитати, оскільки він порожній"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Формат файлу несумісний, і його не вдається прочитати."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Невідомий формат файлу: вхідний файл повинен мати розширення .stl, .obj або .amf (.xml)." msgstr "Невідомий формат файлу: вхідний файл повинен мати розширення .stl, .obj або .amf (.xml)."
@@ -20244,12 +20372,12 @@ msgstr "Показувати лише назви принтерів зі змі
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Показувати лише назви філаментів зі змінами у пресетах філаменту." msgstr "Показувати лише назви філаментів зі змінами у пресетах філаменту."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Будуть відображатися лише назви принтерів з пресетами принтера користувача, і кожен обраний пресет буде експортовано у форматі ZIP." msgstr "Будуть відображатися лише назви принтерів з пресетами принтера користувача, і кожен обраний пресет буде експортовано у форматі ZIP."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Будуть відображатися лише назви філаментів з налаштуваннями філаменту користувача, \n" "Будуть відображатися лише назви філаментів з налаштуваннями філаменту користувача, \n"
"і всі налаштування філаменту користувача для кожної вибраної назви філаменту \n" "і всі налаштування філаменту користувача для кожної вибраної назви філаменту \n"
@@ -20257,7 +20385,7 @@ msgstr ""
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Будуть відображатися лише назви принтерів зі зміненими налаштуваннями процесу, \n" "Будуть відображатися лише назви принтерів зі зміненими налаштуваннями процесу, \n"
"і всі налаштування процесу користувача для кожної вибраної назви принтера будуть \n" "і всі налаштування процесу користувача для кожної вибраної назви принтера будуть \n"
@@ -20499,7 +20627,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Нам потрібна інформація для встановлення джерела проблеми. Докладний посібник дивіться на сторінці wiki." msgstr "Нам потрібна інформація для встановлення джерела проблеми. Докладний посібник дивіться на сторінці wiki."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Кнопка «Пакувати» збирає файл проєкту та журнали поточного сеансу в один zip-файл." msgstr "Кнопка «Пакувати» збирає файл проєкту та журнали поточного сеансу в один zip-файл."
# AI Translated # AI Translated
@@ -20543,7 +20671,7 @@ msgstr "Рівень журналу"
msgid "Stored logs" msgid "Stored logs"
msgstr "Збережені логи" msgstr "Збережені логи"
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Запаковує всі збережені логи у файл zip." msgstr "Запаковує всі збережені логи у файл zip."
msgid "Profiles" msgid "Profiles"
@@ -20610,7 +20738,7 @@ msgstr "Тип принтера не знайдено, будь ласка ви
msgid "Authorizing..." msgid "Authorizing..."
msgstr "Авторизування..." msgstr "Авторизування..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Помилка. Не вдалося отримати api-токен для авторизування" msgstr "Помилка. Не вдалося отримати api-токен для авторизування"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -21074,8 +21202,9 @@ msgstr "Вилучено"
msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings" msgid "Enable smart filament assign: Assign one filament to multiple nozzles to maximize savings"
msgstr "Дозволити розумне призначення філаменту: Призначте одну нитку до кількох сопел, щоб максимально заощадити" msgstr "Дозволити розумне призначення філаменту: Призначте одну нитку до кількох сопел, щоб максимально заощадити"
msgid "Fila Saving" # AI Translated
msgstr "Збереження філаменту" msgid "File Saving"
msgstr "Збереження файлу"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "Не нагадувати мені більше" msgstr "Не нагадувати мені більше"
@@ -21445,6 +21574,9 @@ msgstr "Перезапустити зараз"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "ВЗАГАЛІ БЕЗ УТРАМБУВАННЯ" msgstr "ВЗАГАЛІ БЕЗ УТРАМБУВАННЯ"
msgid "s"
msgstr "c"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Обʼємна швидкість" msgstr "Обʼємна швидкість"
@@ -22081,6 +22213,40 @@ msgstr ""
"Уникнення деформації\n" "Уникнення деформації\n"
"Чи знаєте ви, що при друку матеріалами, схильними до деформації, такими як ABS, відповідне підвищення температури столу може зменшити ймовірність деформації?" "Чи знаєте ви, що при друку матеріалами, схильними до деформації, такими як ABS, відповідне підвищення температури столу може зменшити ймовірність деформації?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Нативний перегляд у Wayland потребує відеоприймача GStreamer GTK. Встановіть плагін gtksink для GStreamer, а потім перезапустіть OrcaSlicer."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Не вдалося ініціалізувати нативний відеоприймач GStreamer для Wayland. Перевірте встановлення плагіна GStreamer GTK."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Для виконання цього завдання потрібен Windows Media Player! Бажаєте увімкнути 'Windows Media Player' для вашої операційної системи?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource не було правильно зареєстровано для відтворення медіафайлів! Натисніть \"Так\", щоб зареєструвати його повторно. Вас буде сповіщено двічі"
# AI Translated
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Відсутній компонент BambuSource, зареєстрований для відтворення медіа! Перевстановіть OrcaSlicer або зверніться по допомогу до спільноти."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Використовується BambuSource з іншої інсталяції, відтворення відео може працювати неправильно! Натисніть \"Так\", щоб виправити це."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Вашій системі бракує кодеків H.264 для GStreamer, які необхідні для відтворення відео. (Спробуйте встановити пакети gstreamer1.0-plugins-bad або gstreamer1.0-libav, а потім перезапустіть Orca Slicer?)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
#~ msgid "g"
#~ msgstr "г"
#~ msgid "Fila Saving"
#~ msgstr "Збереження філаменту"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+215 -48
View File
@@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2025-10-02 17:43+0700\n" "PO-Revision-Date: 2025-10-02 17:43+0700\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: hainguyen.ts13@gmail.com\n" "Language-Team: hainguyen.ts13@gmail.com\n"
@@ -3077,6 +3077,10 @@ msgstr "Chỉnh sửa"
msgid "Merge with" msgid "Merge with"
msgstr "Gộp với" msgstr "Gộp với"
# AI Translated
msgid "Decompose Color"
msgstr "Phân tách màu"
# AI Translated # AI Translated
msgid "Delete this filament" msgid "Delete this filament"
msgstr "Xóa filament này" msgstr "Xóa filament này"
@@ -3389,6 +3393,10 @@ msgstr "Lắp ráp"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "Gộp các phần thành một vật thể" msgstr "Gộp các phần thành một vật thể"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "Sử dụng chiều cao lớp biến đổi cùng với lớp con màu pha trộn có thể làm giảm chất lượng pha màu."
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "Thêm lớp" msgstr "Thêm lớp"
@@ -5040,7 +5048,7 @@ msgstr ""
"\n" "\n"
"Giá trị sẽ được đặt lại về 0." "Giá trị sẽ được đặt lại về 0."
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "Luân phiên wall phụ không hoạt động tốt khi đảm bảo độ dày shell dọc được đặt thành Tất cả." msgstr "Luân phiên wall phụ không hoạt động tốt khi đảm bảo độ dày shell dọc được đặt thành Tất cả."
msgid "" msgid ""
@@ -5086,7 +5094,7 @@ msgstr ""
"NO - Giữ chiều cao lớp support độc lập" "NO - Giữ chiều cao lớp support độc lập"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height cần nhỏ hơn layer_height.\n" "seam_slope_start_height cần nhỏ hơn layer_height.\n"
@@ -5094,7 +5102,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"Độ sâu khóa phải nhỏ hơn độ sâu skin.\n" "Độ sâu khóa phải nhỏ hơn độ sâu skin.\n"
@@ -6687,10 +6695,10 @@ msgstr "Nhập 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "Tải model" msgstr "Tải model"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "Nhập lưu trữ Zip" msgstr "Nhập lưu trữ Zip"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "Tải các model chứa trong lưu trữ zip" msgstr "Tải các model chứa trong lưu trữ zip"
msgid "Import Configs" msgid "Import Configs"
@@ -8288,6 +8296,10 @@ msgstr "Tùy chỉnh bản hiện tại"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "Đầu phun %s không thể in %s." msgstr "Đầu phun %s không thể in %s."
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "Việc in filament màu pha trộn trên máy in một extruder đòi hỏi thay filament và xả thường xuyên, điều này có thể làm tăng đáng kể lượng phế liệu và nguy cơ tắc đầu phun / máng chứa phế liệu."
# AI Translated # AI Translated
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
@@ -8430,12 +8442,44 @@ msgstr "Đồng bộ danh sách filament từ AMS"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "Đặt filament để sử dụng" msgstr "Đặt filament để sử dụng"
# AI Translated
msgid "Add Mixed Filament"
msgstr "Thêm filament pha trộn"
# AI Translated
msgid "Mixed Filament"
msgstr "Filament pha trộn"
# AI Translated
msgid "Remove last mixed filament"
msgstr "Xóa filament pha trộn cuối cùng"
# AI Translated
msgid "Add mixed filament"
msgstr "Thêm filament pha trộn"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "Filament pha trộn có thành phần không hợp lệ hoặc không khớp. Vui lòng chỉnh sửa lại các mục bị ảnh hưởng."
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "Tìm kiếm bản, đối tượng và phần." msgstr "Tìm kiếm bản, đối tượng và phần."
msgid "Pellets" msgid "Pellets"
msgstr "Viên" msgstr "Viên"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "Filament pha trộn có tham chiếu thành phần bị lỗi"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "Chỉnh sửa / Xóa / Gộp"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "Filament pha trộn đích sử dụng filament vật lý này làm thành phần. Việc gộp sẽ xóa filament vật lý này và có thể làm filament pha trộn không còn hợp lệ. Tiếp tục?"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
@@ -8585,8 +8629,8 @@ msgstr "Vui lòng xác nhận G-code trong các preset này an toàn để ngăn
msgid "Customized Preset" msgid "Customized Preset"
msgstr "Preset tùy chỉnh" msgstr "Preset tùy chỉnh"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "Tên của các thành phần bên trong file STEP không phải định dạng UTF8!" msgstr "Tên của các thành phần bên trong file STEP không phải định dạng UTF-8!"
# AI Translated # AI Translated
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -8608,10 +8652,10 @@ msgstr "Thể tích của đối tượng bằng không"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"Đối tượng từ file %s quá nhỏ, và có thể đang ở đơn vị mét hoặc inch.\n" "Đối tượng từ file %s quá nhỏ, và có thể đang ở đơn vị mét hoặc inch.\n"
" Bạn có muốn chuyển đổi sang milimét?" "Bạn có muốn chuyển đổi sang milimét?"
msgid "Object too small" msgid "Object too small"
msgstr "Đối tượng quá nhỏ" msgstr "Đối tượng quá nhỏ"
@@ -8628,6 +8672,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "Phát hiện đối tượng nhiều phần" msgstr "Phát hiện đối tượng nhiều phần"
# AI Translated
msgid "Matching textures to filaments"
msgstr "Đang khớp kết cấu với filament"
# AI Translated
msgid "Texture Import Warning"
msgstr "Cảnh báo nhập kết cấu"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "Tải các file này như một đối tượng đơn với nhiều phần?\n" msgstr "Tải các file này như một đối tượng đơn với nhiều phần?\n"
@@ -8857,6 +8909,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "Đồng bộ ngay" msgstr "Đồng bộ ngay"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "Nhập kết cấu thất bại. Mô hình có vẻ chứa dữ liệu kết cấu, nhưng không thể hoàn tất quá trình nhập kết cấu. Mô hình sẽ chỉ được nhập dưới dạng hình học."
# AI Translated
msgid "Applying texture colors..."
msgstr "Đang áp dụng màu kết cấu..."
# AI Translated
msgid "Updating 3D view..."
msgstr "Đang cập nhật khung nhìn 3D..."
# AI Translated
msgid "Texture colors applied."
msgstr "Đã áp dụng màu kết cấu."
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "Bạn có thể giữ các preset đã chỉnh sửa cho dự án mới hoặc loại bỏ chúng" msgstr "Bạn có thể giữ các preset đã chỉnh sửa cho dự án mới hoặc loại bỏ chúng"
@@ -10227,6 +10295,10 @@ msgstr "Bình xoắn ốc"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "Trình tự filament lớp đầu tiên" msgstr "Trình tự filament lớp đầu tiên"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "Danh sách filament có chứa filament pha trộn. Trình tự filament tùy chỉnh sẽ không có hiệu lực."
msgid "By Layer" msgid "By Layer"
msgstr "Theo lớp" msgstr "Theo lớp"
@@ -11692,12 +11764,12 @@ msgid "No modifications need to be copied."
msgstr "Không có thay đổi nào cần sao chép." msgstr "Không có thay đổi nào cần sao chép."
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "Sao chép tham số" msgstr "Sao chép tham số"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "Sửa tham số của %s" msgstr "Sửa tham số của %s"
# AI Translated # AI Translated
@@ -12266,29 +12338,6 @@ msgstr "Khối lượng xả khi thay filament"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "Vui lòng chọn màu filament" msgstr "Vui lòng chọn màu filament"
# AI Translated
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "Xem trực tiếp trên Wayland thuần cần GStreamer GTK video sink. Vui lòng cài đặt plugin gtksink cho GStreamer, sau đó khởi động lại OrcaSlicer."
# AI Translated
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "Khởi tạo GStreamer video sink trên Wayland thuần thất bại. Vui lòng kiểm tra việc cài đặt plugin GStreamer GTK của bạn."
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "Windows Media Player là cần thiết cho tác vụ này! Bạn có muốn bật 'Windows Media Player' cho hệ điều hành của bạn?"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource chưa được đăng ký chính xác để phát media! Nhấn Có để đăng ký lại. Bạn sẽ được nhắc hai lần"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "Thiếu thành phần BambuSource đã đăng ký để phát media! Vui lòng cài đặt lại OrcaSlicer hoặc tìm kiếm sự giúp đỡ từ cộng đồng."
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "Đang sử dụng BambuSource từ cài đặt khác, phát video có thể không hoạt động đúng! Nhấn Có để sửa nó."
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "Hệ thống của bạn thiếu codec H.264 cho GStreamer, cần thiết để phát video. (Hãy thử cài đặt gói gstreamer1.0-plugins-bad hoặc gstreamer1.0-libav, sau đó khởi động lại Orca Slicer?)"
# AI Translated # AI Translated
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "Tác nhân cloud không khả dụng. Vui lòng khởi động lại OrcaSlicer rồi thử lại." msgstr "Tác nhân cloud không khả dụng. Vui lòng khởi động lại OrcaSlicer rồi thử lại."
@@ -13037,6 +13086,10 @@ msgstr "Nếu bạn vẫn muốn in, bạn có thể bật tùy chọn trong Tù
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "Không có đùn dưới cài đặt hiện tại." msgstr "Không có đùn dưới cài đặt hiện tại."
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "Đang dùng filament pha trộn có gradient, nhưng 'Lớp con màu pha trộn' đã bị tắt. Gradient sẽ không được in."
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "Chế độ mượt của timelapse không được hỗ trợ khi trình tự \"theo đối tượng\" được bật." msgstr "Chế độ mượt của timelapse không được hỗ trợ khi trình tự \"theo đối tượng\" được bật."
@@ -13075,6 +13128,10 @@ msgstr "Bạn có thể muốn giảm kích thước model của mình hoặc th
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Chiều cao lớp thay đổi không được hỗ trợ với support hữu cơ." msgstr "Chiều cao lớp thay đổi không được hỗ trợ với support hữu cơ."
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "Filament của wipe tower không thể là filament pha trộn."
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "Đường kính đầu phun khác nhau và đường kính filament khác nhau có thể không hoạt động tốt khi prime tower được bật. Nó rất thử nghiệm, vì vậy vui lòng tiến hành thận trọng." msgstr "Đường kính đầu phun khác nhau và đường kính filament khác nhau có thể không hoạt động tốt khi prime tower được bật. Nó rất thử nghiệm, vì vậy vui lòng tiến hành thận trọng."
@@ -13449,7 +13506,7 @@ msgstr "mm hoặc %"
msgid "Other layers" msgid "Other layers"
msgstr "Lớp khác" msgstr "Lớp khác"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "Nhiệt độ bàn cho các lớp ngoại trừ lớp đầu tiên. Giá trị 0 có nghĩa là filament không hỗ trợ in trên bản Cool SuperTack." msgstr "Nhiệt độ bàn cho các lớp ngoại trừ lớp đầu tiên. Giá trị 0 có nghĩa là filament không hỗ trợ in trên bản Cool SuperTack."
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -14857,6 +14914,8 @@ msgstr "Thời gian lớp"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "Quạt làm mát phần sẽ được bật cho các lớp có thời gian ước tính ngắn hơn giá trị này. Tốc độ quạt được nội suy giữa tốc độ quạt tối thiểu và tối đa theo thời gian in lớp." msgstr "Quạt làm mát phần sẽ được bật cho các lớp có thời gian ước tính ngắn hơn giá trị này. Tốc độ quạt được nội suy giữa tốc độ quạt tối thiểu và tối đa theo thời gian in lớp."
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -15196,6 +15255,62 @@ msgstr "Vật liệu support"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "Vật liệu support thường được sử dụng để in support và giao diện support." msgstr "Vật liệu support thường được sử dụng để in support và giao diện support."
# AI Translated
msgid "Is mixed filament"
msgstr "Là filament pha trộn"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "Xác định xem khe filament này có phải là filament pha trộn gồm nhiều filament vật lý hay không"
# AI Translated
msgid "Mixed filament components"
msgstr "Thành phần của filament pha trộn"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "Chỉ số của các filament thành phần, bắt đầu từ 1, phân tách bằng dấu phẩy, ví dụ \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "Tỷ lệ lớp con của filament pha trộn"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "Các giá trị tỷ lệ phân tách bằng dấu phẩy, có tổng bằng 1.0, ví dụ \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "Gradient của filament pha trộn"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "Bật chế độ gradient theo phương Z cho các lớp con của filament pha trộn. Khi bật, tỷ lệ các lớp con thay đổi tuyến tính qua các lớp."
# AI Translated
msgid "Mixed filament gradient range"
msgstr "Phạm vi gradient của filament pha trộn"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "Tỷ lệ đầu và cuối của thành phần thứ nhất ở chế độ gradient. Cặp giá trị phân tách bằng dấu phẩy, ví dụ \"0.10,0.90\" nghĩa là từ 10% đến 90%."
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "Đường cong gradient của filament pha trộn"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "Đường cong tùy chỉnh kiểu Photoshop (tùy chọn) ánh xạ tiến trình theo Z sang tỷ lệ của thành phần thứ nhất. Được mã hóa dưới dạng các điểm điều khiển phân tách bằng dấu gạch đứng, theo dạng \"x,y\" (kiểu cũ) hoặc \"x,y,m_in,m_out\" khi cần ghi đè tiếp tuyến (giá trị trống hoặc \"nan\" nghĩa là dùng mặc định PCHIP). x nằm trong [0,1]; y bị giới hạn trong phạm vi tỷ lệ đã cấu hình, ví dụ \"0,0.15|0.5,0.50|1,0.85\". Khi để trống, gradient_range tuyến tính sẽ được dùng thay thế."
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "Gradient theo từng phần của filament pha trộn"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "Khi chế độ gradient được bật, áp dụng gradient cho từng phần của một cụm lắp ráp một cách độc lập thay vì coi toàn bộ cụm lắp ráp là một phạm vi Z duy nhất."
# AI Translated # AI Translated
msgid "Filament printable" msgid "Filament printable"
msgstr "Filament in được" msgstr "Filament in được"
@@ -16508,6 +16623,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Lực đầu ra tối đa cho phép của trục Y" msgstr "Lực đầu ra tối đa cho phép của trục Y"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -16520,6 +16636,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Tải khối lượng bàn máy của trục Y" msgstr "Tải khối lượng bàn máy của trục Y"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -16846,8 +16963,8 @@ msgid "Reduce infill retraction"
msgstr "Giảm rút infill" msgstr "Giảm rút infill"
# AI Translated # AI Translated
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "Không rút khi di chuyển ở vùng infill hoàn toàn. Điều đó có nghĩa là chảy nhựa không thể nhìn thấy. Điều này có thể giảm số lần rút cho model phức tạp và tiết kiệm thời gian in, nhưng làm cho slice và tạo G-code chậm hơn. Lưu ý rằng z-hop cũng không được thực hiện ở những vùng bỏ qua việc rút." msgstr "Không rút khi di chuyển ở vùng infill hoàn toàn. Điều đó có nghĩa là chảy nhựa không thể nhìn thấy. Điều này có thể giảm số lần rút cho model phức tạp và tiết kiệm thời gian in, nhưng làm cho slice và tạo G-code chậm hơn. Lưu ý rằng Z-hop cũng không được thực hiện ở những vùng bỏ qua việc rút."
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
msgstr "Tùy chọn này sẽ giảm nhiệt độ của các extruder không hoạt động để ngăn chảy nhựa." msgstr "Tùy chọn này sẽ giảm nhiệt độ của các extruder không hoạt động để ngăn chảy nhựa."
@@ -17022,7 +17139,7 @@ msgstr "Lượng rút sau khi lau"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"Độ dài rút nhanh sau khi lau, tương đối so với độ dài rút.\n" "Độ dài rút nhanh sau khi lau, tương đối so với độ dài rút.\n"
@@ -17071,7 +17188,7 @@ msgstr "Khi rút được kích hoạt trước khi đổi công cụ, filament
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Chiều cao Z-hop" msgstr "Chiều cao Z-hop"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "Bất cứ khi nào rút được thực hiện, đầu phun được nâng lên một chút để tạo khoảng trống giữa đầu phun và bản in. Nó ngăn đầu phun va vào bản in khi di chuyển. Sử dụng đường xoắn ốc để nâng Z có thể ngăn dây kéo." msgstr "Bất cứ khi nào rút được thực hiện, đầu phun được nâng lên một chút để tạo khoảng trống giữa đầu phun và bản in. Nó ngăn đầu phun va vào bản in khi di chuyển. Sử dụng đường xoắn ốc để nâng Z có thể ngăn dây kéo."
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -18140,6 +18257,14 @@ msgstr ""
"\n" "\n"
"Đặt giá trị trong cài đặt lượng rút trước khi lau bên dưới sẽ thực hiện bất kỳ rút dư nào trước khi lau, nếu không nó sẽ được thực hiện sau." "Đặt giá trị trong cài đặt lượng rút trước khi lau bên dưới sẽ thực hiện bất kỳ rút dư nào trước khi lau, nếu không nó sẽ được thực hiện sau."
# AI Translated
msgid "Mixed color sublayer"
msgstr "Lớp con màu pha trộn"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "Bật việc chia thành lớp con màu pha trộn. Khi bật, các lớp có chứa filament màu pha trộn sẽ được chia thành các lớp con để tạo hiệu ứng pha màu."
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "Wipe tower có thể được sử dụng để làm sạch cặn trên đầu phun và ổn định áp suất buồng bên trong đầu phun, để tránh khuyết điểm bề ngoài khi in đối tượng." msgstr "Wipe tower có thể được sử dụng để làm sạch cặn trên đầu phun và ổn định áp suất buồng bên trong đầu phun, để tránh khuyết điểm bề ngoài khi in đối tượng."
@@ -19260,6 +19385,10 @@ msgstr "Tạo lưới cho file mô hình thất bại hoặc không có hình d
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "File được cung cấp không thể đọc được vì nó trống" msgstr "File được cung cấp không thể đọc được vì nó trống"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "Định dạng tệp không tương thích nên không thể phân tích."
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "Định dạng file không xác định. File đầu vào phải có phần mở rộng .stl, .obj, .amf(.xml)." msgstr "Định dạng file không xác định. File đầu vào phải có phần mở rộng .stl, .obj, .amf(.xml)."
@@ -20793,19 +20922,19 @@ msgstr "Chỉ hiển thị tên máy in có thay đổi đối với cài đặt
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "Chỉ hiển thị tên filament có thay đổi đối với cài đặt sẵn filament." msgstr "Chỉ hiển thị tên filament có thay đổi đối với cài đặt sẵn filament."
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "Chỉ tên máy in có cài đặt sẵn máy in người dùng sẽ được hiển thị, và mỗi cài đặt sẵn bạn chọn sẽ được xuất dưới dạng zip." msgstr "Chỉ tên máy in có cài đặt sẵn máy in người dùng sẽ được hiển thị, và mỗi cài đặt sẵn bạn chọn sẽ được xuất dưới dạng zip."
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Chỉ tên filament có cài đặt sẵn filament người dùng sẽ được hiển thị, \n" "Chỉ tên filament có cài đặt sẵn filament người dùng sẽ được hiển thị, \n"
"và tất cả cài đặt sẵn filament người dùng trong mỗi tên filament bạn chọn sẽ được xuất dưới dạng zip." "và tất cả cài đặt sẵn filament người dùng trong mỗi tên filament bạn chọn sẽ được xuất dưới dạng zip."
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"Chỉ tên máy in có cài đặt sẵn quy trình đã thay đổi sẽ được hiển thị, \n" "Chỉ tên máy in có cài đặt sẵn quy trình đã thay đổi sẽ được hiển thị, \n"
"và tất cả cài đặt sẵn quy trình người dùng trong mỗi tên máy in bạn chọn sẽ được xuất dưới dạng zip." "và tất cả cài đặt sẵn quy trình người dùng trong mỗi tên máy in bạn chọn sẽ được xuất dưới dạng zip."
@@ -21057,7 +21186,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "Chúng tôi cần thông tin để chẩn đoán nguồn gốc vấn đề. Hãy xem trang wiki để có hướng dẫn chi tiết." msgstr "Chúng tôi cần thông tin để chẩn đoán nguồn gốc vấn đề. Hãy xem trang wiki để có hướng dẫn chi tiết."
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "Nút Đóng gói thu thập file dự án và nhật ký của phiên hiện tại vào một file zip." msgstr "Nút Đóng gói thu thập file dự án và nhật ký của phiên hiện tại vào một file zip."
# AI Translated # AI Translated
@@ -21113,7 +21242,7 @@ msgid "Stored logs"
msgstr "Nhật ký đã lưu" msgstr "Nhật ký đã lưu"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "Đóng gói toàn bộ nhật ký đã lưu vào một file zip." msgstr "Đóng gói toàn bộ nhật ký đã lưu vào một file zip."
# AI Translated # AI Translated
@@ -21201,7 +21330,7 @@ msgid "Authorizing..."
msgstr "Đang xác thực..." msgstr "Đang xác thực..."
# AI Translated # AI Translated
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "Lỗi. Không lấy được token api để xác thực" msgstr "Lỗi. Không lấy được token api để xác thực"
# AI Translated # AI Translated
@@ -21681,8 +21810,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "Bật gán filament thông minh: Gán một filament cho nhiều đầu phun để tối đa hóa tiết kiệm" msgstr "Bật gán filament thông minh: Gán một filament cho nhiều đầu phun để tối đa hóa tiết kiệm"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "Tiết kiệm fila" msgstr "Lưu tệp"
# AI Translated # AI Translated
msgid "Don't remind me again" msgid "Don't remind me again"
@@ -22138,6 +22267,9 @@ msgstr "Khởi động lại ngay"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "HOÀN TOÀN KHÔNG RAMMING" msgstr "HOÀN TOÀN KHÔNG RAMMING"
msgid "s"
msgstr "s"
# AI Translated # AI Translated
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "Tốc độ thể tích" msgstr "Tốc độ thể tích"
@@ -22804,6 +22936,41 @@ msgstr ""
"Tránh cong vênh\n" "Tránh cong vênh\n"
"Bạn có biết rằng khi in vật liệu dễ cong vênh như ABS, tăng nhiệt độ bàn nóng một cách thích hợp có thể giảm xác suất cong vênh không?" "Bạn có biết rằng khi in vật liệu dễ cong vênh như ABS, tăng nhiệt độ bàn nóng một cách thích hợp có thể giảm xác suất cong vênh không?"
# AI Translated
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "Xem trực tiếp trên Wayland thuần cần GStreamer GTK video sink. Vui lòng cài đặt plugin gtksink cho GStreamer, sau đó khởi động lại OrcaSlicer."
# AI Translated
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "Khởi tạo GStreamer video sink trên Wayland thuần thất bại. Vui lòng kiểm tra việc cài đặt plugin GStreamer GTK của bạn."
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "Windows Media Player là cần thiết cho tác vụ này! Bạn có muốn bật 'Windows Media Player' cho hệ điều hành của bạn?"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource chưa được đăng ký chính xác để phát media! Nhấn Có để đăng ký lại. Bạn sẽ được nhắc hai lần"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "Thiếu thành phần BambuSource đã đăng ký để phát media! Vui lòng cài đặt lại OrcaSlicer hoặc tìm kiếm sự giúp đỡ từ cộng đồng."
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "Đang sử dụng BambuSource từ cài đặt khác, phát video có thể không hoạt động đúng! Nhấn Có để sửa nó."
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "Hệ thống của bạn thiếu codec H.264 cho GStreamer, cần thiết để phát video. (Hãy thử cài đặt gói gstreamer1.0-plugins-bad hoặc gstreamer1.0-libav, sau đó khởi động lại Orca Slicer?)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "Tiết kiệm fila"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+211 -44
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Slic3rPE\n" "Project-Id-Version: Slic3rPE\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2026-06-11 12:37-0300\n" "PO-Revision-Date: 2026-06-11 12:37-0300\n"
"Last-Translator: Handle <mail@bysb.net>\n" "Last-Translator: Handle <mail@bysb.net>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2843,6 +2843,10 @@ msgstr "编辑"
msgid "Merge with" msgid "Merge with"
msgstr "与其合并" msgstr "与其合并"
# AI Translated
msgid "Decompose Color"
msgstr "分解颜色"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "移除此耗材" msgstr "移除此耗材"
@@ -3124,6 +3128,10 @@ msgstr "组合体"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "合并零件到对象" msgstr "合并零件到对象"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "同时使用可变层高与混色子层可能导致混色质量不佳。"
msgid "Add layers" msgid "Add layers"
msgstr "添加层" msgstr "添加层"
@@ -4641,7 +4649,7 @@ msgstr ""
"\n" "\n"
"这个数值将被重置为0。" "这个数值将被重置为0。"
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "“交替添加额外”与“确保垂直外壳厚度”的”全部“选项不兼容。" msgstr "“交替添加额外”与“确保垂直外壳厚度”的”全部“选项不兼容。"
msgid "" msgid ""
@@ -4687,7 +4695,7 @@ msgstr ""
"否 - 选择保留支撑独立层高" "否 - 选择保留支撑独立层高"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height需要小于layer_height。\n" "seam_slope_start_height需要小于layer_height。\n"
@@ -4695,7 +4703,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"锁定深度应小于表皮深度。\n" "锁定深度应小于表皮深度。\n"
@@ -6157,10 +6165,10 @@ msgstr "导入 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "加载模型" msgstr "加载模型"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "导入 ZIP 压缩文件" msgstr "导入 ZIP 压缩文件"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "从 ZIP 压缩文件中导入一个或多个模型" msgstr "从 ZIP 压缩文件中导入一个或多个模型"
msgid "Import Configs" msgid "Import Configs"
@@ -7638,6 +7646,10 @@ msgstr "自定义当前盘"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "%s 喷嘴无法打印 %s。" msgstr "%s 喷嘴无法打印 %s。"
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "在单挤出机打印机上打印混色耗材丝需要频繁换料和冲刷,可能显著增加废料以及喷嘴/废料槽堵塞的风险。"
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "不建议在打印时将 %1% 与 %2% 混合。\n" msgstr "不建议在打印时将 %1% 与 %2% 混合。\n"
@@ -7763,12 +7775,44 @@ msgstr "从AMS同步材料列表"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "配置可选择的材料" msgstr "配置可选择的材料"
# AI Translated
msgid "Add Mixed Filament"
msgstr "添加混合耗材丝"
# AI Translated
msgid "Mixed Filament"
msgstr "混合耗材丝"
# AI Translated
msgid "Remove last mixed filament"
msgstr "移除最后一个混合耗材丝"
# AI Translated
msgid "Add mixed filament"
msgstr "添加混合耗材丝"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "混合耗材丝的组分无效或不匹配。请重新编辑受影响的条目。"
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "搜索盘、模型和零件。" msgstr "搜索盘、模型和零件。"
msgid "Pellets" msgid "Pellets"
msgstr "颗粒" msgstr "颗粒"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "混合耗材丝的组分引用已失效"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "编辑 / 删除 / 合并"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "目标混合耗材丝将此物理耗材丝用作组分。合并将移除此物理耗材丝,并可能使该混合耗材丝失效。是否继续?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "完成操作后,%s 项目将关闭并创建一个新项目。" msgstr "完成操作后,%s 项目将关闭并创建一个新项目。"
@@ -7905,8 +7949,8 @@ msgstr "请确认这些预设中的G-codes是否安全,以防止对机器造
msgid "Customized Preset" msgid "Customized Preset"
msgstr "自定义的预设" msgstr "自定义的预设"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "STEP 文件中的部件名称不是 UTF8 格式!" msgstr "STEP 文件中的部件名称不是 UTF-8 格式!"
# AI Translated # AI Translated
msgid "Because of unsupported text encoding, garbage characters may appear!" msgid "Because of unsupported text encoding, garbage characters may appear!"
@@ -7928,7 +7972,7 @@ msgstr "对象的体积为零"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"文件 %s 中对象的尺寸过小,似乎是以米(m)或者英寸(inch)为单位定义的。\n" "文件 %s 中对象的尺寸过小,似乎是以米(m)或者英寸(inch)为单位定义的。\n"
"OrcaSlicer的内部单位为毫米(mm)。是否要转换成毫米(mm)?" "OrcaSlicer的内部单位为毫米(mm)。是否要转换成毫米(mm)?"
@@ -7949,6 +7993,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "检测到多部分对象" msgstr "检测到多部分对象"
# AI Translated
msgid "Matching textures to filaments"
msgstr "正在将纹理匹配到耗材丝"
# AI Translated
msgid "Texture Import Warning"
msgstr "纹理导入警告"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "将这些文件加载为一个多零件对象?\n" msgstr "将这些文件加载为一个多零件对象?\n"
@@ -8154,6 +8206,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "立即同步" msgstr "立即同步"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "纹理导入失败。模型中似乎包含纹理数据,但纹理导入过程未能完成。将仅导入模型的几何数据。"
# AI Translated
msgid "Applying texture colors..."
msgstr "正在应用纹理颜色..."
# AI Translated
msgid "Updating 3D view..."
msgstr "正在更新 3D 视图..."
# AI Translated
msgid "Texture colors applied."
msgstr "纹理颜色已应用。"
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "您可以保留修改的预设到新项目中或者忽略这些修改" msgstr "您可以保留修改的预设到新项目中或者忽略这些修改"
@@ -9389,6 +9457,10 @@ msgstr "旋转花瓶"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "首层耗材打印顺序" msgstr "首层耗材打印顺序"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "耗材丝列表中包含混合耗材丝。自定义耗材丝顺序将不会生效。"
msgid "By Layer" msgid "By Layer"
msgstr "逐层" msgstr "逐层"
@@ -10738,12 +10810,12 @@ msgid "No modifications need to be copied."
msgstr "没有需要复制的修改。" msgstr "没有需要复制的修改。"
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "复制参数" msgstr "复制参数"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "修改 %s 的参数" msgstr "修改 %s 的参数"
# AI Translated # AI Translated
@@ -11258,27 +11330,6 @@ msgstr "耗材丝更换时的冲刷体积"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "请选择耗材丝颜色" msgstr "请选择耗材丝颜色"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "原生 Wayland 实时画面需要 GStreamer GTK 视频接收器。请安装 GStreamer 的 gtksink 插件,然后重启 OrcaSlicer。"
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "原生 Wayland GStreamer 视频接收器初始化失败。请检查您的 GStreamer GTK 插件安装情况。"
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "此任务需要 Windows Media Player!您是否要为您的操作系统启用'Windows Media Player'"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "BambuSource 未正确注册用于媒体播放!按是重新注册它。您将被提示两次"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "缺少用于媒体播放的已注册 BambuSource 组件!请重新安装 OrcaSlicer 或寻求社区帮助。"
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "使用来自不同安装的 BambuSource,视频播放可能无法正常工作!按是修复它。"
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "您的系统缺少 GStreamer 所需的 H.264 编解码器,这是播放视频所必需的。(尝试安装 gstreamer1.0-plugins-bad 或 gstreamer1.0-libav 软件包,然后重新启动 Orca Slicer?)"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "云代理不可用。请重启 OrcaSlicer 后重试。" msgstr "云代理不可用。请重启 OrcaSlicer 后重试。"
@@ -11991,6 +12042,10 @@ msgstr "如果您仍要打印,可以在 偏好设置 / 控制 / 切片 / 移
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "根据当前设置,不会生成任何打印。" msgstr "根据当前设置,不会生成任何打印。"
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "使用了渐变混合耗材丝,但“混色子层”已关闭。渐变将不会被打印。"
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "平滑模式的延时摄影不支持在逐件打印模式下使用。" msgstr "平滑模式的延时摄影不支持在逐件打印模式下使用。"
@@ -12027,6 +12082,10 @@ msgstr "或许您想要缩小模型的尺寸,或者更改当前打印设置,
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "Organic支撑不支持可变层高。" msgstr "Organic支撑不支持可变层高。"
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "擦拭塔耗材丝不能是混合耗材丝。"
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "当启用擦拭塔时,不同的喷嘴直径和不同的耗材丝直径可能无法很好地工作。这是非常实验性的,所以请谨慎操作。" msgstr "当启用擦拭塔时,不同的喷嘴直径和不同的耗材丝直径可能无法很好地工作。这是非常实验性的,所以请谨慎操作。"
@@ -12374,7 +12433,7 @@ msgstr "mm 或 %"
msgid "Other layers" msgid "Other layers"
msgstr "其它层" msgstr "其它层"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "除首层外的其他层的热床温度。0值表示该耗材丝不支持在Cool Plate SuperTack上打印。" msgstr "除首层外的其他层的热床温度。0值表示该耗材丝不支持在Cool Plate SuperTack上打印。"
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -13695,6 +13754,8 @@ msgstr "层时间"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "当层预估打印时间小于该数值时,部件冷却风扇将会被开启。风扇转速将根据层打印时间在最大和最小风扇转速之间插值获得" msgstr "当层预估打印时间小于该数值时,部件冷却风扇将会被开启。风扇转速将根据层打印时间在最大和最小风扇转速之间插值获得"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "s" msgstr "s"
@@ -14013,6 +14074,62 @@ msgstr "支撑材料"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "支撑材料通常用于打印支撑体和支撑接触面" msgstr "支撑材料通常用于打印支撑体和支撑接触面"
# AI Translated
msgid "Is mixed filament"
msgstr "是否为混合耗材丝"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "该耗材丝槽位是否为由多种物理耗材丝组成的混合耗材丝"
# AI Translated
msgid "Mixed filament components"
msgstr "混合耗材丝组分"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "以逗号分隔的组分耗材丝序号(从 1 开始),例如 \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "混合耗材丝子层比例"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "以逗号分隔、总和为 1.0 的比例值,例如 \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "混合耗材丝渐变"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "为混合耗材丝的子层启用 Z 方向渐变模式。启用后,子层比例会随层数线性变化。"
# AI Translated
msgid "Mixed filament gradient range"
msgstr "混合耗材丝渐变范围"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "渐变模式下第一个组分的起始和结束比例。以逗号分隔的一对数值,例如 \"0.10,0.90\" 表示从 10% 到 90%。"
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "混合耗材丝渐变曲线"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "可选的 Photoshop 风格自定义曲线,将 Z 方向进度映射到第一个组分的比例。以竖线分隔的控制点进行编码,格式为 \"x,y\"(旧格式)或在需要覆盖切线时使用 \"x,y,m_in,m_out\"(留空或填 \"nan\" 表示使用 PCHIP 默认值)。x 取值范围为 [0,1];y 会被限制在所配置的比例范围内,例如 \"0,0.15|0.5,0.50|1,0.85\"。留空时改用线性的 gradient_range。"
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "混合耗材丝逐零件渐变"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "启用渐变模式时,对组合体中的每个零件分别应用渐变,而不是将整个组合体视为一个 Z 范围。"
msgid "Filament printable" msgid "Filament printable"
msgstr "可打印耗材" msgstr "可打印耗材"
@@ -15264,6 +15381,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Y 轴允许的最大输出力" msgstr "Y 轴允许的最大输出力"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15276,6 +15394,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Y 轴的机器热床质量负载" msgstr "Y 轴的机器热床质量负载"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15583,7 +15702,7 @@ msgstr "从切割区域到垃圾桶的起始和结束点。"
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "减小填充回抽" msgstr "减小填充回抽"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "当空驶完全在填充区域内时不触发回抽。这意味着即使漏料也是不可见的。对于复杂模型,该设置能够减少回抽次数以及打印时长,但是会造成G-code生成变慢" msgstr "当空驶完全在填充区域内时不触发回抽。这意味着即使漏料也是不可见的。对于复杂模型,该设置能够减少回抽次数以及打印时长,但是会造成G-code生成变慢"
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -15754,7 +15873,7 @@ msgstr "擦拭后的回抽量"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"擦拭后快速回抽的长度,相对于回抽长度。\n" "擦拭后快速回抽的长度,相对于回抽长度。\n"
@@ -15801,7 +15920,7 @@ msgstr "在换工具头之前触发回抽时,耗材丝会按指定的长度回
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z抬升高度" msgstr "Z抬升高度"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "回抽完成之后,喷嘴轻微抬升,和打印件之间产生一定间隙。这能够避免空驶时喷嘴和打印件剐蹭和碰撞。使用螺旋线抬升z能够减少拉丝。" msgstr "回抽完成之后,喷嘴轻微抬升,和打印件之间产生一定间隙。这能够避免空驶时喷嘴和打印件剐蹭和碰撞。使用螺旋线抬升z能够减少拉丝。"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -16847,6 +16966,14 @@ msgstr ""
"\n" "\n"
"在下方的擦拭前回抽量设置中输入一个数值,将在擦拭动作之前执行任何超出部分的回抽,否则超出部分的回抽将在擦拭之后执行。" "在下方的擦拭前回抽量设置中输入一个数值,将在擦拭动作之前执行任何超出部分的回抽,否则超出部分的回抽将在擦拭之后执行。"
# AI Translated
msgid "Mixed color sublayer"
msgstr "混色子层"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "启用混色子层拆分。启用后,含有混色耗材丝的层将被拆分为子层,以实现混色效果。"
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "擦拭塔可以用来清理喷嘴上的残留料和让喷嘴内部的腔压达到稳定状态,以避免打印物体时出现外观瑕疵。" msgstr "擦拭塔可以用来清理喷嘴上的残留料和让喷嘴内部的腔压达到稳定状态,以避免打印物体时出现外观瑕疵。"
@@ -17922,6 +18049,10 @@ msgstr "模型文件的网格划分失败,或缺少有效的形状。"
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "无法读取提供的文件,因为该文件内容为空。" msgstr "无法读取提供的文件,因为该文件内容为空。"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "文件格式不兼容,无法解析。"
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "未知的文件格式。输入文件的扩展名必须为 .stl、.obj 或 .amf.xml)。" msgstr "未知的文件格式。输入文件的扩展名必须为 .stl、.obj 或 .amf.xml)。"
@@ -19386,17 +19517,17 @@ msgstr "仅显示对打印机、耗材和工艺预设有改动的打印机名称
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "仅显示对耗材预设有改动的耗材名称。" msgstr "仅显示对耗材预设有改动的耗材名称。"
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "只显示带有用户打印机预设的打印机名称,并且您选择的每个预设都将导出为一个 ZIP 文件。" msgstr "只显示带有用户打印机预设的打印机名称,并且您选择的每个预设都将导出为一个 ZIP 文件。"
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "只显示带有用户耗材预设的耗材名称,您选择的每个耗材名称中的所有用户耗材预设都将导出为一个 ZIP 文件。" msgstr "只显示带有用户耗材预设的耗材名称,您选择的每个耗材名称中的所有用户耗材预设都将导出为一个 ZIP 文件。"
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "只显示带有更改的工艺预设的打印机名称,您选择的每个打印机名称中的所有用户工艺预设都将导出为一个 ZIP 文件。" msgstr "只显示带有更改的工艺预设的打印机名称,您选择的每个打印机名称中的所有用户工艺预设都将导出为一个 ZIP 文件。"
msgid "Please select at least one printer or filament." msgid "Please select at least one printer or filament."
@@ -19635,7 +19766,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "我们需要相关信息来诊断问题的根源。请查看 wiki 页面获取详细指南。" msgstr "我们需要相关信息来诊断问题的根源。请查看 wiki 页面获取详细指南。"
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "“打包”按钮会将当前会话的项目文件和日志收集到一个 zip 文件中。" msgstr "“打包”按钮会将当前会话的项目文件和日志收集到一个 zip 文件中。"
# AI Translated # AI Translated
@@ -19691,7 +19822,7 @@ msgid "Stored logs"
msgstr "已存储的日志" msgstr "已存储的日志"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "将所有已存储的日志打包到一个 zip 文件中。" msgstr "将所有已存储的日志打包到一个 zip 文件中。"
# AI Translated # AI Translated
@@ -19771,7 +19902,7 @@ msgstr "未找到打印机类型,请手动选择。"
msgid "Authorizing..." msgid "Authorizing..."
msgstr "正在授权..." msgstr "正在授权..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "错误。无法获取用于授权的 API 令牌" msgstr "错误。无法获取用于授权的 API 令牌"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20221,8 +20352,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "启用智能耗材分配:将一种耗材分配给多个喷嘴以最大化节省" msgstr "启用智能耗材分配:将一种耗材分配给多个喷嘴以最大化节省"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "耗材节省" msgstr "文件保存"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "不再提醒" msgstr "不再提醒"
@@ -20587,6 +20718,9 @@ msgstr "立即重启"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "完全不挤压" msgstr "完全不挤压"
msgid "s"
msgstr "s"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "体积流量" msgstr "体积流量"
@@ -21211,6 +21345,39 @@ msgstr ""
"避免翘曲\n" "避免翘曲\n"
"您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。" "您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "原生 Wayland 实时画面需要 GStreamer GTK 视频接收器。请安装 GStreamer 的 gtksink 插件,然后重启 OrcaSlicer。"
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "原生 Wayland GStreamer 视频接收器初始化失败。请检查您的 GStreamer GTK 插件安装情况。"
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "此任务需要 Windows Media Player!您是否要为您的操作系统启用'Windows Media Player'"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "BambuSource 未正确注册用于媒体播放!按是重新注册它。您将被提示两次"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "缺少用于媒体播放的已注册 BambuSource 组件!请重新安装 OrcaSlicer 或寻求社区帮助。"
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "使用来自不同安装的 BambuSource,视频播放可能无法正常工作!按是修复它。"
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "您的系统缺少 GStreamer 所需的 H.264 编解码器,这是播放视频所必需的。(尝试安装 gstreamer1.0-plugins-bad 或 gstreamer1.0-libav 软件包,然后重新启动 Orca Slicer?)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "耗材节省"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+210 -43
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Orca Slicer\n" "Project-Id-Version: Orca Slicer\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-19 14:07-0300\n" "POT-Creation-Date: 2026-09-02 09:39-0300\n"
"PO-Revision-Date: 2025-11-28 13:48-0600\n" "PO-Revision-Date: 2025-11-28 13:48-0600\n"
"Last-Translator: tntchn <15895303+tntchn@users.noreply.github.com>\n" "Last-Translator: tntchn <15895303+tntchn@users.noreply.github.com>\n"
"Language-Team: \n" "Language-Team: \n"
@@ -2913,6 +2913,10 @@ msgstr "編輯"
msgid "Merge with" msgid "Merge with"
msgstr "合併到" msgstr "合併到"
# AI Translated
msgid "Decompose Color"
msgstr "分解顏色"
msgid "Delete this filament" msgid "Delete this filament"
msgstr "刪除此線材" msgstr "刪除此線材"
@@ -3209,6 +3213,10 @@ msgstr "組合體"
msgid "Merge parts to an object" msgid "Merge parts to an object"
msgstr "合併零件為物件" msgstr "合併零件為物件"
# AI Translated
msgid "Using variable layer height together with mixed color sublayer may result in poor color mixing quality."
msgstr "同時使用可變層高與混色子層可能導致混色品質不佳。"
# AI Translated # AI Translated
msgid "Add layers" msgid "Add layers"
msgstr "新增層" msgstr "新增層"
@@ -4758,7 +4766,7 @@ msgstr ""
"\n" "\n"
"該值將會重設為 0。" "該值將會重設為 0。"
msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All." msgid "Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."
msgstr "當確保垂直外殼厚度設為『全部』時,交錯額外牆壁效果不佳。" msgstr "當確保垂直外殼厚度設為『全部』時,交錯額外牆壁效果不佳。"
msgid "" msgid ""
@@ -4815,7 +4823,7 @@ msgstr ""
"否 - 選擇保留獨立支撐層高" "否 - 選擇保留獨立支撐層高"
msgid "" msgid ""
"seam_slope_start_height need to be smaller than layer_height.\n" "seam_slope_start_height needs to be smaller than layer_height.\n"
"Reset to 0." "Reset to 0."
msgstr "" msgstr ""
"seam_slope_start_height 必須小於 layer_height。\n" "seam_slope_start_height 必須小於 layer_height。\n"
@@ -4824,7 +4832,7 @@ msgstr ""
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"Lock depth should smaller than skin depth.\n" "Lock depth should be smaller than skin depth.\n"
"Reset to 50% of skin depth." "Reset to 50% of skin depth."
msgstr "" msgstr ""
"鎖定深度應小於表皮深度。\n" "鎖定深度應小於表皮深度。\n"
@@ -6287,10 +6295,10 @@ msgstr "匯入 3MF/STL/STEP/SVG/OBJ/AMF"
msgid "Load a model" msgid "Load a model"
msgstr "載入模型" msgstr "載入模型"
msgid "Import Zip Archive" msgid "Import ZIP Archive"
msgstr "匯入壓縮檔" msgstr "匯入壓縮檔"
msgid "Load models contained within a zip archive" msgid "Load models contained within a ZIP archive"
msgstr "載入壓縮檔中的模型" msgstr "載入壓縮檔中的模型"
msgid "Import Configs" msgid "Import Configs"
@@ -7799,6 +7807,10 @@ msgstr "自訂列印板參數"
msgid "The %s nozzle can not print %s." msgid "The %s nozzle can not print %s."
msgstr "%s 噴嘴無法列印 %s。" msgstr "%s 噴嘴無法列印 %s。"
# AI Translated
msgid "Printing mixed-color filament on a single-extruder printer requires frequent filament changes and flushing, which may significantly increase waste and the risk of nozzle / waste-chute clogging."
msgstr "在單擠出機列印裝置上列印混色線材需要頻繁換料與清理,可能大幅增加廢料以及噴嘴/廢料槽堵塞的風險。"
#, boost-format #, boost-format
msgid "Mixing %1% with %2% in printing is not recommended.\n" msgid "Mixing %1% with %2% in printing is not recommended.\n"
msgstr "不建議在列印時混用 %1% 和 %2%。\n" msgstr "不建議在列印時混用 %1% 和 %2%。\n"
@@ -7924,12 +7936,44 @@ msgstr "從 AMS 同步線材清單"
msgid "Set filaments to use" msgid "Set filaments to use"
msgstr "設定可選擇的線材" msgstr "設定可選擇的線材"
# AI Translated
msgid "Add Mixed Filament"
msgstr "新增混合線材"
# AI Translated
msgid "Mixed Filament"
msgstr "混合線材"
# AI Translated
msgid "Remove last mixed filament"
msgstr "移除最後一個混合線材"
# AI Translated
msgid "Add mixed filament"
msgstr "新增混合線材"
# AI Translated
msgid "Mixed filament has invalid or mismatched components. Please re-edit affected entries."
msgstr "混合線材的成分無效或不相符。請重新編輯受影響的項目。"
msgid "Search plate, object and part." msgid "Search plate, object and part."
msgstr "搜尋列印板、物件和零件。" msgstr "搜尋列印板、物件和零件。"
msgid "Pellets" msgid "Pellets"
msgstr "顆粒" msgstr "顆粒"
# AI Translated
msgid "Mixed filament has broken component references"
msgstr "混合線材的成分參照已失效"
# AI Translated
msgid "Edit / Delete / Merge"
msgstr "編輯 / 刪除 / 合併"
# AI Translated
msgid "The target mixed filament uses this physical filament as a component. Merging will remove this physical filament and may invalidate the mixed filament. Continue?"
msgstr "目標混合線材使用此實體線材作為成分。合併將移除此實體線材,並可能使該混合線材失效。是否繼續?"
#, c-format, boost-format #, c-format, boost-format
msgid "After completing your operation, %s project will be closed and create a new project." msgid "After completing your operation, %s project will be closed and create a new project."
msgstr "完成操作後,%s 專案將關閉並建立新專案。" msgstr "完成操作後,%s 專案將關閉並建立新專案。"
@@ -8066,7 +8110,7 @@ msgstr "請確認這些預設中的 G-code 是安全的,以防止對列印裝
msgid "Customized Preset" msgid "Customized Preset"
msgstr "自訂預設" msgstr "自訂預設"
msgid "Component name(s) inside step file not in UTF8 format!" msgid "Component name(s) inside step file not in UTF-8 format!"
msgstr "STEP 檔案內部元件的名稱不是 UTF-8 格式!" msgstr "STEP 檔案內部元件的名稱不是 UTF-8 格式!"
# AI Translated # AI Translated
@@ -8089,7 +8133,7 @@ msgstr "物件的體積為零"
#, c-format, boost-format #, c-format, boost-format
msgid "" msgid ""
"The object from file %s is too small, and may be in meters or inches.\n" "The object from file %s is too small, and may be in meters or inches.\n"
" Do you want to scale to millimeters?" "Do you want to scale to millimeters?"
msgstr "" msgstr ""
"檔案 %s 中的物件太小,可能以公尺(M)或英吋(Inches)為單位。\n" "檔案 %s 中的物件太小,可能以公尺(M)或英吋(Inches)為單位。\n"
"是否要轉換成毫米(mm)?" "是否要轉換成毫米(mm)?"
@@ -8110,6 +8154,14 @@ msgstr ""
msgid "Multi-part object detected" msgid "Multi-part object detected"
msgstr "偵測到多部分物件" msgstr "偵測到多部分物件"
# AI Translated
msgid "Matching textures to filaments"
msgstr "正在將紋理對應到線材"
# AI Translated
msgid "Texture Import Warning"
msgstr "紋理匯入警告"
msgid "Load these files as a single object with multiple parts?\n" msgid "Load these files as a single object with multiple parts?\n"
msgstr "將這些檔案載入為一個多零件物件?\n" msgstr "將這些檔案載入為一個多零件物件?\n"
@@ -8320,6 +8372,22 @@ msgstr ""
msgid "Sync now" msgid "Sync now"
msgstr "立即同步" msgstr "立即同步"
# AI Translated
msgid "Texture import failed. The model appears to contain texture data, but the texture import process could not be completed. The model will be imported as geometry only."
msgstr "紋理匯入失敗。模型中似乎包含紋理資料,但紋理匯入程序未能完成。將僅匯入模型的幾何資料。"
# AI Translated
msgid "Applying texture colors..."
msgstr "正在套用紋理顏色..."
# AI Translated
msgid "Updating 3D view..."
msgstr "正在更新 3D 檢視..."
# AI Translated
msgid "Texture colors applied."
msgstr "紋理顏色已套用。"
msgid "You can keep the modified presets for the new project or discard them" msgid "You can keep the modified presets for the new project or discard them"
msgstr "您可以將修改後的預設檔保留到新專案中或者忽略這些修改" msgstr "您可以將修改後的預設檔保留到新專案中或者忽略這些修改"
@@ -9563,6 +9631,10 @@ msgstr "螺旋花瓶模式"
msgid "First layer filament sequence" msgid "First layer filament sequence"
msgstr "首層線材列印順序" msgstr "首層線材列印順序"
# AI Translated
msgid "The filament list contains mixed filaments. Custom filament sequence will not take effect."
msgstr "線材清單中包含混合線材。自訂線材順序將不會生效。"
msgid "By Layer" msgid "By Layer"
msgstr "逐層" msgstr "逐層"
@@ -10944,12 +11016,12 @@ msgid "No modifications need to be copied."
msgstr "沒有需要複製的修改。" msgstr "沒有需要複製的修改。"
# AI Translated # AI Translated
msgid "Copy paramters" msgid "Copy parameters"
msgstr "複製參數" msgstr "複製參數"
# AI Translated # AI Translated
#, c-format, boost-format #, c-format, boost-format
msgid "Modify paramters of %s" msgid "Modify parameters of %s"
msgstr "修改 %s 的參數" msgstr "修改 %s 的參數"
# AI Translated # AI Translated
@@ -11466,27 +11538,6 @@ msgstr "線材更換時產生的廢料體積"
msgid "Please choose the filament colour" msgid "Please choose the filament colour"
msgstr "請選擇線材顏色" msgstr "請選擇線材顏色"
msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
msgstr "原生 Wayland 即時檢視需要 GStreamer GTK 視訊接收器。請為 GStreamer 安裝 gtksink 外掛程式,然後重新啟動 OrcaSlicer。"
msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
msgstr "無法初始化原生 Wayland GStreamer 視訊接收器。請檢查您的 GStreamer GTK 外掛程式安裝。"
msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
msgstr "執行此設定需要 Windows Media Player!您是否要啟用 Windows Media Player"
msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
msgstr "「BambuSource 未正確註冊為媒體播放模組!請點選『是』進行重新註冊,過程中會有兩次提示"
msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
msgstr "缺少用於媒體播放的已註冊 BambuSource 元件!請重新安裝 OrcaSlicer 或尋求社群協助。"
msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
msgstr "BambuSource 來自其他安裝版本,可能導致影片播放異常!請點選『是』進行修復。"
msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
msgstr "您的系統缺少 GStreamer 的 H.264 編解碼器,這是播放影片所必需的。(請嘗試安裝 gstreamer1.0-plugins-bad 或 gstreamer1.0-libav 套件,然後重新啟動 Orca Slicer。)"
msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgid "Cloud agent is not available. Please restart OrcaSlicer and try again."
msgstr "雲端代理無法使用。請重新啟動 OrcaSlicer 後再試一次。" msgstr "雲端代理無法使用。請重新啟動 OrcaSlicer 後再試一次。"
@@ -12195,6 +12246,10 @@ msgstr "如果您仍想列印,可以在「偏好設定 / 控制 / 切片 / 移
msgid "No extrusions under current settings." msgid "No extrusions under current settings."
msgstr "根據目前設定,不會進行任何列印。" msgstr "根據目前設定,不會進行任何列印。"
# AI Translated
msgid "A gradient mixed filament is used, but 'Mixed color sublayer' is disabled. The gradient will not be printed."
msgstr "使用了漸層混合線材,但「混色子層」已停用。漸層將不會列印。"
msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled."
msgstr "逐件列印模式下不支援使用平滑模式的縮時錄影。" msgstr "逐件列印模式下不支援使用平滑模式的縮時錄影。"
@@ -12231,6 +12286,10 @@ msgstr "您可能想要減小模型的尺寸或更改目前的列印設定並重
msgid "Variable layer height is not supported with Organic supports." msgid "Variable layer height is not supported with Organic supports."
msgstr "有機樹支撐不支持可變層高。" msgstr "有機樹支撐不支持可變層高。"
# AI Translated
msgid "The wipe tower filament cannot be a mixed filament."
msgstr "換料塔線材不能是混合線材。"
msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution." msgid "Different nozzle diameters and different filament diameters may not work well when the prime tower is enabled. It's very experimental, so please proceed with caution."
msgstr "當啟用換料時,不同的噴嘴直徑和線材直徑可能無法正常配合。此功能屬於實驗性階段,請小心使用。" msgstr "當啟用換料時,不同的噴嘴直徑和線材直徑可能無法正常配合。此功能屬於實驗性階段,請小心使用。"
@@ -12578,7 +12637,7 @@ msgstr "mm 或 %"
msgid "Other layers" msgid "Other layers"
msgstr "其它層" msgstr "其它層"
msgid "Bed temperature for layers except the initial one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack."
msgstr "除首層外的其他層的熱床溫度。0值表示該線材不支援在低溫增穩列印板上列印。" msgstr "除首層外的其他層的熱床溫度。0值表示該線材不支援在低溫增穩列印板上列印。"
msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate." msgid "This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate."
@@ -13908,6 +13967,8 @@ msgstr "每一層列印時間"
msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time." msgid "The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."
msgstr "當層預估列印時間小於該數值時,物件冷卻風扇將會被開啟。風扇轉速將根據層列印時間在最大和最小風扇轉速之間自動調整" msgstr "當層預估列印時間小於該數值時,物件冷卻風扇將會被開啟。風扇轉速將根據層列印時間在最大和最小風扇轉速之間自動調整"
# AI Translated
msgctxt "second"
msgid "s" msgid "s"
msgstr "秒" msgstr "秒"
@@ -14213,6 +14274,62 @@ msgstr "支撐材料"
msgid "Support material is commonly used to print supports and support interfaces." msgid "Support material is commonly used to print supports and support interfaces."
msgstr "支撐材料通常用於列印支撐體和支撐接觸面" msgstr "支撐材料通常用於列印支撐體和支撐接觸面"
# AI Translated
msgid "Is mixed filament"
msgstr "是否為混合線材"
# AI Translated
msgid "Whether this filament slot is a mixed filament composed of multiple physical filaments"
msgstr "此線材槽是否為由多種實體線材組成的混合線材"
# AI Translated
msgid "Mixed filament components"
msgstr "混合線材成分"
# AI Translated
msgid "Comma-separated 1-based indices of component filaments, e.g. \"1,3\""
msgstr "以逗號分隔的成分線材序號(從 1 開始),例如 \"1,3\""
# AI Translated
msgid "Mixed filament sublayer ratios"
msgstr "混合線材子層比例"
# AI Translated
msgid "Comma-separated ratio values summing to 1.0, e.g. \"0.7,0.3\""
msgstr "以逗號分隔、總和為 1.0 的比例值,例如 \"0.7,0.3\""
# AI Translated
msgid "Mixed filament gradient"
msgstr "混合線材漸層"
# AI Translated
msgid "Enable Z-direction gradient mode for mixed filament sub-layers. When enabled, the sub-layer ratios vary linearly across layers."
msgstr "為混合線材的子層啟用 Z 方向漸層模式。啟用後,子層比例會隨層數線性變化。"
# AI Translated
msgid "Mixed filament gradient range"
msgstr "混合線材漸層範圍"
# AI Translated
msgid "Start and end ratios for the first component in gradient mode. Comma-separated pair, e.g. \"0.10,0.90\" means 10% to 90%."
msgstr "漸層模式下第一個成分的起始與結束比例。以逗號分隔的一對數值,例如 \"0.10,0.90\" 表示從 10% 到 90%。"
# AI Translated
msgid "Mixed filament gradient curve"
msgstr "混合線材漸層曲線"
# AI Translated
msgid "Optional Photoshop-style custom curve mapping Z progress to the first component ratio. Encoded as pipe-separated control points, either \"x,y\" (legacy) or \"x,y,m_in,m_out\" when a tangent override is needed (empty token or \"nan\" means use PCHIP default). x in [0,1]; y is clamped to the configured ratio range, e.g. \"0,0.15|0.5,0.50|1,0.85\". When empty, the linear gradient_range is used instead."
msgstr "選用的 Photoshop 風格自訂曲線,將 Z 方向進度對應到第一個成分的比例。以直立線分隔的控制點進行編碼,格式為 \"x,y\"(舊格式)或在需要覆寫切線時使用 \"x,y,m_in,m_out\"(留空或填入 \"nan\" 表示使用 PCHIP 預設值)。x 的取值範圍為 [0,1];y 會被限制在所設定的比例範圍內,例如 \"0,0.15|0.5,0.50|1,0.85\"。留空時改用線性的 gradient_range。"
# AI Translated
msgid "Mixed filament per-part gradient"
msgstr "混合線材逐零件漸層"
# AI Translated
msgid "When gradient mode is enabled, apply the gradient to each part of an assembly independently rather than treating the whole assembly as one Z range."
msgstr "啟用漸層模式時,對組合體中的每個零件分別套用漸層,而不是將整個組合體視為單一 Z 範圍。"
msgid "Filament printable" msgid "Filament printable"
msgstr "線材可列印" msgstr "線材可列印"
@@ -15465,6 +15582,7 @@ msgid "The allowed maximum output force of Y axis"
msgstr "Y 軸允許的最大輸出力" msgstr "Y 軸允許的最大輸出力"
# AI Translated # AI Translated
msgctxt "Newton"
msgid "N" msgid "N"
msgstr "N" msgstr "N"
@@ -15477,6 +15595,7 @@ msgid "The machine bed mass load of Y axis"
msgstr "Y 軸的機器床台質量負載" msgstr "Y 軸的機器床台質量負載"
# AI Translated # AI Translated
msgctxt "gram"
msgid "g" msgid "g"
msgstr "g" msgstr "g"
@@ -15790,7 +15909,7 @@ msgstr "從切割區域到垃圾桶的起始和結束點。"
msgid "Reduce infill retraction" msgid "Reduce infill retraction"
msgstr "減小填充回抽" msgstr "減小填充回抽"
msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped." msgid "Don't retract when the travel is entirely within an infill area. That means the oozing can't been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped."
msgstr "當空駛完全在填充區域內時不觸發回抽。這意味著即使漏料也是不可見的。對於複雜模型,該設定能夠減少回抽次數以及列印時長,但是會造成 G-code 產生變慢" msgstr "當空駛完全在填充區域內時不觸發回抽。這意味著即使漏料也是不可見的。對於複雜模型,該設定能夠減少回抽次數以及列印時長,但是會造成 G-code 產生變慢"
msgid "This option will drop the temperature of the inactive extruders to prevent oozing." msgid "This option will drop the temperature of the inactive extruders to prevent oozing."
@@ -15961,7 +16080,7 @@ msgstr "擦拭後的回抽量"
# AI Translated # AI Translated
#, no-c-format, no-boost-format #, no-c-format, no-boost-format
msgid "" msgid ""
"The length of fast retraction after wipe, relative to retraction length.\n" "This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value." "The value will be clamped by 100% minus the retract amount before the wipe value."
msgstr "" msgstr ""
"擦拭後快速回抽的長度,相對於回抽長度。\n" "擦拭後快速回抽的長度,相對於回抽長度。\n"
@@ -16008,7 +16127,7 @@ msgstr "在換工具之前觸發回抽時,線材會依指定的長度回抽(
msgid "Z-hop height" msgid "Z-hop height"
msgstr "Z 抬升高度" msgstr "Z 抬升高度"
msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing." msgid "Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing."
msgstr "回抽完成之後,噴嘴輕微抬升,和列印物件之間產生一定間隙。這能夠避免空駛時噴嘴和列印物件剮蹭和碰撞。使用螺旋線抬升z能夠減少拉絲" msgstr "回抽完成之後,噴嘴輕微抬升,和列印物件之間產生一定間隙。這能夠避免空駛時噴嘴和列印物件剮蹭和碰撞。使用螺旋線抬升z能夠減少拉絲"
msgid "Z-hop lower boundary" msgid "Z-hop lower boundary"
@@ -17041,6 +17160,14 @@ msgstr ""
"\n" "\n"
"在以下的『擦拭前的回抽量』設定中設定一個值,將在擦拭之前執行任何額外的回抽操作;否則,將在擦拭之後執行。" "在以下的『擦拭前的回抽量』設定中設定一個值,將在擦拭之前執行任何額外的回抽操作;否則,將在擦拭之後執行。"
# AI Translated
msgid "Mixed color sublayer"
msgstr "混色子層"
# AI Translated
msgid "Enable mixed color sublayer splitting. When enabled, layers containing mixed color filaments will be split into sub-layers to achieve color mixing effects."
msgstr "啟用混色子層分割。啟用後,含有混色線材的層將被分割為子層,以達成混色效果。"
msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects." msgid "The wiping tower can be used to clean up residue on the nozzle and stabilize the chamber pressure inside the nozzle in order to avoid appearance defects when printing objects."
msgstr "換料塔的功能是用於清除噴嘴上的殘留物,同時穩定噴嘴內的壓力,從而避免列印物件時出現外觀瑕疵。" msgstr "換料塔的功能是用於清除噴嘴上的殘留物,同時穩定噴嘴內的壓力,從而避免列印物件時出現外觀瑕疵。"
@@ -18110,6 +18237,10 @@ msgstr "模型檔案網格化失敗或沒有有效形狀"
msgid "The supplied file couldn't be read because it's empty." msgid "The supplied file couldn't be read because it's empty."
msgstr "無法讀取提供的檔案,因為該檔案為空" msgstr "無法讀取提供的檔案,因為該檔案為空"
# AI Translated
msgid "The file format is incompatible and cannot be parsed."
msgstr "檔案格式不相容,無法解析。"
msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension." msgid "Unknown file format: input file must have .stl, .obj, or .amf(.xml) extension."
msgstr "檔案格式未知。輸入的檔案必須是 .stl、.obj 或 .amf(.xml) 格式。" msgstr "檔案格式未知。輸入的檔案必須是 .stl、.obj 或 .amf(.xml) 格式。"
@@ -19573,19 +19704,19 @@ msgstr "僅顯示對列印裝置、線材和處理預設設定有變更的列印
msgid "Only display the filament names with changes to filament presets." msgid "Only display the filament names with changes to filament presets."
msgstr "僅顯示對線材預設設定有變更的線材名稱。" msgstr "僅顯示對線材預設設定有變更的線材名稱。"
msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."
msgstr "只有具有使用者列印裝置預設設定的列印裝置名稱會顯示,您選擇的每個預設設定將以 zip 檔案格式匯出。" msgstr "只有具有使用者列印裝置預設設定的列印裝置名稱會顯示,您選擇的每個預設設定將以 zip 檔案格式匯出。"
msgid "" msgid ""
"Only the filament names with user filament presets will be displayed, \n" "Only the filament names with user filament presets will be displayed, \n"
"and all user filament presets in each filament name you select will be exported as a zip." "and all user filament presets in each filament name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"只有具有使用者線材預設設定的線材名稱會顯示,\n" "只有具有使用者線材預設設定的線材名稱會顯示,\n"
"您選擇的每個線材名稱中的所有使用者線材預設設定將以 zip 檔案格式匯出。" "您選擇的每個線材名稱中的所有使用者線材預設設定將以 zip 檔案格式匯出。"
msgid "" msgid ""
"Only printer names with changed process presets will be displayed, \n" "Only printer names with changed process presets will be displayed, \n"
"and all user process presets in each printer name you select will be exported as a zip." "and all user process presets in each printer name you select will be exported as a ZIP archive."
msgstr "" msgstr ""
"只有具有變更過處理預設設定的列印裝置名稱會顯示,\n" "只有具有變更過處理預設設定的列印裝置名稱會顯示,\n"
"您選擇的每個列印裝置名稱中的所有使用者處理預設設定將以 zip 檔案格式匯出。" "您選擇的每個列印裝置名稱中的所有使用者處理預設設定將以 zip 檔案格式匯出。"
@@ -19826,7 +19957,7 @@ msgid "We need information for diagnosing source of the issue. Check wiki page f
msgstr "我們需要相關資訊以診斷問題來源。請查看 wiki 頁面以取得詳細指南。" msgstr "我們需要相關資訊以診斷問題來源。請查看 wiki 頁面以取得詳細指南。"
# AI Translated # AI Translated
msgid "Pack button collects project file and logs of current session onto a zip file." msgid "Pack button collects project file and logs of current session onto a ZIP archive."
msgstr "「打包」按鈕會將目前工作階段的專案檔案與記錄收集到一個 zip 檔案中。" msgstr "「打包」按鈕會將目前工作階段的專案檔案與記錄收集到一個 zip 檔案中。"
# AI Translated # AI Translated
@@ -19882,7 +20013,7 @@ msgid "Stored logs"
msgstr "已儲存的記錄" msgstr "已儲存的記錄"
# AI Translated # AI Translated
msgid "Packs all stored logs onto a zip file." msgid "Packs all stored logs onto a ZIP archive."
msgstr "將所有已儲存的記錄打包成一個 zip 檔案。" msgstr "將所有已儲存的記錄打包成一個 zip 檔案。"
# AI Translated # AI Translated
@@ -19962,7 +20093,7 @@ msgstr "找不到列印裝置類型,請手動選取。"
msgid "Authorizing..." msgid "Authorizing..."
msgstr "授權中..." msgstr "授權中..."
msgid "Error. Can't get api token for authorization" msgid "Error. Can't get API token for authorization"
msgstr "錯誤。無法取得用於授權的 API token。" msgstr "錯誤。無法取得用於授權的 API token。"
msgid "Could not parse server response." msgid "Could not parse server response."
@@ -20414,8 +20545,8 @@ msgid "Enable smart filament assign: Assign one filament to multiple nozzles to
msgstr "啟用智慧線材指派:將一種線材指派給多個噴嘴以最大化節省" msgstr "啟用智慧線材指派:將一種線材指派給多個噴嘴以最大化節省"
# AI Translated # AI Translated
msgid "Fila Saving" msgid "File Saving"
msgstr "線材節省" msgstr "檔案儲存"
msgid "Don't remind me again" msgid "Don't remind me again"
msgstr "不要再提醒我" msgstr "不要再提醒我"
@@ -20780,6 +20911,9 @@ msgstr "立即重新啟動"
msgid "NO RAMMING AT ALL" msgid "NO RAMMING AT ALL"
msgstr "完全不擠壓" msgstr "完全不擠壓"
msgid "s"
msgstr "秒"
msgid "Volumetric speed" msgid "Volumetric speed"
msgstr "體積速度" msgstr "體積速度"
@@ -21425,6 +21559,39 @@ msgstr ""
"避免翹曲\n" "避免翹曲\n"
"您知道嗎?當列印容易翹曲的材料(如 ABS)時,適當提高熱床溫度可以降低翹曲的機率。" "您知道嗎?當列印容易翹曲的材料(如 ABS)時,適當提高熱床溫度可以降低翹曲的機率。"
#~ msgid "Native Wayland liveview requires the GStreamer GTK video sink. Please install the gtksink plugin for GStreamer, then restart OrcaSlicer."
#~ msgstr "原生 Wayland 即時檢視需要 GStreamer GTK 視訊接收器。請為 GStreamer 安裝 gtksink 外掛程式,然後重新啟動 OrcaSlicer。"
#~ msgid "Failed to initialize the native Wayland GStreamer video sink. Please check your GStreamer GTK plugin installation."
#~ msgstr "無法初始化原生 Wayland GStreamer 視訊接收器。請檢查您的 GStreamer GTK 外掛程式安裝。"
#~ msgid "Windows Media Player is required for this task! Do you want to enable 'Windows Media Player' for your operation system?"
#~ msgstr "執行此設定需要 Windows Media Player!您是否要啟用 Windows Media Player"
#~ msgid "BambuSource has not correctly been registered for media playing! Press Yes to re-register it. You will be promoted twice"
#~ msgstr "「BambuSource 未正確註冊為媒體播放模組!請點選『是』進行重新註冊,過程中會有兩次提示"
#~ msgid "Missing BambuSource component registered for media playing! Please re-install OrcaSlicer or seek community help."
#~ msgstr "缺少用於媒體播放的已註冊 BambuSource 元件!請重新安裝 OrcaSlicer 或尋求社群協助。"
#~ msgid "Using a BambuSource from a different install, video play may not work correctly! Press Yes to fix it."
#~ msgstr "BambuSource 來自其他安裝版本,可能導致影片播放異常!請點選『是』進行修復。"
#~ msgid "Your system is missing H.264 codecs for GStreamer, which are required to play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-libav packages, then restart Orca Slicer?)"
#~ msgstr "您的系統缺少 GStreamer 的 H.264 編解碼器,這是播放影片所必需的。(請嘗試安裝 gstreamer1.0-plugins-bad 或 gstreamer1.0-libav 套件,然後重新啟動 Orca Slicer。)"
# AI Translated
#~ msgid "N"
#~ msgstr "N"
# AI Translated
#~ msgid "g"
#~ msgstr "g"
# AI Translated
#~ msgid "Fila Saving"
#~ msgstr "線材節省"
#~ msgid "" #~ msgid ""
#~ "Layer height is too small.\n" #~ "Layer height is too small.\n"
#~ "It will set to min_layer_height\n" #~ "It will set to min_layer_height\n"
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "Snapmaker", "name": "Snapmaker",
"version": "02.04.00.09", "version": "02.04.00.10",
"force_update": "0", "force_update": "0",
"description": "Snapmaker configurations", "description": "Snapmaker configurations",
"machine_model_list": [ "machine_model_list": [
@@ -184,7 +184,7 @@
"nozzle_type": "undefine", "nozzle_type": "undefine",
"auxiliary_fan": "0", "auxiliary_fan": "0",
"support_multi_bed_types": "1", "support_multi_bed_types": "1",
"default_bed_type": "4", "default_bed_type": "Textured PEI Plate",
"printable_area": [ "printable_area": [
"0.5x1", "0.5x1",
"270.5x1", "270.5x1",
+3
View File
@@ -122,6 +122,9 @@ sed "/name: OrcaSlicer/{
\1 git_commit_hash: \"$GIT_COMMIT_HASH\"| \1 git_commit_hash: \"$GIT_COMMIT_HASH\"|
}" > "$MANIFEST_DOCKER" }" > "$MANIFEST_DOCKER"
# ---------- pack deps/ ----------
./scripts/flatpak/make_deps_tar.sh
# ---------- run build in Docker ---------- # ---------- run build in Docker ----------
DOCKER="${DOCKER:-docker}" DOCKER="${DOCKER:-docker}"
+6
View File
@@ -0,0 +1,6 @@
@echo off
REM Runs check_profile.ps1, the Windows twin of check_profile.sh, from cmd.
REM -ExecutionPolicy Bypass is needed because a Windows client defaults to Restricted,
REM which refuses to run a checked-out .ps1 at all.
powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0check_profile.ps1" %*
exit /b %ERRORLEVEL%
+564
View File
@@ -0,0 +1,564 @@
<#
.SYNOPSIS
Local twin of the "Check profiles" CI job (.github/workflows/check_profiles.yml), for Windows.
.DESCRIPTION
The Windows counterpart of scripts/check_profile.sh, and kept deliberately close to it.
Runs the same five checks, in the same order, with the same validator flags, and with the
same semantics: every check runs even after an earlier one fails (the workflow's
continue-on-error), then the script exits non-zero once at the end.
extra_json_check scripts/orca_extra_profile_check.py
validate_system validator -p <profiles> -l <level>
validate_slice validator -p <profiles> -s -l <level>
validate_filament_subtypes validator -p <profiles> -l <level> -f
validate_custom validator against every released custom-preset fixture
Everything that has to be downloaded - the profile validator and the custom-preset fixture
archives - lands under <repo>\.test\check_profiles and is reused on the next run. That
directory also holds one log per check plus a copy of the comment CI would post on the PR.
resources\profiles\user, which the validator creates as its data dir but a CI checkout never
has, is moved aside for the duration of the run and restored on exit. Only one run per work
dir at a time.
x64 and ARM64 hosts are both supported. A locally built validator is chosen by the machine
type in its PE header rather than by the name of its build tree, so build\ (x64) and
build-arm64\ side by side resolve correctly; the published nightly is x64 only and runs
under emulation on ARM64.
.PARAMETER ProfilesDir
Profile tree to validate (default: resources\profiles). extra_json_check always looks at the
tree next to the script, so this only redirects the validator checks.
.PARAMETER Validator
OrcaSlicer_profile_validator.exe to use; also $env:ORCA_PROFILE_VALIDATOR. Default: the local
build*\ Release build (then RelWithDebInfo, MinSizeRel, Debug) for this architecture, else
the nightly release build is downloaded.
.PARAMETER Download
Ignore local builds and use the downloaded nightly validator.
.PARAMETER Refresh
Re-download the validator and fixtures instead of using the cache.
.PARAMETER WorkDir
Downloads, logs and fixture trees (default: .test\check_profiles). Point it somewhere short,
such as D:\t, if a fixture tree trips Windows' 260-character path limit.
.PARAMETER LogLevel
Validator log level (default: 2, as in CI).
.PARAMETER Checks
Checks to run, by name (default: all of them, in the order listed above).
.EXAMPLE
scripts\check_profile.bat
.EXAMPLE
powershell -ExecutionPolicy Bypass -File scripts\check_profile.ps1 validate_system validate_slice
#>
# PositionalBinding is off so that the check names are the only positional arguments; left on,
# a bare "validate_system" would bind to whichever named parameter came next in this block.
[CmdletBinding(PositionalBinding = $false)]
param(
[Alias('p')] [string] $ProfilesDir,
[string] $Validator,
[string] $WorkDir,
[Alias('l')] [int] $LogLevel = 2,
[switch] $Download,
[switch] $Refresh,
[Alias('h')] [switch] $Help,
[Parameter(Position = 0, ValueFromRemainingArguments = $true)] [string[]] $Checks
)
$ErrorActionPreference = 'Stop'
# Windows PowerShell 5.1 still negotiates TLS 1.0/1.1, which github.com refuses.
[Net.ServicePointManager]::SecurityProtocol =
[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
$ValidatorReleaseUrl = 'https://github.com/OrcaSlicer/OrcaSlicer/releases/download/nightly-builds'
$FixtureReleaseUrl = 'https://github.com/OrcaSlicer/OrcaSlicer-profile-validator/releases/download/fixture-archive'
$RepoRoot = Split-Path -Parent $PSScriptRoot
# PROCESSOR_ARCHITECTURE reports the architecture of the *shell*, so a 32-bit PowerShell on a
# 64-bit OS says x86; ARCHITEW6432 is the machine's own in that case.
$HostArch = if ($env:PROCESSOR_ARCHITEW6432) { $env:PROCESSOR_ARCHITEW6432 } else { $env:PROCESSOR_ARCHITECTURE }
$HostArch = switch ($HostArch) {
'ARM64' { 'arm64' }
'AMD64' { 'x64' }
default { 'x86' }
}
$AllChecks = @('extra_json_check', 'validate_system', 'validate_slice', 'validate_filament_subtypes', 'validate_custom')
$script:LogWriter = $null
$script:Python = ''
# ---------------------------------------------------------------------------- helpers
function Die([string] $Message) {
Write-Host "check_profile.ps1: $Message" -ForegroundColor Red
exit 2
}
# UTF-8 without a BOM, so a log reads the same here as the artifact CI uploads.
function New-LogWriter([string] $Path) {
New-Object IO.StreamWriter($Path, $false, (New-Object Text.UTF8Encoding($false)))
}
# Output of the check being run: shown, and kept in that check's log.
function Write-CheckLog([string] $Text) {
Write-Host $Text
if ($script:LogWriter) { $script:LogWriter.WriteLine($Text) }
}
# Runs a program and returns its exit code, streaming stdout and stderr into the current check's
# log. -OutFile sends that output to a file of its own instead, silently.
function Invoke-Tool {
param([string] $Exe, [string[]] $Arguments, [string] $OutFile)
# Under 'Stop', 2>&1 turns every stderr line of a native command into a terminating error.
# Assigning the preference here scopes it to this function, so it undoes itself on return.
$ErrorActionPreference = 'Continue'
$writer = if ($OutFile) { New-LogWriter $OutFile } else { $null }
try {
& $Exe @Arguments 2>&1 | ForEach-Object {
if ($writer) { $writer.WriteLine("$_") } else { Write-CheckLog "$_" }
}
return $LASTEXITCODE
} catch {
if ($writer) { $writer.WriteLine("$_") } else { Write-CheckLog "$_" }
return 1
} finally {
if ($writer) { $writer.Dispose() }
}
}
# The first $Limit characters of a log, as CI truncates them for the PR comment.
function Get-LogHead([string] $Path, [int] $Limit) {
$text = if (Test-Path -LiteralPath $Path) { [IO.File]::ReadAllText($Path) } else { '' }
if (-not $text) { return 'No output captured' }
if ($text.Length -gt $Limit) { return $text.Substring(0, $Limit) }
return $text
}
# ---------------------------------------------------------------------------- arguments
if ($Help) { Get-Help $PSCommandPath -Detailed; exit 0 }
foreach ($name in $Checks) {
if ($name -like '-*') { Die "unknown option '$name' (try -Help)" }
if ($AllChecks -notcontains $name) { Die "unknown check '$name' (try -Help)" }
}
if (-not $Checks) { $Checks = $AllChecks }
if (-not $ProfilesDir) { $ProfilesDir = Join-Path $RepoRoot 'resources\profiles' }
if (-not (Test-Path -LiteralPath $ProfilesDir -PathType Container)) { Die "profile directory not found: $ProfilesDir" }
$ProfilesDir = (Resolve-Path -LiteralPath $ProfilesDir).Path
if (-not $WorkDir) { $WorkDir = Join-Path $RepoRoot '.test\check_profiles' }
$LogDir = Join-Path $WorkDir 'logs'
try { New-Item -ItemType Directory -Force -Path $LogDir | Out-Null } catch { Die "cannot create ${LogDir}: $_" }
$WorkDir = (Resolve-Path -LiteralPath $WorkDir).Path
$LogDir = Join-Path $WorkDir 'logs'
if (-not $Validator) { $Validator = $env:ORCA_PROFILE_VALIDATOR }
# ------------------------------------------------------------------- clean profile tree
# The validator points its data dir at the profile tree, so it creates - and, with -g, fills -
# <profiles>\user. A CI checkout never has that directory, and anything left in it from an
# earlier local run would be loaded as user presets and validated too. Move it aside for the
# duration of the run so what gets checked is what CI checks.
$script:StashedUserDir = ''
function Push-UserPresets {
$user = Join-Path $ProfilesDir 'user'
if (-not (Test-Path -LiteralPath $user -PathType Container)) { return }
$script:StashedUserDir = Join-Path $WorkDir "user-presets-$PID"
Remove-Item -LiteralPath $script:StashedUserDir -Recurse -Force -ErrorAction SilentlyContinue
try { Move-Item -LiteralPath $user -Destination $script:StashedUserDir }
catch { $script:StashedUserDir = ''; Die "cannot move $user aside: $_" }
Write-Host "moved $user aside for the run (restored on exit)"
}
function Pop-UserPresets {
# The validator leaves an empty user\default\{filament,machine,process} skeleton behind.
# Prune it directory by directory, never wholesale: one that holds a real file survives and
# is reported instead of being deleted. Runs even when nothing was stashed, so a tree that
# had no user\ before the run does not gain one.
$user = Join-Path $ProfilesDir 'user'
Remove-EmptyDirs $user
if (-not $script:StashedUserDir) { return }
if (Test-Path -LiteralPath $user) {
Write-Host "$user is not empty; your presets stay in $($script:StashedUserDir)"
} else {
Move-Item -LiteralPath $script:StashedUserDir -Destination $user
}
$script:StashedUserDir = ''
}
function Remove-EmptyDirs([string] $Path) {
if (-not (Test-Path -LiteralPath $Path -PathType Container)) { return }
Get-ChildItem -LiteralPath $Path -Recurse -Directory -Force |
Sort-Object { $_.FullName.Length } -Descending |
ForEach-Object {
if (-not (Get-ChildItem -LiteralPath $_.FullName -Force)) {
Remove-Item -LiteralPath $_.FullName -Force
}
}
if (-not (Get-ChildItem -LiteralPath $Path -Force)) { Remove-Item -LiteralPath $Path -Force }
}
# ---------------------------------------------------------------------------- downloads
# Cached; -Refresh, or -Force, pulls a new copy. Release assets never change, so caching them is
# safe; the fixture manifest is the index that grows with every release, and CI re-reads it on
# every run.
function Save-Asset {
param([string] $Url, [string] $Dest, [switch] $Force)
if (-not $Refresh -and -not $Force -and (Test-Path -LiteralPath $Dest -PathType Leaf) -and
(Get-Item -LiteralPath $Dest).Length -gt 0) {
return
}
New-Item -ItemType Directory -Force -Path (Split-Path -Parent $Dest) | Out-Null
Write-Host "downloading $(Split-Path -Leaf $Dest) ..."
# Invoke-WebRequest spends most of a large download repainting its progress bar.
$ProgressPreference = 'SilentlyContinue'
$part = "$Dest.part"
for ($attempt = 1; ; $attempt++) {
try {
Invoke-WebRequest -Uri $Url -OutFile $part -UseBasicParsing
break
} catch {
if ($attempt -ge 3) {
Remove-Item -LiteralPath $part -Force -ErrorAction SilentlyContinue
throw "download failed: $Url"
}
}
}
Move-Item -LiteralPath $part -Destination $Dest -Force
}
function Get-Sha256([string] $Path) {
return (Get-FileHash -LiteralPath $Path -Algorithm SHA256).Hash
}
# Directories a built validator can sit in, best first: build_win.bat names its trees build,
# build-dbginfo, build-minsize and build-dbg, each optionally -clang and -arm64 suffixed, and
# CMake puts the binary in src\<config>. Each pattern is matched both directly under a build root
# and one level down (build\x64), for trees laid out the way the macOS ones are.
function Get-ValidatorSearchDirs {
foreach ($config in 'Release', 'RelWithDebInfo', 'MinSizeRel', 'Debug') {
Join-Path $RepoRoot "build*\src\$config"
Join-Path $RepoRoot "build*\*\src\$config"
}
Join-Path $RepoRoot 'build*\src'
Join-Path $RepoRoot 'build*\*\src'
}
# The machine type from the PE header, which is what actually decides whether an .exe can run
# here - the name of the build tree only says what it was meant to be.
function Get-ExeArch([string] $Path) {
try {
$stream = [IO.File]::OpenRead($Path)
try {
$reader = New-Object IO.BinaryReader($stream)
$stream.Position = 0x3C # e_lfanew: offset of the PE header
$stream.Position = $reader.ReadInt32()
if ($reader.ReadUInt32() -ne 0x00004550) { return '' } # "PE\0\0"
switch ($reader.ReadUInt16()) {
0x8664 { 'x64' }
0xAA64 { 'arm64' }
0x014C { 'x86' }
default { '' }
}
} finally { $stream.Dispose() }
} catch { '' }
}
# First locally built OrcaSlicer_profile_validator.exe, in the order above. An x86 build, and on
# ARM64 an x64 one, is kept only as a fallback: it runs, but emulated. An ARM64 build on an x64
# host does not run at all and is never offered.
function Find-LocalValidator {
$emulated = ''
foreach ($pattern in (Get-ValidatorSearchDirs)) {
foreach ($dir in @(Resolve-Path -Path $pattern -ErrorAction SilentlyContinue)) {
$candidate = Join-Path $dir.Path 'OrcaSlicer_profile_validator.exe'
if (-not (Test-Path -LiteralPath $candidate -PathType Leaf)) { continue }
$arch = Get-ExeArch $candidate
if (-not $arch -or $arch -eq $HostArch) { return $candidate }
if (-not $emulated -and ($arch -eq 'x86' -or $HostArch -eq 'arm64')) { $emulated = $candidate }
}
}
if ($emulated) { Write-Host "no $HostArch build found, falling back to $emulated (emulated)" }
return $emulated
}
# The nightly release build, same one CI uses. Windows ships the bare .exe, x64 only.
function Save-NightlyValidator {
if ($HostArch -ne 'x64') {
Write-Host "the nightly Windows validator is x64; it runs here under emulation"
}
$exe = Join-Path $WorkDir 'validator\OrcaSlicer_profile_validator.exe'
Save-Asset -Url "$ValidatorReleaseUrl/OrcaSlicer_profile_validator_Windows_nightly.exe" -Dest $exe
return $exe
}
function Resolve-Validator {
if ($Validator) {
if (-not (Test-Path -LiteralPath $Validator -PathType Leaf)) { Die "validator not found: $Validator" }
return (Resolve-Path -LiteralPath $Validator).Path
}
if (-not $Download) {
$local = Find-LocalValidator
if ($local) {
Write-Host "using locally built validator: $local"
return $local
}
}
try { $downloaded = Save-NightlyValidator } catch { Die "could not obtain a profile validator: $_" }
Write-Host "using downloaded validator: $downloaded"
return $downloaded
}
# python3 is rarely on PATH on Windows: the py launcher is the reliable way in, and a bare
# `python` may be the Store stub, which prints an advert and exits non-zero. Probe each for the
# interpreter it actually resolves to, and use that.
function Resolve-Python {
$ErrorActionPreference = 'Continue'
if ($script:Python) { return $script:Python }
foreach ($candidate in 'py -3', 'python', 'python3') {
$words = $candidate -split ' '
$exe = Get-Command $words[0] -CommandType Application -ErrorAction SilentlyContinue | Select-Object -First 1
if (-not $exe) { continue }
$leading = @($words | Select-Object -Skip 1)
$found = & $exe.Source @leading -c 'import sys; print(sys.executable)' 2>$null
if ($LASTEXITCODE -eq 0 -and $found) {
$script:Python = "$found"
return $script:Python
}
}
Die 'no Python 3 found; install it (or the py launcher) and re-run'
}
# ---------------------------------------------------------------------------- checks
$CheckBodies = @{
extra_json_check = {
Invoke-Tool -Exe (Resolve-Python) -Arguments @((Join-Path $RepoRoot 'scripts\orca_extra_profile_check.py'))
}
validate_system = {
Invoke-Tool -Exe $Validator -Arguments @('-p', $ProfilesDir, '-l', "$LogLevel")
}
# Slices a two-colour cube through every printer so all custom g-code (incl.
# change_filament_gcode) is expanded - catches undefined-placeholder / invalid-flow bugs the
# static checks cannot see.
validate_slice = {
Invoke-Tool -Exe $Validator -Arguments @('-p', $ProfilesDir, '-s', '-l', "$LogLevel")
}
validate_filament_subtypes = {
Invoke-Tool -Exe $Validator -Arguments @('-p', $ProfilesDir, '-l', "$LogLevel", '-f')
}
# Every released fixture is a snapshot of user presets saved by that OrcaSlicer version; each
# is unpacked over the current system profiles and validated, so a profile change that would
# break an existing user's presets fails here.
validate_custom = {
$fixturesDir = Join-Path $WorkDir 'profile-fixtures'
$outputDir = Join-Path $WorkDir 'custom-preset-validation'
New-Item -ItemType Directory -Force -Path $fixturesDir, $outputDir | Out-Null
$manifestPath = Join-Path $fixturesDir 'manifest.json'
Save-Asset -Url "$FixtureReleaseUrl/manifest.json" -Dest $manifestPath -Force
$manifest = Get-Content -LiteralPath $manifestPath -Raw | ConvertFrom-Json
$entries = if ($manifest -is [array]) { $manifest } else { $manifest.fixtures }
$fixtures = @($entries | Where-Object { $_.version -and $_.asset })
if (-not $fixtures) {
Write-CheckLog "No custom preset fixtures found in $FixtureReleaseUrl/manifest.json"
return 1
}
$status = 0
$failedLogs = @()
$summary = @('## Custom Preset Fixture Validation', '', '| Version | Status | Log |', '| --- | --- | --- |')
foreach ($fixture in $fixtures) {
$version = $fixture.version
$asset = $fixture.asset
$fixtureZip = Join-Path $fixturesDir $asset
$profileTree = Join-Path $outputDir "profiles-$version"
$logPath = Join-Path $outputDir "$version.log"
$assetUrl = "$FixtureReleaseUrl/$([uri]::EscapeDataString($asset))"
Save-Asset -Url $assetUrl -Dest $fixtureZip
$expected = $fixture.asset_sha256
if ($expected -and $expected -ne '<sha256>' -and (Get-Sha256 $fixtureZip) -ne $expected.ToUpperInvariant()) {
# A cached zip can be stale or truncated; the release asset itself is immutable,
# so deleting it forces Save-Asset to pull a fresh copy.
Write-Host "checksum mismatch for $asset, re-downloading"
Remove-Item -LiteralPath $fixtureZip -Force
Save-Asset -Url $assetUrl -Dest $fixtureZip
$actual = Get-Sha256 $fixtureZip
if ($actual -ne $expected.ToUpperInvariant()) {
Write-CheckLog "${asset}: expected $expected, got $actual"
return 1
}
}
Write-Host "validating custom presets from $version ..."
Remove-Item -LiteralPath $profileTree -Recurse -Force -ErrorAction SilentlyContinue
New-Item -ItemType Directory -Force -Path $profileTree | Out-Null
# Piped rather than copied through <profiles>\*, so a vendor directory whose name
# holds a wildcard character is still copied by its literal path.
Get-ChildItem -LiteralPath $ProfilesDir -Force | Copy-Item -Destination $profileTree -Recurse -Force
Remove-Item -LiteralPath (Join-Path $profileTree 'user') -Recurse -Force -ErrorAction SilentlyContinue
Expand-Archive -LiteralPath $fixtureZip -DestinationPath $profileTree -Force
$result = Invoke-Tool -Exe $Validator -Arguments @('-p', $profileTree, '-l', "$LogLevel") -OutFile $logPath
if ($result -eq 0) {
$summary += "| $version | PASS | $version.log |"
# Only failures are worth keeping; each tree is a full copy of resources\profiles.
Remove-Item -LiteralPath $profileTree -Recurse -Force
} else {
$summary += "| $version | FAIL | $version.log |"
$failedLogs += $logPath
$status = 1
}
}
[IO.File]::WriteAllLines((Join-Path $outputDir 'summary.md'), [string[]] $summary)
$summary | ForEach-Object { Write-CheckLog $_ }
if ($failedLogs) {
Write-CheckLog ''
Write-CheckLog '## Failed Fixture Logs'
foreach ($logPath in $failedLogs) {
Write-CheckLog ''
Write-CheckLog "### $([IO.Path]::GetFileNameWithoutExtension($logPath))"
Write-CheckLog '```'
Write-CheckLog (Get-LogHead $logPath 12000)
Write-CheckLog '```'
}
}
return $status
}
}
# Heading CI puts above this check's log in the PR comment.
$CommentHeadings = @{
extra_json_check = '### Extra JSON Check Failed'
validate_system = '### System Profile Validation Failed'
validate_slice = '### Slice Validation Failed (custom g-code expansion)'
validate_filament_subtypes = '### Filament Subtype Validation Failed'
validate_custom = '### Custom Preset Validation Failed'
}
# ---------------------------------------------------------------------------- run
function Invoke-Check([string] $Name) {
$log = Join-Path $LogDir "$Name.log"
Write-Host ''
Write-Host "==> $Name" -ForegroundColor Cyan
$script:LogWriter = New-LogWriter $log
try {
$result = & $CheckBodies[$Name] | Select-Object -Last 1
} catch {
Write-CheckLog "$_"
$result = 1
} finally {
$script:LogWriter.Dispose()
$script:LogWriter = $null
}
if ([int] $result -eq 0) {
Write-Host " $Name passed" -ForegroundColor Green
return $true
}
Write-Host " $Name failed (exit $result)" -ForegroundColor Red
return $false
}
# The fixture trees under the work dir are shared scratch space keyed by fixture version, so a
# second run would delete a tree the first one is validating.
$LockDir = Join-Path $WorkDir '.lock'
try { New-Item -ItemType Directory -Path $LockDir -ErrorAction Stop | Out-Null }
catch { Die "another run is using $WorkDir (pass -WorkDir, or remove $LockDir if no run is active)" }
# The validator writes UTF-8, but PowerShell decodes a child process's output using the console
# code page, which mangles the accented and CJK preset names in its messages.
$PreviousOutputEncoding = [Console]::OutputEncoding
try {
[Console]::OutputEncoding = New-Object Text.UTF8Encoding($false)
Push-UserPresets
if ($Checks | Where-Object { $_ -ne 'extra_json_check' }) { $Validator = Resolve-Validator }
$results = [ordered] @{}
foreach ($name in $AllChecks) {
if ($Checks -contains $name) { $results[$name] = Invoke-Check $name }
}
Write-Host ''
Write-Host '==> summary' -ForegroundColor Cyan
foreach ($name in $results.Keys) {
if ($results[$name]) {
Write-Host " PASS $name" -ForegroundColor Green
} else {
Write-Host " FAIL $name ($(Join-Path $LogDir "$name.log"))" -ForegroundColor Red
}
}
$failed = @($results.Keys | Where-Object { -not $results[$_] })
if (-not $failed) {
Remove-Item -LiteralPath (Join-Path $WorkDir 'pr_comment.md') -Force -ErrorAction SilentlyContinue
Write-Host ''
Write-Host "All checks passed. Logs: $LogDir" -ForegroundColor Green
exit 0
}
# The comment check_profiles_comment.yml would post when something fails.
$comment = @(
# Marker matched by check_profiles_comment.yml to delete prior comments.
'<!-- profile-validation-comment -->'
'## :x: Profile Validation Errors'
''
foreach ($name in $failed) {
$CommentHeadings[$name]
''
'```'
Get-LogHead (Join-Path $LogDir "$name.log") 30000
'```'
''
}
'---'
'*Please fix the above errors and push a new commit.*'
)
$commentPath = Join-Path $WorkDir 'pr_comment.md'
[IO.File]::WriteAllLines($commentPath, [string[]] $comment)
Write-Host ''
Write-Host "One or more profile checks failed. Logs: $LogDir" -ForegroundColor Red
Write-Host "The comment CI would post: $commentPath"
exit 1
} finally {
Pop-UserPresets
Remove-Item -LiteralPath $LockDir -Force -ErrorAction SilentlyContinue
[Console]::OutputEncoding = $PreviousOutputEncoding
}
+527
View File
@@ -0,0 +1,527 @@
#!/usr/bin/env bash
#
# Local twin of the "Check profiles" CI job (.github/workflows/check_profiles.yml).
#
# Runs the same five checks, in the same order, with the same validator flags, and with the
# same semantics: every check runs even after an earlier one fails (the workflow's
# continue-on-error), then the script exits non-zero once at the end.
#
# Everything that has to be downloaded - the profile validator and the custom-preset fixture
# archives - lands under <repo>/.test/check_profiles/ and is reused on the next run. That
# directory also holds one log per check plus a copy of the comment CI would post on the PR.
#
# resources/profiles/user, which the validator creates as its data dir but a CI checkout never
# has, is moved aside for the duration of the run and restored on exit. Only one run per work
# dir at a time.
#
# Usage: scripts/check_profile.sh [OPTION]... [CHECK]...
# The check_* functions run through run_check, which dispatches on the check name, so
# ShellCheck cannot see that they (and what they call) are used.
# shellcheck disable=SC2329
set -uo pipefail
VALIDATOR_RELEASE_URL="https://github.com/OrcaSlicer/OrcaSlicer/releases/download/nightly-builds"
FIXTURE_RELEASE_URL="https://github.com/OrcaSlicer/OrcaSlicer-profile-validator/releases/download/fixture-archive"
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)"
HOST_ARCH="$(uname -m)"
PROFILES_DIR="${REPO_ROOT}/resources/profiles"
WORK_DIR="${REPO_ROOT}/.test/check_profiles"
VALIDATOR="${ORCA_PROFILE_VALIDATOR:-}"
LOG_LEVEL=2
PREFER_DOWNLOAD=0
REFRESH=0
ALL_CHECKS=(extra_json_check validate_system validate_slice validate_filament_subtypes validate_custom)
CHECKS=()
# "<check><TAB>pass|fail" per check that ran; a string rather than an array because bash 3.2
# (still the /bin/bash on macOS) cannot expand an empty array under `set -u`.
RESULTS=""
usage() {
cat <<EOF
Run the profile checks from .github/workflows/check_profiles.yml locally.
Usage: scripts/check_profile.sh [OPTION]... [CHECK]...
Checks (default: all, in this order):
extra_json_check scripts/orca_extra_profile_check.py
validate_system validator -p <profiles> -l <level>
validate_slice validator -p <profiles> -s -l <level>
validate_filament_subtypes validator -p <profiles> -l <level> -f
validate_custom validator against every released custom-preset fixture
Options:
-p, --profiles DIR profile tree to validate (default: resources/profiles)
--validator BIN OrcaSlicer_profile_validator to use; also \$ORCA_PROFILE_VALIDATOR.
Default: the local build*/ Release build (then RelWithDebInfo, then
Debug) for this architecture, else the nightly release build is
downloaded for this platform
--download ignore local builds and use the downloaded nightly validator
--refresh re-download the validator and fixtures instead of using the cache
--work-dir DIR downloads, logs and fixture trees (default: .test/check_profiles)
-l, --log-level N validator log level (default: ${LOG_LEVEL}, as in CI)
-h, --help show this help
Note: extra_json_check always looks at the tree next to the script
(<repo>/resources/profiles); --profiles only redirects the validator checks.
EOF
}
msg() { printf '%s\n' "$*" >&2; }
die() { printf 'check_profile.sh: %s\n' "$*" >&2; exit 2; }
if [ -t 1 ]; then
C_RED=$'\033[91m'; C_GREEN=$'\033[92m'; C_BOLD=$'\033[1m'; C_RESET=$'\033[0m'
else
C_RED=''; C_GREEN=''; C_BOLD=''; C_RESET=''
fi
# ---------------------------------------------------------------------------- arguments
while [ $# -gt 0 ]; do
case "$1" in
-h|--help) usage; exit 0 ;;
-p|--profiles) [ $# -ge 2 ] || die "$1 needs a directory"; PROFILES_DIR="$2"; shift 2 ;;
--validator) [ $# -ge 2 ] || die "$1 needs a path"; VALIDATOR="$2"; shift 2 ;;
--work-dir) [ $# -ge 2 ] || die "$1 needs a directory"; WORK_DIR="$2"; shift 2 ;;
-l|--log-level) [ $# -ge 2 ] || die "$1 needs a number"; LOG_LEVEL="$2"; shift 2 ;;
--download) PREFER_DOWNLOAD=1; shift ;;
--refresh) REFRESH=1; shift ;;
-*) die "unknown option '$1' (try --help)" ;;
*)
known=0
for check in "${ALL_CHECKS[@]}"; do
[ "$1" = "${check}" ] && known=1
done
[ "${known}" -eq 1 ] || die "unknown check '$1' (try --help)"
CHECKS[${#CHECKS[@]}]="$1"
shift
;;
esac
done
[ "${#CHECKS[@]}" -gt 0 ] || CHECKS=("${ALL_CHECKS[@]}")
[ -d "${PROFILES_DIR}" ] || die "profile directory not found: ${PROFILES_DIR}"
PROFILES_DIR="$(cd -- "${PROFILES_DIR}" && pwd)"
LOG_DIR="${WORK_DIR}/logs"
mkdir -p "${LOG_DIR}" || die "cannot create ${LOG_DIR}"
WORK_DIR="$(cd -- "${WORK_DIR}" && pwd)"
LOG_DIR="${WORK_DIR}/logs"
wants() {
local check
for check in "${CHECKS[@]}"; do
[ "${check}" = "$1" ] && return 0
done
return 1
}
# ------------------------------------------------------------------- clean profile tree
# The validator points its data dir at the profile tree, so it creates - and, with -g, fills -
# <profiles>/user. A CI checkout never has that directory, and anything left in it from an
# earlier local run would be loaded as user presets and validated too. Move it aside for the
# duration of the run so what gets checked is what CI checks.
STASHED_USER_DIR=""
stash_user_presets() {
[ -d "${PROFILES_DIR}/user" ] || return 0
STASHED_USER_DIR="${WORK_DIR}/user-presets-$$"
rm -rf "${STASHED_USER_DIR}"
mv "${PROFILES_DIR}/user" "${STASHED_USER_DIR}" || { STASHED_USER_DIR=""; die "cannot move ${PROFILES_DIR}/user aside"; }
msg "moved ${PROFILES_DIR}/user aside for the run (restored on exit)"
}
restore_user_presets() {
# The validator leaves an empty user/default/{filament,machine,process} skeleton behind.
# Prune it with rmdir, never rm -rf: a directory that holds a real file survives and is
# reported instead of being deleted. Runs even when nothing was stashed, so a tree that had
# no user/ before the run does not gain one.
find "${PROFILES_DIR}/user" -depth -type d -exec rmdir {} + 2>/dev/null
[ -n "${STASHED_USER_DIR}" ] || return 0
if [ -d "${PROFILES_DIR}/user" ]; then
msg "${PROFILES_DIR}/user is not empty; your presets stay in ${STASHED_USER_DIR}"
STASHED_USER_DIR=""
return 0
fi
mv "${STASHED_USER_DIR}" "${PROFILES_DIR}/user"
STASHED_USER_DIR=""
}
# The fixture trees under the work dir are shared scratch space keyed by fixture version, so a
# second run would delete a tree the first one is validating.
LOCK_DIR="${WORK_DIR}/.lock"
mkdir "${LOCK_DIR}" 2>/dev/null ||
die "another run is using ${WORK_DIR} (pass --work-dir, or remove ${LOCK_DIR} if no run is active)"
cleanup() {
restore_user_presets
rmdir "${LOCK_DIR}" 2>/dev/null
}
# Installed only once the lock is ours, so a refused start never releases someone else's.
trap cleanup EXIT
trap 'cleanup; exit 130' INT TERM
stash_user_presets
# ---------------------------------------------------------------------------- downloads
# fetch URL DEST [force] - cached; --refresh, or a non-empty third argument, forces a new
# download. Release assets never change, so caching them is safe; the fixture manifest is the
# index that grows with every release, and CI re-reads it on every run.
fetch() {
local url="$1" dest="$2" force="${3:-}"
if [ "${REFRESH}" -eq 0 ] && [ -z "${force}" ] && [ -s "${dest}" ]; then
return 0
fi
mkdir -p "$(dirname -- "${dest}")" || return 1
msg "downloading $(basename -- "${dest}") ..."
if ! curl -fsSL --retry 3 -o "${dest}.part" "${url}"; then
rm -f "${dest}.part"
msg "download failed: ${url}"
return 1
fi
mv -f "${dest}.part" "${dest}"
}
sha256_of() {
if command -v sha256sum >/dev/null 2>&1; then
sha256sum "$1" | cut -d' ' -f1
elif command -v shasum >/dev/null 2>&1; then
shasum -a 256 "$1" | cut -d' ' -f1
else
return 1
fi
}
# Directories a built validator can sit in, best first: every Ninja Multi-Config Release tree,
# then RelWithDebInfo, then Debug, then a single-config generator's plain src/. Each pattern is
# matched both directly under a build root (build/) and one level down (build/arm64, build/x64),
# and unmatched globs are dropped by the caller's -d test.
validator_search_dirs() {
local config
for config in Release RelWithDebInfo Debug; do
printf '%s\n' "${REPO_ROOT}"/build*/src/"${config}" "${REPO_ROOT}"/build*/*/src/"${config}"
done
printf '%s\n' "${REPO_ROOT}"/build*/src "${REPO_ROOT}"/build*/*/src
}
# A build tree named for the other architecture (build/x86_64 on an arm64 host, build/arm64 on
# an x64 one) is a last resort: on Linux it will not run at all, on macOS it goes via Rosetta.
# Takes a repo-relative path - an absolute one would also match an arch name in the checkout path.
is_foreign_arch_dir() {
case "${HOST_ARCH}" in
arm64|aarch64) case "$1" in *x86_64*|*x86-64*|*x64*|*amd64*) return 0 ;; esac ;;
x86_64|amd64) case "$1" in *arm64*|*aarch64*) return 0 ;; esac ;;
esac
return 1
}
# First locally built OrcaSlicer_profile_validator, in the order above. macOS puts it in an .app
# bundle, Linux and Windows next to the other binaries.
find_local_validator() {
local dir candidate foreign=""
while IFS= read -r dir; do
[ -d "${dir}" ] || continue
for candidate in \
"${dir}/OrcaSlicer_profile_validator" \
"${dir}/OrcaSlicer_profile_validator.exe" \
"${dir}/OrcaSlicer_profile_validator.app/Contents/MacOS/OrcaSlicer_profile_validator"; do
[ -f "${candidate}" ] && [ -x "${candidate}" ] || continue
if ! is_foreign_arch_dir "${dir#"${REPO_ROOT}"/}"; then
printf '%s\n' "${candidate}"
return 0
fi
[ -n "${foreign}" ] || foreign="${candidate}"
done
done <<EOF
$(validator_search_dirs)
EOF
[ -n "${foreign}" ] || return 1
msg "no ${HOST_ARCH} build found, falling back to ${foreign}"
printf '%s\n' "${foreign}"
}
# The nightly release build, same one CI uses. Linux ships the bare binary, macOS a .dmg
# holding the signed .app, Windows an .exe.
download_validator() {
local dest="${WORK_DIR}/validator" binary dmg app mounted app_src
case "$(uname -s)" in
Linux*)
case "${HOST_ARCH}" in
arm64|aarch64) msg "the nightly Linux validator is x86_64; build it locally for ${HOST_ARCH}" ;;
esac
binary="${dest}/OrcaSlicer_profile_validator"
fetch "${VALIDATOR_RELEASE_URL}/OrcaSlicer_profile_validator_Linux_Ubuntu2404_nightly" "${binary}" || return 1
chmod +x "${binary}" || return 1
;;
Darwin*)
dmg="${dest}/OrcaSlicer_profile_validator.dmg"
app="${dest}/OrcaSlicer_profile_validator.app"
binary="${app}/Contents/MacOS/OrcaSlicer_profile_validator"
fetch "${VALIDATOR_RELEASE_URL}/OrcaSlicer_profile_validator_Mac_universal_nightly.dmg" "${dmg}" || return 1
if [ ! -x "${binary}" ] || [ "${REFRESH}" -eq 1 ]; then
mounted="${dest}/mnt"
rm -rf "${mounted}" "${app}"
mkdir -p "${mounted}" || return 1
hdiutil attach -nobrowse -readonly -mountpoint "${mounted}" "${dmg}" >/dev/null || return 1
app_src="$(find "${mounted}" -maxdepth 1 -name '*.app' -print 2>/dev/null | head -n 1)"
if [ -n "${app_src}" ]; then
cp -R "${app_src}" "${app}"
fi
hdiutil detach "${mounted}" >/dev/null 2>&1
rmdir "${mounted}" 2>/dev/null
[ -x "${binary}" ] || { msg "no validator app inside ${dmg}"; return 1; }
fi
;;
MINGW*|MSYS*|CYGWIN*)
binary="${dest}/OrcaSlicer_profile_validator.exe"
fetch "${VALIDATOR_RELEASE_URL}/OrcaSlicer_profile_validator_Windows_nightly.exe" "${binary}" || return 1
chmod +x "${binary}" || return 1
;;
*)
msg "no nightly validator published for $(uname -s); build it (-DORCA_TOOLS=ON) and pass --validator"
return 1
;;
esac
printf '%s\n' "${binary}"
}
resolve_validator() {
if [ -n "${VALIDATOR}" ]; then
[ -x "${VALIDATOR}" ] || die "validator not executable: ${VALIDATOR}"
return 0
fi
if [ "${PREFER_DOWNLOAD}" -eq 0 ]; then
VALIDATOR="$(find_local_validator)"
if [ -n "${VALIDATOR}" ]; then
msg "using locally built validator: ${VALIDATOR}"
return 0
fi
fi
VALIDATOR="$(download_validator)" || die "could not obtain a profile validator"
msg "using downloaded validator: ${VALIDATOR}"
}
# ---------------------------------------------------------------------------- checks
check_extra_json_check() {
python3 "${REPO_ROOT}/scripts/orca_extra_profile_check.py"
}
check_validate_system() {
"${VALIDATOR}" -p "${PROFILES_DIR}" -l "${LOG_LEVEL}"
}
# Slices a two-colour cube through every printer so all custom g-code (incl. change_filament_gcode)
# is expanded - catches undefined-placeholder / invalid-flow bugs the static checks cannot see.
check_validate_slice() {
"${VALIDATOR}" -p "${PROFILES_DIR}" -s -l "${LOG_LEVEL}"
}
check_validate_filament_subtypes() {
"${VALIDATOR}" -p "${PROFILES_DIR}" -l "${LOG_LEVEL}" -f
}
# Every released fixture is a snapshot of user presets saved by that OrcaSlicer version; each is
# unpacked over the current system profiles and validated, so a profile change that would break
# an existing user's presets fails here.
check_validate_custom() {
local fixtures_dir="${WORK_DIR}/profile-fixtures"
local output_dir="${WORK_DIR}/custom-preset-validation"
local summary="${output_dir}/summary.md"
local status=0 failed_logs=""
local version asset expected_sha256 asset_url fixture_zip profile_tree log_path actual_sha256 result
command -v unzip >/dev/null 2>&1 || { msg "unzip is required for validate_custom"; return 1; }
mkdir -p "${fixtures_dir}" "${output_dir}" || return 1
fetch "${FIXTURE_RELEASE_URL}/manifest.json" "${fixtures_dir}/manifest.json" force || return 1
MANIFEST_PATH="${fixtures_dir}/manifest.json" python3 - > "${fixtures_dir}/fixtures.tsv" <<'PY'
import json
import os
with open(os.environ["MANIFEST_PATH"], encoding="utf-8") as fh:
manifest = json.load(fh)
if isinstance(manifest, dict):
entries = manifest.get("fixtures", [])
else:
entries = manifest
for entry in entries:
version = entry.get("version", "")
asset = entry.get("asset", "")
sha256 = entry.get("asset_sha256", "")
if not version or not asset:
continue
print(f"{version}\t{asset}\t{sha256}")
PY
if [ ! -s "${fixtures_dir}/fixtures.tsv" ]; then
echo "No custom preset fixtures found in ${FIXTURE_RELEASE_URL}/manifest.json"
return 1
fi
{
echo "## Custom Preset Fixture Validation"
echo ""
echo "| Version | Status | Log |"
echo "| --- | --- | --- |"
} > "${summary}"
while IFS=$'\t' read -r version asset expected_sha256; do
[ -n "${version}" ] || continue
fixture_zip="${fixtures_dir}/${asset}"
profile_tree="${output_dir}/profiles-${version}"
log_path="${output_dir}/${version}.log"
asset_url="${FIXTURE_RELEASE_URL}/$(python3 -c 'import sys, urllib.parse; print(urllib.parse.quote(sys.argv[1], safe=""))' "${asset}")"
fetch "${asset_url}" "${fixture_zip}" || return 1
if [ -n "${expected_sha256}" ] && [ "${expected_sha256}" != "<sha256>" ]; then
actual_sha256="$(sha256_of "${fixture_zip}")"
if [ -z "${actual_sha256}" ]; then
msg "no sha256 tool available, skipping checksum of ${asset}"
elif [ "${actual_sha256}" != "${expected_sha256}" ]; then
# A cached zip can be stale or truncated; the release asset itself is immutable,
# so deleting it forces fetch to pull a fresh copy.
msg "checksum mismatch for ${asset}, re-downloading"
rm -f "${fixture_zip}"
fetch "${asset_url}" "${fixture_zip}" || return 1
actual_sha256="$(sha256_of "${fixture_zip}")"
[ "${actual_sha256}" = "${expected_sha256}" ] || { msg "${asset}: expected ${expected_sha256}, got ${actual_sha256}"; return 1; }
fi
fi
msg "validating custom presets from ${version} ..."
rm -rf "${profile_tree}"
mkdir -p "${profile_tree}" || return 1
cp -a "${PROFILES_DIR}/." "${profile_tree}/" || return 1
rm -rf "${profile_tree}/user"
unzip -q "${fixture_zip}" -d "${profile_tree}" || return 1
"${VALIDATOR}" -p "${profile_tree}" -l "${LOG_LEVEL}" > "${log_path}" 2>&1
result=$?
if [ "${result}" -eq 0 ]; then
echo "| ${version} | PASS | ${version}.log |" >> "${summary}"
# Only failures are worth keeping; each tree is a full copy of resources/profiles.
rm -rf "${profile_tree}"
else
echo "| ${version} | FAIL | ${version}.log |" >> "${summary}"
failed_logs="${failed_logs}${log_path}"$'\n'
status=1
fi
done < "${fixtures_dir}/fixtures.tsv"
cat "${summary}"
if [ -n "${failed_logs}" ]; then
echo ""
echo "## Failed Fixture Logs"
while IFS= read -r log_path; do
[ -n "${log_path}" ] || continue
echo ""
echo "### $(basename "${log_path}" .log)"
echo '```'
head -c 12000 "${log_path}" || echo "No output captured"
echo '```'
done <<EOF
${failed_logs}
EOF
fi
return "${status}"
}
# Heading CI puts above this check's log in the PR comment.
comment_heading() {
case "$1" in
extra_json_check) echo "### Extra JSON Check Failed" ;;
validate_system) echo "### System Profile Validation Failed" ;;
validate_slice) echo "### Slice Validation Failed (custom g-code expansion)" ;;
validate_filament_subtypes) echo "### Filament Subtype Validation Failed" ;;
validate_custom) echo "### Custom Preset Validation Failed" ;;
esac
}
# ---------------------------------------------------------------------------- run
run_check() {
local name="$1"
local log="${LOG_DIR}/${name}.log"
local result
printf '\n%s==> %s%s\n' "${C_BOLD}" "${name}" "${C_RESET}"
"check_${name}" 2>&1 | tee "${log}"
result="${PIPESTATUS[0]}"
if [ "${result}" -eq 0 ]; then
printf '%s %s passed%s\n' "${C_GREEN}" "${name}" "${C_RESET}"
RESULTS="${RESULTS}${name}"$'\t'"pass"$'\n'
else
printf '%s %s failed (exit %s)%s\n' "${C_RED}" "${name}" "${result}" "${C_RESET}"
RESULTS="${RESULTS}${name}"$'\t'"fail"$'\n'
fi
}
if wants validate_system || wants validate_slice || wants validate_filament_subtypes || wants validate_custom; then
resolve_validator
fi
for check in "${ALL_CHECKS[@]}"; do
wants "${check}" && run_check "${check}"
done
# Summary, plus the comment check_profiles_comment.yml would post when something fails.
failed=0
printf '\n%s==> summary%s\n' "${C_BOLD}" "${C_RESET}"
while IFS=$'\t' read -r name result; do
[ -n "${name}" ] || continue
if [ "${result}" = "pass" ]; then
printf '%s PASS%s %s\n' "${C_GREEN}" "${C_RESET}" "${name}"
else
printf '%s FAIL%s %s (%s)\n' "${C_RED}" "${C_RESET}" "${name}" "${LOG_DIR}/${name}.log"
failed=1
fi
done <<EOF
${RESULTS}
EOF
if [ "${failed}" -eq 0 ]; then
rm -f "${WORK_DIR}/pr_comment.md"
printf '\n%sAll checks passed.%s Logs: %s\n' "${C_GREEN}" "${C_RESET}" "${LOG_DIR}"
exit 0
fi
{
# Marker matched by check_profiles_comment.yml to delete prior comments.
echo "<!-- profile-validation-comment -->"
echo "## :x: Profile Validation Errors"
echo ""
while IFS=$'\t' read -r name result; do
[ "${result}" = "fail" ] || continue
comment_heading "${name}"
echo ""
echo '```'
head -c 30000 "${LOG_DIR}/${name}.log" || echo "No output captured"
echo '```'
echo ""
done <<INNER
${RESULTS}
INNER
echo "---"
echo "*Please fix the above errors and push a new commit.*"
} > "${WORK_DIR}/pr_comment.md"
printf '\n%sOne or more profile checks failed.%s Logs: %s\n' "${C_RED}" "${C_RESET}" "${LOG_DIR}"
printf 'The comment CI would post: %s\n' "${WORK_DIR}/pr_comment.md"
exit 1
+1
View File
@@ -1,3 +1,4 @@
builddir builddir
.flatpak-builder .flatpak-builder
*.docker.yml *.docker.yml
deps.tar*
+52
View File
@@ -0,0 +1,52 @@
#!/bin/bash
# Check a Flatpak manifest for `type: dir` sources at or before the orca_deps
# module.
#
# Usage: check_manifest_cacheable.sh [manifest]
# Defaults to com.orcaslicer.OrcaSlicer.yml next to this script.
#
# Exits 0 when none are found, 1 when any are, listing them as file:line, and
# 2 when the manifest is missing or has no orca_deps module.
set -euo pipefail
anchor=orca_deps
manifest=${1:-$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/com.orcaslicer.OrcaSlicer.yml}
module_re='^ - name: '
dir_re='(^|[-{,[:space:]])type:[[:space:]]*dir([,}[:space:]]|$)'
if [ ! -f "$manifest" ]; then
echo "$manifest: no such file" >&2
exit 2
fi
anchor_start=$(grep -n "${module_re}${anchor}[[:space:]]*$" "$manifest" | cut -d: -f1 || true)
if [ -z "$anchor_start" ]; then
echo "$manifest: no module named '$anchor'; this check needs updating" >&2
exit 2
fi
# First module header after the anchor, or EOF if the anchor is last.
anchor_end=$(grep -n "$module_re" "$manifest" | cut -d: -f1 |
awk -v s="$anchor_start" '$1 > s { print $1; exit }')
[ -n "$anchor_end" ] || anchor_end=$(awk 'END { print NR + 1 }' "$manifest")
violations=$(awk -v e="$anchor_end" -v f="$manifest" -v mre="$module_re" -v dre="$dir_re" '
{ sub(/\r$/, "") }
/^[[:space:]]*#/ { next }
$0 ~ mre { module = $3 }
NR < e && $0 ~ dre {
printf "%s:%d: %s (module %s)\n", f, NR, $0, module
}' "$manifest")
if [ -n "$violations" ]; then
printf '%s\n' "$violations" >&2
echo >&2
echo "flatpak-builder cannot checksum a directory, so each of these makes" >&2
echo "$anchor and every module after it rebuild from scratch on every run." >&2
echo "See the $anchor sources in this manifest for the tarball used instead." >&2
exit 1
fi
echo "manifest OK: no 'type: dir' source at or before $anchor"
@@ -144,6 +144,7 @@ modules:
env: env:
BUILD_DIR: deps/build_flatpak BUILD_DIR: deps/build_flatpak
build-commands: build-commands:
- tar xf deps.tar
- | - |
cmake -S deps -B $BUILD_DIR \ cmake -S deps -B $BUILD_DIR \
-DFLATPAK=ON \ -DFLATPAK=ON \
@@ -169,10 +170,10 @@ modules:
- /libpython/include - /libpython/include
sources: sources:
# OrcaSlicer deps/ directory (avoids copying .git from worktree) # flatpak-builder cannot checksum a directory, so a `type: dir` here would
- type: dir # rebuild every dependency on every run. Generated by make_deps_tar.sh.
path: ../../deps - type: file
dest: deps path: deps.tar
# --------------------------------------------------------------- # ---------------------------------------------------------------
# Pre-downloaded dependency archives # Pre-downloaded dependency archives
+55
View File
@@ -0,0 +1,55 @@
#!/bin/bash
# Pack deps/ into scripts/flatpak/deps.tar for the Flatpak manifest's orca_deps
# module.
#
# Usage: make_deps_tar.sh
# Requires GNU tar. On macOS, brew install gnu-tar.
#
# The archive is byte-reproducible. Member order, mtimes, ownership and the
# group/other write bits are pinned, so identical deps/ contents always produce
# an identical file. deps/build* and deps/DL_CACHE are excluded.
#
# Prints the output path, size and sha256.
set -euo pipefail
if [ "$#" -ne 0 ]; then
echo "usage: ${0##*/}" >&2
exit 2
fi
tar_bin=$(command -v gtar || command -v tar || true)
tar_version=$([ -n "$tar_bin" ] && "$tar_bin" --version 2>/dev/null || true)
case $tar_version in
*"GNU tar"*) ;;
*) echo "${0##*/}: needs GNU tar; on macOS run 'brew install gnu-tar'" >&2
exit 2 ;;
esac
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
repo_root=$(cd "$script_dir/../.." && pwd)
out=$script_dir/deps.tar
tmp=$out.tmp
trap 'rm -f "$tmp"' EXIT
"$tar_bin" --format=gnu \
--sort=name \
--mtime=@0 \
--owner=0 --group=0 --numeric-owner \
--mode=go-w \
--exclude='deps/build*' \
--exclude='deps/DL_CACHE' \
-cf "$tmp" \
-C "$repo_root" deps
mv -f "$tmp" "$out"
if command -v sha256sum >/dev/null 2>&1; then
sum=$(sha256sum "$out" | cut -d' ' -f1)
elif command -v shasum >/dev/null 2>&1; then
sum=$(shasum -a 256 "$out" | cut -d' ' -f1)
else
sum=unavailable
fi
echo "Wrote $out ($(du -h "$out" | cut -f1), sha256 $sum)"
+4 -3
View File
@@ -8,8 +8,9 @@ flatpak install flathub org.gnome.Platform//50 org.gnome.Sdk//50 org.freedesktop
## ##
# in OrcaSlicer folder, run following command to build Orca # in OrcaSlicer folder, run following command to build Orca
# # First time build
# flatpak-builder --state-dir=.flatpak-builder --keep-build-dirs --user --force-clean build-dir scripts/flatpak/com.orcaslicer.OrcaSlicer.yml
# # Subsequent builds (only rebuilding OrcaSlicer) # # First time build
# ./scripts/flatpak/make_deps_tar.sh && flatpak-builder --state-dir=.flatpak-builder --keep-build-dirs --user --force-clean build-dir scripts/flatpak/com.orcaslicer.OrcaSlicer.yml
# # Subsequent builds (only rebuilding OrcaSlicer; run make_deps_tar.sh first if deps/ changed)
# flatpak-builder --state-dir=.flatpak-builder --keep-build-dirs --user build-dir scripts/flatpak/com.orcaslicer.OrcaSlicer.yml --build-only=OrcaSlicer # flatpak-builder --state-dir=.flatpak-builder --keep-build-dirs --user build-dir scripts/flatpak/com.orcaslicer.OrcaSlicer.yml --build-only=OrcaSlicer
+907
View File
@@ -0,0 +1,907 @@
<#
.SYNOPSIS
Tests build_win.bat's option handling and the commands it generates.
.DESCRIPTION
Cases run the script with --dry-run, so nothing is configured, built or
deleted and the suite finishes in seconds. Each case asserts on the exit
code and on the command lines the script echoes.
Adding a case means adding one row to $cases. A bare string starts a new
group. Defaults: ExpectExit is 0 and --dry-run is appended, so a row only
states what is unusual about it.
Name what the case proves, in words
Args arguments, as an array
ExpectExit expected exit code (default 0)
DryRun append --dry-run (default $true)
First regex the first output line must match
Env environment for this case only
Contains literal strings the output must have
NotContains literal strings it must not have
Match regexes; each must match at least one output line
NotMatch regexes; none may match any output line
NotExists paths that must not exist after the case runs
.PARAMETER Name
Run only the cases whose name matches this regex. Headings with no
matching case are not printed, and a pattern that matches nothing is a
failure rather than an empty pass.
.EXAMPLE
powershell -File scripts/test_build_win.ps1
.EXAMPLE
powershell -File scripts/test_build_win.ps1 -Name solution
#>
[CmdletBinding()]
param(
[string] $Script,
[string] $Name
)
$ErrorActionPreference = 'Stop'
if (-not $Script) {
$here = $PSScriptRoot
if (-not $here) { $here = Split-Path -Parent $MyInvocation.MyCommand.Path }
$Script = Join-Path (Split-Path -Parent $here) 'build_win.bat'
}
if (-not (Test-Path $Script)) { throw "build_win.bat not found at $Script" }
# cmd resumes a batch file by byte offset after `call :label`, and with LF
# endings that offset lands wrong and the label lookup fails. .gitattributes
# pins CRLF; this catches a checkout or an editor that did not honour it.
if ((Get-Content -Raw $Script) -match "(?<!`r)`n") {
throw "$Script has LF line endings; cmd needs CRLF to resume after call :label"
}
$Script = (Resolve-Path $Script).Path
# Read the long options out of the script itself, so this cannot go stale when
# an option is added. Field order is: add_arg <var> <type> <short> <long>.
$longFlags = @(
Select-String -Path $Script -Pattern '^call :add_arg \S+ \S+ \S+ (\S+) ' |
ForEach-Object { '--' + $_.Matches[0].Groups[1].Value }
)
if ($longFlags.Count -lt 20) { throw "only found $($longFlags.Count) options in $Script; the parser above is wrong" }
# A winget that always fails, so the prerequisite failure path runs without
# touching the machine. It has to be an .exe: a .bat invoked without `call`
# transfers control and never comes back, which would end the script instead.
# where.exe returns 1 when its patterns match nothing and never prompts.
$fixtures = Join-Path ([IO.Path]::GetTempPath()) 'build_win_test_fixtures'
New-Item -ItemType Directory -Force -Path $fixtures | Out-Null
Copy-Item "$env:SystemRoot\System32\where.exe" (Join-Path $fixtures 'winget.exe') -Force
$stubPath = "$fixtures;C:\Windows\system32;C:\Windows"
# Stand-in ninjas that only report a version, so the 1.12 boundary in the
# progress format can be exercised on a machine whose real ninja is newer.
# A dry run skips the dev shell, so PATH here is what the script sees.
$ninjaPaths = @{}
foreach ($v in @{ old = '1.11.1'; new = '1.12.0' }.GetEnumerator()) {
$d = Join-Path $fixtures "ninja-$($v.Key)"
New-Item -ItemType Directory -Force -Path $d | Out-Null
Set-Content -Path (Join-Path $d 'ninja.bat') -Encoding ascii -Value @('@echo off', "echo $($v.Value)")
$ninjaPaths[$v.Key] = "$d;$env:PATH"
}
# A clang-cl earlier on PATH than the Visual Studio one, which is what the
# compiler used to resolve to. Nothing runs it; the script only locates it.
$clangDir = Join-Path $fixtures 'clang'
New-Item -ItemType Directory -Force -Path $clangDir | Out-Null
Copy-Item "$env:SystemRoot\System32\where.exe" (Join-Path $clangDir 'clang-cl.exe') -Force
$clangOnPath = "$clangDir;$env:PATH"
# ProgramFiles(x86) is where the script looks for vswhere, so an empty one
# stands in for a machine whose Visual Studio has no clang toolset.
$noVs = Join-Path $fixtures 'no-vs'
New-Item -ItemType Directory -Force -Path $noVs | Out-Null
# A build directory that already holds a classic solution, for the case where
# what is on disk disagrees with what the generator would write.
$slnDir = Join-Path $fixtures 'sln'
New-Item -ItemType Directory -Force -Path $slnDir | Out-Null
Set-Content -Path (Join-Path $slnDir 'OrcaSlicer.sln') -Value '' -Encoding ascii
# The pack stamp is checked against real dates, so a locale-dependent parse
# in the script cannot pass by looking date-shaped. Yesterday is accepted too,
# so a run that crosses midnight does not flake.
$dateStamps = @((Get-Date -Format 'yyyyMMdd'), (Get-Date).AddDays(-1).ToString('yyyyMMdd'))
$stampPattern = '_(' + ($dateStamps -join '|') + ')\.zip$'
$cases = @(
'argument handling'
@{ Name = 'no arguments prints help'; Args = @(); DryRun = $false
Contains = @('Usage: build_win.bat [options]', '--clang-cl') }
@{ Name = "--help lists all $($longFlags.Count) options the script defines"; Args = @('--help'); DryRun = $false
Contains = $longFlags }
@{ Name = 'help is grouped and shows usage, examples and environment'; Args = @('--help'); DryRun = $false
Contains = @('Usage: build_win.bat [options]', 'Actions:', 'Build configuration:', 'Toolchain:',
'How much gets rebuilt:', 'Paths and extra arguments:', 'Diagnostics:',
'Examples:', 'Environment:') }
@{ Name = 'the environment section shows what to set'; Args = @('--help'); DryRun = $false
Contains = @('ORCA_DEPS_CMAKE_ARGS', 'ORCA_SLICER_CMAKE_ARGS', 'ORCA_UPDATER_SIG_KEY', 'NINJA_STATUS',
'set ORCA_SLICER_CMAKE_ARGS=-DSLIC3R_PCH=OFF', '(PowerShell)', 'debugscript') }
@{ Name = 'section headers do not widen the flag column'; Args = @('--help'); DryRun = $false
Match = @('^ -d, --deps +Download') }
# Windows Terminal opens at 120 columns and wraps at 120, so 119 is the
# limit. Anyone still on the old conhost gets 80 and will see wrapping.
@{ Name = 'every help line fits a 120 column console'; Args = @('--help'); DryRun = $false
NotMatch = @('^.{120,}$') }
@{ Name = 'an unknown long option is rejected'; Args = @('--nonsense'); ExpectExit = 1
Contains = @('Failed to find arg') }
@{ Name = 'an unknown short option is rejected'; Args = @('-Z'); ExpectExit = 1
Contains = @('Failed to find arg') }
@{ Name = 'a bare argument is rejected'; Args = @('deps'); ExpectExit = 1
Contains = @('Unknown argument') }
@{ Name = 'an unknown architecture is rejected'; Args = @('-d', '--arch', 'sparc'); ExpectExit = 1
Contains = @('Unknown architecture') }
@{ Name = 'a string option without a value is rejected'; Args = @('-d', '--arch'); ExpectExit = 1
Contains = @('requires a value') }
@{ Name = 'short options can be bundled'; Args = @('-dx')
Contains = @('-G "Ninja Multi-Config"', '--target deps') }
'generator and compiler selection'
@{ Name = 'deps default to the Visual Studio generator'; Args = @('-d')
Contains = @('-G "Visual Studio', '-A x64', '--target deps')
NotContains = @('Ninja', 'clang-cl') }
@{ Name = '-x selects Ninja without changing compiler'; Args = @('-d', '-x')
Contains = @('-G "Ninja Multi-Config"')
NotContains = @('clang-cl', '-A x64') }
@{ Name = '-l -x builds with clang-cl under Ninja'; Args = @('-d', '-l', '-x')
Contains = @('-G "Ninja Multi-Config"')
Match = @('-DCMAKE_C_COMPILER="[^"]+/clang-cl\.exe"', '-DCMAKE_CXX_COMPILER="[^"]+/clang-cl\.exe"') }
# PATH order used to decide the compiler. VsDevCmd appends the Visual
# Studio LLVM directory to the end of PATH, so a standalone LLVM already
# there was resolved instead, and an old one failed the compiler check.
@{ Name = 'the compiler is resolved from Visual Studio, not PATH'; Args = @('-s', '-l', '-x')
Env = @{ PATH = $clangOnPath }
Match = @('^Compiler: .*/VC/Tools/Llvm/[^/]+/bin/clang-cl\.exe$') }
@{ Name = 'msvc names no compiler, having resolved none'; Args = @('-s')
NotContains = @('Compiler: ') }
@{ Name = '-l without -x names none either, the toolset picks it'; Args = @('-s', '-l')
NotContains = @('Compiler: ') }
# An empty ProgramFiles(x86) puts vswhere out of reach, which is a machine
# whose Visual Studio has no clang toolset.
@{ Name = 'without a Visual Studio clang the one on PATH is used and named'; Args = @('-s', '-l', '-x')
Env = @{ 'ProgramFiles(x86)' = $noVs; PATH = $clangOnPath }
Contains = @('Visual Studio has no clang-cl')
Match = @('^Compiler: .*/clang/clang-cl\.exe$') }
@{ Name = 'no clang-cl anywhere stops before configuring'; Args = @('-s', '-l', '-x'); ExpectExit = 1
Env = @{ 'ProgramFiles(x86)' = $noVs; PATH = 'C:\Windows\system32;C:\Windows' }
Contains = @('No clang-cl found', '--install-vs ide -l')
NotContains = @('cmake -B') }
# Only a configure passes the compiler to CMake, so an action that does
# not configure resolves none, and cannot start needing one installed.
@{ Name = 'packing resolves no compiler'; Args = @('-p', '-l', '-x')
Contains = @('Packing the dependencies')
NotContains = @('Compiler: ') }
@{ Name = '--no-configure resolves none either'; Args = @('-s', '-l', '-x', '--no-configure')
Contains = @('cmake --build "build-clang"')
NotContains = @('Compiler: ') }
@{ Name = '-l alone uses the ClangCL toolset on the VS generator'; Args = @('-d', '-l')
Contains = @('-G "Visual Studio', '-T ClangCL')
NotContains = @('-DCMAKE_C_COMPILER') }
# --msvc and --msbuild name the defaults, so a caller can be explicit and a
# contradictory pair can be caught rather than silently resolved.
@{ Name = '--msvc is the compiler default spelled out'; Args = @('-d', '--msvc')
Contains = @('-G "Visual Studio', '-A x64')
NotContains = @('clang-cl') }
@{ Name = '--msbuild is the generator default spelled out'; Args = @('-d', '--msbuild')
Contains = @('-G "Visual Studio')
NotContains = @('Ninja') }
@{ Name = '--msvc with -x gives Ninja driving cl'; Args = @('-d', '--msvc', '-x')
Contains = @('-G "Ninja Multi-Config"')
NotContains = @('clang-cl') }
@{ Name = '--msbuild with -l gives the VS generator and the ClangCL toolset'; Args = @('-d', '--msbuild', '-l')
Contains = @('-G "Visual Studio', '-T ClangCL') }
# A developer with a standalone LLVM points at it, and the path is passed
# with forward slashes so CMake cannot read a backslash as an escape.
@{ Name = '--clang-path names the compiler, quoted for its spaces'; Args = @('-d', '-x', '--clang-path', 'C:\Program Files\LLVM\bin\clang-cl.exe')
Contains = @('-DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe"',
'-DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe"') }
@{ Name = '--clang-path beats the Visual Studio clang'; Args = @('-s', '-x', '--clang-path', 'C:\Program Files\LLVM\bin\clang-cl.exe')
Contains = @('Compiler: C:/Program Files/LLVM/bin/clang-cl.exe') }
@{ Name = '--clang-path is a clang request on its own'; Args = @('-d', '-x', '--clang-path', 'C:\Program Files\LLVM\bin\clang-cl.exe')
Contains = @('deps/build-clang') }
@{ Name = '--clang-path needs Ninja to take effect'; Args = @('-d', '--clang-path', 'C:\Program Files\LLVM\bin\clang-cl.exe'); ExpectExit = 1
Contains = @('needs the Ninja generator') }
# `exist` is true for a directory too, and a directory would reach CMake
# as the compiler.
@{ Name = '--clang-path must name the exe, not its folder'; Args = @('-d', '-x', '--clang-path', 'C:\Program Files\LLVM'); ExpectExit = 1
Contains = @('is a directory') }
@{ Name = 'a clang-cl that is not there is caught early'; Args = @('-d', '-x', '--clang-path', 'C:\nope\clang-cl.exe'); ExpectExit = 1
Contains = @('No clang-cl at')
NotContains = @('cmake -S deps') }
@{ Name = '--clang-path contradicting --msvc is rejected'; Args = @('-d', '-x', '--msvc', '--clang-path', 'C:\Program Files\LLVM\bin\clang-cl.exe'); ExpectExit = 1
Contains = @('select different compilers') }
@{ Name = '--clang-cl and --msvc together are rejected'; Args = @('-d', '-l', '--msvc'); ExpectExit = 1
Contains = @('select different compilers') }
@{ Name = '--ninja and --msbuild together are rejected'; Args = @('-d', '-x', '--msbuild'); ExpectExit = 1
Contains = @('select different generators') }
# One option with a value, driven by a table, rather than a flag per
# release. Adding a release should not need a new flag.
@{ Name = '--vs 2019 pins that release and skips autodetect'; Args = @('-d', '--vs', '2019')
Contains = @('-G "Visual Studio 16 2019"')
NotContains = @('Detecting Visual Studio') }
@{ Name = '--vs 2022 pins that release'; Args = @('-d', '--vs', '2022')
Contains = @('-G "Visual Studio 17 2022"') }
@{ Name = '--vs 2026 pins that release'; Args = @('-d', '--vs', '2026')
Contains = @('-G "Visual Studio 18 2026"') }
@{ Name = 'an unknown release is rejected and the known ones listed'; Args = @('-d', '--vs', '2015'); ExpectExit = 1
Contains = @('Unknown Visual Studio release', '2019, 2022, 2026') }
@{ Name = '--vs and --ninja together are rejected'; Args = @('-d', '--vs', '2022', '-x'); ExpectExit = 1
Contains = @('select different generators') }
@{ Name = 'without --vs the release is autodetected'; Args = @('-d')
Contains = @('Detecting Visual Studio') }
'architecture'
@{ Name = 'x64 is the default'; Args = @('-d')
Contains = @('Configuration: Release, x64')
NotContains = @('build-arm64') }
@{ Name = 'arm64 sets the generator platform and deps tree'; Args = @('-d', '--arch', 'arm64')
Contains = @('-A ARM64', 'deps/build-arm64') }
@{ Name = 'the architecture is matched case-insensitively'; Args = @('-d', '--arch', 'ARM64')
Contains = @('-A ARM64', 'deps/build-arm64') }
@{ Name = 'arm64 under Ninja has no -A but keeps the arm64 tree'; Args = @('-d', '--arch', 'arm64', '-x', '-l')
Contains = @('deps/build-clang-arm64')
Match = @('-DCMAKE_C_COMPILER="[^"]+/clang-cl\.exe"')
NotContains = @('-A ') }
'build configurations'
# One option with a value, driven by a table, so Release is named rather
# than being whatever is left when no flag is passed.
@{ Name = 'release is the default'; Args = @('-s')
Contains = @('-DCMAKE_BUILD_TYPE=Release', 'cmake -B "build" ') }
@{ Name = '--config release is the default spelled out'; Args = @('-s', '--config', 'release')
Contains = @('-DCMAKE_BUILD_TYPE=Release', 'cmake -B "build" ') }
@{ Name = '--config debug builds into build-dbg'; Args = @('-s', '--config', 'debug')
Contains = @('-DCMAKE_BUILD_TYPE=Debug', 'cmake -B "build-dbg" ') }
@{ Name = '--config relwithdebinfo builds into build-dbginfo'; Args = @('-s', '--config', 'relwithdebinfo')
Contains = @('-DCMAKE_BUILD_TYPE=RelWithDebInfo', 'cmake -B "build-dbginfo" ') }
@{ Name = '--config minsizerel builds into build-minsize'; Args = @('-s', '--config', 'minsizerel')
Contains = @('-DCMAKE_BUILD_TYPE=MinSizeRel', 'cmake -B "build-minsize" ') }
# Batch variable names are case-insensitive, so the table lookup is too.
@{ Name = 'the configuration name is matched case-insensitively'; Args = @('-s', '--config', 'RelWithDebInfo')
Contains = @('-DCMAKE_BUILD_TYPE=RelWithDebInfo') }
@{ Name = 'an unknown configuration is rejected and the known ones listed'; Args = @('-s', '--config', 'bogus'); ExpectExit = 1
Contains = @('Unknown configuration', 'release, debug, relwithdebinfo, minsizerel') }
# Release, RelWithDebInfo and MinSizeRel all link the /MD dependencies, so
# one tree serves all three. Debug is /MDd and cannot share.
@{ Name = 'minsizerel builds against the release deps'; Args = @('-d', '-s', '--config', 'minsizerel')
Contains = @('cmake -S deps -B "deps/build"', 'cmake -B "build-minsize" ')
NotContains = @('deps/build-minsize') }
@{ Name = 'relwithdebinfo builds against them too'; Args = @('-d', '-s', '-l', '--config', 'relwithdebinfo')
Contains = @('cmake -S deps -B "deps/build-clang"', 'cmake -B "build-dbginfo-clang" ')
NotContains = @('deps/build-dbginfo') }
@{ Name = 'debug keeps a dependency tree of its own'; Args = @('-d', '--config', 'debug')
Contains = @('cmake -S deps -B "deps/build-dbg"') }
# The build tree and the deps tree now have different names, so the
# derivation from the binary directory name cannot work and it is named.
@{ Name = 'a shared deps tree is named outright'; Args = @('-s', '-l', '--config', 'relwithdebinfo')
Match = @('-DDEP_BUILD_DIR="[A-Za-z]:\\.*\\deps\\build-clang"') }
@{ Name = 'configuration and arch combine into build-dbg-arm64'; Args = @('-s', '--config', 'debug', '--arch', 'arm64')
Contains = @('cmake -B "build-dbg-arm64" ') }
'what gets built'
@{ Name = 'the deps target defaults to deps'; Args = @('-d')
Contains = @('--target deps') }
@{ Name = '-t overrides the deps target'; Args = @('-d', '-t', 'dep_Boost')
Contains = @('--target dep_Boost') }
@{ Name = 'unit tests are off unless asked for'; Args = @('-s')
Contains = @('-DBUILD_TESTS=OFF') }
@{ Name = '--tests turns the unit tests on'; Args = @('-s', '--tests')
Contains = @('-DBUILD_TESTS=ON') }
@{ Name = '-a enables ASAN for the slicer'; Args = @('-s', '-a')
Contains = @('-DSLIC3R_ASAN=ON') }
@{ Name = 'the slicer build runs gettext'; Args = @('-s')
Contains = @('run_gettext.bat') }
# tools\7z.exe needs a 7z.dll beside it, which the repo does not carry,
# so the pack falls back to the bsdtar Windows ships. Either is correct;
# what matters is that one is chosen and handed the right names.
@{ Name = '-p packs the deps tree with whichever archiver is usable'; Args = @('-d', '-p')
Match = @('^\+ .*(7z\.exe a|tar\.exe -a -c -f) OrcaSlicer_dep_win-\S+\.zip OrcaSlicer_dep$') }
# The bundle is only good for what built it, so it carries the same three
# axes as the tree. Release x64 on cl keeps the historical plain name.
@{ Name = 'the bundle name carries compiler and deps flavour'; Args = @('-p', '-l', '--config', 'debug', '--arch', 'arm64')
Contains = @('OrcaSlicer_dep_win-ARM64-clang-dbg_') }
@{ Name = 'a relwithdebinfo pack is the release bundle'; Args = @('-p', '--config', 'relwithdebinfo')
Contains = @('OrcaSlicer_dep_win-x64_')
NotContains = @('-dbg', 'dbginfo') }
@{ Name = 'a plain release bundle keeps its old name'; Args = @('-p')
Contains = @('OrcaSlicer_dep_win-x64_')
NotContains = @('-clang', '-Release') }
@{ Name = 'the bundle is stamped with today, not a shuffled date'; Args = @('-p')
Match = @($stampPattern) }
# powershell.exe is not in System32 itself, so a trimmed PATH used to
# leave the stamp empty and the bundle named OrcaSlicer_dep_win-x64_.zip.
@{ Name = 'the bundle is stamped even with a bare PATH'; Args = @('-p')
Env = @{ PATH = 'C:\Windows\system32;C:\Windows' }
Match = @($stampPattern) }
@{ Name = '-p packs without rebuilding'; Args = @('-p')
Match = @('^\+ .*(7z\.exe a|tar\.exe -a -c -f) ')
NotContains = @('cmake -S deps') }
@{ Name = 'deps and slicer build in one invocation'; Args = @('-d', '-s', '-x', '-l')
Contains = @('cmake -S deps', 'cmake -B "build-clang" ') }
'the developer loop'
@{ Name = '--slicer-target builds one target'; Args = @('-s', '--slicer-target', 'libslic3r')
Contains = @('--config Release --target libslic3r') }
@{ Name = '--no-configure skips the slicer configure'; Args = @('-s', '--no-configure')
Contains = @('cmake --build "build"')
NotContains = @('cmake -B "build" ') }
@{ Name = '--no-configure skips the deps configure'; Args = @('-d', '--no-configure')
Contains = @('cmake --build "deps/build"')
NotContains = @('cmake -S deps') }
@{ Name = '--no-gettext skips the translation step'; Args = @('-s', '--no-gettext')
Contains = @('cmake --build "build"')
NotContains = @('run_gettext') }
# Installing copies the whole tree again for a layout only releases need,
# so it is asked for rather than assumed.
@{ Name = 'nothing is installed unless asked'; Args = @('-s')
Contains = @('run_gettext')
NotContains = @('--target install') }
@{ Name = '-i adds the install step'; Args = @('-s', '-i')
Contains = @('--target install') }
# install(TARGETS OrcaSlicer) has no OPTIONAL, so this would fail partway
# through a build instead of before it.
@{ Name = 'installing a tree with no executable is refused'; Args = @('-s', '-i', '--slicer-target', 'glad'); ExpectExit = 1
Contains = @('--install needs the executable')
NotContains = @('cmake --build') }
# Without -s there is no install step, so there is nothing to refuse.
@{ Name = 'the same flags without a slicer build are left alone'; Args = @('-d', '-i', '--slicer-target', 'glad')
Contains = @('cmake -S deps')
NotContains = @('--install needs the executable') }
@{ Name = 'naming the executable target is allowed'; Args = @('-s', '-i', '--slicer-target', 'OrcaSlicer')
Contains = @('--target install') }
# Ninja counts compilers, so -j goes on the command line. MSBuild's -j
# counts projects while /MP still runs one cl per core inside each, so the
# cap goes to CL_MPCount in the environment instead. A dry run can only
# show that no -j is passed.
@{ Name = '-j on Ninja passes -j to cmake'; Args = @('-s', '-x', '-j', '4')
Contains = @('Parallel jobs: 4', '--config Release -j 4') }
@{ Name = '-j on Ninja reaches the deps build'; Args = @('-d', '-x', '-j', '2')
Contains = @('--target deps -j 2') }
@{ Name = '-j on MSBuild does not pass -j, which would count projects'; Args = @('-s', '-j', '4')
Contains = @('Parallel jobs: 4')
NotContains = @('-j 4') }
@{ Name = '-j on MSBuild leaves the deps build without -j too'; Args = @('-d', '-j', '2')
Contains = @('--target deps')
NotContains = @('-j 2') }
@{ Name = 'no -j means no job limit'; Args = @('-s')
NotContains = @('parallel jobs', '-j ') }
@{ Name = 'a non-numeric -j is rejected'; Args = @('-s', '-j', 'abc'); ExpectExit = 1
Contains = @('Invalid --jobs value') }
@{ Name = 'a zero -j is rejected'; Args = @('-s', '-j', '0'); ExpectExit = 1
Contains = @('Invalid --jobs value') }
@{ Name = 'the loop options combine into a single build command'; Args = @('-s', '-x', '--no-configure', '--no-gettext', '--slicer-target', 'libslic3r_tests', '-j', '8')
Contains = @('--target libslic3r_tests -j 8')
NotContains = @('cmake -B "build" ', 'run_gettext', '--target install') }
'one tree per configuration, compiler and architecture'
# CMake resets its cache and carries on when the compiler changes under an
# existing tree, leaving stamps from the old toolchain. Give each its own.
@{ Name = 'clang builds land in their own trees'; Args = @('-d', '-s', '-l')
Contains = @('cmake -S deps -B "deps/build-clang"', 'cmake -B "build-clang" ') }
@{ Name = 'MSVC keeps the historical plain names'; Args = @('-d', '-s', '--msvc')
Contains = @('cmake -S deps -B "deps/build"', 'cmake -B "build" ')
NotContains = @('build-clang') }
@{ Name = 'configuration, compiler and arch all name the tree'; Args = @('-d', '-s', '-l', '--config', 'debug', '--arch', 'arm64')
Contains = @('cmake -S deps -B "deps/build-dbg-clang-arm64"', 'cmake -B "build-dbg-clang-arm64" ') }
'locating the dependency tree'
# Without --deps-dir nothing is passed, so CMakeLists derives the path from
# the binary directory name as it always has.
@{ Name = 'the deps path is left to CMake by default'; Args = @('-s')
NotContains = @('-DDEP_BUILD_DIR') }
@{ Name = '--deps-dir tells the slicer where the deps are'; Args = @('-s', '--deps-dir', 'D:\orca-deps')
Contains = @('-DDEP_BUILD_DIR="D:\orca-deps"') }
@{ Name = '--deps-dir also redirects the deps build'; Args = @('-d', '--deps-dir', 'D:\orca-deps')
Contains = @('cmake -S deps -B "D:\orca-deps"', 'cmake --build "D:\orca-deps"')
NotContains = @('deps/build') }
# Paths are quoted throughout, so one with spaces survives the whole run.
@{ Name = 'a deps path with spaces survives'; Args = @('-d', '-s', '--deps-dir', 'C:\Program Files\deps')
Contains = @('-B "C:\Program Files\deps"', '-DDEP_BUILD_DIR="C:\Program Files\deps"') }
@{ Name = '--deps-dir also redirects the pack'; Args = @('-p', '--deps-dir', 'D:\orca-deps')
Contains = @('cd /d "D:\orca-deps"') }
@{ Name = 'pack uses an absolute default path'; Args = @('-p')
Match = @('^\+ cd /d "[A-Za-z]:\\.*\\deps\\build"') }
# CMakeLists derives DEP_BUILD_DIR from the build directory's name, so
# pointing the build elsewhere has to name the deps tree outright.
@{ Name = '--build-dir moves the slicer build'; Args = @('-s', '-l', '-x', '--build-dir', 'out/build/x64-clang')
Contains = @('cmake -B "out/build/x64-clang" ') }
@{ Name = '--build-dir still names the deps tree'; Args = @('-s', '-l', '-x', '--build-dir', 'out/build/x64-clang')
Match = @('-DDEP_BUILD_DIR="[A-Za-z]:\\.*\\deps\\build-clang"') }
@{ Name = '--deps-dir wins over the derived tree'; Args = @('-s', '--build-dir', 'out/build/x64-clang', '--deps-dir', 'D:\orca-deps')
Contains = @('-DDEP_BUILD_DIR="D:\orca-deps"') }
# A value ending in a backslash escapes the closing quote it is spliced
# into, so cmake would receive D:\tree" and swallow the next argument.
@{ Name = 'a trailing backslash is trimmed off a path'; Args = @('-s', '--build-dir', 'D:\tree\')
Contains = @('cmake -B "D:\tree" ') }
@{ Name = 'a build directory with spaces survives'; Args = @('-s', '--build-dir', 'C:\Program Files\tree')
Contains = @('cmake -B "C:\Program Files\tree" ') }
@{ Name = 'the default build names no deps tree'; Args = @('-s')
NotContains = @('DEP_BUILD_DIR') }
'saying what mode and toolchain are in play'
@{ Name = 'a dry run announces itself before the first command'; Args = @('-u')
First = '^Dry run: printing commands without running them\.$' }
@{ Name = 'the announcement leads even a full build'; Args = @('-ds')
First = '^Dry run: ' }
# Autodetect only runs for the Visual Studio generator, and only when no
# release was pinned, so it needs a Visual Studio on the machine.
@{ Name = 'the detected Visual Studio names its release year'; Args = @('-s')
Match = @('^Detected Visual Studio \d+ \(20\d\d\)$') }
@{ Name = 'pinning a release skips detection'; Args = @('-s', '--vs', '2022')
NotContains = @('Detected Visual Studio') }
'an action has to be asked for'
# Neither can happen without building the slicer, so they stand alone the
# way --install-vs does.
@{ Name = '--run-tests is an action on its own'; Args = @('--run-tests')
Contains = @('-DBUILD_TESTS=ON', 'ctest --test-dir')
NotContains = @('Nothing to do') }
@{ Name = '--tests is too'; Args = @('--tests')
Contains = @('-DBUILD_TESTS=ON')
NotContains = @('Nothing to do', 'ctest --test-dir') }
# Naming an action means that action, not a fuller build.
@{ Name = 'they do not add a slicer build to one already asked for'; Args = @('-d', '--tests')
Contains = @('cmake -S deps')
NotContains = @('cmake -B "build"') }
@{ Name = 'shaping options alone are not an action'; Args = @('--config', 'debug'); ExpectExit = 1
Contains = @('Nothing to do.')
NotContains = @('Build completed') }
@{ Name = '-j alone is not an action either'; Args = @('-j', '4'); ExpectExit = 1
Contains = @('Nothing to do.') }
@{ Name = '--install-vs counts as an action on its own'; Args = @('--install-vs', 'ide')
NotContains = @('Nothing to do.') }
'diagnostics'
@{ Name = '-v asks cmake for the command lines'; Args = @('-s', '-v')
Contains = @('--verbose') }
@{ Name = '-v applies to the deps build too'; Args = @('-d', '-v')
Contains = @('--target deps', '--verbose') }
# ninja's own default shows neither a percentage nor a time. %w and %W
# need ninja 1.12, and an unknown placeholder is fatal, so the format is
# chosen from the version rather than hardcoded.
@{ Name = '-v names the ninja progress format'; Args = @('-s', '-x', '-v')
Match = @('^Ninja progress format: \[.*%p.*\]') }
@{ Name = 'a ninja older than 1.12 gets the format it understands'; Args = @('-s', '-x', '-v')
Env = @{ PATH = $ninjaPaths['old'] }
Contains = @('Ninja progress format: [%s/%t %p :: %e]') }
@{ Name = 'ninja 1.12 gets elapsed and remaining'; Args = @('-s', '-x', '-v')
Env = @{ PATH = $ninjaPaths['new'] }
Contains = @('Ninja progress format: [%f/%t %p :: %w / %W]') }
@{ Name = 'a format you set yourself is left alone'; Args = @('-s', '-x', '-v')
Env = @{ NINJA_STATUS = '[mine] ' }
Contains = @('Ninja progress format: [mine]') }
@{ Name = 'MSBuild builds mention no ninja format'; Args = @('-s', '-v')
NotContains = @('Ninja progress format') }
@{ Name = 'builds are quiet without -v'; Args = @('-s')
NotContains = @('--verbose') }
'installing prerequisites'
# -u installs CMake, Perl and Git. Visual Studio is a separate ask, because
# most people already have it, and which one you want is a real choice.
@{ Name = '-u alone installs no Visual Studio'; Args = @('-u')
Contains = @('Kitware.CMake', 'StrawberryPerl', 'Git.Git')
NotContains = @('Microsoft.VisualStudio') }
# Asking for Visual Studio is asking to install prerequisites, so it does
# not also need -u; requiring both meant --install-vs alone did nothing.
@{ Name = '--install-vs works without -u'; Args = @('--install-vs', 'ide')
Contains = @('id=Microsoft.VisualStudio.Community', 'Kitware.CMake', 'Git.Git') }
@{ Name = '--install-vs buildtools asks for the build tools'; Args = @('-u', '--install-vs', 'buildtools')
Contains = @('id=Microsoft.VisualStudio.BuildTools')
NotContains = @('VC.CoreIde') }
@{ Name = '--install-vs ide asks for Community with the IDE component'; Args = @('-u', '--install-vs', 'ide')
Contains = @('id=Microsoft.VisualStudio.Community', 'VC.CoreIde') }
@{ Name = 'an unknown edition is rejected and the known ones listed'; Args = @('-u', '--install-vs', 'bogus'); ExpectExit = 1
Contains = @('Unknown Visual Studio edition', 'buildtools, ide') }
@{ Name = '--vs picks which release to install'; Args = @('-u', '--vs', '2022', '--install-vs', 'buildtools')
Contains = @('id=Microsoft.VisualStudio.2022.BuildTools') }
@{ Name = '-l adds the clang compiler and the MSBuild toolset'; Args = @('-u', '--install-vs', 'buildtools', '-l')
Contains = @('VC.Llvm.Clang ', 'VC.Llvm.ClangToolset') }
# CMake 4.x breaks Boost.Context on ARM64, so the installer pins 3.31 there
# and leaves x64 on the current release.
@{ Name = 'CMake is pinned to 3.31 when installing for arm64'; Args = @('-u', '--arch', 'arm64')
Contains = @('Kitware.CMake --version 3.31.8') }
@{ Name = 'CMake is not pinned for x64'; Args = @('-u', '--arch', 'x64')
Contains = @('Kitware.CMake')
NotContains = @('--version') }
@{ Name = 'installing for arm64 asks for the ARM64 toolset'; Args = @('--install-vs', 'buildtools', '--arch', 'arm64')
Contains = @('Microsoft.VisualStudio.Component.VC.Tools.ARM64') }
@{ Name = 'an x64 install asks only for the x64 toolset'; Args = @('--install-vs', 'buildtools')
Contains = @('Microsoft.VisualStudio.Component.VC.Tools.x86.x64')
NotContains = @('VC.Tools.ARM64') }
'dry run changes nothing'
# clean_tree resolves the path before removing it, so the line echoed is
# absolute. It is the last thing printed before a directory goes.
@{ Name = '-c echoes the deps rmdir rather than running it'; Args = @('-d', '-c')
Match = @('^\+ rmdir /S /Q "[A-Za-z]:\\.*\\deps\\build"$') }
@{ Name = '-c removes the tree --deps-dir named, not the default one'; Args = @('-d', '-c', '--deps-dir', 'D:\orca-deps')
Match = @('^\+ rmdir /S /Q "D:\\orca-deps"$')
NotContains = @('\deps\build') }
@{ Name = '-c echoes the slicer rmdir rather than running it'; Args = @('-s', '-c')
Match = @('^\+ rmdir /S /Q "[A-Za-z]:\\.*\\build"$') }
@{ Name = 'cleaning a slicer build leaves the deps tree alone'; Args = @('-s', '-c')
NotMatch = @('rmdir.*\\deps\\') }
@{ Name = 'cleaning both builds removes both trees'; Args = @('-d', '-s', '-c')
Match = @('^\+ rmdir /S /Q "[A-Za-z]:\\[^"]*\\deps\\build"$',
'^\+ rmdir /S /Q "[A-Za-z]:\\(?!.*\\deps\\)[^"]*\\build"$') }
# Nothing below should be reachable. They are a floor under a bug that
# hands clean_tree a path far shorter than it looks.
@{ Name = 'a configuration whose lookup comes back empty is rejected'; Args = @('-d', '-c', '--config', 'release '); ExpectExit = 1
Contains = @('Unknown configuration')
NotContains = @('rmdir') }
@{ Name = 'a drive root is refused'; Args = @('-d', '-c', '--deps-dir', 'D:\'); ExpectExit = 1
Contains = @('that is a drive root')
NotContains = @('+ rmdir') }
@{ Name = 'the repository itself is refused'; Args = @('-d', '-c', '--deps-dir', '.'); ExpectExit = 1
Contains = @('that is the repository itself')
NotContains = @('+ rmdir') }
@{ Name = '-k echoes the taskkills rather than running them'; Args = @('-k')
Contains = @('+ taskkill /F /IM MSBuild.exe', '+ taskkill /F /IM cl.exe') }
@{ Name = '-k also covers the Ninja toolchain'; Args = @('-k')
Contains = @('+ taskkill /F /IM ninja.exe', '+ taskkill /F /IM clang-cl.exe') }
@{ Name = '-k announces the dry run like every other action'; Args = @('-k')
First = '^Dry run: ' }
@{ Name = '-u echoes the winget installs rather than running them'; Args = @('-u')
Contains = @('+ winget install', 'Kitware.CMake')
NotContains = @('cmake -S deps') }
# Not a dry run: winget is a stub that fails, so nothing is installed.
@{ Name = 'a failed install is reported, not claimed as success'; Args = @('-u')
DryRun = $false; ExpectExit = 1
Env = @{ PATH = $stubPath }
Contains = @('Failed to install:', 'CMake', 'Perl', 'Git')
NotContains = @('Installed the prerequisites') }
# The reason belongs inside the frame. Every command this path ran had
# already succeeded, so naming the last one would point at the wrong thing.
@{ Name = 'a failed install names the reason, not the last command'; Args = @('-u')
DryRun = $false; ExpectExit = 1
Env = @{ PATH = $stubPath }
Contains = @('####', 'Failed to install:')
NotContains = @('Failed: winget') }
@{ Name = 'a dry run does not claim the install happened'; Args = @('-u')
Contains = @('Dry run: nothing was installed.')
NotContains = @('are in place') }
@{ Name = '-u with a build defers that build, not a fuller one'; Args = @('-u', '-d')
Contains = @('build_win.bat -d')
NotContains = @('build_win.bat -ds') }
@{ Name = '-u on its own suggests the whole build'; Args = @('-u')
Contains = @('build_win.bat -ds') }
@{ Name = 'a dry run only echoes, it never configures'; Args = @('-d')
Contains = @('+ cmake')
NotContains = @('CMake Error', 'Configuring done') }
'extra configure arguments'
# --deps-args and --slicer-args are declared "rawstring", so a value that
# looks like an option is allowed through. Plain string options still
# reject one, since there it almost always means a forgotten value.
@{ Name = '--deps-args reaches the deps configure'; Args = @('-d', '--deps-args', 'FOO')
Contains = @('-DCMAKE_BUILD_TYPE=Release FOO') }
@{ Name = '--slicer-args reaches the slicer configure'; Args = @('-s', '--slicer-args', 'BAZ')
Contains = @('BAZ') }
@{ Name = '--deps-args accepts a value that starts with a dash'; Args = @('-d', '--deps-args', '-DFOO')
Contains = @('-DFOO') }
@{ Name = 'a plain string option still rejects a dash-leading value'; Args = @('-d', '--deps-target', '--tests'); ExpectExit = 1
Contains = @('looks like another option') }
# cmd splits arguments on "=" as well as spaces, so an unquoted -D reaches
# the script as two arguments however it was invoked.
@{ Name = 'an unquoted value containing = is rejected'; Args = @('-d', '--deps-args', 'FOO=BAR'); ExpectExit = 1
Contains = @('Unknown argument') }
# The environment overrides exist for that reason; nothing tokenises them.
@{ Name = 'ORCA_DEPS_CMAKE_ARGS reaches the deps configure'; Args = @('-d')
Env = @{ ORCA_DEPS_CMAKE_ARGS = '-DFOO=BAR -DBAZ=QUX' }
Contains = @('-DFOO=BAR -DBAZ=QUX') }
@{ Name = 'ORCA_SLICER_CMAKE_ARGS reaches the slicer configure'; Args = @('-s')
Env = @{ ORCA_SLICER_CMAKE_ARGS = '-DWANTED=1' }
Contains = @('-DWANTED=1') }
@{ Name = 'the deps override does not leak into the slicer configure'; Args = @('-s')
Env = @{ ORCA_DEPS_CMAKE_ARGS = '-DDEPSONLY=1' }
NotContains = @('-DDEPSONLY=1') }
@{ Name = 'the help points at the environment for a spaced argument'; Args = @('--help'); DryRun = $false
Contains = @('Neither form supports a value containing an ampersand') }
@{ Name = 'the help lists the environment overrides'; Args = @('--help'); DryRun = $false
Contains = @('Environment:', 'ORCA_DEPS_CMAKE_ARGS', 'ORCA_SLICER_CMAKE_ARGS') }
'running the unit tests'
@{ Name = '--tests builds them without running them'; Args = @('-s', '--tests')
Contains = @('-DBUILD_TESTS=ON')
NotContains = @('ctest') }
@{ Name = '--run-tests builds and runs them'; Args = @('-s', '--run-tests')
Contains = @('-DBUILD_TESTS=ON', 'ctest --test-dir "build/tests" -C Release --output-on-failure') }
@{ Name = '--run-tests follows the build type and directory'; Args = @('-s', '--run-tests', '--config', 'debug')
Contains = @('ctest --test-dir "build-dbg/tests" -C Debug') }
@{ Name = 'no tests are run by default'; Args = @('-s')
NotContains = @('ctest') }
'failures are reported'
@{ Name = 'a missing cmake is caught and exits non-zero'; Args = @('-d'); ExpectExit = 1
Env = @{ PATH = 'C:\Windows\system32;C:\Windows' }
Contains = @('CMake was not found') }
@{ Name = 'packing does not need cmake, only an archiver'; Args = @('-p')
Env = @{ PATH = 'C:\Windows\system32;C:\Windows' }
NotContains = @('CMake was not found') }
# Not a dry run: a cd to a missing drive is a real failure inside a
# parenthesised block, which is where exit /b silently loses its code.
# Without the jump to :die this exits 0 and a failed build reads as a
# successful one.
@{ Name = 'a failure inside a build block reaches the caller'; Args = @('-p', '--deps-dir', 'Z:\nope')
DryRun = $false; ExpectExit = 1
Contains = @('Exit code 1.', '####')
NotContains = @('Build completed', 'Try') }
# The retry follows the stage that failed. Offering it for the whole run
# would clean a dependency tree that was not at fault.
@{ Name = 'a failure names a retry scoped to the stage that failed'; Args = @('-d', '-s', '--deps-dir', 'Z:\nope')
DryRun = $false; ExpectExit = 1
Contains = @('build_win.bat -d --deps-dir "Z:\nope" -c')
NotContains = @('build_win.bat -ds') }
# CMake's own failure here is hundreds of lines about package resolution.
@{ Name = 'a missing dependency tree is named, not left to CMake'; Args = @('-s', '--deps-dir', 'Z:\nope')
DryRun = $false; ExpectExit = 1
Contains = @('Dependencies not found at', 'Build them with build_win.bat -d --deps-dir "Z:\nope"')
NotContains = @('cmake -B', 'Try') }
# Every other suggestion carries the flags that reproduce the run; a bare
# -d would point at the MSVC tree after a clang build.
@{ Name = 'the missing-deps hint names this toolchain'; Args = @('-s', '-l', '-x', '--deps-dir', 'deps/not-built')
DryRun = $false; ExpectExit = 1
Contains = @('Build them with build_win.bat -d -l -x --deps-dir "deps/not-built"')
NotExists = @('deps/not-built') }
# A dry run configures nothing, so it must not depend on which trees happen
# to exist on the machine running the suite.
@{ Name = 'a dry run does not check for the deps tree'; Args = @('-s', '--deps-dir', 'Z:\nope')
Contains = @('cmake -B "build"')
NotContains = @('Dependencies not found') }
# -d is about to build them, so there is nothing to report yet.
@{ Name = 'building the deps in the same run skips the check'; Args = @('-d', '-s', '--deps-dir', 'Z:\nope')
DryRun = $false; ExpectExit = 1
NotContains = @('Dependencies not found') }
# A configure fails before any compiler runs, so -v has nothing to show.
@{ Name = 'a configure failure is not offered a verbose rebuild'; Args = @('-d', '--deps-dir', 'Z:\nope')
DryRun = $false; ExpectExit = 1
Contains = @('-c discard that tree')
NotContains = @('-v show the failing') }
# A bare --no-configure succeeds on a machine that already has a usable
# build tree, so name one that cannot exist instead.
@{ Name = 'a build failure is'; Args = @('-s', '--no-configure', '--build-dir', 'deps/no-such-tree')
DryRun = $false; ExpectExit = 1
Contains = @('-v show the failing')
NotExists = @('deps/no-such-tree') }
# --build-dir names the slicer tree, which a deps failure has nothing to do
# with. --deps-dir stays, because that is the tree that failed.
@{ Name = 'a deps retry leaves out the slicer tree'; Args = @('-d', '-s', '--deps-dir', 'Z:\nope', '--build-dir', 'D:\b')
DryRun = $false; ExpectExit = 1
Contains = @('build_win.bat -d --deps-dir "Z:\nope" -c')
NotContains = @('--build-dir') }
@{ Name = 'an unknown configuration stays a single line'; Args = @('-s', '--config', 'bogus'); ExpectExit = 1
Contains = @('Unknown configuration')
NotContains = @('####', 'Try') }
@{ Name = 'a bad --jobs value is not framed either'; Args = @('-s', '-j', 'x'); ExpectExit = 1
Contains = @('Invalid --jobs value')
NotContains = @('####') }
'the summary says what to do next'
# Every suggested command carries the flags that reproduce this run.
@{ Name = 'a deps build points at the slicer build'; Args = @('-d', '-l')
Contains = @('Build the slicer build_win.bat -s -l')
NotContains = @('Run it') }
@{ Name = 'a ninja slicer build offers a single target'; Args = @('-s', '-l', '-x')
Contains = @('Rebuild after edits build_win.bat -s -l -x --no-configure', 'Rebuild one target')
NotContains = @('Solution', 'Open in Visual Studio') }
@{ Name = 'a visual studio build names the solution instead'; Args = @('-s')
Contains = @('Solution ', 'Open in Visual Studio build\OrcaSlicer.sln',
'Rebuild after edits build_win.bat -s --no-configure')
NotContains = @('Rebuild one target') }
@{ Name = 'the configuration and architecture come back'; Args = @('-s', '-l', '-x', '--config', 'debug', '--arch', 'arm64')
Contains = @('build_win.bat -s -l -x --config debug --arch arm64 --no-configure') }
@{ Name = 'the tree overrides come back quoted'; Args = @('-s', '--deps-dir', 'D:\d', '--build-dir', 'D:\b')
Contains = @('--deps-dir "D:\d" --build-dir "D:\b"') }
@{ Name = 'a pinned visual studio release comes back'; Args = @('-s', '--vs', '2022')
Contains = @('build_win.bat -s --vs 2022 --no-configure') }
# Autodetection writes what it found into the same variable, so a detected
# release must not come back as though it had been asked for.
@{ Name = 'a detected release does not'; Args = @('-s')
NotContains = @('--vs') }
@{ Name = 'the binary is named in the build tree it was built in'; Args = @('-s', '-l', '-x')
Contains = @('build-clang\src\Release\orca-slicer.exe') }
@{ Name = 'installing names the installed copy instead'; Args = @('-s', '-l', '-x', '-i')
Contains = @('build-clang\OrcaSlicer\orca-slicer.exe') }
# -i changes where the binary lands, so a rebuild that dropped it would
# leave the path above pointing at a stale copy.
@{ Name = 'the rebuild suggestion keeps -i'; Args = @('-s', '-l', '-x', '-i')
Contains = @('Rebuild after edits build_win.bat -s -l -x -i --no-configure') }
# A deps retry has no install step to repeat.
@{ Name = 'a deps retry drops it'; Args = @('-d', '-s', '-i', '--deps-dir', 'Z:\nope')
DryRun = $false; ExpectExit = 1
Contains = @('build_win.bat -d --deps-dir "Z:\nope" -c')
NotContains = @('-d -i') }
# Naming a target builds it and its dependencies, not its dependents, so
# the binary on disk is whatever the last full build left there.
@{ Name = 'a single-target build does not claim the whole binary'; Args = @('-s', '-l', '-x', '--slicer-target', 'glad')
Contains = @('Target glad', 'Relink the binary build_win.bat -s -l -x --no-configure')
NotContains = @('Run it', 'orca-slicer.exe', 'Rebuild after edits') }
# The executable has a target of its own, and naming that one does relink.
@{ Name = 'naming the executable target still claims the binary'; Args = @('-s', '-l', '-x', '--slicer-target', 'OrcaSlicer')
Contains = @('Run it', 'orca-slicer.exe', 'Rebuild after edits')
NotContains = @('Target OrcaSlicer', 'Relink the binary') }
@{ Name = '--run-tests offers the ctest line'; Args = @('-s', '-l', '-x', '--run-tests')
Contains = @('Re-run the tests ctest --test-dir build-clang/tests -C Release') }
@{ Name = 'packing names the bundle and how to use it'; Args = @('-p', '-l')
Contains = @('Bundle ', 'Share the bundle') }
# The line supplies its own tree, so the one this run used must not ride
# along and contradict it.
@{ Name = 'the bundle line names one tree, not two'; Args = @('-s', '-p', '-l', '-x', '--deps-dir', 'D:\shared')
Contains = @('then build_win.bat -s -l -x --deps-dir <path>')
NotContains = @('--deps-dir "D:\shared" --deps-dir') }
@{ Name = 'installing prerequisites suggests the build that follows'; Args = @('-u', '-l')
Contains = @('Restart this shell', 'build_win.bat -ds -l')
NotContains = @('Run it') }
# Everything below the header line is worked out the same way in either
# run, which is why a dry run can cover it.
@{ Name = 'a dry run does not claim a build happened'; Args = @('-s', '-l', '-x')
Contains = @('Dry run: nothing was built.')
NotContains = @('Build completed in') }
# --no-configure is the iteration loop and still gets the block; four
# lines after a rebuild is not enough to be worth suppressing.
@{ Name = '--no-configure still gets the summary'; Args = @('-s', '-l', '-x', '--no-configure')
Contains = @('Next', 'Rebuild after edits') }
'pointing at the solution'
# The extension follows the generator, so these two pin the release and a
# build directory that cannot already hold a solution of either kind.
@{ Name = 'the 2026 generator gets the XML solution'; Args = @('-s', '--vs', '2026', '--build-dir', 'D:\tree')
Contains = @('Solution D:\tree\OrcaSlicer.slnx', 'Open in Visual Studio D:\tree\OrcaSlicer.slnx') }
@{ Name = 'the releases before it get the classic one'; Args = @('-s', '--vs', '2022', '--build-dir', 'D:\tree')
Contains = @('Solution D:\tree\OrcaSlicer.sln', 'Open in Visual Studio D:\tree\OrcaSlicer.sln') }
@{ Name = 'a solution already on disk wins over the generator'; Args = @('-s', '--vs', '2026', '--build-dir', $slnDir)
Match = @('^ Solution .*\\OrcaSlicer\.sln$') }
# Extension-agnostic from here: these cases are about the directory, and
# the release is whatever is installed.
@{ Name = 'the VS generator says where the solution is'; Args = @('-s')
Match = @('^ Solution .*\\build\\OrcaSlicer\.slnx?$') }
@{ Name = 'the solution path follows the configuration'; Args = @('-s', '--config', 'debug')
Match = @('^ Solution .*\\build-dbg\\OrcaSlicer\.slnx?$') }
@{ Name = 'the solution line survives an install'; Args = @('-s', '-i')
Contains = @(' Solution ') }
# The path is resolved, not pasted onto the repository root, so it is
# right whether --build-dir came absolute or with forward slashes.
@{ Name = 'a moved build still prints one real path'; Args = @('-s', '--build-dir', 'out/build/x64-clang')
Match = @('^ Solution [A-Za-z]:\\[^/]+\\OrcaSlicer\.slnx?$') }
@{ Name = 'an absolute --build-dir is not glued onto the repo root'; Args = @('-s', '--build-dir', 'D:\tree')
Match = @('^ Solution D:\\tree\\OrcaSlicer\.slnx?$') }
)
function Invoke-BuildScript {
param([string[]] $Arguments, [hashtable] $Environment)
$saved = @{}
if ($Environment) {
foreach ($key in $Environment.Keys) {
$saved[$key] = [Environment]::GetEnvironmentVariable($key)
Set-Item -Path "env:$key" -Value $Environment[$key]
}
}
try {
# 'Stop' turns a native command's stderr into a terminating error, and
# a case that exercises a real failure writes to stderr. Let the output
# through and judge the run by its exit code instead. The assignment is
# scoped to this function, so the rest of the suite keeps 'Stop'.
$ErrorActionPreference = 'Continue'
if ($Arguments.Count -eq 0) {
$out = & $Script 2>&1 | Out-String
} else {
$out = & $Script @Arguments 2>&1 | Out-String
}
return [pscustomobject]@{ Output = $out; Exit = $LASTEXITCODE }
} finally {
foreach ($key in $saved.Keys) {
if ($null -eq $saved[$key]) { Remove-Item -Path "env:$key" -ErrorAction SilentlyContinue }
else { Set-Item -Path "env:$key" -Value $saved[$key] }
}
}
}
$knownFields = @(
'Name', 'Args', 'ExpectExit', 'DryRun', 'First', 'Env',
'Contains', 'NotContains', 'Match', 'NotMatch', 'NotExists'
)
function Test-Case {
param([hashtable] $Case)
# Read fields with the indexer, not dot notation. A hashtable exposes its
# own members too, so $Case.Contains returns the Contains *method* whenever
# the case has no key by that name.
$argv = @($Case['Args'])
if (-not $Case.ContainsKey('DryRun') -or $Case['DryRun']) { $argv += '--dry-run' }
$expect = 0
if ($Case.ContainsKey('ExpectExit')) { $expect = $Case['ExpectExit'] }
$result = Invoke-BuildScript -Arguments $argv -Environment $Case['Env']
$problems = @()
# A misspelled field is silently ignored by the checks below, which
# leaves the case asserting nothing at all and passing.
foreach ($field in $Case.Keys) {
if ($knownFields -notcontains $field) { $problems += "unknown field '$field'" }
}
if ($result.Exit -ne $expect) { $problems += "exit $($result.Exit), expected $expect" }
foreach ($needle in $Case['Contains']) {
if (-not $result.Output.Contains($needle)) { $problems += "missing '$needle'" }
}
foreach ($needle in $Case['NotContains']) {
if ($result.Output.Contains($needle)) { $problems += "unexpected '$needle'" }
}
$lines = $result.Output -split "`r?`n"
if ($Case['First'] -and $lines[0] -notmatch $Case['First']) {
$problems += "first line was '$($lines[0])'"
}
foreach ($pattern in $Case['Match']) {
if (@($lines | Where-Object { $_ -match $pattern }).Count -eq 0) {
$problems += "no line matching /$pattern/"
}
}
foreach ($pattern in $Case['NotMatch']) {
foreach ($line in @($lines | Where-Object { $_ -match $pattern })) {
$problems += "line matches /$pattern/: $line"
}
}
# Output cannot show what a run did not create.
foreach ($path in $Case['NotExists']) {
$full = Join-Path (Split-Path -Parent $Script) $path
if (Test-Path $full) {
$problems += "created '$path'"
}
}
return ,$problems
}
$pass = 0
$failed = @()
# Held back so a filtered run does not print headings for groups it skipped.
$heading = $null
foreach ($case in $cases) {
if ($case -is [string]) {
$heading = $case
continue
}
if ($Name -and $case['Name'] -notmatch $Name) { continue }
if ($heading) {
Write-Host ''
Write-Host $heading -ForegroundColor Cyan
$heading = $null
}
$problems = Test-Case -Case $case
if ($problems.Count -eq 0) {
$pass++
Write-Host (' ok ' + $case['Name'])
} else {
$failed += $case['Name']
Write-Host (' FAIL ' + $case['Name']) -ForegroundColor Red
foreach ($problem in $problems) { Write-Host (' ' + $problem) -ForegroundColor Red }
Write-Host (' args: ' + (@($case['Args']) -join ' '))
}
}
Remove-Item -Recurse -Force $fixtures -ErrorAction SilentlyContinue
Write-Host ''
# A pattern that matched nothing has proved nothing, so do not report it as
# a clean run.
if ($Name -and $pass -eq 0 -and $failed.Count -eq 0) {
Write-Host "no case matched /$Name/" -ForegroundColor Red
exit 1
}
Write-Host "$pass passed, $($failed.Count) failed"
if ($failed.Count -gt 0) {
foreach ($name in $failed) { Write-Host " failed: $name" -ForegroundColor Red }
exit 1
}
exit 0
+70 -16
View File
@@ -1793,8 +1793,9 @@ int CLI::run(int argc, char **argv)
old_printable_area = config.option<ConfigOptionPoints>("printable_area", true)->values; old_printable_area = config.option<ConfigOptionPoints>("printable_area", true)->values;
old_exclude_area = config.option<ConfigOptionPoints>("bed_exclude_area", true)->values; old_exclude_area = config.option<ConfigOptionPoints>("bed_exclude_area", true)->values;
if (old_printable_area.size() >= 4) { if (old_printable_area.size() >= 4) {
old_printable_width = (int)(old_printable_area[2].x() - old_printable_area[0].x()); BoundingBoxf old_printable_bbox(old_printable_area);
old_printable_depth = (int)(old_printable_area[2].y() - old_printable_area[0].y()); old_printable_width = static_cast<int>(old_printable_bbox.size().x());
old_printable_depth = static_cast<int>(old_printable_bbox.size().y());
} }
old_printable_height = (int)(config.opt_float("printable_height")); old_printable_height = (int)(config.opt_float("printable_height"));
@@ -1969,7 +1970,7 @@ int CLI::run(int argc, char **argv)
} }
} }
auto load_config_file = [config_substitution_rule](const std::string& file, DynamicPrintConfig& config, std::string& config_type, auto load_config_file = [](const std::string& file, DynamicPrintConfig& config, std::string& config_type,
std::string& config_name, std::string& filament_id, std::string& config_from) { std::string& config_name, std::string& filament_id, std::string& config_from) {
if (! boost::filesystem::exists(file)) { if (! boost::filesystem::exists(file)) {
boost::nowide::cerr << __FUNCTION__<< ": can not find setting file: " << file << std::endl; boost::nowide::cerr << __FUNCTION__<< ": can not find setting file: " << file << std::endl;
@@ -2343,8 +2344,9 @@ int CLI::run(int argc, char **argv)
Pointfs orig_printable_area; Pointfs orig_printable_area;
orig_printable_area = config.option<ConfigOptionPoints>("printable_area", true)->values; orig_printable_area = config.option<ConfigOptionPoints>("printable_area", true)->values;
if (orig_printable_area.size() >= 4) { if (orig_printable_area.size() >= 4) {
orig_printable_width = (int)(orig_printable_area[2].x() - orig_printable_area[0].x()); BoundingBoxf orig_printable_bbox(orig_printable_area);
orig_printable_depth = (int)(orig_printable_area[2].y() - orig_printable_area[0].y()); orig_printable_width = static_cast<int>(orig_printable_bbox.size().x());
orig_printable_depth = static_cast<int>(orig_printable_bbox.size().y());
} }
orig_printable_height = (int)(config.opt_float("printable_height")); orig_printable_height = (int)(config.opt_float("printable_height"));
BOOST_LOG_TRIVIAL(info) << __FUNCTION__<< boost::format(":%1%, check printable size: old_printable_width=%2%, orig_printable_width=%3%, old_printable_depth=%4%, orig_printable_depth=%5%, old_printable_height=%6%, orig_printable_height=%7%") BOOST_LOG_TRIVIAL(info) << __FUNCTION__<< boost::format(":%1%, check printable size: old_printable_width=%2%, orig_printable_width=%3%, old_printable_depth=%4%, orig_printable_depth=%5%, old_printable_height=%6%, orig_printable_height=%7%")
@@ -3138,7 +3140,25 @@ int CLI::run(int argc, char **argv)
std::vector<int> old_variant_counts(filament_count, 1), new_variant_counts; std::vector<int> old_variant_counts(filament_count, 1), new_variant_counts;
ConfigOptionInts* filament_self_index_opt = m_print_config.option<ConfigOptionInts>("filament_self_index"); ConfigOptionInts* filament_self_index_opt = m_print_config.option<ConfigOptionInts>("filament_self_index");
if (!filament_self_index_opt) { bool need_regenerate_self_index = !filament_self_index_opt;
if (filament_self_index_opt) {
// a filament_self_index carried over from a stale project can disagree with the
// current filament_count. old_start_indice/old_variant_counts below are sized to
// filament_count and walked with 1-based group indices, so an index above
// filament_count overruns old_start_indice[++k], and a non-positive first index
// writes old_variant_counts[-1] - both heap corruption.
int max_self_index = 0, min_self_index = 1;
for (int v : filament_self_index_opt->values) {
max_self_index = std::max(max_self_index, v);
min_self_index = std::min(min_self_index, v);
}
if (max_self_index > filament_count || min_self_index < 1) {
BOOST_LOG_TRIVIAL(warning) << boost::format("filament_self_index range [%1%, %2%] is invalid for filament_count %3%, regenerating")
% min_self_index % max_self_index % filament_count;
need_regenerate_self_index = true;
}
}
if (need_regenerate_self_index) {
filament_self_index_opt = m_print_config.option<ConfigOptionInts>("filament_self_index", true); filament_self_index_opt = m_print_config.option<ConfigOptionInts>("filament_self_index", true);
std::vector<int>& filament_self_indice = filament_self_index_opt->values; std::vector<int>& filament_self_indice = filament_self_index_opt->values;
filament_self_indice.resize(filament_count); filament_self_indice.resize(filament_count);
@@ -3732,6 +3752,8 @@ int CLI::run(int argc, char **argv)
double height_to_lid = m_print_config.opt_float("extruder_clearance_height_to_lid"); double height_to_lid = m_print_config.opt_float("extruder_clearance_height_to_lid");
double height_to_rod = m_print_config.opt_float("extruder_clearance_height_to_rod"); double height_to_rod = m_print_config.opt_float("extruder_clearance_height_to_rod");
double clearance_radius = m_print_config.opt_float("extruder_clearance_radius"); double clearance_radius = m_print_config.opt_float("extruder_clearance_radius");
double nozzle_height = m_print_config.opt_float("nozzle_height");
Vec2d align_center = m_print_config.option<ConfigOptionPoint>("best_object_pos")->value;
int shared_printable_width = 0, shared_printable_depth = 0, shared_printable_height = 0, shared_center_x = 0, shared_center_y = 0; int shared_printable_width = 0, shared_printable_depth = 0, shared_printable_height = 0, shared_center_x = 0, shared_center_y = 0;
//double plate_stride; //double plate_stride;
std::string bed_texture; std::string bed_texture;
@@ -3742,8 +3764,11 @@ int CLI::run(int argc, char **argv)
if (m_print_config.opt<ConfigOptionFloatsNullable>("extruder_printable_height")) { if (m_print_config.opt<ConfigOptionFloatsNullable>("extruder_printable_height")) {
current_extruder_print_heights = m_print_config.opt<ConfigOptionFloatsNullable>("extruder_printable_height")->values; current_extruder_print_heights = m_print_config.opt<ConfigOptionFloatsNullable>("extruder_printable_height")->values;
} }
current_printable_width = current_printable_area[2].x() - current_printable_area[0].x(); {
current_printable_depth = current_printable_area[2].y() - current_printable_area[0].y(); BoundingBoxf current_printable_bbox(current_printable_area);
current_printable_width = static_cast<int>(current_printable_bbox.size().x());
current_printable_depth = static_cast<int>(current_printable_bbox.size().y());
}
current_printable_height = print_height; current_printable_height = print_height;
if (old_printable_width == 0) if (old_printable_width == 0)
old_printable_width = current_printable_width; old_printable_width = current_printable_width;
@@ -3944,6 +3969,11 @@ int CLI::run(int argc, char **argv)
ConfigOptionFloats *wipe_x_option = dynamic_cast<ConfigOptionFloats *>(print_config.option("wipe_tower_x")); ConfigOptionFloats *wipe_x_option = dynamic_cast<ConfigOptionFloats *>(print_config.option("wipe_tower_x"));
ConfigOptionFloats *wipe_y_option = dynamic_cast<ConfigOptionFloats *>(print_config.option("wipe_tower_y")); ConfigOptionFloats *wipe_y_option = dynamic_cast<ConfigOptionFloats *>(print_config.option("wipe_tower_y"));
// get_at() silently clamps an out-of-range index to entry 0 - make the reuse visible
if (static_cast<size_t>(plate_index) >= wipe_x_option->values.size() || static_cast<size_t>(plate_index) >= wipe_y_option->values.size()) {
BOOST_LOG_TRIVIAL(warning) << boost::format("plate %1%: wipe_tower_x/y only has %2%/%3% entries, reusing entry 0's position")
%(plate_index+1) %wipe_x_option->values.size() %wipe_y_option->values.size();
}
plate_obj_size_info.wipe_x = wipe_x_option->get_at(plate_index); plate_obj_size_info.wipe_x = wipe_x_option->get_at(plate_index);
plate_obj_size_info.wipe_y = wipe_y_option->get_at(plate_index); plate_obj_size_info.wipe_y = wipe_y_option->get_at(plate_index);
@@ -4139,8 +4169,9 @@ int CLI::run(int argc, char **argv)
temp_extruder_print_heights = config.option<ConfigOptionFloatsNullable>("extruder_printable_height", true)->values; temp_extruder_print_heights = config.option<ConfigOptionFloatsNullable>("extruder_printable_height", true)->values;
if (temp_printable_area.size() >= 4) { if (temp_printable_area.size() >= 4) {
printer_plate.printable_width = (int)(temp_printable_area[2].x() - temp_printable_area[0].x()); BoundingBoxf temp_printable_bbox(temp_printable_area);
printer_plate.printable_depth = (int)(temp_printable_area[2].y() - temp_printable_area[0].y()); printer_plate.printable_width = static_cast<int>(temp_printable_bbox.size().x());
printer_plate.printable_depth = static_cast<int>(temp_printable_bbox.size().y());
printer_plate.printable_height = (int)(config.opt_float("printable_height")); printer_plate.printable_height = (int)(config.opt_float("printable_height"));
} }
if (temp_exclude_area.size() >= 4) { if (temp_exclude_area.size() >= 4) {
@@ -4788,6 +4819,8 @@ int CLI::run(int argc, char **argv)
arrange_cfg.clearance_height_to_rod = height_to_rod; arrange_cfg.clearance_height_to_rod = height_to_rod;
arrange_cfg.clearance_height_to_lid = height_to_lid; arrange_cfg.clearance_height_to_lid = height_to_lid;
arrange_cfg.clearance_radius = clearance_radius; arrange_cfg.clearance_radius = clearance_radius;
arrange_cfg.nozzle_height = nozzle_height;
arrange_cfg.align_center = align_center;
arrange_cfg.printable_height = print_height; arrange_cfg.printable_height = print_height;
arrange_cfg.min_obj_distance = 0; arrange_cfg.min_obj_distance = 0;
if (arrange_cfg.is_seq_print) { if (arrange_cfg.is_seq_print) {
@@ -5238,6 +5271,8 @@ int CLI::run(int argc, char **argv)
arrange_cfg.clearance_height_to_rod = height_to_rod; arrange_cfg.clearance_height_to_rod = height_to_rod;
arrange_cfg.clearance_height_to_lid = height_to_lid; arrange_cfg.clearance_height_to_lid = height_to_lid;
arrange_cfg.clearance_radius = clearance_radius; arrange_cfg.clearance_radius = clearance_radius;
arrange_cfg.nozzle_height = nozzle_height;
arrange_cfg.align_center = align_center;
arrange_cfg.printable_height = print_height; arrange_cfg.printable_height = print_height;
arrange_cfg.min_obj_distance = 0; arrange_cfg.min_obj_distance = 0;
if (arrange_cfg.is_seq_print) { if (arrange_cfg.is_seq_print) {
@@ -6497,7 +6532,6 @@ int CLI::run(int argc, char **argv)
bool need_create_thumbnail_group = false, need_create_no_light_group = false, need_create_top_group = false; bool need_create_thumbnail_group = false, need_create_no_light_group = false, need_create_top_group = false;
// get type and color for platedata // get type and color for platedata
auto* filament_types = dynamic_cast<const ConfigOptionStrings*>(m_print_config.option("filament_type"));
const ConfigOptionStrings* filament_color = dynamic_cast<const ConfigOptionStrings *>(m_print_config.option("filament_colour")); const ConfigOptionStrings* filament_color = dynamic_cast<const ConfigOptionStrings *>(m_print_config.option("filament_colour"));
auto* filament_id = dynamic_cast<const ConfigOptionStrings*>(m_print_config.option("filament_ids")); auto* filament_id = dynamic_cast<const ConfigOptionStrings*>(m_print_config.option("filament_ids"));
const ConfigOptionFloats* nozzle_diameter_option = dynamic_cast<const ConfigOptionFloats *>(m_print_config.option("nozzle_diameter")); const ConfigOptionFloats* nozzle_diameter_option = dynamic_cast<const ConfigOptionFloats *>(m_print_config.option("nozzle_diameter"));
@@ -6516,10 +6550,11 @@ int CLI::run(int argc, char **argv)
plate_data->nozzle_diameters = nozzle_diameter_str; plate_data->nozzle_diameters = nozzle_diameter_str;
for (auto it = plate_data->slice_filaments_info.begin(); it != plate_data->slice_filaments_info.end(); it++) { for (auto it = plate_data->slice_filaments_info.begin(); it != plate_data->slice_filaments_info.end(); it++) {
// get_at() on an empty vector option is UB - these can be unpopulated on a from-scratch slice
std::string display_filament_type; std::string display_filament_type;
it->type = m_print_config.get_filament_type(display_filament_type, it->id); it->type = m_print_config.get_filament_type(display_filament_type, it->id);
it->color = filament_color ? filament_color->get_at(it->id) : "#FFFFFF"; it->color = (filament_color && !filament_color->values.empty()) ? filament_color->get_at(it->id) : "#FFFFFF";
it->filament_id = filament_id?filament_id->get_at(it->id):""; it->filament_id = (filament_id && !filament_id->values.empty()) ? filament_id->get_at(it->id) : "";
} }
if (!plate_data->plate_thumbnail.is_valid()) { if (!plate_data->plate_thumbnail.is_valid()) {
@@ -7311,6 +7346,10 @@ bool CLI::setup(int argc, char **argv)
m_config.option(optdef.first, true); m_config.option(optdef.first, true);
set_data_dir(m_config.opt_string("datadir")); set_data_dir(m_config.opt_string("datadir"));
if (!data_dir().empty() && !boost::filesystem::exists(data_dir())) {
boost::nowide::cerr << "Could not create data directory: " << data_dir() << std::endl;
return false;
}
//FIXME Validating at this stage most likely does not make sense, as the config is not fully initialized yet. //FIXME Validating at this stage most likely does not make sense, as the config is not fully initialized yet.
if (!validity.empty()) { if (!validity.empty()) {
@@ -7384,7 +7423,7 @@ void CLI::print_help(bool include_print_options, PrinterTechnology printer_techn
<< std::endl << std::endl
<< "Print setting priorities:" << std::endl << "Print setting priorities:" << std::endl
<< "\t1) setting values from the command line (highest priority)"<< std::endl << "\t1) setting values from the command line (highest priority)"<< std::endl
<< "\t2) setting values loaded with --load_settings and --load_filaments" << std::endl << "\t2) setting values loaded with --load-settings and --load-filaments" << std::endl
<< "\t3) setting values loaded from 3mf(lowest priority)" << std::endl; << "\t3) setting values loaded from 3mf(lowest priority)" << std::endl;
/*if (include_print_options) { /*if (include_print_options) {
@@ -7423,6 +7462,10 @@ bool CLI::export_models(IO::ExportFormat format, std::string path_dir)
for (ModelObject* model_object : model.objects) for (ModelObject* model_object : model.objects)
{ {
const std::string path = this->output_filepath(*model_object, index++, format, path_dir); const std::string path = this->output_filepath(*model_object, index++, format, path_dir);
if (path.empty()) {
boost::nowide::cerr << "Could not create output directory for STL export" << std::endl;
return false;
}
success = Slic3r::store_stl(path.c_str(), model_object, true); success = Slic3r::store_stl(path.c_str(), model_object, true);
if (success) if (success)
BOOST_LOG_TRIVIAL(info) << "Model successfully exported to " << path << std::endl; BOOST_LOG_TRIVIAL(info) << "Model successfully exported to " << path << std::endl;
@@ -7548,8 +7591,19 @@ std::string CLI::output_filepath(const ModelObject &object, unsigned int index,
output_path = subdir + "/"+file_name; output_path = subdir + "/"+file_name;
boost::filesystem::path subdir_path(subdir); boost::filesystem::path subdir_path(subdir);
if (!boost::filesystem::exists(subdir_path)) if (!boost::filesystem::exists(subdir_path)) {
boost::filesystem::create_directory(subdir_path); try {
boost::filesystem::create_directories(subdir_path);
} catch (const boost::filesystem::filesystem_error &ex) {
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": failed to create output directory " << subdir_path.string() << ": " << ex.what();
}
if (!boost::filesystem::exists(subdir_path)) {
// Directory creation failed and won't succeed on a retry (same path, same cause) -
// signal failure now instead of letting every object in the model repeat the same
// doomed attempt and fail with a less specific "export failed" error later.
return std::string();
}
}
return output_path; return output_path;
} }
+1
View File
@@ -1440,6 +1440,7 @@ void AppConfig::set_mouse_device(const std::string& name, double translation_spe
it->second["invert_yaw"] = invert_yaw ? "1" : "0"; it->second["invert_yaw"] = invert_yaw ? "1" : "0";
it->second["invert_pitch"] = invert_pitch ? "1" : "0"; it->second["invert_pitch"] = invert_pitch ? "1" : "0";
it->second["invert_roll"] = invert_roll ? "1" : "0"; it->second["invert_roll"] = invert_roll ? "1" : "0";
m_dirty = true;
} }
std::vector<std::string> AppConfig::get_mouse_device_names() const std::vector<std::string> AppConfig::get_mouse_device_names() const
+1 -1
View File
@@ -797,7 +797,7 @@ public:
} }
}); });
m_pck.unfitIndicator([this](std::string name) { m_pck.unfitIndicator([](std::string name) {
BOOST_LOG_TRIVIAL(debug) << "arrange progress: " + name; BOOST_LOG_TRIVIAL(debug) << "arrange progress: " + name;
}); });
+49 -4
View File
@@ -1715,6 +1715,36 @@ const ConfigOption* DynamicConfig::optptr(const t_config_option_key &opt_key) co
return (it == options.end()) ? nullptr : it->second.get(); return (it == options.end()) ? nullptr : it->second.get();
} }
// ConfigOptionBool(s)::deserialize only understands "1" and "0", but scripts commonly spell CLI
// flags as --opt=true or --opt=no. Map the usual spellings onto what deserialize() accepts, per
// comma-separated item so vector options keep working, and pass anything else through unchanged
// so a genuine typo is still reported as invalid.
static std::string normalize_cli_bool_value(const std::string &value)
{
static const char* true_values[] = { "1", "true", "yes", "on", "enabled" };
static const char* false_values[] = { "0", "false", "no", "off", "disabled" };
auto matches = [](const std::string &item, const char* const* candidates, size_t count) {
return std::any_of(candidates, candidates + count, [&item](const char* candidate) { return boost::iequals(item, candidate); });
};
std::string normalized;
std::istringstream is(value);
std::string item;
while (std::getline(is, item, ',')) {
boost::trim(item);
if (! normalized.empty())
normalized += ",";
if (matches(item, true_values, std::size(true_values)))
normalized += "1";
else if (matches(item, false_values, std::size(false_values)))
normalized += "0";
else
normalized += item;
}
return normalized;
}
bool DynamicConfig::read_cli(int argc, const char* const argv[], t_config_option_keys* extra, t_config_option_keys* keys) bool DynamicConfig::read_cli(int argc, const char* const argv[], t_config_option_keys* extra, t_config_option_keys* keys)
{ {
// cache the CLI option => opt_key mapping // cache the CLI option => opt_key mapping
@@ -1812,17 +1842,32 @@ bool DynamicConfig::read_cli(int argc, const char* const argv[], t_config_option
// to the end of the value. // to the end of the value.
if (opt_base->type() == coBools && value.empty()) if (opt_base->type() == coBools && value.empty())
static_cast<ConfigOptionBools*>(opt_base)->values.push_back(!no); static_cast<ConfigOptionBools*>(opt_base)->values.push_back(!no);
else else {
// Deserialize any other vector value (ConfigOptionInts, Floats, Percents, Points) the same way // Deserialize any other vector value (ConfigOptionInts, Floats, Percents, Points) the same way
// they get deserialized from an .ini file. For ConfigOptionStrings, that means that the C-style unescape // they get deserialized from an .ini file. For ConfigOptionStrings, that means that the C-style unescape
// will be applied for values enclosed in quotes, while values non-enclosed in quotes are left to be // will be applied for values enclosed in quotes, while values non-enclosed in quotes are left to be
// unescaped by the calling shell. // unescaped by the calling shell.
opt_vector->deserialize(value, true); const std::string vector_value = opt_base->type() == coBools ? normalize_cli_bool_value(value) : value;
bool deserialized = false;
try {
deserialized = opt_vector->deserialize(vector_value, true);
} catch (const std::exception &ex) {
// e.g. "nil" deserialized into a non-nullable vector option throws instead of
// returning false - treat that the same as any other invalid value here.
deserialized = false;
}
if (! deserialized) {
boost::nowide::cerr << "Invalid value for option --" << token.c_str() << std::endl;
return false;
}
}
} else if (opt_base->type() == coBool) { } else if (opt_base->type() == coBool) {
if (value.empty()) if (value.empty())
static_cast<ConfigOptionBool*>(opt_base)->value = !no; static_cast<ConfigOptionBool*>(opt_base)->value = !no;
else else if (! opt_base->deserialize(normalize_cli_bool_value(value))) {
opt_base->deserialize(value); boost::nowide::cerr << "Invalid value for option --" << token.c_str() << std::endl;
return false;
}
} else if (opt_base->type() == coString) { } else if (opt_base->type() == coString) {
// Do not unescape single string values, the unescaping is left to the calling shell. // Do not unescape single string values, the unescaping is left to the calling shell.
static_cast<ConfigOptionString*>(opt_base)->value = value; static_cast<ConfigOptionString*>(opt_base)->value = value;
+1 -6
View File
@@ -2395,12 +2395,7 @@ static std::vector<MonotonicRegionLink> chain_monotonic_regions(
} }
// Probability (unnormalized) of traversing a link between two monotonic regions. // Probability (unnormalized) of traversing a link between two monotonic regions.
auto path_probability = [ auto path_probability = [](AntPath &path) {
#ifndef __APPLE__
// clang complains when capturing constexpr constants.
pheromone_alpha, pheromone_beta
#endif // __APPLE__
](AntPath &path) {
return pow(path.pheromone, pheromone_alpha) * pow(path.visibility, pheromone_beta); return pow(path.pheromone, pheromone_alpha) * pow(path.visibility, pheromone_beta);
}; };
+1
View File
@@ -10,6 +10,7 @@
#include <string> #include <string>
#include <boost/log/trivial.hpp> #include <boost/log/trivial.hpp>
#include <boost/nowide/fstream.hpp>
#ifdef _WIN32 #ifdef _WIN32
#define DIR_SEPARATOR '\\' #define DIR_SEPARATOR '\\'
+4 -3
View File
@@ -8197,9 +8197,10 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description,
} }
variable_speed = std::any_of(new_points.begin(), new_points.end(), variable_speed = std::any_of(new_points.begin(), new_points.end(),
[speed](const ProcessedPoint &p) { return fabs(double(p.speed) - speed) > 1; }); // Ignore small speed variations (under 1mm/sec) [speed](const ProcessedPoint &p) { return fabs(double(p.speed) - speed) > 1; }); // Ignore small speed variations (under 1mm/sec)
if (!NOZZLE_CONFIG(enable_overhang_speed) && FILAMENT_CONFIG(enable_overhang_bridge_fan) && m_enable_cooling_markers) { if (FILAMENT_CONFIG(enable_overhang_bridge_fan) && m_enable_cooling_markers) {
for (ProcessedPoint &point : new_points) if (!NOZZLE_CONFIG(enable_overhang_speed))
point.speed = speed; for (ProcessedPoint &point : new_points)
point.speed = speed;
variable_speed = new_points.size() > 1; variable_speed = new_points.size() > 1;
} }
} }
+11 -10
View File
@@ -1024,28 +1024,29 @@ std::string CoolingBuffer::apply_layer_cooldown(
} }
if (need_set_fan) { if (need_set_fan) {
const auto set_fan = [&](int speed) {
if (m_current_fan_speed != speed) {
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, speed, part_cooling_fan_min_pwm);
m_current_fan_speed = speed;
}
};
if (fan_speed_change_requests[CoolingLine::TYPE_OVERHANG_FAN_START]){ if (fan_speed_change_requests[CoolingLine::TYPE_OVERHANG_FAN_START]){
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, overhang_fan_speed, part_cooling_fan_min_pwm); set_fan(overhang_fan_speed);
m_current_fan_speed = overhang_fan_speed;
} else if (fan_speed_change_requests[CoolingLine::TYPE_INTERNAL_BRIDGE_FAN_START]){ // ORCA: Add support for separate internal bridge fan speed control } else if (fan_speed_change_requests[CoolingLine::TYPE_INTERNAL_BRIDGE_FAN_START]){ // ORCA: Add support for separate internal bridge fan speed control
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, internal_bridge_fan_speed, part_cooling_fan_min_pwm); set_fan(internal_bridge_fan_speed);
m_current_fan_speed = internal_bridge_fan_speed;
} }
else if (fan_speed_change_requests[CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START]){ else if (fan_speed_change_requests[CoolingLine::TYPE_SUPPORT_INTERFACE_FAN_START]){
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, supp_interface_fan_speed, part_cooling_fan_min_pwm); set_fan(supp_interface_fan_speed);
m_current_fan_speed = supp_interface_fan_speed;
} }
else if (fan_speed_change_requests[CoolingLine::TYPE_IRONING_FAN_START]){ else if (fan_speed_change_requests[CoolingLine::TYPE_IRONING_FAN_START]){
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, ironing_fan_speed, part_cooling_fan_min_pwm); set_fan(ironing_fan_speed);
m_current_fan_speed = ironing_fan_speed;
} }
else if(fan_speed_change_requests[CoolingLine::TYPE_FORCE_RESUME_FAN] && m_current_fan_speed != -1){ else if(fan_speed_change_requests[CoolingLine::TYPE_FORCE_RESUME_FAN] && m_current_fan_speed != -1){
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, m_current_fan_speed, part_cooling_fan_min_pwm); new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, m_current_fan_speed, part_cooling_fan_min_pwm);
fan_speed_change_requests[CoolingLine::TYPE_FORCE_RESUME_FAN] = false; fan_speed_change_requests[CoolingLine::TYPE_FORCE_RESUME_FAN] = false;
} }
else { else {
new_gcode += GCodeWriter::set_fan(m_config.gcode_flavor, m_fan_speed, part_cooling_fan_min_pwm); set_fan(m_fan_speed);
m_current_fan_speed = m_fan_speed;
} }
need_set_fan = false; need_set_fan = false;
} }
+5 -6
View File
@@ -170,14 +170,13 @@ void FanMover::_put_in_middle_G1(std::list<BufferData>::iterator item_to_split,
void FanMover::_print_in_middle_G1(BufferData& line_to_split, float nb_sec, const std::string &line_to_write) { void FanMover::_print_in_middle_G1(BufferData& line_to_split, float nb_sec, const std::string &line_to_write) {
if (nb_sec < line_to_split.time * 0.1) { if (nb_sec < line_to_split.time * 0.1) {
// doesn't really need to be split, print it after // Doesn't need to be split: the insertion point is at the start.
m_process_output += line_to_split.raw + "\n";
m_process_output += line_to_write + (line_to_write.back() == '\n'?"":"\n"); m_process_output += line_to_write + (line_to_write.back() == '\n'?"":"\n");
} else if (nb_sec > line_to_split.time * 0.9) {
// doesn't really need to be split, print it before
//will also print before if line_to_split.time == 0
m_process_output += line_to_write + (line_to_write.back() == '\n' ? "" : "\n");
m_process_output += line_to_split.raw + "\n"; m_process_output += line_to_split.raw + "\n";
} else if (nb_sec > line_to_split.time * 0.9) {
// Doesn't need to be split: the insertion point is at the end.
m_process_output += line_to_split.raw + "\n";
m_process_output += line_to_write + (line_to_write.back() == '\n' ? "" : "\n");
}else if(line_to_split.raw.size() > 2 }else if(line_to_split.raw.size() > 2
&& line_to_split.raw[0] == 'G' && line_to_split.raw[1] == '1' && line_to_split.raw[2] == ' ') { && line_to_split.raw[0] == 'G' && line_to_split.raw[1] == '1' && line_to_split.raw[2] == ' ') {
float percent = nb_sec / line_to_split.time; float percent = nb_sec / line_to_split.time;
+6 -6
View File
@@ -532,7 +532,7 @@ void GCodeProcessor::TimeMachine::calculate_time(GCodeProcessorResult& result, P
const float height = interpolate ? lerp(prev_move.height, curr_move.height, t) : curr_move.height; const float height = interpolate ? lerp(prev_move.height, curr_move.height, t) : curr_move.height;
// ORCA: Fix issue with flow rate changes being visualized incorrectly // ORCA: Fix issue with flow rate changes being visualized incorrectly
const float mm3_per_mm = curr_move.mm3_per_mm; const float mm3_per_mm = curr_move.mm3_per_mm;
const float fan_speed = interpolate ? lerp(prev_move.fan_speed, curr_move.fan_speed, t) : curr_move.fan_speed; const float fan_speed = curr_move.fan_speed;
const float temperature = interpolate ? lerp(prev_move.temperature, curr_move.temperature, t) : curr_move.temperature; const float temperature = interpolate ? lerp(prev_move.temperature, curr_move.temperature, t) : curr_move.temperature;
actual_speed_moves.push_back({ actual_speed_moves.push_back({
block.move_id, block.move_id,
@@ -563,7 +563,7 @@ void GCodeProcessor::TimeMachine::calculate_time(GCodeProcessorResult& result, P
const float height = interpolate ? lerp(prev_move.height, curr_move.height, t) : curr_move.height; const float height = interpolate ? lerp(prev_move.height, curr_move.height, t) : curr_move.height;
// ORCA: Fix issue with flow rate changes being visualized incorrectly // ORCA: Fix issue with flow rate changes being visualized incorrectly
const float mm3_per_mm = curr_move.mm3_per_mm; const float mm3_per_mm = curr_move.mm3_per_mm;
const float fan_speed = interpolate ? lerp(prev_move.fan_speed, curr_move.fan_speed, t) : curr_move.fan_speed; const float fan_speed = curr_move.fan_speed;
const float temperature = interpolate ? lerp(prev_move.temperature, curr_move.temperature, t) : curr_move.temperature; const float temperature = interpolate ? lerp(prev_move.temperature, curr_move.temperature, t) : curr_move.temperature;
actual_speed_moves.push_back({ actual_speed_moves.push_back({
block.move_id, block.move_id,
@@ -1273,7 +1273,7 @@ void GCodeProcessor::run_post_process()
// add lines M73 to exported gcode // add lines M73 to exported gcode
auto process_line_move = [ auto process_line_move = [
// Lambdas, mostly for string formatting, all with an empty capture block. // Lambdas, mostly for string formatting, all with an empty capture block.
time_in_minutes, format_time_float, format_line_M73_main, format_line_M73_stop_int, format_line_M73_stop_float, time_in_last_minute,format_line_exhaust_fan_control, time_in_minutes, format_time_float, format_line_M73_main, format_line_M73_stop_int, format_line_M73_stop_float, time_in_last_minute,
&self = std::as_const(m_time_processor), &self = std::as_const(m_time_processor),
// Caches, to be modified // Caches, to be modified
&g1_times_cache_it, &last_exported_main, &last_exported_stop, &g1_times_cache_it, &last_exported_main, &last_exported_stop,
@@ -5304,7 +5304,7 @@ void GCodeProcessor::process_VG1(const GCodeReader::GCodeLine& line)
float filament_radius = 0.5f * filament_diameter; float filament_radius = 0.5f * filament_diameter;
float area_filament_cross_section = static_cast<float>(M_PI) * sqr(filament_radius); float area_filament_cross_section = static_cast<float>(M_PI) * sqr(filament_radius);
auto absolute_position = [this, area_filament_cross_section](Axis axis, const GCodeReader::GCodeLine& lineG1) { auto absolute_position = [this](Axis axis, const GCodeReader::GCodeLine& lineG1) {
bool is_relative = (m_global_positioning_type == EPositioningType::Relative); bool is_relative = (m_global_positioning_type == EPositioningType::Relative);
if (axis == E) if (axis == E)
is_relative |= (m_e_local_positioning_type == EPositioningType::Relative); is_relative |= (m_e_local_positioning_type == EPositioningType::Relative);
@@ -5755,7 +5755,7 @@ void GCodeProcessor::process_G2_G3(const GCodeReader::GCodeLine& line, bool cloc
if (travel_length < 0.001) if (travel_length < 0.001)
return; return;
auto adjust_target = [this, area_filament_cross_section](const AxisCoords& target, const AxisCoords& prev_position) { auto adjust_target = [this](const AxisCoords& target, const AxisCoords& prev_position) {
AxisCoords ret = target; AxisCoords ret = target;
if (m_global_positioning_type == EPositioningType::Relative) { if (m_global_positioning_type == EPositioningType::Relative) {
for (unsigned char a = X; a <= E; ++a) { for (unsigned char a = X; a <= E; ++a) {
@@ -7006,7 +7006,7 @@ void GCodeProcessor::store_move_vertex(EMoveType type, EMovePathType path_type,
get_acceleration(normal_mode)); get_acceleration(normal_mode));
const float junction_deviation = get_option_value(m_time_processor.machine_limits.machine_max_junction_deviation, normal_mode_id); const float junction_deviation = get_option_value(m_time_processor.machine_limits.machine_max_junction_deviation, normal_mode_id);
const bool use_jd_jerk = (m_flavor == gcfMarlinFirmware && junction_deviation > 0.0f); const bool use_jd_jerk = (m_flavor == gcfMarlinFirmware && junction_deviation > 0.0f);
const auto axis_jerk_for_preview = [this, normal_mode, use_jd_jerk, move_acceleration](Axis axis) { const auto axis_jerk_for_preview = [this, use_jd_jerk, move_acceleration](Axis axis) {
return use_jd_jerk ? get_axis_max_jerk_with_jd(normal_mode, axis, move_acceleration) : get_axis_max_jerk(normal_mode, axis); return use_jd_jerk ? get_axis_max_jerk_with_jd(normal_mode, axis, move_acceleration) : get_axis_max_jerk(normal_mode, axis);
}; };
const float jerk_x = axis_jerk_for_preview(X); const float jerk_x = axis_jerk_for_preview(X);
+2 -2
View File
@@ -4083,7 +4083,7 @@ void WipeTower::toolchange_wipe_new(WipeTowerWriter &writer, const box_coordinat
} }
return time * 60.f; return time * 60.f;
}; };
auto estimate_wipe_time = [&estimate_time_kernel, & cleaning_box, &target_speed, &x_to_wipe, &xr, &xl, &dy, &WipeSpeedMap, &solid_tool_toolchange](int begin_line) -> float { auto estimate_wipe_time = [&estimate_time_kernel, & cleaning_box, &x_to_wipe, &xr, &xl, &dy, &solid_tool_toolchange](int begin_line) -> float {
int n = std::ceil(x_to_wipe / (xr - xl)); int n = std::ceil(x_to_wipe / (xr - xl));
if (solid_tool_toolchange) n = (cleaning_box.lu[1] - cleaning_box.ld[1]) / dy; if (solid_tool_toolchange) n = (cleaning_box.lu[1] - cleaning_box.ld[1]) / dy;
float total_time = estimate_time_kernel(n); float total_time = estimate_time_kernel(n);
@@ -5111,7 +5111,7 @@ Polygon WipeTower::generate_rib_polygon(const box_coordinates &wt_box)
Polygon WipeTower::generate_support_wall_new(WipeTowerWriter &writer, const box_coordinates &wt_box, double feedrate, bool first_layer,bool rib_wall, bool extrude_perimeter, bool skip_points) Polygon WipeTower::generate_support_wall_new(WipeTowerWriter &writer, const box_coordinates &wt_box, double feedrate, bool first_layer,bool rib_wall, bool extrude_perimeter, bool skip_points)
{ {
auto get_closet_idx = [this, &writer](Polylines &pls) -> std::pair<int,int> { auto get_closet_idx = [&writer](Polylines &pls) -> std::pair<int,int> {
Vec2f anchor{writer.x(), writer.y()}; Vec2f anchor{writer.x(), writer.y()};
int closestIndex = -1; int closestIndex = -1;
int closestPl = -1; int closestPl = -1;
-9
View File
@@ -33,15 +33,6 @@ public:
SurfaceFeature(const Vec3d& pt) SurfaceFeature(const Vec3d& pt)
: m_type{SurfaceFeatureType::Point}, m_pt1{pt} {} : m_type{SurfaceFeatureType::Point}, m_pt1{pt} {}
SurfaceFeature(const SurfaceFeature& sf){
this->clone(sf);
volume = sf.volume;
plane_indices = sf.plane_indices;
world_tran = sf.world_tran;
world_plane_features = sf.world_plane_features;
origin_surface_feature = sf.origin_surface_feature;
}
void clone(const SurfaceFeature &sf) void clone(const SurfaceFeature &sf)
{ {
m_type = sf.get_type(); m_type = sf.get_type();
+1 -1
View File
@@ -877,7 +877,7 @@ void Model::convert_multipart_object(unsigned int max_extruders)
// Revert the centering operation. // Revert the centering operation.
trafo_volume.set_offset(trafo_volume.get_offset() - o->origin_translation); trafo_volume.set_offset(trafo_volume.get_offset() - o->origin_translation);
int counter = 1; int counter = 1;
auto copy_volume = [o, v, max_extruders, &counter, &extruder_counter](ModelVolume *new_v) { auto copy_volume = [o, v, &counter](ModelVolume *new_v) {
assert(new_v != nullptr); assert(new_v != nullptr);
new_v->name = (counter > 1) ? o->name + "_" + std::to_string(counter++) : o->name; new_v->name = (counter > 1) ? o->name + "_" + std::to_string(counter++) : o->name;
//BBS: Use extruder priority: volumn > object > default //BBS: Use extruder priority: volumn > object > default
-1
View File
@@ -39,7 +39,6 @@ namespace orientation {
float height_to_bottom_hull_ratio = 0; // affects stability, the lower the better float height_to_bottom_hull_ratio = 0; // affects stability, the lower the better
float unprintability = 0; float unprintability = 0;
Eigen::VectorXf areas_cooling; Eigen::VectorXf areas_cooling;
CostItems(CostItems const & other) = default;
CostItems() = default; CostItems() = default;
static std::string field_names() { static std::string field_names() {
return " overhang, bottom, bothull, contour, A_laf, A_prj, unprintability"; return " overhang, bottom, bothull, contour, A_laf, A_prj, unprintability";
-2
View File
@@ -195,7 +195,6 @@ public:
Point(int64_t x, int32_t y) : Vec2crd(coord_t(x), coord_t(y)) {} Point(int64_t x, int32_t y) : Vec2crd(coord_t(x), coord_t(y)) {}
Point(int32_t x, int64_t y) : Vec2crd(coord_t(x), coord_t(y)) {} Point(int32_t x, int64_t y) : Vec2crd(coord_t(x), coord_t(y)) {}
Point(double x, double y) : Vec2crd(coord_t(std::round(x)), coord_t(std::round(y))) {} Point(double x, double y) : Vec2crd(coord_t(std::round(x)), coord_t(std::round(y))) {}
Point(const Point &rhs) { *this = rhs; }
explicit Point(const Vec2d& rhs) : Vec2crd(coord_t(std::round(rhs.x())), coord_t(std::round(rhs.y()))) {} explicit Point(const Vec2d& rhs) : Vec2crd(coord_t(std::round(rhs.x())), coord_t(std::round(rhs.y()))) {}
// This constructor allows you to construct Point from Eigen expressions // This constructor allows you to construct Point from Eigen expressions
// This constructor has to be implicit (non-explicit) to allow implicit conversion from Eigen expressions. // This constructor has to be implicit (non-explicit) to allow implicit conversion from Eigen expressions.
@@ -278,7 +277,6 @@ public:
Point3(int32_t x, int32_t y, int32_t z = 0) : Vec3crd(coord_t(x), coord_t(y), coord_t(z)) {} Point3(int32_t x, int32_t y, int32_t z = 0) : Vec3crd(coord_t(x), coord_t(y), coord_t(z)) {}
Point3(int64_t x, int64_t y, int64_t z = 0) : Vec3crd(coord_t(x), coord_t(y), coord_t(z)) {} Point3(int64_t x, int64_t y, int64_t z = 0) : Vec3crd(coord_t(x), coord_t(y), coord_t(z)) {}
Point3(double x, double y, double z = 0.0) : Vec3crd(coord_t(std::round(x)), coord_t(std::round(y)), coord_t(std::round(z))) {} Point3(double x, double y, double z = 0.0) : Vec3crd(coord_t(std::round(x)), coord_t(std::round(y)), coord_t(std::round(z))) {}
Point3(const Point3 &rhs) { *this = rhs; }
explicit Point3(const Vec2crd& vec2crd, coord_t z = 0) : Vec3crd(vec2crd.x(), vec2crd.y(), z) {} explicit Point3(const Vec2crd& vec2crd, coord_t z = 0) : Vec3crd(vec2crd.x(), vec2crd.y(), z) {}
explicit Point3(const Vec3crd &vec3crd) : Vec3crd(vec3crd) {} explicit Point3(const Vec3crd &vec3crd) : Vec3crd(vec3crd) {}
// This constructor allows you to construct Point from Eigen expressions // This constructor allows you to construct Point from Eigen expressions
+10 -6
View File
@@ -983,15 +983,19 @@ BedType Preset::get_default_bed_type(PresetBundle* preset_bundle)
if (config.has("default_bed_type") && !config.opt_string("default_bed_type").empty()) { if (config.has("default_bed_type") && !config.opt_string("default_bed_type").empty()) {
try { try {
std::string str_bed_type = config.opt_string("default_bed_type"); std::string str_bed_type = config.opt_string("default_bed_type");
BedType bed_type;
// Try parsing as integer first (legacy format) if (ConfigOptionEnum<BedType>::from_string(str_bed_type, bed_type) &&
bed_type > btDefault && bed_type < btCount) {
return bed_type;
}
// Try parsing as integer (legacy format)
int bed_type_value = atoi(str_bed_type.c_str()); int bed_type_value = atoi(str_bed_type.c_str());
if (bed_type_value > 0) { if (bed_type_value > 0 && bed_type_value < BedType::btCount) {
return BedType(bed_type_value); return BedType(bed_type_value);
} }
else {
BOOST_LOG_TRIVIAL(error) << "default_bed_type: invalid bed type: " << str_bed_type; BOOST_LOG_TRIVIAL(error) << "default_bed_type: invalid bed type: " << str_bed_type;
}
return BedType::btPEI; return BedType::btPEI;
} catch(...) { } catch(...) {
+7 -7
View File
@@ -840,13 +840,12 @@ public:
protected: protected:
PresetCollection() = default; PresetCollection() = default;
// Copy constructor and copy operators are not to be used from outside PresetBundle, // Deleted by the std::recursive_mutex member. PresetBundle copies by assignment.
// as the Profile::vendor points to an instance of VendorProfile stored at parent PresetBundle! PresetCollection(const PresetCollection &other) = delete;
PresetCollection(const PresetCollection &other) = default; //BBS: hand-written because m_mutex cannot be copy-assigned.
//BBS: add operator= logic insteadof default
PresetCollection& operator=(const PresetCollection &other); PresetCollection& operator=(const PresetCollection &other);
// After copying a collection with the default operators above, call this function // Copying leaves every Preset::vendor pointing into the source bundle's vendor map.
// to adjust Profile::vendor pointers. // This re-points them at the matching entries in vendors.
void update_vendor_ptrs_after_copy(const VendorMap &vendors); void update_vendor_ptrs_after_copy(const VendorMap &vendors);
// Select a preset, if it exists. If it does not exist, select an invalid (-1) index. // Select a preset, if it exists. If it does not exist, select an invalid (-1) index.
@@ -984,7 +983,8 @@ public:
bool only_default_printers() const; bool only_default_printers() const;
private: private:
PrinterPresetCollection() = default; PrinterPresetCollection() = default;
PrinterPresetCollection(const PrinterPresetCollection &other) = default; // Deleted along with the base copy constructor.
PrinterPresetCollection(const PrinterPresetCollection &other) = delete;
PrinterPresetCollection& operator=(const PrinterPresetCollection &other) = default; PrinterPresetCollection& operator=(const PrinterPresetCollection &other) = default;
friend class PresetBundle; friend class PresetBundle;
+12 -2
View File
@@ -2158,7 +2158,7 @@ int PresetBundle::validate_presets(const std::string &file_name, DynamicPrintCon
void PresetBundle::remove_users_preset(AppConfig &config, std::map<std::string, std::map<std::string, std::string>> *my_presets) void PresetBundle::remove_users_preset(AppConfig &config, std::map<std::string, std::map<std::string, std::string>> *my_presets)
{ {
auto check_removed = [my_presets, this](Preset &preset) -> bool { auto check_removed = [my_presets](Preset &preset) -> bool {
if (my_presets == nullptr) return true; if (my_presets == nullptr) return true;
if (my_presets->find(preset.name) != my_presets->end()) return false; if (my_presets->find(preset.name) != my_presets->end()) return false;
if (!preset.sync_info.empty()) return false; // syncing, not remove if (!preset.sync_info.empty()) return false; // syncing, not remove
@@ -2921,6 +2921,16 @@ void PresetBundle::load_selections(AppConfig &config, const PresetPreferences& p
// If executed due to a Config Wizard update, preferred_printer contains the first newly installed printer, otherwise nullptr. // If executed due to a Config Wizard update, preferred_printer contains the first newly installed printer, otherwise nullptr.
const Preset *preferred_printer = printers.find_system_preset_by_model_and_variant(preferred_selection.printer_model_id, preferred_selection.printer_variant); const Preset *preferred_printer = printers.find_system_preset_by_model_and_variant(preferred_selection.printer_model_id, preferred_selection.printer_variant);
printers.select_preset_by_name(preferred_printer ? preferred_printer->name : initial_printer_profile_name, true); printers.select_preset_by_name(preferred_printer ? preferred_printer->name : initial_printer_profile_name, true);
Preset &selected_printer = printers.get_edited_preset();
if (selected_printer.printer_technology() == ptFFF) {
BedType bed_type = selected_printer.get_default_bed_type(this);
const std::string saved_bed_type = config.get_printer_setting(selected_printer.name, "curr_bed_type");
const int saved_bed_type_value = atoi(saved_bed_type.c_str());
if (saved_bed_type_value > btDefault && saved_bed_type_value < btCount)
bed_type = static_cast<BedType>(saved_bed_type_value);
project_config.set_key_value("curr_bed_type", new ConfigOptionEnum<BedType>(bed_type));
config.set("curr_bed_type", std::to_string(static_cast<int>(bed_type)));
}
CNumericLocalesSetter locales_setter; CNumericLocalesSetter locales_setter;
// Orca: load from orca_presets // Orca: load from orca_presets
@@ -3413,7 +3423,7 @@ void PresetBundle::get_ams_cobox_infos(AMSComboInfo& combox_info)
combox_info.ams_names.push_back(ams_name); combox_info.ams_names.push_back(ams_name);
continue; continue;
} }
iter = std::find_if(filaments.begin(), filaments.end(), [&filament_type](auto &f) { return f.is_compatible && f.is_system; }); iter = std::find_if(filaments.begin(), filaments.end(), [](auto &f) { return f.is_compatible && f.is_system; });
if (iter == filaments.end()) if (iter == filaments.end())
continue; continue;
} }
+2 -2
View File
@@ -2288,7 +2288,7 @@ void Print::process(long long *time_cost_with_cache, bool use_cache)
obj->clear_shared_object(); obj->clear_shared_object();
//add the print_object share check logic //add the print_object share check logic
auto is_print_object_the_same = [this](const PrintObject* object1, const PrintObject* object2) -> bool{ auto is_print_object_the_same = [](const PrintObject* object1, const PrintObject* object2) -> bool{
if (object1->trafo().matrix() != object2->trafo().matrix()) if (object1->trafo().matrix() != object2->trafo().matrix())
return false; return false;
const ModelObject* model_obj1 = object1->model_object(); const ModelObject* model_obj1 = object1->model_object();
@@ -5699,7 +5699,7 @@ int Print::load_cached_data(const std::string& directory)
return CLI_IMPORT_CACHE_NOT_FOUND; return CLI_IMPORT_CACHE_NOT_FOUND;
} }
auto find_region = [this](PrintObject* object, size_t config_hash) -> const PrintRegion* { auto find_region = [](PrintObject* object, size_t config_hash) -> const PrintRegion* {
int regions_count = object->num_printing_regions(); int regions_count = object->num_printing_regions();
for (int index = 0; index < regions_count; index++ ) for (int index = 0; index < regions_count; index++ )
{ {
+5 -3
View File
@@ -560,9 +560,11 @@ static inline bool model_volume_solid_or_modifier(const ModelVolume &mv)
static inline Transform3f trafo_for_bbox(const Transform3d &object_trafo, const Transform3d &volume_trafo) static inline Transform3f trafo_for_bbox(const Transform3d &object_trafo, const Transform3d &volume_trafo)
{ {
Transform3d m = object_trafo * volume_trafo; // Orca: Keep the volume's local XY offset for multipart overlap checks, but remove the object's bed placement.
m.translation().x() = 0.; Transform3d object_trafo_local = object_trafo;
m.translation().y() = 0.; object_trafo_local.translation().x() = 0.;
object_trafo_local.translation().y() = 0.;
Transform3d m = object_trafo_local * volume_trafo;
return m.cast<float>(); return m.cast<float>();
} }
+79 -35
View File
@@ -1130,8 +1130,7 @@ void PrintConfigDef::init_fff_params()
// BBS // BBS
def = this->add("supertack_plate_temp", coInts); def = this->add("supertack_plate_temp", coInts);
def->label = L("Other layers"); def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. " def->tooltip = L("This is the bed temperature for layers except for the first one. A value of 0 means the filament does not support printing on the Cool Plate SuperTack.");
"A value of 0 means the filament does not support printing on the Cool Plate SuperTack.");
def->sidetext = L(u8"\u2103" /* °C */); // degrees Celsius, CIS languages need translation def->sidetext = L(u8"\u2103" /* °C */); // degrees Celsius, CIS languages need translation
def->full_label = L("Bed temperature"); def->full_label = L("Bed temperature");
def->min = 0; def->min = 0;
@@ -2770,7 +2769,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("fan_cooling_layer_time", coFloats); def = this->add("fan_cooling_layer_time", coFloats);
def->label = L("Layer time"); def->label = L("Layer time");
def->tooltip = L("The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time."); def->tooltip = L("The part cooling fan will be enabled for layers where the estimated time is shorter than this value. Fan speed is interpolated between the minimum and maximum fan speeds according to layer printing time.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->min = 0; def->min = 0;
def->max = 1000; def->max = 1000;
def->mode = comSimple; def->mode = comSimple;
@@ -2923,7 +2922,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Filament load time"); def->label = L("Filament load time");
def->tooltip = L("Time to load new filament when switch filament. It's usually applicable for single-extruder multi-material machines. " def->tooltip = L("Time to load new filament when switch filament. It's usually applicable for single-extruder multi-material machines. "
"For tool changers or multi-tool machines, it's typically 0. For statistics only."); "For tool changers or multi-tool machines, it's typically 0. For statistics only.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0.0)); def->set_default_value(new ConfigOptionFloat(0.0));
@@ -2932,7 +2931,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Filament unload time"); def->label = L("Filament unload time");
def->tooltip = L("Time to unload old filament when switch filament. It's usually applicable for single-extruder multi-material machines. " def->tooltip = L("Time to unload old filament when switch filament. It's usually applicable for single-extruder multi-material machines. "
"For tool changers or multi-tool machines, it's typically 0. For statistics only."); "For tool changers or multi-tool machines, it's typically 0. For statistics only.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0.0)); def->set_default_value(new ConfigOptionFloat(0.0));
@@ -2941,7 +2940,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Tool change time"); def->label = L("Tool change time");
def->tooltip = L("Time taken to switch tools. It's usually applicable for tool changers or multi-tool machines. " def->tooltip = L("Time taken to switch tools. It's usually applicable for tool changers or multi-tool machines. "
"For single-extruder multi-material machines, it's typically 0. For statistics only."); "For single-extruder multi-material machines, it's typically 0. For statistics only.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat { 0. }); def->set_default_value(new ConfigOptionFloat { 0. });
@@ -3087,7 +3086,7 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("Time to wait after the filament is unloaded. " def->tooltip = L("Time to wait after the filament is unloaded. "
"May help to get reliable tool changes with flexible materials " "May help to get reliable tool changes with flexible materials "
"that may need more time to shrink to original dimensions."); "that may need more time to shrink to original dimensions.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloats { 0. }); def->set_default_value(new ConfigOptionFloats { 0. });
@@ -4206,7 +4205,7 @@ void PrintConfigDef::init_fff_params()
"\nIt won't move fan commands from custom G-code (they act as a sort of 'barrier')." "\nIt won't move fan commands from custom G-code (they act as a sort of 'barrier')."
"\nIt won't move fan commands into the start G-code if the 'only custom start G-code' is activated." "\nIt won't move fan commands into the start G-code if the 'only custom start G-code' is activated."
"\nUse 0 to deactivate."); "\nUse 0 to deactivate.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0)); def->set_default_value(new ConfigOptionFloat(0));
@@ -4222,7 +4221,7 @@ void PrintConfigDef::init_fff_params()
"\nThis is useful for fans where a low PWM/power may be insufficient to get the fan started spinning from a stop, or to " "\nThis is useful for fans where a low PWM/power may be insufficient to get the fan started spinning from a stop, or to "
"get the fan up to speed faster." "get the fan up to speed faster."
"\nSet to 0 to deactivate."); "\nSet to 0 to deactivate.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0)); def->set_default_value(new ConfigOptionFloat(0));
@@ -4866,7 +4865,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Ironing expansion"); def->label = L("Ironing expansion");
def->category = L("Quality"); def->category = L("Quality");
def->tooltip = L("Expand or contract the ironing area."); def->tooltip = L("Expand or contract the ironing area.");
def->sidetext = L("mm"); def->sidetext = L("mm"); // millimeters, CIS languages need translation
def->min = -100; def->min = -100;
def->max = 100; def->max = 100;
def->mode = comExpert; def->mode = comExpert;
@@ -4903,7 +4902,7 @@ void PrintConfigDef::init_fff_params()
def->category = L("Quality"); def->category = L("Quality");
def->tooltip = L("Minimum Z-layer height.\n" def->tooltip = L("Minimum Z-layer height.\n"
"Also controls the slicing plane."); "Also controls the slicing plane.");
def->sidetext = L("mm"); def->sidetext = L("mm"); // millimeters, CIS languages need translation
def->min = 0; def->min = 0;
def->max = 100; def->max = 100;
def->mode = comExpert; def->mode = comExpert;
@@ -5102,7 +5101,7 @@ void PrintConfigDef::init_fff_params()
def->category = L("Machine limits"); def->category = L("Machine limits");
def->readonly = false; def->readonly = false;
def->tooltip = L("The allowed maximum output force of Y axis"); def->tooltip = L("The allowed maximum output force of Y axis");
def->sidetext = L("N"); def->sidetext = L_CONTEXT("N", "Newton"); // Newtons, CIS languages need translation
def->min = 0; def->min = 0;
def->mode = comDevelop; def->mode = comDevelop;
def->set_default_value(new ConfigOptionFloat(0)); def->set_default_value(new ConfigOptionFloat(0));
@@ -5112,7 +5111,7 @@ void PrintConfigDef::init_fff_params()
def->category = L("Machine limits"); def->category = L("Machine limits");
def->readonly = false; def->readonly = false;
def->tooltip = L("The machine bed mass load of Y axis"); def->tooltip = L("The machine bed mass load of Y axis");
def->sidetext = L("g"); def->sidetext = L_CONTEXT("g", "gram"); // grams, CIS languages need translation
def->min = 0; def->min = 0;
def->mode = comDevelop; def->mode = comDevelop;
def->set_default_value(new ConfigOptionFloat(0)); def->set_default_value(new ConfigOptionFloat(0));
@@ -5122,7 +5121,7 @@ void PrintConfigDef::init_fff_params()
def->category = L("Machine limits"); def->category = L("Machine limits");
def->readonly = false; def->readonly = false;
def->tooltip = L("The allowed max printed mass on a plate"); def->tooltip = L("The allowed max printed mass on a plate");
def->sidetext = L("g"); def->sidetext = L_CONTEXT("g", "gram"); // grams, CIS languages need translation
def->min = 0; def->min = 0;
def->mode = comDevelop; def->mode = comDevelop;
def->set_default_value(new ConfigOptionFloat(0)); def->set_default_value(new ConfigOptionFloat(0));
@@ -5481,7 +5480,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("reduce_infill_retraction", coBool); def = this->add("reduce_infill_retraction", coBool);
def->label = L("Reduce infill retraction"); def->label = L("Reduce infill retraction");
def->tooltip = L("Don\'t retract when the travel is entirely within an infill area. That means the oozing can\'t been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that z-hop is also not performed in areas where retraction is skipped."); def->tooltip = L("Don\'t retract when the travel is entirely within an infill area. That means the oozing can\'t been seen. This can reduce times of retraction for complex model and save printing time, but make slicing and G-code generating slower. Note that Z-hop is also not performed in areas where retraction is skipped.");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
@@ -5736,7 +5735,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("retract_after_wipe", coPercents); def = this->add("retract_after_wipe", coPercents);
def->label = L("Retract amount after wipe"); def->label = L("Retract amount after wipe");
// xgettext:no-c-format, no-boost-format // xgettext:no-c-format, no-boost-format
def->tooltip = L("The length of fast retraction after wipe, relative to retraction length.\n" def->tooltip = L("This is the length of fast retraction after wipe, relative to retraction length.\n"
"The value will be clamped by 100% minus the retract amount before the wipe value."); "The value will be clamped by 100% minus the retract amount before the wipe value.");
def->sidetext = "%"; def->sidetext = "%";
def->mode = comExpert; def->mode = comExpert;
@@ -5802,7 +5801,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("z_hop", coFloats); def = this->add("z_hop", coFloats);
def->label = L("Z-hop height"); def->label = L("Z-hop height");
def->tooltip = L("Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing."); def->tooltip = L("Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift Z can prevent stringing.");
def->sidetext = L("mm"); // millimeters, CIS languages need translation def->sidetext = L("mm"); // millimeters, CIS languages need translation
def->mode = comSimple; def->mode = comSimple;
def->min = 0; def->min = 0;
@@ -6380,7 +6379,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Layer time"); def->label = L("Layer time");
def->tooltip = L("The printing speed in exported G-code will be slowed down when the estimated layer time is " def->tooltip = L("The printing speed in exported G-code will be slowed down when the estimated layer time is "
"shorter than this value in order to get better cooling for these layers."); "shorter than this value in order to get better cooling for these layers.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->min = 0; def->min = 0;
def->max = 1000; def->max = 1000;
def->mode = comSimple; def->mode = comSimple;
@@ -6533,7 +6532,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Preheat time"); def->label = L("Preheat time");
def->tooltip = L("To reduce the waiting time after tool change, Orca can preheat the next tool while the current tool is still in use. " def->tooltip = L("To reduce the waiting time after tool change, Orca can preheat the next tool while the current tool is still in use. "
"This setting specifies the time in seconds to preheat the next tool. Orca will insert a M104 command to preheat the tool in advance."); "This setting specifies the time in seconds to preheat the next tool. Orca will insert a M104 command to preheat the tool in advance.");
def->sidetext = L("s"); // seconds, CIS languages need translation def->sidetext = L_CONTEXT("s", "second"); // seconds, CIS languages need translation
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
def->mode = comAdvanced; def->mode = comAdvanced;
@@ -8025,7 +8024,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("machine_hotend_change_time", coFloat); def = this->add("machine_hotend_change_time", coFloat);
def->label = L("Hotend change time"); def->label = L("Hotend change time");
def->tooltip = L("Time to change hotend."); def->tooltip = L("Time to change hotend.");
def->sidetext = L("s"); def->sidetext = L_CONTEXT("s", "second");
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0.0)); def->set_default_value(new ConfigOptionFloat(0.0));
@@ -9866,7 +9865,15 @@ std::string DynamicPrintConfig::get_filament_type(std::string &displayed_filamen
auto* filament_type = dynamic_cast<const ConfigOptionStrings*>(this->option("filament_type")); auto* filament_type = dynamic_cast<const ConfigOptionStrings*>(this->option("filament_type"));
auto* filament_is_support = dynamic_cast<const ConfigOptionBools*>(this->option("filament_is_support")); auto* filament_is_support = dynamic_cast<const ConfigOptionBools*>(this->option("filament_is_support"));
if (!filament_type) // get_at() on an empty vector option is undefined behavior (.front() of an empty vector),
// and e.g. filament_id is never populated on a CLI from-scratch slice - treat an empty
// option the same as a missing one.
if (filament_id && filament_id->values.empty())
filament_id = nullptr;
if (filament_is_support && filament_is_support->values.empty())
filament_is_support = nullptr;
if (!filament_type || filament_type->values.empty())
return ""; return "";
if (!filament_is_support) { if (!filament_is_support) {
@@ -10091,6 +10098,10 @@ int DynamicPrintConfig::update_values_from_single_to_multi(DynamicPrintConfig& m
for (int index = 0; index < variant_count; index++) for (int index = 0; index < variant_count; index++)
{ {
//variant_count is the variant column width, src_opt the value array;
//they disagree when the source was authored at a different width
if (index >= (int)src_opt->values.size())
break;
if (opt->values[index] > src_opt->values[index]) if (opt->values[index] > src_opt->values[index])
opt->values[index] = src_opt->values[index]; opt->values[index] = src_opt->values[index];
} }
@@ -10108,6 +10119,8 @@ int DynamicPrintConfig::update_values_from_single_to_multi(DynamicPrintConfig& m
for (int index = 0; index < variant_count; index++) for (int index = 0; index < variant_count; index++)
{ {
if (index >= (int)src_opt->values.size())
break;
if (opt->values[index].value > src_opt->values[index].value) if (opt->values[index].value > src_opt->values[index].value)
opt->values[index] = src_opt->values[index]; opt->values[index] = src_opt->values[index];
} }
@@ -10302,6 +10315,10 @@ int DynamicPrintConfig::update_values_from_multi_to_multi(DynamicPrintConfig& ne
for(auto idx : variant_indices){ for(auto idx : variant_indices){
assert(idx < old_count); assert(idx < old_count);
//the counts come from the variant columns, the arrays from the options;
//they disagree when a config was authored at a different variant width
if (idx >= old_count || new_variant_index >= (int)opt->values.size())
continue;
if (old_values[idx] < opt->values[new_variant_index]) if (old_values[idx] < opt->values[new_variant_index])
opt->values[new_variant_index] = old_values[idx]; opt->values[new_variant_index] = old_values[idx];
} }
@@ -10332,6 +10349,10 @@ int DynamicPrintConfig::update_values_from_multi_to_multi(DynamicPrintConfig& ne
for(auto idx : variant_indices){ for(auto idx : variant_indices){
assert(idx < old_count); assert(idx < old_count);
//the counts come from the variant columns, the arrays from the options;
//they disagree when a config was authored at a different variant width
if (idx >= old_count || new_variant_index >= (int)opt->values.size())
continue;
if (old_values[idx] < opt->values[new_variant_index]) if (old_values[idx] < opt->values[new_variant_index])
opt->values[new_variant_index] = old_values[idx]; opt->values[new_variant_index] = old_values[idx];
} }
@@ -10362,6 +10383,8 @@ int DynamicPrintConfig::update_values_from_multi_to_multi(DynamicPrintConfig& ne
for(auto idx : variant_indices){ for(auto idx : variant_indices){
assert(idx < old_count); assert(idx < old_count);
if (idx >= old_count || new_variant_index >= (int)opt->values.size())
continue;
if (old_values[idx]) //enabled if (old_values[idx]) //enabled
opt->values[new_variant_index] = old_values[idx]; opt->values[new_variant_index] = old_values[idx];
} }
@@ -10402,6 +10425,15 @@ int DynamicPrintConfig::update_values_from_multi_to_multi_2(const std::vector<st
same_variant_indices.emplace_back(indices); same_variant_indices.emplace_back(indices);
} }
//dst_values below is the destination PRINT preset's per-variant row, sized to its own
//print_extruder_variant; dst_extruder_variants is the PRINTER's list. They disagree until
//the print preset is re-selected, so size the row to the variant count before indexing it.
const size_t dst_variant_count = dst_extruder_variants.size();
if (dst_variant_count == 0) {
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(", Line %1%: empty destination variant list")%__LINE__;
return -1;
}
t_config_option_keys keys = this->keys(); t_config_option_keys keys = this->keys();
for(auto& key : keys){ for(auto& key : keys){
if(key_sets.find(key) == key_sets.end()) if(key_sets.find(key) == key_sets.end())
@@ -10417,7 +10449,13 @@ int DynamicPrintConfig::update_values_from_multi_to_multi_2(const std::vector<st
{ {
ConfigOptionFloatsNullable* opt = this->option<ConfigOptionFloatsNullable>(key); ConfigOptionFloatsNullable* opt = this->option<ConfigOptionFloatsNullable>(key);
auto src_values = opt->values; auto src_values = opt->values;
auto dst_values = dst_config.option<ConfigOptionFloatsNullable>(key) ->values; const auto* dst_opt = dst_config.option<ConfigOptionFloatsNullable>(key);
if(!dst_opt){
BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: %2% missing from destination config")%__LINE__%key;
break;
}
auto dst_values = dst_opt->values;
dst_values.resize(dst_variant_count, ConfigOptionFloatsNullable::nil_value());
for(size_t dst_idx =0; dst_idx < same_variant_indices.size(); ++dst_idx){ for(size_t dst_idx =0; dst_idx < same_variant_indices.size(); ++dst_idx){
auto& indices = same_variant_indices[dst_idx]; auto& indices = same_variant_indices[dst_idx];
if(indices.empty()) if(indices.empty())
@@ -10425,7 +10463,7 @@ int DynamicPrintConfig::update_values_from_multi_to_multi_2(const std::vector<st
bool has_value = false; bool has_value = false;
double target_value = std::numeric_limits<double>::max(); double target_value = std::numeric_limits<double>::max();
for(auto idx : indices){ for(auto idx : indices){
if(opt && idx < opt->values.size() && !opt->is_nil(idx)){ if(idx < (int)opt->values.size() && !opt->is_nil(idx)){
has_value = true; has_value = true;
target_value = std::min(target_value, src_values[idx]); target_value = std::min(target_value, src_values[idx]);
} }
@@ -10441,7 +10479,13 @@ int DynamicPrintConfig::update_values_from_multi_to_multi_2(const std::vector<st
{ {
ConfigOptionFloatsOrPercentsNullable* opt = this->option<ConfigOptionFloatsOrPercentsNullable>(key); ConfigOptionFloatsOrPercentsNullable* opt = this->option<ConfigOptionFloatsOrPercentsNullable>(key);
auto src_values = opt->values; auto src_values = opt->values;
auto dst_values = dst_config.option<ConfigOptionFloatsOrPercentsNullable>(key) ->values; const auto* dst_opt = dst_config.option<ConfigOptionFloatsOrPercentsNullable>(key);
if(!dst_opt){
BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: %2% missing from destination config")%__LINE__%key;
break;
}
auto dst_values = dst_opt->values;
dst_values.resize(dst_variant_count, ConfigOptionFloatsOrPercentsNullable::nil_value());
for(size_t dst_idx =0; dst_idx < same_variant_indices.size(); ++dst_idx){ for(size_t dst_idx =0; dst_idx < same_variant_indices.size(); ++dst_idx){
auto& indices = same_variant_indices[dst_idx]; auto& indices = same_variant_indices[dst_idx];
if(indices.empty()) if(indices.empty())
@@ -10449,7 +10493,7 @@ int DynamicPrintConfig::update_values_from_multi_to_multi_2(const std::vector<st
bool has_value = false; bool has_value = false;
FloatOrPercent target_value{9999.f, true}; FloatOrPercent target_value{9999.f, true};
for(auto idx : indices){ for(auto idx : indices){
if(opt && !opt->is_nil(idx)){ if(idx < (int)opt->values.size() && !opt->is_nil(idx)){
has_value = true; has_value = true;
target_value = src_values[idx].value < target_value.value ? src_values[idx] : target_value; target_value = src_values[idx].value < target_value.value ? src_values[idx] : target_value;
} }
@@ -10465,15 +10509,21 @@ int DynamicPrintConfig::update_values_from_multi_to_multi_2(const std::vector<st
{ {
ConfigOptionBoolsNullable* opt = this->option<ConfigOptionBoolsNullable>(key); ConfigOptionBoolsNullable* opt = this->option<ConfigOptionBoolsNullable>(key);
auto src_values = opt->values; auto src_values = opt->values;
auto dst_values = dst_config.option<ConfigOptionBoolsNullable>(key) ->values; const auto* dst_opt = dst_config.option<ConfigOptionBoolsNullable>(key);
if(!dst_opt){
BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: %2% missing from destination config")%__LINE__%key;
break;
}
auto dst_values = dst_opt->values;
dst_values.resize(dst_variant_count, ConfigOptionBoolsNullable::nil_value());
for(size_t dst_idx =0; dst_idx < same_variant_indices.size(); ++dst_idx){ for(size_t dst_idx =0; dst_idx < same_variant_indices.size(); ++dst_idx){
auto indices = same_variant_indices[dst_idx]; auto indices = same_variant_indices[dst_idx];
if(indices.empty()) if(indices.empty())
continue; continue;
bool has_value = false; bool has_value = false;
bool target_value; bool target_value = false;
for(auto idx : indices){ for(auto idx : indices){
if(opt && !opt->is_nil(idx)){ if(idx < (int)opt->values.size() && !opt->is_nil(idx)){
has_value = true; has_value = true;
target_value = src_values[idx]; target_value = src_values[idx];
break; break;
@@ -11948,13 +11998,11 @@ CLIActionsConfigDef::CLIActionsConfigDef()
def = this->add("load_defaultfila", coBool); def = this->add("load_defaultfila", coBool);
def->label = L("Load default filaments"); def->label = L("Load default filaments");
def->tooltip = L("Load first filament as default for those not loaded."); def->tooltip = L("Load first filament as default for those not loaded.");
def->cli_params = "option";
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("min_save", coBool); def = this->add("min_save", coBool);
def->label = L("Minimum save"); def->label = L("Minimum save");
def->tooltip = L("Export 3MF with minimum size."); def->tooltip = L("Export 3MF with minimum size.");
def->cli_params = "option";
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("mtcpp", coInt); def = this->add("mtcpp", coInt);
@@ -11980,7 +12028,6 @@ CLIActionsConfigDef::CLIActionsConfigDef()
def = this->add("normative_check", coBool); def = this->add("normative_check", coBool);
def->label = L("Normative check"); def->label = L("Normative check");
def->tooltip = L("Check the normative items."); def->tooltip = L("Check the normative items.");
def->cli_params = "option";
def->set_default_value(new ConfigOptionBool(true)); def->set_default_value(new ConfigOptionBool(true));
/*def = this->add("help_fff", coBool); /*def = this->add("help_fff", coBool);
@@ -12247,7 +12294,7 @@ CLIMiscConfigDef::CLIMiscConfigDef()
def->cli_params = "level"; def->cli_params = "level";
def->set_default_value(new ConfigOptionInt(1)); def->set_default_value(new ConfigOptionInt(1));
def = this->add("logfile", coInt); def = this->add("logfile", coString);
def->label = L("Log file"); def->label = L("Log file");
def->tooltip = L("Redirects debug logging to file.\n"); def->tooltip = L("Redirects debug logging to file.\n");
def->cli_params = "file"; def->cli_params = "file";
@@ -12295,7 +12342,6 @@ CLIMiscConfigDef::CLIMiscConfigDef()
def = this->add("skip_modified_gcodes", coBool); def = this->add("skip_modified_gcodes", coBool);
def->label = L("Skip modified G-code in 3MF"); def->label = L("Skip modified G-code in 3MF");
def->tooltip = L("Skip the modified G-code in 3MF from printer or filament presets."); def->tooltip = L("Skip the modified G-code in 3MF from printer or filament presets.");
def->cli_params = "option";
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("makerlab_name", coString); def = this->add("makerlab_name", coString);
@@ -12325,14 +12371,12 @@ CLIMiscConfigDef::CLIMiscConfigDef()
def = this->add("allow_newer_file", coBool); def = this->add("allow_newer_file", coBool);
def->label = L("Allow 3MF with newer version to be sliced"); def->label = L("Allow 3MF with newer version to be sliced");
def->tooltip = L("Allow 3MF with newer version to be sliced."); def->tooltip = L("Allow 3MF with newer version to be sliced.");
def->cli_params = "option";
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
def = this->add("allow_mix_temp", coBool); def = this->add("allow_mix_temp", coBool);
// internal use only, don't need translation // internal use only, don't need translation
def->label = "Allow filaments with high/low temperature to be printed together"; def->label = "Allow filaments with high/low temperature to be printed together";
def->tooltip = "Allow filaments with high/low temperature to be printed together."; def->tooltip = "Allow filaments with high/low temperature to be printed together.";
def->cli_params = "option";
def->set_default_value(new ConfigOptionBool(false)); def->set_default_value(new ConfigOptionBool(false));
} }
+1 -1
View File
@@ -2666,7 +2666,7 @@ void PrintObject::bridge_over_infill()
// SECTION to gather and filter surfaces for expanding, and then cluster them by layer // SECTION to gather and filter surfaces for expanding, and then cluster them by layer
{ {
tbb::concurrent_vector<CandidateSurface> candidate_surfaces; tbb::concurrent_vector<CandidateSurface> candidate_surfaces;
tbb::parallel_for(tbb::blocked_range<size_t>(0, this->layers().size()), [po = static_cast<const PrintObject *>(this), &candidate_surfaces, has_lightning_infill](tbb::blocked_range<size_t> r) { tbb::parallel_for(tbb::blocked_range<size_t>(0, this->layers().size()), [po = static_cast<const PrintObject *>(this), &candidate_surfaces](tbb::blocked_range<size_t> r) {
PRINT_OBJECT_TIME_LIMIT_MILLIS(PRINT_OBJECT_TIME_LIMIT_DEFAULT); PRINT_OBJECT_TIME_LIMIT_MILLIS(PRINT_OBJECT_TIME_LIMIT_DEFAULT);
for (size_t lidx = r.begin(); lidx < r.end(); lidx++) { for (size_t lidx = r.begin(); lidx < r.end(); lidx++) {
const Layer *layer = po->get_layer(lidx); const Layer *layer = po->get_layer(lidx);
+12 -5
View File
@@ -304,11 +304,16 @@ static std::vector<std::vector<ExPolygons>> slices_to_regions(
float z = zs[z_idx]; float z = zs[z_idx];
int idx_first_printable_region = -1; int idx_first_printable_region = -1;
bool complex = false; bool complex = false;
std::vector<int> printable_region_ids;
for (int idx_region = 0; idx_region < int(layer_range.volume_regions.size()); ++ idx_region) { for (int idx_region = 0; idx_region < int(layer_range.volume_regions.size()); ++ idx_region) {
const PrintObjectRegions::VolumeRegion &region = layer_range.volume_regions[idx_region]; const PrintObjectRegions::VolumeRegion &region = layer_range.volume_regions[idx_region];
if (region.bbox->min().z() <= z && region.bbox->max().z() >= z) { if (region.bbox->min().z() <= z && region.bbox->max().z() >= z) {
if (idx_first_printable_region == -1 && region.model_volume->is_model_part()) if (region.model_volume->is_model_part())
printable_region_ids.push_back(idx_region);
if (idx_first_printable_region == -1 && region.model_volume->is_model_part()) {
idx_first_printable_region = idx_region; idx_first_printable_region = idx_region;
}
else if (idx_first_printable_region != -1) { else if (idx_first_printable_region != -1) {
// Test for overlap with some other region. // Test for overlap with some other region.
for (int idx_region2 = idx_first_printable_region; idx_region2 < idx_region; ++ idx_region2) { for (int idx_region2 = idx_first_printable_region; idx_region2 < idx_region; ++ idx_region2) {
@@ -324,8 +329,10 @@ static std::vector<std::vector<ExPolygons>> slices_to_regions(
if (complex) if (complex)
zs_complex.push_back({ z_idx, z }); zs_complex.push_back({ z_idx, z });
else if (idx_first_printable_region >= 0) { else if (idx_first_printable_region >= 0) {
const PrintObjectRegions::VolumeRegion &region = layer_range.volume_regions[idx_first_printable_region]; for (int printable_region_id : printable_region_ids) {
slices_by_region[region.region->print_object_region_id()][z_idx] = std::move(volume_slices_find_by_id(volume_slices, region.model_volume->id()).slices[z_idx]); const PrintObjectRegions::VolumeRegion &region = layer_range.volume_regions[printable_region_id];
append(slices_by_region[region.region->print_object_region_id()][z_idx], std::move(volume_slices_find_by_id(volume_slices, region.model_volume->id()).slices[z_idx]));
}
} }
} }
} }
@@ -527,7 +534,7 @@ bool groupingVolumes(std::vector<VolumeSlices> objSliceByVolume, std::vector<gro
} }
tbb::parallel_for(tbb::blocked_range<int>(0, osvIndex.size()), tbb::parallel_for(tbb::blocked_range<int>(0, osvIndex.size()),
[&osvIndex, &objSliceByVolume, &offsetValue, &resolution](const tbb::blocked_range<int>& range) { [&osvIndex, &objSliceByVolume, &resolution](const tbb::blocked_range<int>& range) {
for (auto k = range.begin(); k != range.end(); ++k) { for (auto k = range.begin(); k != range.end(); ++k) {
for (ExPolygon& poly_ex : objSliceByVolume[osvIndex[k][0]].slices[osvIndex[k][1]]) for (ExPolygon& poly_ex : objSliceByVolume[osvIndex[k][0]].slices[osvIndex[k][1]])
poly_ex.douglas_peucker(resolution); poly_ex.douglas_peucker(resolution);
@@ -535,7 +542,7 @@ bool groupingVolumes(std::vector<VolumeSlices> objSliceByVolume, std::vector<gro
}); });
tbb::parallel_for(tbb::blocked_range<int>(0, osvIndex.size()), tbb::parallel_for(tbb::blocked_range<int>(0, osvIndex.size()),
[&osvIndex, &objSliceByVolume,&offsetValue, &resolution](const tbb::blocked_range<int>& range) { [&osvIndex, &objSliceByVolume,&offsetValue](const tbb::blocked_range<int>& range) {
for (auto k = range.begin(); k != range.end(); ++k) { for (auto k = range.begin(); k != range.end(); ++k) {
objSliceByVolume[osvIndex[k][0]].slices[osvIndex[k][1]] = offset_ex(objSliceByVolume[osvIndex[k][0]].slices[osvIndex[k][1]], offsetValue); objSliceByVolume[osvIndex[k][0]].slices[osvIndex[k][1]] = offset_ex(objSliceByVolume[osvIndex[k][0]].slices[osvIndex[k][1]], offsetValue);
} }
-3
View File
@@ -44,9 +44,6 @@ struct DrainHole
: pos(p), normal(n), radius(r), height(h), failed(fl) : pos(p), normal(n), radius(r), height(h), failed(fl)
{} {}
DrainHole(const DrainHole& rhs) :
DrainHole(rhs.pos, rhs.normal, rhs.radius, rhs.height, rhs.failed) {}
bool operator==(const DrainHole &sp) const; bool operator==(const DrainHole &sp) const;
bool operator!=(const DrainHole &sp) const { return !(sp == (*this)); } bool operator!=(const DrainHole &sp) const { return !(sp == (*this)); }
+1 -5
View File
@@ -132,7 +132,7 @@ std::pair<SupportGeneratorLayersPtr, SupportGeneratorLayersPtr> generate_interfa
return nullptr; return nullptr;
}; };
tbb::parallel_for(tbb::blocked_range<int>(0, int(intermediate_layers.size())), tbb::parallel_for(tbb::blocked_range<int>(0, int(intermediate_layers.size())),
[&bottom_contacts, &top_contacts, &top_interface_layers, &top_base_interface_layers, &intermediate_layers, &insert_layer, &support_params, [&bottom_contacts, &top_contacts, &top_interface_layers, &top_base_interface_layers, &intermediate_layers, &insert_layer,
num_top_interface_layers, num_bottom_interface_layers, num_top_base_interface_layers, num_bottom_base_interface_layers, num_top_interface_layers, num_bottom_interface_layers, num_top_base_interface_layers, num_bottom_base_interface_layers,
num_top_interface_layers_only, num_bottom_interface_layers_only, num_top_interface_layers_only, num_bottom_interface_layers_only,
snug_supports, &interface_layers, &base_interface_layers](const tbb::blocked_range<int>& range) { snug_supports, &interface_layers, &base_interface_layers](const tbb::blocked_range<int>& range) {
@@ -1234,10 +1234,6 @@ static void modulate_extrusion_by_overlapping_layers(
(fragment_end.is_start ? &polyline.points.front() : &polyline.points.back()); (fragment_end.is_start ? &polyline.points.front() : &polyline.points.back());
} }
private: private:
ExtrusionPathFragmentEndPointAccessor& operator=(const ExtrusionPathFragmentEndPointAccessor&) {
return *this;
}
const std::vector<ExtrusionPathFragment> &m_path_fragments; const std::vector<ExtrusionPathFragment> &m_path_fragments;
}; };
const coord_t search_radius = 7; const coord_t search_radius = 7;
+1 -1
View File
@@ -1588,7 +1588,7 @@ static inline std::tuple<Polygons, Polygons, double> detect_contacts(
// Cache support trimming polygons derived from lower layer polygons, possible merged with "on build plate only" trimming polygons. // Cache support trimming polygons derived from lower layer polygons, possible merged with "on build plate only" trimming polygons.
auto slices_margin_update = auto slices_margin_update =
[&slices_margin, &layer, &lower_layer, &lower_layer_polygons, buildplate_only, has_enforcer, &annotations, layer_id] [&slices_margin, &lower_layer, &lower_layer_polygons, buildplate_only, has_enforcer, &annotations, layer_id]
(float slices_margin_offset, float no_interface_offset) { (float slices_margin_offset, float no_interface_offset) {
if (slices_margin.offset != slices_margin_offset) { if (slices_margin.offset != slices_margin_offset) {
slices_margin.offset = slices_margin_offset; slices_margin.offset = slices_margin_offset;
+1 -1
View File
@@ -2667,7 +2667,7 @@ void TreeSupport::drop_nodes()
SupportNode::diameter_angle_scale_factor = diameter_angle_scale_factor; SupportNode::diameter_angle_scale_factor = diameter_angle_scale_factor;
float DO_NOT_MOVER_UNDER_MM = is_slim ? 0 : 5; // do not move contact points under 5mm float DO_NOT_MOVER_UNDER_MM = is_slim ? 0 : 5; // do not move contact points under 5mm
auto get_max_move_dist = [this, &config, tan_angle, wall_count, support_extrusion_width](const SupportNode *node, int power = 1) { auto get_max_move_dist = [this, tan_angle, support_extrusion_width](const SupportNode *node, int power = 1) {
if (node->max_move_dist == 0) { if (node->max_move_dist == 0) {
node->radius = get_radius(node); node->radius = get_radius(node);
node->max_move_dist = std::min(tan_angle * node->height, support_extrusion_width); node->max_move_dist = std::min(tan_angle * node->height, support_extrusion_width);
+3 -2
View File
@@ -204,8 +204,9 @@ public:
clear_nodes(); clear_nodes();
} }
TreeSupportData(TreeSupportData&&) = default; // Deleted by the tbb::spin_mutex member.
TreeSupportData& operator=(TreeSupportData&&) = default; TreeSupportData(TreeSupportData&&) = delete;
TreeSupportData& operator=(TreeSupportData&&) = delete;
TreeSupportData(const TreeSupportData&) = delete; TreeSupportData(const TreeSupportData&) = delete;
TreeSupportData& operator=(const TreeSupportData&) = delete; TreeSupportData& operator=(const TreeSupportData&) = delete;
+2 -2
View File
@@ -28,9 +28,9 @@ std::string CalibPressureAdvance::move_to(Vec2d pt, GCodeWriter &writer, std::st
gcode << writer.retract(); // retract before z move or move gcode << writer.retract(); // retract before z move or move
if(z > EPSILON && layer_height >= 0){ if(z > EPSILON && layer_height >= 0){
gcode << writer.travel_to_z(z, "z-hop"); // Perform z hop gcode << writer.travel_to_z(z, "Z-hop"); // Perform z hop
gcode << writer.travel_to_xy(pt, comment); // Travel with z move gcode << writer.travel_to_xy(pt, comment); // Travel with z move
gcode << writer.travel_to_z(layer_height, "undo z-hop"); // Undo z hop gcode << writer.travel_to_z(layer_height, "undo Z-hop"); // Undo z hop
}else { }else {
gcode << writer.travel_to_xy(pt, comment); gcode << writer.travel_to_xy(pt, comment);
} }
+3 -17
View File
@@ -91,29 +91,15 @@ class CaliPresetInfo
{ {
public: public:
int tray_id; int tray_id;
int extruder_id; int extruder_id = 0;
NozzleVolumeType nozzle_volume_type; NozzleVolumeType nozzle_volume_type{nvtStandard};
BedType bed_type; BedType bed_type{btDefault};
float nozzle_diameter; float nozzle_diameter;
int nozzle_pos_id{-1}; int nozzle_pos_id{-1};
std::string nozzle_sn; std::string nozzle_sn;
std::string filament_id; std::string filament_id;
std::string setting_id; std::string setting_id;
std::string name; std::string name;
CaliPresetInfo &operator=(const CaliPresetInfo &other)
{
this->tray_id = other.tray_id;
this->extruder_id = other.extruder_id;
this->nozzle_volume_type = other.nozzle_volume_type;
this->nozzle_diameter = other.nozzle_diameter;
this->nozzle_pos_id = other.nozzle_pos_id;
this->nozzle_sn = other.nozzle_sn;
this->filament_id = other.filament_id;
this->setting_id = other.setting_id;
this->name = other.name;
return *this;
}
}; };
struct PrinterCaliInfo struct PrinterCaliInfo
+5 -1
View File
@@ -310,7 +310,11 @@ void set_data_dir(const std::string &dir)
{ {
g_data_dir = dir; g_data_dir = dir;
if (!g_data_dir.empty() && !boost::filesystem::exists(g_data_dir)) { if (!g_data_dir.empty() && !boost::filesystem::exists(g_data_dir)) {
boost::filesystem::create_directory(g_data_dir); try {
boost::filesystem::create_directories(g_data_dir);
} catch (const boost::filesystem::filesystem_error &ex) {
BOOST_LOG_TRIVIAL(error) << "set_data_dir: failed to create data directory " << g_data_dir << ": " << ex.what();
}
} }
} }
+2 -1
View File
@@ -925,13 +925,14 @@ elseif (WIN32)
# Prebuilt shared FFmpeg from the deps install. Windows has no pkg-config, # Prebuilt shared FFmpeg from the deps install. Windows has no pkg-config,
# so resolve the import libraries out of the deps prefix directly; the DLLs # so resolve the import libraries out of the deps prefix directly; the DLLs
# are copied next to the executable by the top level CMakeLists. # are copied next to the executable by the top level CMakeLists.
find_library(LIBAVFORMAT_LIBRARY NAMES avformat PATHS ${CMAKE_PREFIX_PATH}/lib NO_DEFAULT_PATH)
find_library(LIBAVCODEC_LIBRARY NAMES avcodec PATHS ${CMAKE_PREFIX_PATH}/lib NO_DEFAULT_PATH) find_library(LIBAVCODEC_LIBRARY NAMES avcodec PATHS ${CMAKE_PREFIX_PATH}/lib NO_DEFAULT_PATH)
find_library(LIBSWSCALE_LIBRARY NAMES swscale PATHS ${CMAKE_PREFIX_PATH}/lib NO_DEFAULT_PATH) find_library(LIBSWSCALE_LIBRARY NAMES swscale PATHS ${CMAKE_PREFIX_PATH}/lib NO_DEFAULT_PATH)
find_library(LIBAVUTIL_LIBRARY NAMES avutil PATHS ${CMAKE_PREFIX_PATH}/lib NO_DEFAULT_PATH) find_library(LIBAVUTIL_LIBRARY NAMES avutil PATHS ${CMAKE_PREFIX_PATH}/lib NO_DEFAULT_PATH)
if (NOT LIBAVCODEC_LIBRARY OR NOT LIBSWSCALE_LIBRARY OR NOT LIBAVUTIL_LIBRARY) if (NOT LIBAVCODEC_LIBRARY OR NOT LIBSWSCALE_LIBRARY OR NOT LIBAVUTIL_LIBRARY)
message(FATAL_ERROR "FFmpeg (avcodec/swscale/avutil) not found under ${CMAKE_PREFIX_PATH}/lib. Rebuild the deps.") message(FATAL_ERROR "FFmpeg (avcodec/swscale/avutil) not found under ${CMAKE_PREFIX_PATH}/lib. Rebuild the deps.")
endif () endif ()
target_link_libraries(libslic3r_gui ${LIBAVCODEC_LIBRARY} ${LIBSWSCALE_LIBRARY} ${LIBAVUTIL_LIBRARY}) target_link_libraries(libslic3r_gui ${LIBAVFORMAT_LIBRARY} ${LIBAVCODEC_LIBRARY} ${LIBSWSCALE_LIBRARY} ${LIBAVUTIL_LIBRARY})
target_include_directories(libslic3r_gui SYSTEM PRIVATE ${CMAKE_PREFIX_PATH}/include) target_include_directories(libslic3r_gui SYSTEM PRIVATE ${CMAKE_PREFIX_PATH}/include)
else () else ()
pkg_check_modules(LIBAV REQUIRED IMPORTED_TARGET pkg_check_modules(LIBAV REQUIRED IMPORTED_TARGET
+3 -3
View File
@@ -437,7 +437,7 @@ wxBoxSizer* AMSDryCtrWin::create_normal_state_panel(wxPanel* parent)
m_temperature_input = new wxTextCtrl(parent, wxID_ANY, "", wxDefaultPosition, wxSize(FromDIP(80), -1)); m_temperature_input = new wxTextCtrl(parent, wxID_ANY, "", wxDefaultPosition, wxSize(FromDIP(80), -1));
m_temperature_input->SetMaxLength(3); // Limit to 3 digits m_temperature_input->SetMaxLength(3); // Limit to 3 digits
m_temperature_input->Bind(wxEVT_CHAR, [this](wxKeyEvent& event) { m_temperature_input->Bind(wxEVT_CHAR, [](wxKeyEvent& event) {
int keycode = event.GetKeyCode(); int keycode = event.GetKeyCode();
if (keycode >= '0' && keycode <= '9') { if (keycode >= '0' && keycode <= '9') {
event.Skip(); event.Skip();
@@ -464,7 +464,7 @@ wxBoxSizer* AMSDryCtrWin::create_normal_state_panel(wxPanel* parent)
m_time_input = new wxTextCtrl(parent, wxID_ANY, "", wxDefaultPosition, wxSize(FromDIP(100), -1)); m_time_input = new wxTextCtrl(parent, wxID_ANY, "", wxDefaultPosition, wxSize(FromDIP(100), -1));
m_time_input->SetMaxLength(3); // Limit to 3 digits m_time_input->SetMaxLength(3); // Limit to 3 digits
m_time_input->Bind(wxEVT_CHAR, [this](wxKeyEvent& event) { m_time_input->Bind(wxEVT_CHAR, [](wxKeyEvent& event) {
int keycode = event.GetKeyCode(); int keycode = event.GetKeyCode();
if (keycode >= '0' && keycode <= '9') { if (keycode >= '0' && keycode <= '9') {
event.Skip(); event.Skip();
@@ -698,7 +698,7 @@ wxBoxSizer* AMSDryCtrWin::create_guide_info_section(wxPanel* parent)
m_rotate_spool_toggle = new wxCheckBox(parent, wxID_ANY, ""); m_rotate_spool_toggle = new wxCheckBox(parent, wxID_ANY, "");
m_rotate_spool_toggle->SetValue(false); m_rotate_spool_toggle->SetValue(false);
m_rotate_spool_toggle->Bind(wxEVT_CHECKBOX, [this](wxCommandEvent& event) { m_rotate_spool_toggle->Bind(wxEVT_CHECKBOX, [](wxCommandEvent& event) {
bool is_checked = event.IsChecked(); bool is_checked = event.IsChecked();
// Add toggle behavior logic here // Add toggle behavior logic here
}); });
+3 -3
View File
@@ -468,7 +468,7 @@ PingCodeBindDialog::~PingCodeBindDialog() {
m_link_privacy_title->SetFont(Label::Head_13); m_link_privacy_title->SetFont(Label::Head_13);
m_link_privacy_title->SetMaxSize(wxSize(FromDIP(450), -1)); m_link_privacy_title->SetMaxSize(wxSize(FromDIP(450), -1));
m_link_privacy_title->Wrap(FromDIP(450)); m_link_privacy_title->Wrap(FromDIP(450));
m_link_privacy_title->Bind(wxEVT_LEFT_DOWN, [this](auto& e) { m_link_privacy_title->Bind(wxEVT_LEFT_DOWN, [](auto& e) {
std::string url; std::string url;
std::string country_code = Slic3r::GUI::wxGetApp().app_config->get_country_code(); std::string country_code = Slic3r::GUI::wxGetApp().app_config->get_country_code();
@@ -893,7 +893,7 @@ void BindMachineDialog::on_show(wxShowEvent &event)
} }
} }
}) })
.on_error([this](std::string body, std::string error, unsigned status) { .on_error([](std::string body, std::string error, unsigned status) {
//BOOST_LOG_TRIVIAL(info) << "load oss picture failed, oss path: " << oss_path << " status:" << status << " error:" << error; //BOOST_LOG_TRIVIAL(info) << "load oss picture failed, oss path: " << oss_path << " status:" << status << " error:" << error;
}).perform(); }).perform();
} }
@@ -1099,7 +1099,7 @@ void UnBindMachineDialog::on_show(wxShowEvent &event)
} }
} }
}) })
.on_error([this](std::string body, std::string error, unsigned status) { .on_error([](std::string body, std::string error, unsigned status) {
//BOOST_LOG_TRIVIAL(info) << "load oss picture failed, oss path: " << oss_path << " status:" << status << " error:" << error; //BOOST_LOG_TRIVIAL(info) << "load oss picture failed, oss path: " << oss_path << " status:" << status << " error:" << error;
}).perform(); }).perform();
+1 -1
View File
@@ -443,7 +443,7 @@ void HistoryWindow::sync_history_data() {
auto edit_button = new Button(m_history_data_panel, _L("Edit")); auto edit_button = new Button(m_history_data_panel, _L("Edit"));
edit_button->SetStyle(ButtonStyle::Confirm, ButtonType::Window); edit_button->SetStyle(ButtonStyle::Confirm, ButtonType::Window);
edit_button->Bind(wxEVT_BUTTON, [this, result, k_value, name_value, edit_button](auto& e) { edit_button->Bind(wxEVT_BUTTON, [this, result, k_value, name_value](auto& e) {
if (m_ui_op_lock) return; if (m_ui_op_lock) return;
PACalibResult result_buffer = result; PACalibResult result_buffer = result;
+1 -1
View File
@@ -201,7 +201,7 @@ wxWindow* CalibrationDialog::create_check_option(wxString title, wxWindow* paren
checkbox->SetToolTip(tooltip); checkbox->SetToolTip(tooltip);
text->SetToolTip(tooltip); text->SetToolTip(tooltip);
text->Bind(wxEVT_LEFT_DOWN, [this, check](wxMouseEvent&) { check->SetValue(check->GetValue() ? false : true); }); text->Bind(wxEVT_LEFT_DOWN, [check](wxMouseEvent&) { check->SetValue(check->GetValue() ? false : true); });
m_checkbox_list[param] = check; m_checkbox_list[param] = check;
m_checkbox_list[param]->SetValue(true); m_checkbox_list[param]->SetValue(true);
return checkbox; return checkbox;
+1 -1
View File
@@ -477,7 +477,7 @@ void CalibrationWizard::on_cali_go_home()
if (go_home_dialog == nullptr) if (go_home_dialog == nullptr)
go_home_dialog = new SecondaryCheckDialog(this, wxID_ANY, _L("Confirm")); go_home_dialog = new SecondaryCheckDialog(this, wxID_ANY, _L("Confirm"));
go_home_dialog->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this, method](wxCommandEvent &e) { go_home_dialog->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this](wxCommandEvent &e) {
if (curr_obj) { if (curr_obj) {
curr_obj->command_task_abort(); curr_obj->command_task_abort();
} else { } else {
+1 -1
View File
@@ -90,7 +90,7 @@ void CalibrationCaliPage::on_subtask_abort(wxCommandEvent& event)
if (abort_dlg == nullptr) { if (abort_dlg == nullptr) {
abort_dlg = new SecondaryCheckDialog(this->GetParent(), wxID_ANY, _L("Cancel print")); abort_dlg = new SecondaryCheckDialog(this->GetParent(), wxID_ANY, _L("Cancel print"));
abort_dlg->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this, obj](wxCommandEvent& e) { abort_dlg->Bind(EVT_SECONDARY_CHECK_CONFIRM, [obj](wxCommandEvent& e) {
if (obj) obj->command_task_abort(); if (obj) obj->command_task_abort();
}); });
} }
+1 -1
View File
@@ -762,7 +762,7 @@ void CaliPageActionPanel::bind_button(CaliPageActionType action_type, bool is_bl
if (is_block) { if (is_block) {
m_action_btns[i]->Bind(wxEVT_BUTTON, m_action_btns[i]->Bind(wxEVT_BUTTON,
[this](wxCommandEvent& evt) { [](wxCommandEvent& evt) {
MessageDialog msg(nullptr, _L("The current firmware version of the printer does not support calibration.\nPlease upgrade the printer firmware."), _L("Calibration not supported"), wxOK | wxICON_WARNING); MessageDialog msg(nullptr, _L("The current firmware version of the printer does not support calibration.\nPlease upgrade the printer firmware."), _L("Calibration not supported"), wxOK | wxICON_WARNING);
msg.ShowModal(); msg.ShowModal();
}); });
+3 -3
View File
@@ -272,7 +272,7 @@ void CaliPASaveAutoPanel::sync_cali_result(const std::vector<PACalibResult>& cal
preset_names = default_naming(preset_names); preset_names = default_naming(preset_names);
std::vector<PACalibResult> sorted_cali_result = cali_result; std::vector<PACalibResult> sorted_cali_result = cali_result;
std::sort(sorted_cali_result.begin(), sorted_cali_result.end(), [this](const PACalibResult &left, const PACalibResult& right) { std::sort(sorted_cali_result.begin(), sorted_cali_result.end(), [](const PACalibResult &left, const PACalibResult& right) {
return left.tray_id < right.tray_id; return left.tray_id < right.tray_id;
}); });
@@ -366,7 +366,7 @@ void CaliPASaveAutoPanel::sync_cali_result(const std::vector<PACalibResult>& cal
} }
} }
comboBox_tray_name->Bind(wxEVT_COMBOBOX, [this, comboBox_tray_name, k_value, n_value](auto& e) { comboBox_tray_name->Bind(wxEVT_COMBOBOX, [comboBox_tray_name](auto& e) {
int selection = comboBox_tray_name->GetSelection(); int selection = comboBox_tray_name->GetSelection();
auto history = filtered_results[selection]; auto history = filtered_results[selection];
}); });
@@ -744,7 +744,7 @@ void CaliPASaveAutoPanel::sync_cali_result_for_multi_extruder(const std::vector<
} }
} }
comboBox_tray_name->Bind(wxEVT_COMBOBOX, [this, comboBox_tray_name, k_value, n_value](auto &e) { comboBox_tray_name->Bind(wxEVT_COMBOBOX, [comboBox_tray_name](auto &e) {
int selection = comboBox_tray_name->GetSelection(); int selection = comboBox_tray_name->GetSelection();
auto history = filtered_results[selection]; auto history = filtered_results[selection];
}); });
+1 -1
View File
@@ -111,7 +111,7 @@ CameraPopup::CameraPopup(wxWindow *parent)
vcamera_guide_link->Wrap(-1); vcamera_guide_link->Wrap(-1);
vcamera_guide_link->SetForegroundColour(wxColour(0x1F, 0x8E, 0xEA)); vcamera_guide_link->SetForegroundColour(wxColour(0x1F, 0x8E, 0xEA));
auto text_size = vcamera_guide_link->GetTextExtent(text); auto text_size = vcamera_guide_link->GetTextExtent(text);
vcamera_guide_link->Bind(wxEVT_LEFT_DOWN, [this, url](wxMouseEvent& e) {wxLaunchDefaultBrowser(url); }); vcamera_guide_link->Bind(wxEVT_LEFT_DOWN, [url](wxMouseEvent& e) {wxLaunchDefaultBrowser(url); });
link_underline = new wxPanel(m_panel, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL); link_underline = new wxPanel(m_panel, wxID_ANY, wxDefaultPosition, wxSize(-1, 1), wxTAB_TRAVERSAL);
link_underline->SetBackgroundColour(wxColour(0x1F, 0x8E, 0xEA)); link_underline->SetBackgroundColour(wxColour(0x1F, 0x8E, 0xEA));
+3 -3
View File
@@ -453,7 +453,7 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
if (config->opt_bool("alternate_extra_wall") && if (config->opt_bool("alternate_extra_wall") &&
(config->opt_enum<EnsureVerticalShellThickness>("ensure_vertical_shell_thickness") == evstAll)) { (config->opt_enum<EnsureVerticalShellThickness>("ensure_vertical_shell_thickness") == evstAll)) {
wxString msg_text = _(L("Alternate extra wall does't work well when ensure vertical shell thickness is set to All.")); wxString msg_text = _(L("Alternate extra wall doesn't work well when ensure vertical shell thickness is set to All."));
if (is_global_config) if (is_global_config)
msg_text += "\n\n" + _(L("Change these settings automatically?\n" msg_text += "\n\n" + _(L("Change these settings automatically?\n"
@@ -642,7 +642,7 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
if (config->opt_enum<SeamScarfType>("seam_slope_type") != SeamScarfType::None && if (config->opt_enum<SeamScarfType>("seam_slope_type") != SeamScarfType::None &&
config->get_abs_value("seam_slope_start_height") >= layer_height) { config->get_abs_value("seam_slope_start_height") >= layer_height) {
const wxString msg_text = _(L("seam_slope_start_height need to be smaller than layer_height.\nReset to 0.")); const wxString msg_text = _(L("seam_slope_start_height needs to be smaller than layer_height.\nReset to 0."));
MessageDialog dialog(m_msg_dlg_parent, msg_text, "", wxICON_WARNING | wxOK); MessageDialog dialog(m_msg_dlg_parent, msg_text, "", wxICON_WARNING | wxOK);
DynamicPrintConfig new_conf = *config; DynamicPrintConfig new_conf = *config;
is_msg_dlg_already_exist = true; is_msg_dlg_already_exist = true;
@@ -656,7 +656,7 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con
float skin_depth = config->opt_float("skin_infill_depth"); float skin_depth = config->opt_float("skin_infill_depth");
if (config->opt_float("infill_lock_depth") > skin_depth) { if (config->opt_float("infill_lock_depth") > skin_depth) {
// xgettext:no-c-format, no-boost-format // xgettext:no-c-format, no-boost-format
const wxString msg_text = _(L("Lock depth should smaller than skin depth.\nReset to 50% of skin depth.")); const wxString msg_text = _(L("Lock depth should be smaller than skin depth.\nReset to 50% of skin depth."));
MessageDialog dialog(m_msg_dlg_parent, msg_text, "", wxICON_WARNING | wxOK); MessageDialog dialog(m_msg_dlg_parent, msg_text, "", wxICON_WARNING | wxOK);
DynamicPrintConfig new_conf = *config; DynamicPrintConfig new_conf = *config;
is_msg_dlg_already_exist = true; is_msg_dlg_already_exist = true;
+1 -1
View File
@@ -2752,7 +2752,7 @@ ConfigWizard::ConfigWizard(wxWindow *parent)
}); });
if (wxLinux_gtk3) if (wxLinux_gtk3)
this->Bind(wxEVT_SHOW, [this, vsizer](const wxShowEvent& e) { this->Bind(wxEVT_SHOW, [](const wxShowEvent& e) {
; ;
}); });
+7 -5
View File
@@ -599,7 +599,9 @@ static char* read_json_file(const std::string &preset_path)
return NULL; return NULL;
} }
fread(json_contents, 1, file_size, json_file); const size_t read_bytes = fread(json_contents, 1, file_size, json_file);
if (read_bytes != static_cast<size_t>(file_size))
BOOST_LOG_TRIVIAL(error) << "Read " << read_bytes << " of " << file_size << " bytes from the JSON file";
fclose(json_file); fclose(json_file);
return json_contents; return json_contents;
@@ -1885,7 +1887,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_nozzle_diameter_item(wxWindow *par
m_custom_nozzle_diameter_ctrl = new wxTextCtrl(parent, wxID_ANY, "", wxDefaultPosition, NAME_OPTION_COMBOBOX_SIZE); m_custom_nozzle_diameter_ctrl = new wxTextCtrl(parent, wxID_ANY, "", wxDefaultPosition, NAME_OPTION_COMBOBOX_SIZE);
m_custom_nozzle_diameter_ctrl->SetHint(_L("Input Custom Nozzle Diameter")); m_custom_nozzle_diameter_ctrl->SetHint(_L("Input Custom Nozzle Diameter"));
m_custom_nozzle_diameter_ctrl->Bind(wxEVT_CHAR, [this](wxKeyEvent &event) { m_custom_nozzle_diameter_ctrl->Bind(wxEVT_CHAR, [](wxKeyEvent &event) {
int key = event.GetKeyCode(); int key = event.GetKeyCode();
if (key != 44 && key != 46 && cannot_input_key.find(key) != cannot_input_key.end()) { // "@" can not be inputed if (key != 44 && key != 46 && cannot_input_key.find(key) != cannot_input_key.end()) { // "@" can not be inputed
event.Skip(false); event.Skip(false);
@@ -3867,14 +3869,14 @@ void ExportConfigsDialog::select_curr_radiobox(std::vector<std::pair<RadioBox *,
m_preset_sizer->Add(create_checkbox(m_presets_window, preset.second, printer_name, m_preset), 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, m_preset_sizer->Add(create_checkbox(m_presets_window, preset.second, printer_name, m_preset), 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT,
FromDIP(5)); FromDIP(5));
} }
m_serial_text->SetLabel(_L("Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip.")); m_serial_text->SetLabel(_L("Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a ZIP archive."));
} else if (export_type == m_exprot_type.filament_preset) { } else if (export_type == m_exprot_type.filament_preset) {
for (std::pair<std::string, std::vector<std::pair<std::string, Preset *>>> filament_name_to_preset : m_filament_name_to_presets) { for (std::pair<std::string, std::vector<std::pair<std::string, Preset *>>> filament_name_to_preset : m_filament_name_to_presets) {
if (filament_name_to_preset.second.empty()) continue; if (filament_name_to_preset.second.empty()) continue;
wxString filament_name = wxString::FromUTF8(filament_name_to_preset.first); wxString filament_name = wxString::FromUTF8(filament_name_to_preset.first);
m_preset_sizer->Add(create_checkbox(m_presets_window, filament_name, m_printer_name), 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, FromDIP(5)); m_preset_sizer->Add(create_checkbox(m_presets_window, filament_name, m_printer_name), 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, FromDIP(5));
} }
m_serial_text->SetLabel(_L("Only the filament names with user filament presets will be displayed, \nand all user filament presets in each filament name you select will be exported as a zip.")); m_serial_text->SetLabel(_L("Only the filament names with user filament presets will be displayed, \nand all user filament presets in each filament name you select will be exported as a ZIP archive."));
} else if (export_type == m_exprot_type.process_preset) { } else if (export_type == m_exprot_type.process_preset) {
for (std::pair<std::string, std::vector<Preset *>> presets : m_process_presets) { for (std::pair<std::string, std::vector<Preset *>> presets : m_process_presets) {
Preset * printer_preset = preset_bundle->printers.find_preset(presets.first, false); Preset * printer_preset = preset_bundle->printers.find_preset(presets.first, false);
@@ -3890,7 +3892,7 @@ void ExportConfigsDialog::select_curr_radiobox(std::vector<std::pair<RadioBox *,
} }
} }
m_serial_text->SetLabel(_L("Only printer names with changed process presets will be displayed, \nand all user process presets in each printer name you select will be exported as a zip.")); m_serial_text->SetLabel(_L("Only printer names with changed process presets will be displayed, \nand all user process presets in each printer name you select will be exported as a ZIP archive."));
} }
//m_presets_window->SetSizerAndFit(m_preset_sizer); //m_presets_window->SetSizerAndFit(m_preset_sizer);
m_presets_window->Layout(); m_presets_window->Layout();
+16 -4
View File
@@ -941,7 +941,11 @@ void TextCtrl::BUILD() {
temp->SetToolTip(get_tooltip_text(text_value)); temp->SetToolTip(get_tooltip_text(text_value));
if (!m_opt.multiline) { if (!m_opt.multiline) {
text_ctrl->Bind(wxEVT_TEXT_ENTER, ([this, temp](wxEvent &e) text_ctrl->Bind(wxEVT_TEXT_ENTER, ([
#if !defined(__WXGTK__)
temp,
#endif // __WXGTK__
this](wxEvent &e)
{ {
#if !defined(__WXGTK__) #if !defined(__WXGTK__)
e.Skip(); e.Skip();
@@ -973,7 +977,11 @@ void TextCtrl::BUILD() {
temp->GetToolTip()->Enable(flag); temp->GetToolTip()->Enable(flag);
}), text_ctrl->GetId()); }), text_ctrl->GetId());
temp->Bind(wxEVT_KILL_FOCUS, ([this, temp](wxEvent &e) temp->Bind(wxEVT_KILL_FOCUS, ([
#if !defined(__WXGTK__)
temp,
#endif // __WXGTK__
this](wxEvent &e)
{ {
e.Skip(); e.Skip();
#if !defined(__WXGTK__) #if !defined(__WXGTK__)
@@ -1324,7 +1332,7 @@ void SpinCtrl::BUILD() {
bEnterPressed = true; bEnterPressed = true;
}), temp->GetId()); }), temp->GetId());
temp->GetTextCtrl()->Bind(wxEVT_TEXT, ([this, temp](wxCommandEvent e) temp->GetTextCtrl()->Bind(wxEVT_TEXT, ([this](wxCommandEvent e)
{ {
// # On OSX / Cocoa, SpinInput::GetValue() doesn't return the new value // # On OSX / Cocoa, SpinInput::GetValue() doesn't return the new value
// # when it was changed from the text control, so the on_change callback // # when it was changed from the text control, so the on_change callback
@@ -2597,7 +2605,11 @@ void ColourPicker::BUILD()
// // recast as a wxWindow to fit the calling convention // // recast as a wxWindow to fit the calling convention
window = dynamic_cast<wxWindow*>(temp); window = dynamic_cast<wxWindow*>(temp);
temp->Bind(wxEVT_COLOURPICKER_CHANGED, ([this,temp](wxCommandEvent e) { temp->Bind(wxEVT_COLOURPICKER_CHANGED, ([
#ifdef __WXMSW__
temp,
#endif
this](wxCommandEvent e) {
#ifdef __WXMSW__ #ifdef __WXMSW__
draw_bmp_btn(temp, temp->GetColour()); draw_bmp_btn(temp, temp->GetColour());
#endif #endif
+1 -1
View File
@@ -241,7 +241,7 @@ FilamentMapDialog::FilamentMapDialog(wxWindow *parent,
wxBoxSizer *mode_sizer = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer *mode_sizer = new wxBoxSizer(wxHORIZONTAL);
m_auto_btn = new CapsuleButton(this, PageType::ptAuto, only_saving_mode ? _L("Fila Saving") : _L("Auto"), false); m_auto_btn = new CapsuleButton(this, PageType::ptAuto, only_saving_mode ? _L("File Saving") : _L("Auto"), false);
m_manual_btn = new CapsuleButton(this, PageType::ptManual, _L("Custom"), false); m_manual_btn = new CapsuleButton(this, PageType::ptManual, _L("Custom"), false);
if (show_default) if (show_default)
m_default_btn = new CapsuleButton(this, PageType::ptDefault, _L("Same as Global"), true); m_default_btn = new CapsuleButton(this, PageType::ptDefault, _L("Same as Global"), true);
+2 -2
View File
@@ -426,11 +426,11 @@ wxScrolledWindow* FilamentPickerDialog::CreateColorGrid()
}); });
// Hover highlight // Hover highlight
btn->Bind(wxEVT_ENTER_WINDOW, [btn](wxMouseEvent& evt) { btn->Bind(wxEVT_ENTER_WINDOW, [](wxMouseEvent& evt) {
evt.Skip(); evt.Skip();
}); });
btn->Bind(wxEVT_LEAVE_WINDOW, [btn](wxMouseEvent& evt) { btn->Bind(wxEVT_LEAVE_WINDOW, [](wxMouseEvent& evt) {
evt.Skip(); evt.Skip();
}); });
+12 -12
View File
@@ -2613,7 +2613,7 @@ void GCodeViewer::render_all_plates_stats(const std::vector<const GCodeProcessor
return ret; return ret;
}; };
auto append_item = [icon_size, &imgui, imperial_units, &window_padding, &draw_list, this](const ColorRGBA& color, const std::vector<std::pair<std::string, float>>& columns_offsets) auto append_item = [icon_size, &imgui, &window_padding, &draw_list, this](const ColorRGBA& color, const std::vector<std::pair<std::string, float>>& columns_offsets)
{ {
// render icon // render icon
ImVec2 pos = ImVec2(ImGui::GetCursorScreenPos().x + window_padding * 3, ImGui::GetCursorScreenPos().y); ImVec2 pos = ImVec2(ImGui::GetCursorScreenPos().x + window_padding * 3, ImGui::GetCursorScreenPos().y);
@@ -2648,7 +2648,7 @@ void GCodeViewer::render_all_plates_stats(const std::vector<const GCodeProcessor
} }
ImGui::Separator(); ImGui::Separator();
}; };
auto get_used_filament_from_volume = [this, imperial_units, &filament_diameters, &filament_densities](double volume, int extruder_id) { auto get_used_filament_from_volume = [imperial_units, &filament_diameters, &filament_densities](double volume, int extruder_id) {
double koef = imperial_units ? 1.0 / GizmoObjectManipulation::in_to_mm : 0.001; double koef = imperial_units ? 1.0 / GizmoObjectManipulation::in_to_mm : 0.001;
std::pair<double, double> ret = { koef * volume / (PI * sqr(0.5 * filament_diameters[extruder_id])), std::pair<double, double> ret = { koef * volume / (PI * sqr(0.5 * filament_diameters[extruder_id])),
volume * filament_densities[extruder_id] * 0.001 }; volume * filament_densities[extruder_id] * 0.001 };
@@ -3233,7 +3233,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
//ImVec2(pos_rect.x + ImGui::GetWindowWidth() + ImGui::GetFrameHeight(),pos_rect.y + ImGui::GetFrameHeight() + window_padding * 2.5), //ImVec2(pos_rect.x + ImGui::GetWindowWidth() + ImGui::GetFrameHeight(),pos_rect.y + ImGui::GetFrameHeight() + window_padding * 2.5),
//ImGui::GetColorU32(ImVec4(0,0,0,0.3))); //ImGui::GetColorU32(ImVec4(0,0,0,0.3)));
auto append_item = [icon_size, &imgui, imperial_units, &window_padding, &draw_list, this]( auto append_item = [icon_size, &imgui, &window_padding, &draw_list, this](
EItemType type, EItemType type,
const ColorRGBA& color, const ColorRGBA& color,
const std::vector<std::pair<std::string, float>>& columns_offsets, const std::vector<std::pair<std::string, float>>& columns_offsets,
@@ -3368,7 +3368,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
return ret; return ret;
}; };
auto calculate_offsets = [&imgui, max_width, window_padding, this](const std::vector<std::pair<std::string, std::vector<::string>>>& title_columns, float extra_size = 0.0f) { auto calculate_offsets = [max_width, this](const std::vector<std::pair<std::string, std::vector<::string>>>& title_columns, float extra_size = 0.0f) {
const ImGuiStyle& style = ImGui::GetStyle(); const ImGuiStyle& style = ImGui::GetStyle();
std::vector<float> offsets; std::vector<float> offsets;
// ORCA increase spacing for more readable format. Using direct number requires much less code change in here. GetTextLineHeight for additional spacing for icon_size // ORCA increase spacing for more readable format. Using direct number requires much less code change in here. GetTextLineHeight for additional spacing for icon_size
@@ -3856,7 +3856,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
columns_offsets.push_back({ distance_text, offsets[3] }); columns_offsets.push_back({ distance_text, offsets[3] });
if (full_layout && !count_text.empty()) if (full_layout && !count_text.empty())
columns_offsets.push_back({ count_text, distance_text.empty() ? offsets[3] : offsets[4] }); columns_offsets.push_back({ count_text, distance_text.empty() ? offsets[3] : offsets[4] });
append_item(EItemType::Rect, color, columns_offsets, true, offsets.back()/*ORCA checkbox_pos*/, visible, [this, type, visible]() { append_item(EItemType::Rect, color, columns_offsets, true, offsets.back()/*ORCA checkbox_pos*/, visible, [this, type]() {
m_viewer.toggle_option_visibility(type); m_viewer.toggle_option_visibility(type);
update_moves_slider(); update_moves_slider();
}); });
@@ -3913,7 +3913,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
columns_offsets.push_back({used_filaments_length[i], offsets[3]}); columns_offsets.push_back({used_filaments_length[i], offsets[3]});
columns_offsets.push_back({used_filaments_weight[i], offsets[4]}); columns_offsets.push_back({used_filaments_weight[i], offsets[4]});
append_item(EItemType::Rect, libvgcode::convert(m_viewer.get_extrusion_role_color(role)), columns_offsets, append_item(EItemType::Rect, libvgcode::convert(m_viewer.get_extrusion_role_color(role)), columns_offsets,
true, offsets.back(), visible, [this, role, visible]() { true, offsets.back(), visible, [this, role]() {
m_viewer.toggle_extrusion_role_visibility(role); m_viewer.toggle_extrusion_role_visibility(role);
update_moves_slider(); update_moves_slider();
}); });
@@ -3932,7 +3932,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
columns_offsets.push_back({ travel_percent, offsets[2] }); columns_offsets.push_back({ travel_percent, offsets[2] });
columns_offsets.push_back({ travel_distance, offsets[3] }); // Usage column columns_offsets.push_back({ travel_distance, offsets[3] }); // Usage column
columns_offsets.push_back({ travel_moves, offsets[4] }); // Usage column columns_offsets.push_back({ travel_moves, offsets[4] }); // Usage column
append_item(EItemType::Rect, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), columns_offsets, true, offsets.back()/*ORCA checkbox_pos*/, visible, [this, item, visible]() { append_item(EItemType::Rect, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), columns_offsets, true, offsets.back()/*ORCA checkbox_pos*/, visible, [this, item]() {
m_viewer.toggle_option_visibility(item); m_viewer.toggle_option_visibility(item);
update_moves_slider(); update_moves_slider();
}); });
@@ -3951,7 +3951,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
append_headers({ {_u8L("Options"), offsets[0] }, { _u8L("Display"), offsets[1]} }); append_headers({ {_u8L("Options"), offsets[0] }, { _u8L("Display"), offsets[1]} });
const bool travel_visible = m_viewer.is_option_visible(libvgcode::EOptionType::Travels); const bool travel_visible = m_viewer.is_option_visible(libvgcode::EOptionType::Travels);
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 3.0f)); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 3.0f));
append_item(EItemType::None, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), { {_u8L("Travel"), offsets[0] }}, true, predictable_icon_pos/*ORCA checkbox_pos*/, travel_visible, [this, travel_visible]() { append_item(EItemType::None, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), { {_u8L("Travel"), offsets[0] }}, true, predictable_icon_pos/*ORCA checkbox_pos*/, travel_visible, [this]() {
m_viewer.toggle_option_visibility(libvgcode::EOptionType::Travels); m_viewer.toggle_option_visibility(libvgcode::EOptionType::Travels);
// refresh(*m_gcode_result, wxGetApp().plater()->get_extruder_colors_from_plater_config(m_gcode_result)); // refresh(*m_gcode_result, wxGetApp().plater()->get_extruder_colors_from_plater_config(m_gcode_result));
update_moves_slider(); update_moves_slider();
@@ -3968,7 +3968,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
append_headers({ {_u8L("Options"), offsets[0] }, { _u8L("Display"), offsets[1]} }); append_headers({ {_u8L("Options"), offsets[0] }, { _u8L("Display"), offsets[1]} });
const bool travel_visible = m_viewer.is_option_visible(libvgcode::EOptionType::Travels); const bool travel_visible = m_viewer.is_option_visible(libvgcode::EOptionType::Travels);
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 3.0f)); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 3.0f));
append_item(EItemType::None, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), { {_u8L("Travel"), offsets[0] }}, true, predictable_icon_pos/*ORCA checkbox_pos*/, travel_visible, [this, travel_visible]() { append_item(EItemType::None, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), { {_u8L("Travel"), offsets[0] }}, true, predictable_icon_pos/*ORCA checkbox_pos*/, travel_visible, [this]() {
m_viewer.toggle_option_visibility(libvgcode::EOptionType::Travels); m_viewer.toggle_option_visibility(libvgcode::EOptionType::Travels);
// refresh(*m_gcode_result, wxGetApp().plater()->get_extruder_colors_from_plater_config(m_gcode_result)); // refresh(*m_gcode_result, wxGetApp().plater()->get_extruder_colors_from_plater_config(m_gcode_result));
update_moves_slider(); update_moves_slider();
@@ -3985,7 +3985,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
append_headers({ {_u8L("Options"), offsets[0] }, { _u8L("Display"), offsets[1]} }); append_headers({ {_u8L("Options"), offsets[0] }, { _u8L("Display"), offsets[1]} });
const bool travel_visible = m_viewer.is_option_visible(libvgcode::EOptionType::Travels); const bool travel_visible = m_viewer.is_option_visible(libvgcode::EOptionType::Travels);
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 3.0f)); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 3.0f));
append_item(EItemType::None, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), { {_u8L("Travel"), offsets[0] }}, true, predictable_icon_pos/*ORCA checkbox_pos*/, travel_visible, [this, travel_visible]() { append_item(EItemType::None, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), { {_u8L("Travel"), offsets[0] }}, true, predictable_icon_pos/*ORCA checkbox_pos*/, travel_visible, [this]() {
m_viewer.toggle_option_visibility(libvgcode::EOptionType::Travels); m_viewer.toggle_option_visibility(libvgcode::EOptionType::Travels);
update_moves_slider(); update_moves_slider();
}); });
@@ -4001,7 +4001,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
append_headers({ {_u8L("Options"), offsets[0] }, { _u8L("Display"), offsets[1]} }); append_headers({ {_u8L("Options"), offsets[0] }, { _u8L("Display"), offsets[1]} });
const bool travel_visible = m_viewer.is_option_visible(libvgcode::EOptionType::Travels); const bool travel_visible = m_viewer.is_option_visible(libvgcode::EOptionType::Travels);
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 3.0f)); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 3.0f));
append_item(EItemType::None, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), { {_u8L("Travel"), offsets[0] }}, true, predictable_icon_pos/*ORCA checkbox_pos*/, travel_visible, [this, travel_visible]() { append_item(EItemType::None, libvgcode::convert(m_viewer.get_option_color(libvgcode::EOptionType::Travels)), { {_u8L("Travel"), offsets[0] }}, true, predictable_icon_pos/*ORCA checkbox_pos*/, travel_visible, [this]() {
m_viewer.toggle_option_visibility(libvgcode::EOptionType::Travels); m_viewer.toggle_option_visibility(libvgcode::EOptionType::Travels);
update_moves_slider(); update_moves_slider();
}); });
@@ -4121,7 +4121,7 @@ void GCodeViewer::render_legend(float &legend_height, int canvas_width, int canv
} }
float checkbox_pos = std::max(predictable_icon_pos, color_print_offsets[_u8L("Display")]); // ORCA prefer predictable_icon_pos when header not reacing end float checkbox_pos = std::max(predictable_icon_pos, color_print_offsets[_u8L("Display")]); // ORCA prefer predictable_icon_pos when header not reacing end
append_item(EItemType::Rect, libvgcode::convert(tool_colors[extruder_idx]), columns_offsets, false, checkbox_pos/*ORCA*/, true, [this, extruder_idx]() {}); append_item(EItemType::Rect, libvgcode::convert(tool_colors[extruder_idx]), columns_offsets, false, checkbox_pos/*ORCA*/, true, []() {});
} }
i++; i++;
} }
+10 -10
View File
@@ -9236,7 +9236,7 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar()
ImVec2 size = ImVec2(button_width, button_height); ImVec2 size = ImVec2(button_width, button_height);
ImVec2 end_pos = ImVec2(start_pos.x + size.x, start_pos.y + size.y); ImVec2 end_pos = ImVec2(start_pos.x + size.x, start_pos.y + size.y);
// ORCA show additional information depends on state // ORCA show additional information depends on state
auto draw_info_btn = [end_pos, f_scale, margin, window_bg](std::string str, ImVec4 bg_color, ImVec4 fg_color){ auto draw_info_btn = [end_pos, f_scale, margin](std::string str, ImVec4 bg_color, ImVec4 fg_color){
GImGui->FontSize = 15.0f * f_scale; GImGui->FontSize = 15.0f * f_scale;
ImVec2 txt_slice_sz = ImGui::CalcTextSize(str.c_str()); ImVec2 txt_slice_sz = ImGui::CalcTextSize(str.c_str());
ImVec2 btn_pad = ImVec2(8.f, 1.f) * f_scale; ImVec2 btn_pad = ImVec2(8.f, 1.f) * f_scale;
@@ -9492,7 +9492,7 @@ void GLCanvas3D::_render_canvas_toolbar()
Plater* p = wxGetApp().plater(); Plater* p = wxGetApp().plater();
AppConfig* cfg = wxGetApp().app_config; AppConfig* cfg = wxGetApp().app_config;
auto create_menu_item = [this, sc]( auto create_menu_item = [sc](
const std::string& name, const std::string& name,
bool enable, bool enable,
bool condition, bool condition,
@@ -9509,7 +9509,7 @@ void GLCanvas3D::_render_canvas_toolbar()
create_menu_item( _utf8(L("3D Navigator")), create_menu_item( _utf8(L("3D Navigator")),
m_canvas_type != ECanvasType::CanvasAssembleView, // not work on assembly m_canvas_type != ECanvasType::CanvasAssembleView, // not work on assembly
wxGetApp().show_3d_navigator(), wxGetApp().show_3d_navigator(),
[this]{ []{
wxGetApp().toggle_show_3d_navigator(); wxGetApp().toggle_show_3d_navigator();
ImGui::CloseCurrentPopup(); // Close popup to show changes on UI ImGui::CloseCurrentPopup(); // Close popup to show changes on UI
} }
@@ -9518,7 +9518,7 @@ void GLCanvas3D::_render_canvas_toolbar()
create_menu_item( _utf8(L("Zoom button")), create_menu_item( _utf8(L("Zoom button")),
true, // work on all true, // work on all
wxGetApp().show_canvas_zoom_button(), wxGetApp().show_canvas_zoom_button(),
[this]{ []{
wxGetApp().toggle_canvas_zoom_button(); wxGetApp().toggle_canvas_zoom_button();
ImGui::CloseCurrentPopup(); // Close popup to show changes on UI ImGui::CloseCurrentPopup(); // Close popup to show changes on UI
} }
@@ -9529,13 +9529,13 @@ void GLCanvas3D::_render_canvas_toolbar()
create_menu_item( _utf8(L("Overhangs")), create_menu_item( _utf8(L("Overhangs")),
m_canvas_type == ECanvasType::CanvasView3D, // work only on prepare m_canvas_type == ECanvasType::CanvasView3D, // work only on prepare
p->is_view3D_overhang_shown(), p->is_view3D_overhang_shown(),
[this, p]{p->show_view3D_overhang(!p->is_view3D_overhang_shown());} [p]{p->show_view3D_overhang(!p->is_view3D_overhang_shown());}
); );
create_menu_item( _utf8(L("Outline")), create_menu_item( _utf8(L("Outline")),
m_canvas_type != ECanvasType::CanvasPreview, // not work on preview m_canvas_type != ECanvasType::CanvasPreview, // not work on preview
wxGetApp().show_outline(), wxGetApp().show_outline(),
[this]{wxGetApp().toggle_show_outline();} []{wxGetApp().toggle_show_outline();}
); );
create_menu_item( _utf8(L("Wireframe")), create_menu_item( _utf8(L("Wireframe")),
@@ -9547,7 +9547,7 @@ void GLCanvas3D::_render_canvas_toolbar()
create_menu_item( _utf8(L("Realistic View")), create_menu_item( _utf8(L("Realistic View")),
m_canvas_type != ECanvasType::CanvasPreview, // not work on preview m_canvas_type != ECanvasType::CanvasPreview, // not work on preview
cfg->get_bool(SETTING_OPENGL_REALISTIC_MODE), cfg->get_bool(SETTING_OPENGL_REALISTIC_MODE),
[this, &cfg]{ [&cfg]{
cfg->set_bool(SETTING_OPENGL_REALISTIC_MODE, !cfg->get_bool(SETTING_OPENGL_REALISTIC_MODE)); cfg->set_bool(SETTING_OPENGL_REALISTIC_MODE, !cfg->get_bool(SETTING_OPENGL_REALISTIC_MODE));
cfg->save(); cfg->save();
} }
@@ -9558,7 +9558,7 @@ void GLCanvas3D::_render_canvas_toolbar()
create_menu_item( _utf8(L("Perspective")), create_menu_item( _utf8(L("Perspective")),
true, // work on all true, // work on all
cfg->get_bool("use_perspective_camera"), cfg->get_bool("use_perspective_camera"),
[this, &cfg]{ [&cfg]{
cfg->set_bool("use_perspective_camera", !(cfg->get_bool("use_perspective_camera"))); cfg->set_bool("use_perspective_camera", !(cfg->get_bool("use_perspective_camera")));
wxGetApp().update_ui_from_settings(); wxGetApp().update_ui_from_settings();
} }
@@ -9575,7 +9575,7 @@ void GLCanvas3D::_render_canvas_toolbar()
create_menu_item( _utf8(L("Gridlines")), create_menu_item( _utf8(L("Gridlines")),
m_canvas_type != ECanvasType::CanvasAssembleView, // not work on assembly m_canvas_type != ECanvasType::CanvasAssembleView, // not work on assembly
wxGetApp().show_plate_gridlines(), wxGetApp().show_plate_gridlines(),
[this]{wxGetApp().toggle_show_plate_gridlines();} []{wxGetApp().toggle_show_plate_gridlines();}
); );
ImGui::Separator(); ImGui::Separator();
@@ -9583,7 +9583,7 @@ void GLCanvas3D::_render_canvas_toolbar()
create_menu_item( _utf8(L("Labels")), create_menu_item( _utf8(L("Labels")),
m_canvas_type == ECanvasType::CanvasView3D, // work only on prepare m_canvas_type == ECanvasType::CanvasView3D, // work only on prepare
p->are_view3D_labels_shown(), p->are_view3D_labels_shown(),
[this, p]{p->show_view3D_labels(!p->are_view3D_labels_shown());} [p]{p->show_view3D_labels(!p->are_view3D_labels_shown());}
); );
ImGui::PopItemFlag(); ImGui::PopItemFlag();

Some files were not shown because too many files have changed in this diff Show More